Source: common/event-bus.js

/**
 * Event bus for handling events across components
 * @module eventBus
 */
// import mitt from 'mitt';
// const eventBus = mitt();
// export default eventBus;
const eventBus = {
    events: {},
    
    on(event, listener) {
        if (!this.events[event]) {
            this.events[event] = [];
        }
        this.events[event].push(listener);
    },

    emit(event, payload) {
        if (this.events[event]) {
            this.events[event].forEach(listener => listener(payload));
        }
    },

    off(event, listener) {
        if (!this.events[event]) return;

        this.events[event] = this.events[event].filter(l => l !== listener);
    }
};

export default eventBus;