@colyseus/core
Version:
Multiplayer Framework for Node.js.
20 lines • 510 B
text/typescript
export const createNanoEvents = () => ({
emit(event: string, ...args: any[]) {
for (
let callbacks = this.events[event] || [],
i = 0,
length = callbacks.length;
i < length;
i++
) {
callbacks[i](...args)
}
},
events: {},
on(event: string, cb: (...args: any[]) => void) {
;(this.events[event] ||= []).push(cb)
return () => {
this.events[event] = this.events[event]?.filter(i => cb !== i)
}
}
})