Rocky_Mountain_Vending/.pnpm-store/v10/files/f2/3efeff382a127067e7340808e5bba7dee9b5fbd1d65e91818072c0925587f7c2d075d2b0e64a2a19bff2cd796eafebbfbd5bb7928c7170593fb439ca4a9cbd
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

44 lines
No EOL
1.5 KiB
Text

import { asyncScheduler } from '../scheduler/async';
import { operate } from '../util/lift';
import { createOperatorSubscriber } from './OperatorSubscriber';
export function debounceTime(dueTime, scheduler) {
if (scheduler === void 0) { scheduler = asyncScheduler; }
return 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(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;
}));
});
}
//# sourceMappingURL=debounceTime.js.map