UNPKG

npaw-plugin-nwf

Version:
49 lines (48 loc) 1.23 kB
/** * Manages beat scheduling with suspend/resume support */ export default class BeatScheduler { private timer; private suspensionTime; private suspended; /** * Create a new beat scheduler * @param callback - Callback to invoke on each beat, receives diffTime * @param intervalMs - Beat interval in milliseconds */ constructor(callback: (diffTime: number) => void, intervalMs: number); /** * Start the beat timer */ start(): void; /** * Stop the beat timer */ stop(): void; /** * Check if timer is currently running */ get isRunning(): boolean; /** * Suspend the beat timer and return the elapsed time * @returns Elapsed time since timer started */ suspend(): number; /** * Resume the beat timer * @param expireTimeMs - Session expiration timeout in milliseconds * @returns Object with shouldBeat flag and diffTime */ resume(expireTimeMs: number): { shouldBeat: boolean; diffTime: number; }; /** * Check if currently suspended */ isSuspended(): boolean; /** * Get the internal timer (for advanced use cases) */ getTimer(): any; }