npaw-plugin-nwf
Version:
NPAW's Plugin
49 lines (48 loc) • 1.23 kB
TypeScript
/**
* 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;
}