File size: 385 Bytes
63b089b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
type allowedEvents = "overlayClick" | "escape";
let registeredListeners: Partial<{ [key in allowedEvents]: () => void }> = {};
export function listen(hook: allowedEvents, callback: () => void) {
registeredListeners[hook] = callback;
}
export function emit(hook: allowedEvents) {
registeredListeners[hook]?.();
}
export function destroyEmitter() {
registeredListeners = {};
}
|