rxjs-audit-with
Version:
A template for creating npm packages using TypeScript and VSCode
12 lines (11 loc) • 571 B
JavaScript
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;
;