UNPKG

@react95/core

Version:
36 lines (35 loc) 847 B
class Emitter { constructor() { this.listeners = {}; } on(eventName, callback) { var _a; if (!this.listeners[eventName]) { this.listeners[eventName] = []; } (_a = this.listeners[eventName]) == null ? void 0 : _a.push(callback); } off(eventName, callback) { var _a; if (this.listeners[eventName]) { this.listeners[eventName] = (_a = this.listeners[eventName]) == null ? void 0 : _a.filter( (cb) => cb !== callback ); } } emit(eventName, data) { var _a; if (this.listeners[eventName]) { (_a = this.listeners[eventName]) == null ? void 0 : _a.forEach((callback) => { try { callback(data); } catch (error) { console.error(`Error in event listener for ${eventName}:`, error); } }); } } } export { Emitter };