UNPKG

@ashetm/ng-network

Version:

``@ashetm/ng-network`` is a library that provide some utilities classes, like pipes.

10 lines 2.28 kB
import { timer } from "rxjs"; import { delayWhen, retryWhen } from "rxjs/operators"; import { fromNetworkEvents } from "./network.rxjs"; /** * @experimental feature */ export function retryUntilOnline(durationStep = 1000, timeIncreasing = false) { return (source$) => source$.pipe(retryWhen((_) => fromNetworkEvents().pipe(delayWhen((isOnline, index) => isOnline ? source$ : timer((timeIncreasing ? index : 1) * durationStep))))); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29yay5vcGVyYXRvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZXR3b3JrL3NyYy9saWIvbmV0d29yay5vcGVyYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QyxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuRDs7R0FFRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FBSSxlQUF1QixJQUFJLEVBQUUsaUJBQTBCLEtBQUs7SUFDOUYsT0FBTyxDQUFDLE9BQXNCLEVBQWlCLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUM1RCxTQUFTLENBQUMsQ0FBQyxDQUFzQixFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLElBQUksQ0FDNUQsU0FBUyxDQUFDLENBQUMsUUFBaUIsRUFBRSxLQUFhLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FDekgsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlLCB0aW1lciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBkZWxheVdoZW4sIHJldHJ5V2hlbiB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBmcm9tTmV0d29ya0V2ZW50cyB9IGZyb20gXCIuL25ldHdvcmsucnhqc1wiO1xuXG4vKipcbiAqIEBleHBlcmltZW50YWwgZmVhdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcmV0cnlVbnRpbE9ubGluZTxUPihkdXJhdGlvblN0ZXA6IG51bWJlciA9IDEwMDAsIHRpbWVJbmNyZWFzaW5nOiBib29sZWFuID0gZmFsc2UpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gKHNvdXJjZSQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+ID0+IHNvdXJjZSQucGlwZShcbiAgICByZXRyeVdoZW4oKF86IE9ic2VydmFibGU8dW5rbm93bj4pID0+IGZyb21OZXR3b3JrRXZlbnRzKCkucGlwZShcbiAgICAgIGRlbGF5V2hlbigoaXNPbmxpbmU6IGJvb2xlYW4sIGluZGV4OiBudW1iZXIpID0+IGlzT25saW5lID8gc291cmNlJCA6IHRpbWVyKCh0aW1lSW5jcmVhc2luZyA/IGluZGV4IDogMSkgKiBkdXJhdGlvblN0ZXApKVxuICAgICkpXG4gICk7XG59XG4iXX0=