rx-synchronizer
Version:
Commonly-used synchronizer bases that can be composed into more specific purposes.
20 lines • 796 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var rxjs_1 = require("rxjs");
var operators_1 = require("rxjs/operators");
var Impl = /** @class */ (function () {
function Impl() {
this.subscription = new rxjs_1.Subscription();
}
Impl.prototype.mergeProgressStreams = function (dependency) {
return rxjs_1.merge(dependency.progressStartStream, dependency.progressEndStream.pipe(operators_1.delay(0)));
};
Impl.prototype.synchronize = function (dependency) {
this.subscription.add(this.mergeProgressStreams(dependency)
.pipe(operators_1.takeUntil(dependency.stopStream))
.subscribe(dependency.progressReceiver));
};
return Impl;
}());
exports.Impl = Impl;
//# sourceMappingURL=progress.js.map