nestjs-resilience
Version:
A module for improving the reliability and fault-tolerance of your NestJS applications
28 lines (27 loc) • 2.1 kB
TypeScript
import { Type } from '@nestjs/common';
import { Strategy } from './strategies';
import { BulkheadOptions, CacheOptions, CircuitBreakerOptions, DedupeOptions, FallbackOptions, HealthCheckOptions, RetryOptions, ThrottleOptions, TimeoutOptions } from './interfaces';
export declare class ResilienceFactory {
static createBulkheadStrategy(options: BulkheadOptions): Strategy<BulkheadOptions>;
static createCacheStrategy(options: CacheOptions): Strategy<number>;
static createCircuitBreakerStrategy(options: CircuitBreakerOptions): Strategy<CircuitBreakerOptions>;
static createFallbackStrategy(options: FallbackOptions): Strategy<FallbackOptions>;
static createHealthCheckStrategy(options: HealthCheckOptions): Strategy<HealthCheckOptions>;
static createRetryStrategy(options: RetryOptions): Strategy<RetryOptions>;
static createThrottleStrategy(options: ThrottleOptions): Strategy<ThrottleOptions>;
static createTimeoutStrategy(options: TimeoutOptions): Strategy<number>;
static createDedupeStrategy(options: DedupeOptions): Strategy<DedupeOptions>;
static createStrategy<T>(strategy: Type<Strategy<T>>, options: T): Strategy<T>;
static createCommand<T>(command: Type<T>, strategies: Strategy[]): T;
createBulkheadStrategy(options: BulkheadOptions): Strategy<BulkheadOptions>;
createCacheStrategy(options: CacheOptions): Strategy<number>;
createCircuitBreakerStrategy(options: CircuitBreakerOptions): Strategy<CircuitBreakerOptions>;
createFallbackStrategy(options: FallbackOptions): Strategy<FallbackOptions>;
createHealthCheckStrategy(options: HealthCheckOptions): Strategy<HealthCheckOptions>;
createRetryStrategy(options: RetryOptions): Strategy<RetryOptions>;
createThrottleStrategy(options: ThrottleOptions): Strategy<ThrottleOptions>;
createTimeoutStrategy(options: TimeoutOptions): Strategy<number>;
createDedupeStrategy(options: DedupeOptions): Strategy<DedupeOptions>;
createStrategy<T>(strategy: Type<Strategy<T>>, options: T): Strategy<T>;
createCommand<T>(command: Type<T>, strategies: Strategy[]): T;
}