Files
JiaZhiQianYan/node_modules/@posthog/core/dist/eventemitter.mjs
2025-11-26 17:19:38 +08:00

19 lines
571 B
JavaScript

class SimpleEventEmitter {
constructor(){
this.events = {};
this.events = {};
}
on(event, listener) {
if (!this.events[event]) this.events[event] = [];
this.events[event].push(listener);
return ()=>{
this.events[event] = this.events[event].filter((x)=>x !== listener);
};
}
emit(event, payload) {
for (const listener of this.events[event] || [])listener(payload);
for (const listener of this.events['*'] || [])listener(event, payload);
}
}
export { SimpleEventEmitter };