Rocky_Mountain_Vending/.pnpm-store/v10/files/54/4b85916563811e6857db991fbda1db8b641a4d3f3e9989c44170ece1fc27221cf7170db46b1467ef6d7b2e3b838d758e9531671303f550388f377076f14aa7
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

31 lines
1 KiB
Text

import type { TimerHandle } from './timerHandle';
type SetTimeoutFunction = (handler: () => void, timeout?: number, ...args: any[]) => TimerHandle;
type ClearTimeoutFunction = (handle: TimerHandle) => void;
interface TimeoutProvider {
setTimeout: SetTimeoutFunction;
clearTimeout: ClearTimeoutFunction;
delegate:
| {
setTimeout: SetTimeoutFunction;
clearTimeout: ClearTimeoutFunction;
}
| undefined;
}
export const timeoutProvider: TimeoutProvider = {
// When accessing the delegate, use the variable rather than `this` so that
// the functions can be called without being bound to the provider.
setTimeout(handler: () => void, timeout?: number, ...args) {
const { delegate } = timeoutProvider;
if (delegate?.setTimeout) {
return delegate.setTimeout(handler, timeout, ...args);
}
return setTimeout(handler, timeout, ...args);
},
clearTimeout(handle) {
const { delegate } = timeoutProvider;
return (delegate?.clearTimeout || clearTimeout)(handle as any);
},
delegate: undefined,
};