mirror of
https://github.com/kamranahmedse/driver.js.git
synced 2026-10-31 20:31:43 +08:00
23 lines
488 B
TypeScript
23 lines
488 B
TypeScript
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 = {};
|
|
}
|