@cute-dw/core
Version:
This TypeScript library is the main part of a more powerfull package designed for the fast WEB software development. The cornerstone of the library is the **DataStore** class, which might be useful when you need a full control of the data, but do not need
18 lines • 3.04 kB
JavaScript
import { delay as delayOperator, retryWhen, scan, tap } from 'rxjs/operators';
/**
* @deprecated
* @param delay
* @param count
* @returns MonoTypeOperatorFunction
*/
export function retryWithDelay(delay, count = 1) {
return (input) => input.pipe(retryWhen((errors) => errors.pipe(scan((acc, error) => ({ count: acc.count + 1, error }), {
count: 0,
error: undefined,
}), tap((current) => {
if (current.count > count) {
throw current.error;
}
}), delayOperator(delay))));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3V0ZS1jb3JlL3NyYy9saWIvdXRpbC9yeGpzL29wZXJhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxJQUFJLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBUyxNQUFNLGdCQUFnQixDQUFDO0FBRXJGOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDMUIsS0FBYSxFQUNiLFFBQWdCLENBQUM7SUFFakIsT0FBTyxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUM1QixLQUFLLENBQUMsSUFBSSxDQUNOLFNBQVMsQ0FBQyxDQUFDLE1BQXFCLEVBQUUsRUFBRSxDQUNoQyxNQUFNLENBQUMsSUFBSSxDQUNQLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUNwRCxLQUFLLEVBQUUsQ0FBQztRQUNSLEtBQUssRUFBRSxTQUFnQjtLQUMxQixDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDWixJQUFJLE9BQU8sQ0FBQyxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQztTQUN2QjtJQUNMLENBQUMsQ0FBQyxFQUNGLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FDdkIsQ0FDSixDQUNKLENBQUM7QUFDVixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGRlbGF5IGFzIGRlbGF5T3BlcmF0b3IsIHJldHJ5V2hlbiwgc2NhbiwgdGFwLCByZXRyeSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbi8qKlxyXG4gKiBAZGVwcmVjYXRlZFxyXG4gKiBAcGFyYW0gZGVsYXlcclxuICogQHBhcmFtIGNvdW50XHJcbiAqIEByZXR1cm5zIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvblxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHJldHJ5V2l0aERlbGF5PFQ+KFxyXG4gICAgZGVsYXk6IG51bWJlcixcclxuICAgIGNvdW50OiBudW1iZXIgPSAxXHJcbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XHJcbiAgICByZXR1cm4gKGlucHV0OiBPYnNlcnZhYmxlPFQ+KSA9PlxyXG4gICAgICAgIGlucHV0LnBpcGUoXHJcbiAgICAgICAgICAgIHJldHJ5V2hlbigoZXJyb3JzOiBPYnNlcnZhYmxlPFQ+KSA9PlxyXG4gICAgICAgICAgICAgICAgZXJyb3JzLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgc2NhbigoYWNjLCBlcnJvcikgPT4gKHsgY291bnQ6IGFjYy5jb3VudCArIDEsIGVycm9yIH0pLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvdW50OiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogdW5kZWZpbmVkIGFzIGFueSxcclxuICAgICAgICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgICAgICAgICB0YXAoKGN1cnJlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnQuY291bnQgPiBjb3VudCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3VycmVudC5lcnJvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgICAgICAgIGRlbGF5T3BlcmF0b3IoZGVsYXkpXHJcbiAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgIClcclxuICAgICAgICApO1xyXG59XHJcbiJdfQ==