node-circuit-breaker
Version:
Circuit Breaker: Decorators and tools that can easily apply the Circuit Breaker pattern.
28 lines (27 loc) • 1 kB
TypeScript
import { CircuitBreakerOptions } from './decorators/circuit-breaker.decorator';
import { CircuitBreakerState } from './types/circuit.type';
export declare class Circuit {
id: string;
caller: string;
options: CircuitBreakerOptions;
state: CircuitBreakerState;
static exceptionPipes: Array<(e: Error) => Error>;
constructor(caller: string, funcName: string, options: CircuitBreakerOptions);
private _serializedOptions;
get serializedOptions(): string;
setState(state: CircuitBreakerState): Promise<boolean>;
invoke(context: any, func: Function, trace: {
stack?: string;
}, args: any[]): any;
private pushTimeoutError;
private pushError;
}
export declare class CircuitBreakerManager {
static circuits: {
[key: string]: Circuit;
};
static invoke(context: any, func: Function, funcName: string, options: CircuitBreakerOptions, trace: {
stack?: string;
}, ...args: any[]): any;
static terminate(): Promise<any>;
}