@lifaon/rx-js-light
Version:
Blazing fast Observables
28 lines (27 loc) • 719 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.findObservable = void 0;
var async_unsubscribe_1 = require("../../../../../../misc/helpers/async-unsubscribe.cjs");
function findObservable(subscribe, condition) {
return function (emit) {
var running = true;
var unsubscribe = subscribe(function (value) {
if (running && condition(value)) {
running = false;
(0, async_unsubscribe_1.asyncUnsubscribe)(function () {
return unsubscribe;
});
emit(value);
}
});
return function () {
if (running) {
running = false;
unsubscribe();
}
};
};
}
exports.findObservable = findObservable;