fp-ts-errors
Maîtriser la gestion des erreurs fp-ts en TypeScript
Arrêtez de vous battre avec le code spaghetti try/catch. Apprenez à gérer les erreurs comme des valeurs type-safe en utilisant fp-ts Either et TaskEither pour une gestion des erreurs prévisible et composable.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "fp-ts-errors". Valider un formulaire d'inscription utilisateur avec un email invalide, un mot de passe trop court et un âge manquant
النتيجة المتوقعة:
Left(['Format d'email invalide', 'Le mot de passe doit contenir au moins 8 caractères', 'L'âge est requis']) - Les trois erreurs de validation retournées ensemble au lieu d'échouer sur la première
استخدام "fp-ts-errors". Enchaîner getUser(userId), getProduct(productId) et createOrder(user, product) où getUser retourne Left('User not found')
النتيجة المتوقعة:
Left('User not found') - La chaîne s'arrête à la première échec, les opérations suivantes ne sont jamais exécutées, et l'erreur se propage proprement
استخدام "fp-ts-errors". Récupérer les données utilisateur avec TaskEither, la requête réseau échoue avec une erreur de connexion
النتيجة المتوقعة:
Left({ code: 'NETWORK', message: 'Failed to connect to server' }) - Erreur structurée avec un code d'erreur pour le traitement programmatique et un message lisible pour l'affichage
التدقيق الأمني
آمنThis skill is educational documentation teaching fp-ts error handling patterns in TypeScript. The static analyzer produced 127 false positives by misidentifying Markdown code block backticks as shell commands. All network references are code examples demonstrating TaskEither usage, not executable code. No actual command execution, network calls, or system access exists in this skill.
درجة الجودة
ماذا يمكنك بناءه
Validation de formulaire avec accumulation d'erreurs
Validez les formulaires de saisie utilisateur et collectez toutes les erreurs de validation en une seule fois au lieu d'échouer à la première erreur.
Pipeline de gestion des erreurs d'API
Construisez des couches API robustes qui gèrent les erreurs réseau, les codes d'état HTTP et les échecs de parsing JSON avec des résultats d'erreur typés.
Chaînes d'opérations de base de données
Enchaînez plusieurs opérations de base de données où tout échec retourne une erreur structurée sans lancer d'exceptions.
جرّب هذه الموجهات
Aidez-moi à convertir cette fonction pour utiliser fp-ts Either au lieu de lancer des erreurs : [collez la fonction]. Montrez comment gérer le cas d'erreur avec fold.
J'ai besoin d'enchaîner ces trois opérations : getUser, validatePermissions et createResource. Chacune peut échouer avec différents types d'erreurs. Montrez-moi comment utiliser chainW pour les combiner avec fp-ts Either.
Créez un validateur de formulaire utilisant fp-ts qui valide les champs email, mot de passe et âge. Utilisez le foncteur applicatif validation pour collecter TOUTES les erreurs en une seule fois, pas seulement la première.
Montrez-moi comment envelopper cet appel fetch avec TaskEither et ajouter une logique de retry avec backoff exponentiel. Gérez à la fois les erreurs réseau et les réponses HTTP non-200 avec des types d'erreurs structurés.
أفضل الممارسات
- Enveloppez le code qui lance des exceptions aux frontières (API externes, E/S de fichiers, parsing JSON) et retournez Either en interne
- Utilisez des types d'erreurs descriptifs (unions ou interfaces) au lieu de chaînes simples pour une meilleure sécurité de type
- Appliquez TaskEither pour les opérations asynchrones afin de maintenir l'évaluation paresseuse et éviter l'exécution prématurée
تجنب
- Appeler fold trop tôt dans la chaîne - gérez les erreurs à la fin, pas après chaque étape
- Mélanger Either avec des exceptions lancées - engagez-vous envers une stratégie de gestion d'erreurs de manière cohérente
- Utiliser Left pour le flux de contrôle attendu comme 'non trouvé' - réservez les erreurs pour les cas réellement exceptionnels