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 = {}; | |
} | |