Saltar al contenido principal

Firma

  • run: Ejecuta una sola tarea
  • all: Ejecuta múltiples tareas con control de concurrencia
  • runOrThrow: Ejecuta una tarea y lanza el error normalizado si falla
  • allOrThrow: Ejecuta múltiples tareas y lanza la primera falla
  • partitionAll: Divide los resultados de all() en éxitos y fallos
  • withConfig: Crea una nueva instancia con configuración combinada
  • orThrow: Alias de runOrThrow

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 tryo, { errorRule } from 'tryo'

const runner = tryo({
  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')