스킬 fp-ts-errors
📦

fp-ts-errors

안전

Domine o Tratamento de Erros fp-ts em TypeScript

Pare de lutar com código espaguete try/catch. Aprenda a tratar erros como valores type-safe usando fp-ts Either e TaskEither para tratamento de erros previsível e composível.

지원: Claude Codex Code(CC)
📊 71 적절함
1

스킬 ZIP 다운로드

2

Claude에서 업로드

설정 → 기능 → 스킬 → 스킬 업로드로 이동

3

토글을 켜고 사용 시작

테스트해 보기

"fp-ts-errors" 사용 중입니다. Valide um formulário de registro de usuário com email inválido, senha curta e idade ausente

예상 결과:

Left(['Invalid email format', 'Password must be at least 8 characters', 'Age is required']) - Todos os três erros de validação retornados juntos em vez de falhar no primeiro

"fp-ts-errors" 사용 중입니다. Encadeie getUser(userId), getProduct(productId), e createOrder(user, product) onde getUser retorna Left('User not found')

예상 결과:

Left('User not found') - A cadeia para na primeira falha, operações subsequentes nunca são executadas, e o erro se propaga de forma limpa

"fp-ts-errors" 사용 중입니다. Busque dados do usuário com TaskEither, requisição de rede falha com erro de conexão

예상 결과:

Left({ code: 'NETWORK', message: 'Failed to connect to server' }) - Erro estruturado com código de erro para tratamento programático e mensagem legível para exibição

보안 감사

안전
v1 • 2/25/2026

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.

1
스캔된 파일
857
분석된 줄 수
0
발견 사항
1
총 감사 수
보안 문제를 찾지 못했습니다
감사자: claude

품질 점수

38
아키텍처
100
유지보수성
87
콘텐츠
32
커뮤니티
100
보안
91
사양 준수

만들 수 있는 것

Validação de Formulário com Acumulação de Erros

Valide formulários de entrada do usuário e colete todos os erros de validação de uma vez em vez de falhar no primeiro erro.

Pipeline de Tratamento de Erros de API

Construa camadas de API robustas que tratam erros de rede, códigos de status HTTP e falhas de parsing JSON com resultados de erro tipados.

Cadeias de Operações de Banco de Dados

Encadeie múltiplas operações de banco de dados onde qualquer falha retorna um erro estruturado sem lançar exceções.

이 프롬프트를 사용해 보세요

Padrão Either Básico
Help me convert this function to use fp-ts Either instead of throwing errors: [cole a função]. Show how to handle the error case with fold.
Encadear Múltiplas Operações
I need to chain these three operations: getUser, validatePermissions, and createResource. Each can fail with different error types. Show me how to use chainW to combine them with fp-ts Either.
Validação de Formulário com Todos os Erros
Create a form validator using fp-ts that validates email, password, and age fields. Use the validation applicative to collect ALL errors at once, not just the first one.
Retry Assíncrono com TaskEither
Show me how to wrap this fetch call with TaskEither and add retry logic with exponential backoff. Handle both network errors and non-200 HTTP responses with structured error types.

모범 사례

  • Envolva código que lança exceções nos limites (APIs externas, I/O de arquivos, parsing JSON) e retorne Either internamente
  • Use tipos de erro descritivos (unions ou interfaces) em vez de strings simples para melhor type safety
  • Aplique TaskEither para operações assíncronas para manter avaliação lazy e evitar execução prematura

피하기

  • Chamar fold muito cedo na cadeia - trate erros no final, não após cada passo
  • Misturar Either com exceções lançadas - comprometa-se com uma estratégia de tratamento de erros consistentemente
  • Usar Left para fluxo de controle esperado como 'não encontrado' - reserve erros para casos excepcionais reais

자주 묻는 질문

Quando devo usar Either versus TaskEither?
Use Either para operações síncronas que podem falhar. Use TaskEither para operações assíncronas (Promises) que podem falhar. TaskEither é lazy e retorna uma função que produz Promise<Either<E, A>>.
Como converto código try/catch existente para fp-ts?
Envolva o código que lança exceções com E.tryCatch para código síncrono ou TE.tryCatch para código assíncrono. Forneça uma função onError para transformar exceções capturadas no seu tipo de erro.
Qual é a diferença entre chain e chainW?
chain requer que ambos os tipos Either tenham o mesmo tipo de erro. chainW (wider) automaticamente cria union de diferentes tipos de erro, útil ao encadear operações com diferentes tipos de erro.
Como obtenho o valor de um Either?
Use fold para tratar ambos os casos explicitamente, getOrElse para fornecer um padrão para Left, ou unsafeGetRight apenas quando você tem certeza que é Right. Evite unsafeGetRight em código de produção.
Posso usar fp-ts com meu código baseado em Promise existente?
Sim. Use TE.tryCatch para envolver Promises, e use toPromise ou execute a função TaskEither para converter de volta para Promise quando necessário para APIs externas.
Como coleto múltiplos erros de validação em vez de falhar rápido?
Use sequenceS com getApplicativeValidation e um Semigroup para seu tipo de erro. Isso combina todas as validações e acumula erros usando a operação concat do Semigroup.

개발자 세부 정보

파일 구조

📄 SKILL.md