Saltar al contenido principal
Logo Light

Bienvenido a Trybox

Una librería moderna y tipada para el manejo de errores que hace que las operaciones asíncronas sean predecibles y resilientes.

Características

No más bloques try-catch. Obtén uniones discriminadas con soporte completo de TypeScript.
const result = await runner.run(() => apiCall());
if (result.ok) {
  // TypeScript sabe que data está disponible
  console.log(result.data);
}
Backoff exponencial integrado con jitter para prevenir el problema de thundering herd.
await runner.run(() => unstableApi(), {
  retries: 3,
  retryDelay: (attempt) => Math.pow(2, attempt) * 1000,
  jitter: true
});
Ejecuta múltiples operaciones con paralelismo controlado.
await runner.all(tasks, { 
  concurrency: 5,
  mode: 'fail-fast' 
});
Soporte de primera clase para AbortController y cancelación elegante.
await runner.run(() => fetch('/api', { signal }), {
  ignoreAbort: true
});

Instalación

npm install trybox

Ejemplo Rápido

import trybox from "trybox";

const runner = trybox();

const result = await runner.run(() => fetch("https://api.example.com/users"), {
  retries: 3,
  retryDelay: 1000,
  onError: (error) => console.error(error),
});

if (result.ok) {
  const users = await result.data.json();
  console.log(users);
}
Consejo Pro: Usa trybox() una vez y reutilízalo en tu aplicación para un manejo de errores consistente.

Siguientes Pasos