@aimee-blue/ab-service-kit
Version:
Aimee Blue Service Template
21 lines (20 loc) • 635 B
TypeScript
import { Observable } from 'rxjs';
import { BasicLogger } from './logging';
interface IErrorInfo {
error: Error;
numberOfErrors: number;
timeBeforeNextRetry: number;
}
export declare type RetryOpts = Partial<IRetryOptsAll>;
interface IRetryOptsAll {
shouldRetry: (info: IErrorInfo) => boolean;
sourceDescription: string;
resetErrorsOnNext: boolean;
waitTimeOnBackoff: number;
waitTimeOnFirstError: number;
minWaitTime: number;
maxWaitTime: number;
logger?: BasicLogger;
}
export declare function retryWithBackoff<T>(optsRaw?: RetryOpts): (source: Observable<T>) => Observable<T>;
export {};