| type allowedHooks = "overlayClick"; | |
| let registeredHooks: Partial<{ [key in allowedHooks]: () => void }> = {}; | |
| export function register(hook: allowedHooks, callback: () => void) { | |
| registeredHooks[hook] = callback; | |
| } | |
| export function trigger(hook: allowedHooks) { | |
| registeredHooks[hook]?.(); | |
| } | |
| export function destroyHooks() { | |
| registeredHooks = {}; | |
| } | |