Primeiros Passos com Typed Fetch
Typed Fetch e um cliente HTTP type-safe para TypeScript que nunca lanca excecoes. Inspirado no padrao de tratamento de erros do Go, e construido sobre a API Fetch nativa.
O Que o Projeto Exporta
A partir da entrada principal (@pbpeterson/typed-fetch):
typedFetch— A funcao principal. Mesma assinatura dofetch(), retorna{ response, error }em vez de lancar excecoes.isHttpError— Type guard para verificar se um valor e um erro HTTP.isNetworkError— Type guard para verificar se um valor e um erro de rede.statusCodeErrorMap— Map de codigos de status para construtores de classes de erro.httpErrors— Array com todos os 40 construtores de classes de erro.- Classes de erro — 40 classes de erro HTTP individuais +
NetworkError+BaseHttpError. - Tipos —
ClientErrors,ServerErrors,HttpErrors,TypedFetchError,TypedHeaders,StrictHeaders,HttpMethods.
A partir do subpath de erros (@pbpeterson/typed-fetch/errors):
- Todas as classes de erro, individualmente tree-shakeable.
Vantagens da Abordagem
- Nunca Lanca Excecoes — Erros sao retornados como valores, tornando o tratamento explicito e previsivel.
- Type-Safe — Tipos literais de status (
404, naonumber), corpos de erro genericos, discriminated unions. - Construido sobre Fetch Nativo — Mesma API, mesmas opcoes, mesmos tipos. Zero curva de aprendizado.
- Tree-Shakeable — Importe de
./errorspara incluir apenas as classes que voce precisa. - Type Guards —
isHttpError()eisNetworkError()funcionam de forma confiavel entre limites de pacotes.
Para instalacao e uso basico, veja as proximas secoes.