UNPKG

@tencentcloud/roomkit-electron-vue3

Version:

<h1 align="center"> TUIRoomKit</h1> Conference (TUIRoomKit) is a product suitable for multi-person audio and video conversation scenarios such as business meetings, webinars, and online education. By integrating this product, you can add room management,

28 lines (20 loc) 593 B
import mitt, { Emitter, EventType, Handler } from 'mitt'; class EventEmitter<T extends Record<EventType, unknown>> { private emitter: Emitter<T>; constructor() { this.emitter = mitt(); } on(eventName: keyof T, handler: Handler<T[keyof T]>) { this.emitter.on(eventName, handler); } off(eventName: keyof T, handler: Handler<T[keyof T]>) { this.emitter.off(eventName, handler); } emit(eventName: keyof T, event: T[keyof T]) { this.emitter.emit(eventName, event); } removeAllListeners() { this.emitter.all.clear(); } } export default EventEmitter;