UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

27 lines (26 loc) 758 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.debounceMicrotaskObservable = void 0; function debounceMicrotaskObservable(subscribe) { return function (emit) { var microtaskCount = 0; var incrementMicrotaskCount = function () { return microtaskCount = (microtaskCount + 1) % 0x80000000; }; var unsubscribe = subscribe(function (value) { var currentMicroTaskId = incrementMicrotaskCount(); queueMicrotask(function () { if (currentMicroTaskId === microtaskCount) { emit(value); } }); }); return function () { incrementMicrotaskCount(); unsubscribe(); }; }; } exports.debounceMicrotaskObservable = debounceMicrotaskObservable;