From e4fa1e69e7ebfb627c7198fd1a9881e9327ec4d4 Mon Sep 17 00:00:00 2001 From: Pinapelz Date: Sat, 28 Jun 2025 17:26:46 -0700 Subject: initial commit: scaffolding --- .../dist/cjs/internal/operators/debounceTime.js | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js (limited to 'node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js') diff --git a/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js b/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js new file mode 100644 index 0000000..8362c93 --- /dev/null +++ b/node_modules/rxjs/dist/cjs/internal/operators/debounceTime.js @@ -0,0 +1,48 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.debounceTime = void 0; +var async_1 = require("../scheduler/async"); +var lift_1 = require("../util/lift"); +var OperatorSubscriber_1 = require("./OperatorSubscriber"); +function debounceTime(dueTime, scheduler) { + if (scheduler === void 0) { scheduler = async_1.asyncScheduler; } + return lift_1.operate(function (source, subscriber) { + var activeTask = null; + var lastValue = null; + var lastTime = null; + var emit = function () { + if (activeTask) { + activeTask.unsubscribe(); + activeTask = null; + var value = lastValue; + lastValue = null; + subscriber.next(value); + } + }; + function emitWhenIdle() { + var targetTime = lastTime + dueTime; + var now = scheduler.now(); + if (now < targetTime) { + activeTask = this.schedule(undefined, targetTime - now); + subscriber.add(activeTask); + return; + } + emit(); + } + source.subscribe(OperatorSubscriber_1.createOperatorSubscriber(subscriber, function (value) { + lastValue = value; + lastTime = scheduler.now(); + if (!activeTask) { + activeTask = scheduler.schedule(emitWhenIdle, dueTime); + subscriber.add(activeTask); + } + }, function () { + emit(); + subscriber.complete(); + }, undefined, function () { + lastValue = activeTask = null; + })); + }); +} +exports.debounceTime = debounceTime; +//# sourceMappingURL=debounceTime.js.map \ No newline at end of file -- cgit v1.2.3