@likg/bus
Version:
3 lines (2 loc) • 425 B
JavaScript
/* eslint-disable */
class s{bus={};static instance;constructor(){}static defaultUtils(){return this.instance||(this.instance=new s),this.instance}$on(s,t){this.bus[s]||(this.bus[s]=[]),this.bus[s].push(t)}$emit(s,...t){const i=this.bus[s];if(i)for(const s of i)s.call(this,...t)}$off(s,t){const i=this.bus[s];i&&(t?i.forEach((s,c)=>{s===t&&i.splice(c,1)}):delete this.bus[s])}}const t=s.defaultUtils();export{t as default};