UNPKG

ts-discord-wrapper

Version:
21 lines (18 loc) 643 B
import {EventNames} from "../ws/util/EventNames.ts"; export class EventEmitter { private listeners: Map<EventNames, ((data: any) => void)[]> = new Map(); on <T> (event: EventNames, listener: (data: T) => void) { if (!this.listeners.has(event)) { this.listeners.set(event, []); } this.listeners.get(event)?.push(listener); } emit <T> (event: EventNames, data: T) { const eventListeners = this.listeners.get(event); if (eventListeners) { for (const listener of eventListeners) { listener(data); } } } }