Saltar al contenido principal

Firma

Crea una instancia Runner con métodos:
  • run: ejecuta una tarea con resultado seguro
  • allSettled: ejecuta tareas con control de concurrencia
  • all: ejecuta tareas y lanza al fallar

Opciones

  • rules: lista de reglas para normalizar errores
  • fallback: función para error no mapeado
  • toError: normalizador completo personalizado
  • ignoreAbort: default para abortos
  • mapError: transformación por defecto de errores
  • circuitBreaker: configuración por defecto del circuito

Ejemplo

import trybox, { errorRule } from "trybox";

const runner = trybox({
  ignoreAbort: true,
  circuitBreaker: { failureThreshold: 3, resetTimeout: 2000, halfOpenRequests: 1 },
  rules: [
    errorRule.when((e): e is { code: string } => typeof (e as any)?.code === "string").toError((e) => ({
      code: (e as any).code,
      message: "Mapped error",
    })),
  ],
});

const res = await runner.run(async () => "ok");