/
weylin
/
WtDev
Обзор
Документация
Войти
/
weylin
/
WtDev
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
dev
src/eventManager.ts
34 строки
777 B
Weylin
Добавлен тип событий
09 апр 2025, 14:59
09 апр 2025, 14:59
fffb579
Код
Авторство
О чём код?
export type EventName = "onDidUploadAll"; export type ManagedEvent = { name: EventName; callback: Function; }; export class EventManager { private _events: Array<ManagedEvent> = []; constructor() {} on(eventName: EventName, callback: Function) { this._events.push({ name: eventName, callback }); } clear() { this._events = []; } removeEventListener(eventName: EventName) { this._events = this._events.filter((e) => e.name !== eventName); } async emit(eventName: EventName, data?: any) { console.log(`emitEvent: ${eventName}; data: `, data); for (const event of this._events) { console.log("executed event handler :>> ", event); if (event.name === eventName) { await event.callback(data); } } } }