@fewings/core
Version:
Useful pure functions for frontend development
2 lines (1 loc) • 382 B
JavaScript
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};