File size: 357 Bytes
3833190
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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 = {};
}