| type allowedEvents = | |
| | "overlayClick" | |
| | "escapePress" | |
| | "nextClick" | |
| | "prevClick" | |
| | "closeClick" | |
| | "arrowRightPress" | |
| | "arrowLeftPress"; | |
| 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 = {}; | |
| } | |