UNPKG

@rifo/rxjs-polling

Version:
17 lines 2.63 kB
import { BehaviorSubject, concat, of } from 'rxjs'; import { delay, skip, switchMap, tap } from 'rxjs/operators'; /** * Polling when data is resolved * @param httpRequest$ any http request. * @param delayMs delay in ms * * Inspire by https://blog.strongbrew.io/rxjs-polling/ */ export function pollingOnResolved(httpRequest$, delayMs) { if (delayMs === void 0) { delayMs = 0; } var polling$ = new BehaviorSubject({}); var rePolling$ = of('').pipe(delay(delayMs), tap(function () { return polling$.next({}); }), skip(1)); var httpPolling$ = concat(httpRequest$, rePolling$); return polling$.pipe(switchMap(function () { return httpPolling$; })); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhqcy1wb2xsaW5nLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHJpZm8vcnhqcy1wb2xsaW5nLyIsInNvdXJjZXMiOlsibGliL3J4anMtcG9sbGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTdEOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxZQUE2QixFQUFFLE9BQVc7SUFBWCx3QkFBQSxFQUFBLFdBQVc7SUFDMUUsSUFBTSxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDekMsSUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDNUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUNkLEdBQUcsQ0FBQyxjQUFNLE9BQUEsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBakIsQ0FBaUIsQ0FBQyxFQUM1QixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQ1IsQ0FBQztJQUNGLElBQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDdEQsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFNLE9BQUEsWUFBWSxFQUFaLENBQVksQ0FBQyxDQUFDLENBQUM7QUFDdEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29uY2F0LCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVsYXksIHNraXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFBvbGxpbmcgd2hlbiBkYXRhIGlzIHJlc29sdmVkXG4gKiBAcGFyYW0gaHR0cFJlcXVlc3QkIGFueSBodHRwIHJlcXVlc3QuXG4gKiBAcGFyYW0gZGVsYXlNcyBkZWxheSBpbiBtc1xuICpcbiAqIEluc3BpcmUgYnkgaHR0cHM6Ly9ibG9nLnN0cm9uZ2JyZXcuaW8vcnhqcy1wb2xsaW5nL1xuICovXG5leHBvcnQgZnVuY3Rpb24gcG9sbGluZ09uUmVzb2x2ZWQoaHR0cFJlcXVlc3QkOiBPYnNlcnZhYmxlPGFueT4sIGRlbGF5TXMgPSAwKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgY29uc3QgcG9sbGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcbiAgY29uc3QgcmVQb2xsaW5nJCA9IG9mKCcnKS5waXBlKFxuICAgIGRlbGF5KGRlbGF5TXMpLFxuICAgIHRhcCgoKSA9PiBwb2xsaW5nJC5uZXh0KHt9KSksXG4gICAgc2tpcCgxKVxuICApO1xuICBjb25zdCBodHRwUG9sbGluZyQgPSBjb25jYXQoaHR0cFJlcXVlc3QkLCByZVBvbGxpbmckKTtcbiAgcmV0dXJuIHBvbGxpbmckLnBpcGUoc3dpdGNoTWFwKCgpID0+IGh0dHBQb2xsaW5nJCkpO1xufVxuIl19