UNPKG

@fewings/core

Version:
2 lines (1 loc) 382 B
var i=class{listener={};on(e,n){this.listener[e]||(this.listener[e]=[]);let t=n.bind(this);return this.listener[e].push(t),()=>{let s=this.listener[e];s&&(this.listener[e]=s.filter(r=>r!==t))}}once(e,n){let t=(...r)=>{s(),n(...r)},s=this.on(e,t);return s}dispatch(e,...n){let t=this.listener[e];t&&t.forEach(s=>s(...n))}removeAllListeners(){this.listener={}}};export{i as Emitter};