UNPKG

@sap-cloud-sdk/resilience

Version:

SAP Cloud SDK for JavaScript resilience

47 lines (46 loc) 1.4 kB
import type { MiddlewareContext, Middleware } from './middleware'; /** * Map of all existing circuit breakers. * Entries are added in a lazy way. * TODO: * The value type here should be CircuitBreaker, but this would make the Opossum types part of our public API. * This happens although it is marked as internal, because transpilation includes internal. * Adding CircuitBreaker will break transpilation on generation. * @internal */ export declare const circuitBreakers: Record<string, any>; /** * @internal */ export declare const circuitBreakerDefaultOptions: CircuitBreakerOptions; /** * Helper method to build a circuit breaker middleware. * @returns The middleware adding a circuit breaker to the function. */ export declare function circuitBreaker<ArgumentT, ReturnT, ContextT extends MiddlewareContext<ArgumentT>>(): Middleware<ArgumentT, ReturnT, ContextT>; /** * This is partially copied from CircuitBreaker.Options of `@types/opossum`. * @internal */ export interface CircuitBreakerOptions { /** * @internal */ timeout?: number | false | undefined; /** * @internal */ errorThresholdPercentage?: number | undefined; /** * @internal */ volumeThreshold?: number | undefined; /** * @internal */ resetTimeout?: number | undefined; /** * @internal */ cache?: boolean | undefined; }