@lifaon/rx-js-light
Version:
Blazing fast Observables
24 lines (23 loc) • 661 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.bufferObservable = void 0;
function bufferObservable(subscribe, closingObservable) {
return function (emit) {
var currentBuffer = [];
var unsubscribeOfClosingObservable = closingObservable(function () {
var buffer = currentBuffer;
currentBuffer = [];
emit(buffer);
});
var unsubscribeOfSourceObservable = subscribe(function (value) {
currentBuffer.push(value);
});
return function () {
unsubscribeOfClosingObservable();
unsubscribeOfSourceObservable();
};
};
}
exports.bufferObservable = bufferObservable;