UNPKG

rxjs-audit-with

Version:

A template for creating npm packages using TypeScript and VSCode

12 lines (11 loc) 571 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const rxjs_1 = require("rxjs"); const operators_1 = require("rxjs/operators"); function auditWith(callback) { const freeToRun = new rxjs_1.BehaviorSubject(true); return (source) => { return source.pipe((0, operators_1.audit)(_val => freeToRun.pipe((0, operators_1.filter)(free => free))), (0, operators_1.tap)(() => freeToRun.next(false)), (0, operators_1.mergeMap)(val => callback(val)), (0, operators_1.tap)(() => freeToRun.next(true))); }; } exports.default = auditWith;