Js Mcaddon -1- -

// Example usage as an add-on const addon = new EventEmitter(); addon.on('ready', () => console.log('Add-on initialized')); addon.emit('ready');

emit(event, ...args) { if (!this.events.has(event)) return false; this.events.get(event).forEach(listener => listener(...args)); return true; }

off(event, listener) { if (!this.events.has(event)) return; const listeners = this.events.get(event).filter(l => l !== listener); if (listeners.length) this.events.set(event, listeners); else this.events.delete(event); }

// Simple EventEmitter add-on class EventEmitter { constructor() { this.events = new Map(); } on(event, listener) { if (!this.events.has(event)) this.events.set(event, []); this.events.get(event).push(listener); return () => this.off(event, listener); }

If you meant something else, please provide the full context or correct the spelling — I’ll be happy to help!

once(event, listener) { const wrapper = (...args) => { this.off(event, wrapper); listener(...args); }; return this.on(event, wrapper); } }