oak-cli/lib/server/timer-manager.d.ts

46 lines
1.1 KiB
TypeScript

type TimerType = 'timeout' | 'interval' | 'immediate';
interface TimerRecord {
id: NodeJS.Timeout | NodeJS.Immediate;
type: TimerType;
createdAt: number;
}
declare class GlobalTimerManager {
private timers;
private isHooked;
private readonly original;
/**
* 开始拦截全局定时器
*/
hook(): void;
/**
* 恢复原始的全局定时器函数
*/
unhook(): void;
/**
* 清除所有被追踪的定时器
*/
clearAll(): number;
/**
* 按类型清除定时器
*/
clearByType(type: TimerType): number;
/**
* 获取当前活跃的定时器数量
*/
getActiveCount(): number;
/**
* 获取定时器统计信息
*/
getStats(): Record<TimerType, number>;
/**
* 获取所有定时器的详细信息(用于调试)
*/
getTimers(): TimerRecord[];
}
export declare const timerManager: GlobalTimerManager;
export declare const hookTimers: () => void;
export declare const unhookTimers: () => void;
export declare const clearAllTimers: () => number;
export declare const getTimerStats: () => Record<TimerType, number>;
export {};