UNPKG

node-circuit-breaker

Version:

Circuit Breaker: Decorators and tools that can easily apply the Circuit Breaker pattern.

20 lines (19 loc) 795 B
import { Circuit } from '../circuit-breaker-manager'; import { CircuitBreakerScope } from '../types/circuit.type'; export interface CircuitBreakerRule { exceptions: Array<typeof Error | any>; times: number; inSeconds: number; } export interface CircuitBreakerOptions { scope?: CircuitBreakerScope; fallback: Function | string | Object; ignore?: (error: any, circuit: Circuit) => Promise<boolean>; onError?: (error: any, circuit: Circuit) => Promise<void>; onCircuitOpen?: (circuit: Circuit) => Promise<boolean>; onCircuitClose?: (circuit: Circuit) => Promise<boolean>; timeoutMilliSeconds?: number; rules: CircuitBreakerRule[]; fallbackForSeconds: number; } export declare function CircuitBreaker(options: CircuitBreakerOptions): MethodDecorator;