UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

32 lines (31 loc) 944 B
/** * EventBus — 应用事件总线 * 支持 emit/emitAsync、事件历史日志、统计 */ import { EventEmitter } from 'node:events'; export declare class EventBus extends EventEmitter { #private; constructor(options?: { maxListeners?: number; historyLimit?: number; }); /** 同步 emit + 记录历史 */ emit(eventName: string | symbol, ...args: unknown[]): boolean; /** 异步 emit — 串行等待所有 listener 完成 */ emitAsync(eventName: string | symbol, ...args: unknown[]): Promise<void>; /** 获取事件历史 */ getHistory(limit?: number): { event: string | symbol; timestamp: string; argCount: number; }[]; /** 清空历史 */ clearHistory(): void; /** 获取统计 */ getStats(): { totalEvents: number; uniqueEvents: number; byEvent: Record<string, number>; activeListeners: number; }; }