Libreria Gratis Activo

Wretch

Para hacer peticiones HTTP con una API encadenable más cómoda y segura que fetch a secas.

Wrapper ligero sobre la API Fetch con una sintaxis fluida y encadenable para hacer peticiones HTTP.

Notas y contexto

Qué es

Wretch es una librería ligera (alrededor de 1,8 KB gzip) escrita en TypeScript que envuelve la API Fetch del navegador con una sintaxis fluida y encadenable. La creó Julien Elbaz (elbywan) y se distribuye con licencia MIT. Funciona en navegadores modernos, Node.js 22+, Deno y Bun, y aporta tipado completo de TypeScript.

Para qué sirve

  • Construir peticiones HTTP encadenando URL, cabeceras, cuerpo y método de forma legible.
  • Serializar y deserializar JSON automáticamente sin tener que llamar a response.json().
  • Manejar errores con catchers específicos por código de estado (401, 404, 500…).
  • Reutilizar instancias inmutables como cliente base para una API y derivar variantes.

Cuándo usarlo

Es buena opción cuando trabajas directamente sobre fetch y quieres una capa más cómoda sin renunciar a su ligereza, especialmente en proyectos que valoran un bundle pequeño. Si necesitas interceptores avanzados, cancelación y un ecosistema más grande, axios o ky son alternativas a considerar; Wretch destaca por su tamaño mínimo y su API encadenable.

Ejemplo

Instalación y uso básico:

npm install wretch
import wretch from "wretch"

const api = wretch("https://api.example.com")
  .headers({ "X-Api-Key": "secret" })

// POST con cuerpo JSON y manejo de errores por estado
const user = await api
  .url("/users")
  .json({ name: "Alice" })
  .post()
  .unauthorized(() => console.log("Sin autorización"))
  .json()

console.log(user)

Puntos clave

  • API fluida que separa la cadena de petición (URL, cabeceras, cuerpo, método) de la de respuesta (catchers y tipos de respuesta).
  • Catchers por código de estado para tratar errores HTTP de forma declarativa.
  • Instancias inmutables y reutilizables, seguras para usar como cliente base compartido.
  • Sistema modular de addons y middlewares para ampliar su comportamiento.

Ten en cuenta

Requiere un entorno con la API Fetch disponible (en Node.js, versión 22 o superior). La versión 3.0 introdujo cambios respecto a la 2.x, así que conviene revisar la guía de migración al actualizar. Para necesidades muy complejas de cliente HTTP, otras librerías ofrecen más características de serie a cambio de un mayor tamaño.

Volver al directorio
Volver al directorio