UNPKG

web-asr-core

Version:

WebASR Core - Browser-based speech processing with VAD, WakeWord and Whisper - Unified all-in-one version

60 lines 1.85 kB
/** * EventEmitter - 基礎事件發射器類別 * * 提供類型安全的事件訂閱和發射功能 * 支援 on、once、off 方法和鏈式調用 */ export declare class EventEmitter<T extends Record<string, any>> { private events; constructor(); /** * 訂閱事件 * @param event 事件名稱 * @param handler 事件處理函數 * @returns this 用於鏈式調用 */ on<K extends keyof T>(event: K, handler: (data: T[K]) => void): this; /** * 訂閱事件(只觸發一次) * @param event 事件名稱 * @param handler 事件處理函數 * @returns this 用於鏈式調用 */ once<K extends keyof T>(event: K, handler: (data: T[K]) => void): this; /** * 取消訂閱事件 * @param event 事件名稱 * @param handler 事件處理函數(可選,不提供則移除所有處理函數) * @returns this 用於鏈式調用 */ off<K extends keyof T>(event: K, handler?: (data: T[K]) => void): this; /** * 發射事件 * @param event 事件名稱 * @param data 事件資料 * @returns this 用於鏈式調用 */ emit<K extends keyof T>(event: K, data: T[K]): this; /** * 移除所有事件監聽器 * @returns this 用於鏈式調用 */ removeAllListeners(): this; /** * 獲取事件的監聽器數量 * @param event 事件名稱 * @returns 監聽器數量 */ listenerCount<K extends keyof T>(event: K): number; /** * 獲取所有事件名稱 * @returns 事件名稱陣列 */ eventNames(): (keyof T)[]; } /** * 創建 EventEmitter 實例的輔助函數 */ export declare function createEventEmitter<T extends Record<string, any>>(): EventEmitter<T>; export default EventEmitter; //# sourceMappingURL=EventEmitter.d.ts.map