export default class Bus { 
 | 
    constructor() { 
 | 
        this.listeners = new Map(); 
 | 
        this.emitted = new Set(); 
 | 
    } 
 | 
    on(evtName, listener) { 
 | 
        if (this.emitted.has(evtName)) { 
 | 
            listener(); 
 | 
            return; 
 | 
        } 
 | 
        const target = this.listeners.get(evtName) || []; 
 | 
        target.push(listener); 
 | 
        this.listeners.set(evtName, target); 
 | 
    } 
 | 
    emit(evtName) { 
 | 
        const listeners = this.listeners.get(evtName); 
 | 
        if (listeners) { 
 | 
            listeners.forEach((func) => func()); 
 | 
        } 
 | 
        this.emitted.add(evtName); 
 | 
    } 
 | 
} 
 |