Files
lingxiao865 6c6fe3d0d6 first commit
2025-09-18 12:39:54 +08:00

1 line
278 B
JavaScript

export default class Bus{constructor(){this.listeners=new Map,this.emitted=new Set}on(t,e){if(this.emitted.has(t))return void e();const s=this.listeners.get(t)||[];s.push(e),this.listeners.set(t,s)}emit(t){const e=this.listeners.get(t);e&&e.forEach(t=>t()),this.emitted.add(t)}}