@codianz/rx
Version:
Rx utilities.
34 lines • 1.1 kB
JavaScript
;
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
to[j] = from[i];
return to;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SlidingWindow = void 0;
var rxjs_1 = require("rxjs");
function SlidingWindow(count, src) {
return new rxjs_1.Observable(function (s) {
var arr = new Array();
var subscription = src.subscribe({
next: function (v) {
if (s.closed) {
subscription.unsubscribe();
}
arr.push(v);
if (arr.length == count) {
s.next(__spreadArray([], arr));
arr.shift();
}
},
error: function (err) {
s.error(err);
},
complete: function () {
s.complete();
}
});
});
}
exports.SlidingWindow = SlidingWindow;
//# sourceMappingURL=SlidingWindow.js.map