Skip to content

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 do fetch(), 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.
  • TiposClientErrors, 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, nao number), corpos de erro genericos, discriminated unions.
  • Construido sobre Fetch Nativo — Mesma API, mesmas opcoes, mesmos tipos. Zero curva de aprendizado.
  • Tree-Shakeable — Importe de ./errors para incluir apenas as classes que voce precisa.
  • Type GuardsisHttpError() e isNetworkError() funcionam de forma confiavel entre limites de pacotes.

Para instalacao e uso basico, veja as proximas secoes.

Lançado sob a Licença MIT.