1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
const eventListener: Map<string, Array<Function>> = new Map()
function registerEvent(event:string, callback: Function) {
if(!eventListener.has(event)) eventListener.set(event, []);
const listeners = eventListener.get(event)
if(listeners) listeners.push(callback)
}
function emitEvent(event:string, data?:any) {
const listeners = eventListener.get(event);
if(listeners) listeners.forEach((cb:Function)=>cb(data));
}
export {
registerEvent,
emitEvent
}
|