// global state lolololol const EventStore = { listeners: new Map(), dispatch(name: string, data: any) { const listeners = this.listeners.get(name); if (!listeners) { return; } for (const listener of listeners) { listener(data); } }, listen(name: string, callback: Function) { let listeners = this.listeners.get(name); if (!listeners) { listeners = []; this.listeners.set(name, listeners); } listeners.push(callback); } }; export default EventStore;