@fewings/core
Version:
Useful pure functions for frontend development
2 lines (1 loc) • 836 B
JavaScript
;var o=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var l=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var f=(r,e)=>{for(var s in e)o(r,s,{get:e[s],enumerable:!0})},y=(r,e,s,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of l(e))!d.call(r,t)&&t!==s&&o(r,t,{get:()=>e[t],enumerable:!(n=T(e,t))||n.enumerable});return r};var p=r=>y(o({},"__esModule",{value:!0}),r);var E={};f(E,{Emitter:()=>a});module.exports=p(E);var a=class{listener={};on(e,s){this.listener[e]||(this.listener[e]=[]);let n=s.bind(this);return this.listener[e].push(n),()=>{let t=this.listener[e];t&&(this.listener[e]=t.filter(i=>i!==n))}}once(e,s){let n=(...i)=>{t(),s(...i)},t=this.on(e,n);return t}dispatch(e,...s){let n=this.listener[e];n&&n.forEach(t=>t(...s))}removeAllListeners(){this.listener={}}};