@likg/bus
Version:
3 lines (2 loc) • 632 B
JavaScript
/* eslint-disable */
!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):(t="undefined"!=typeof globalThis?globalThis:t||self).Bus=s()}(this,function(){"use strict";class t{bus={};static instance;constructor(){}static defaultUtils(){return this.instance||(this.instance=new t),this.instance}$on(t,s){this.bus[t]||(this.bus[t]=[]),this.bus[t].push(s)}$emit(t,...s){const e=this.bus[t];if(e)for(const t of e)t.call(this,...s)}$off(t,s){const e=this.bus[t];e&&(s?e.forEach((t,i)=>{t===s&&e.splice(i,1)}):delete this.bus[t])}}return t.defaultUtils()});