UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

31 lines (30 loc) 877 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.bufferTimeObservable = void 0; var create_timeout_1 = require("../../../../../../../../misc/timer/create-timeout.cjs"); function bufferTimeObservable(subscribe, duration) { return function (emit) { var currentBuffer = []; var abortTimeout = null; var unsubscribe = subscribe(function (value) { currentBuffer.push(value); if (abortTimeout === null) { abortTimeout = (0, create_timeout_1.createTimeout)(function () { abortTimeout = null; var buffer = currentBuffer; currentBuffer = []; emit(buffer); }, duration); } }); return function () { unsubscribe(); if (abortTimeout !== null) { abortTimeout(); } }; }; } exports.bufferTimeObservable = bufferTimeObservable;