UNPKG

@react95/core

Version:
36 lines (35 loc) 939 B
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); 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); } }); } } } exports.Emitter = Emitter;