AppResultErrorError
La librería normaliza valores desconocidos a unResultError con:
code: identificador establemessage: descripción del errorstatus?: estado numérico opcionalmeta?: payload adicionalcause?: valor original
Normalizador por defecto
Si no configuras reglas personalizadas,trybox aplica automáticamente las siguientes reglas:
- abort: Detecta
AbortErrory devuelvecode: "ABORTED". - timeout: Detecta
TimeoutErrory devuelvecode: "TIMEOUT". - httpStatus: Detecta errores con
statusostatusCodenumérico. Devuelvecode: "HTTP"y preserva el status. - aggregate: Maneja
AggregateErrorguardando los errores internos enmeta.errors. - string: Si se lanza un string, se usa como mensaje.
- message: Extrae la propiedad
messagede objetos.
Reglas personalizadas
UsaerrorRule para definir mapeos específicos y trybox para aplicarlos.
Transformación con mapError
Permite ajustar el error ya normalizado para enriquecerlo o estandarizarlo.
Cancelación y Timeout
signalytimeoutcontrolan cuánto tiempo esperamos el resultado.- Si tu función no usa el
AbortSignalprovisto, la librería no puede cancelar el I/O subyacente de forma mágica. - Se hace un
racey se devuelveABORTED/TIMEOUTrápido, pero la petición interna solo se detiene si coopera con elsignal.
Circuit Breaker (a nivel Runner)
- Se configura a nivel Runner:
trybox({ circuitBreaker }). - No se expone por llamada en
RunOptionspara mantener la API simple.