2025-07-04 15:36:51 +08:00

3 lines
661 B
JavaScript

class t{constructor(){this.__map={}}beforeEach(t){this.__interceptor=t}on(t,i){const s=Array.isArray(t)?t:[t];for(const t of s){this.__map[t]=this.__map[t]||[];const s=this.__map[t];s&&s.push(i)}return this}emit(t,i,s){void 0!==this.__interceptor?this.__interceptor(t,(()=>{this.__emit(t,i),s&&s()})):(this.__emit(t,i),s&&s())}__emit(t,i){const s=this.__map[t];if(Array.isArray(s)&&(null==s?void 0:s.length))for(const _ of s)_(i,t);this.event=i}off(t,i){const s=this.__map[t];if(void 0!==s)if(void 0===i)delete this.__map[t];else{const t=s.findIndex((t=>t===i));s.splice(t,1)}}destroy(){this.__map={}}}export{t as default};
//# sourceMappingURL=index.es.js.map