Repolode
L-Blondy

L-Blondy/up-fetch

Un constructor de clientes fetch para TypeScript que añade validación de esquemas, respuestas tipadas, reintentos, tiempos de espera y seguimiento del progreso sobre el fetch nativo.

Estrellas
1,409
Forks
22
Issues abiertos
2
Último commit
hace 2 meses

¿Qué es?

upfetch es un constructor de clientes fetch que envuelve la API fetch nativa. Se crea una instancia con opciones predeterminadas, como baseUrl, headers, timeout y configuración de reintentos, y luego se usa como fetch. Los parámetros de las solicitudes y los cuerpos se pueden pasar como objetos simples, y las respuestas JSON se analizan automáticamente.

La biblioteca acepta cualquier esquema que siga la especificación Standard Schema, incluidos zod, valibot y arktype. Al pasar un esquema, se valida la respuesta y se devuelve con el tipo inferido; si no coincide, se lanza un ResponseValidationError. De forma predeterminada, los errores de las respuestas que no son ok se lanzan como ResponseError, y tanto reject como parseRejected se pueden personalizar.

También ofrece reintentos con un número de intentos, una demora y condiciones configurables; tiempos de espera por solicitud; hooks de ciclo de vida; y callbacks para el progreso de subida y descarga y para la transmisión de datos. El paquete se publica en npm como up-fetch y funciona en navegadores, Node.js, Bun, Deno, Cloudflare Workers y Vercel Edge Runtime.

Funciones clave

  • 01Validación con Standard Schema y zod, valibot, arktype y otras bibliotecas compatibles
  • 02Objetos simples para los parámetros de consulta y los cuerpos de las solicitudes, con serialización JSON automática
  • 03Reintentos con número de intentos, demora y condiciones configurables
  • 04Tiempos de espera predeterminados y por solicitud
  • 05Progreso de subida y descarga, además de callbacks de transmisión de datos
  • 06Hooks de ciclo de vida para solicitudes, respuestas, éxitos, errores y reintentos

Casos de uso

  • Crear un cliente de API tipado en un frontend de TypeScript con validación de respuestas en tiempo de ejecución
  • Añadir reintentos y tiempos de espera a llamadas a API de terceros poco confiables
  • Mostrar barras de progreso de subida o descarga en una aplicación web
  • Consumir respuestas transmitidas en streaming, como las respuestas de chat de IA

Inicio rápido

  1. 1

    Instala el paquete desde npm

    npm i up-fetch
  2. 2

    Crea una instancia de upfetch que envuelva el fetch nativo

  3. 3

    Realiza una solicitud con validación de esquema opcional

Antes de usarlo

  • La validación de esquema requiere una biblioteca aparte, como zod o valibot.

Temas

Preguntas frecuentes

¿Qué es up-fetch?
Un constructor de clientes fetch para TypeScript que añade validación de esquemas, respuestas tipadas, reintentos, tiempos de espera y seguimiento del progreso sobre el fetch nativo. upfetch es un constructor de clientes fetch que envuelve la API fetch nativa. Se crea una instancia con opciones predeterminadas, como baseUrl, headers, timeout y configuración de reintentos, y luego se usa como fetch. Los parámetros de las solicitudes y los cuerpos se pueden pasar como objetos simples, y las respuestas JSON se analizan automáticamente.
¿up-fetch es gratuito? ¿Qué licencia tiene?
up-fetch es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿up-fetch sigue mantenido?
Actualizado en los últimos 6 meses. El último commit de up-fetch fue el 1 sept 2026.
¿Para qué puedo usar up-fetch?
Crear un cliente de API tipado en un frontend de TypeScript con validación de respuestas en tiempo de ejecución Añadir reintentos y tiempos de espera a llamadas a API de terceros poco confiables Mostrar barras de progreso de subida o descarga en una aplicación web Consumir respuestas transmitidas en streaming, como las respuestas de chat de IA
¿Cómo se instala up-fetch?
Instala el paquete desde npm: npm i up-fetch Crea una instancia de upfetch que envuelva el fetch nativo Realiza una solicitud con validación de esquema opcional
¿Dónde consigo up-fetch?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/L-Blondy/up-fetch

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados