Skip to content

AIDK API Reference / aidk/hooks / HookRegistry

Class: HookRegistry<THookName, TSelector, THookMiddleware> ​

Defined in: packages/core/src/hooks/hook-registry.ts:8

Generic hook registry that can be used for any hook system.

Type Parameters ​

Type ParameterDescription
THookName extends string | number | symbolThe hook name type (e.g., 'onMount', 'render', 'generate', etc.)
TSelectorThe selector type for scoping hooks (e.g., string, Function, object, etc.)
THookMiddlewareThe middleware type for hooks

Constructors ​

Constructor ​

ts
new HookRegistry<THookName, TSelector, THookMiddleware>(): HookRegistry<THookName, TSelector, THookMiddleware>;

Returns ​

HookRegistry<THookName, TSelector, THookMiddleware>

Methods ​

clear() ​

ts
clear(): void;

Defined in: packages/core/src/hooks/hook-registry.ts:132

Clear all hooks.

Returns ​

void


clearHook() ​

ts
clearHook(hookName: THookName): void;

Defined in: packages/core/src/hooks/hook-registry.ts:125

Clear all hooks for a given hook name.

Parameters ​

ParameterType
hookNameTHookName

Returns ​

void


getHookMap() ​

ts
getHookMap(hookName: THookName): 
  | Map<TSelector | undefined, THookMiddleware[]>
  | undefined;

Defined in: packages/core/src/hooks/hook-registry.ts:118

Get all registered hooks for a given hook name. Useful for debugging or introspection.

Parameters ​

ParameterType
hookNameTHookName

Returns ​

| Map<TSelector | undefined, THookMiddleware[]> | undefined


getMiddleware() ​

ts
getMiddleware(hookName: THookName, resolveSelectors: (hookMap: Map<TSelector | undefined, THookMiddleware[]>) => TSelector[]): THookMiddleware[];

Defined in: packages/core/src/hooks/hook-registry.ts:83

Get all middleware for a hook, ordered by selector specificity.

Parameters ​

ParameterTypeDescription
hookNameTHookNameThe name of the hook
resolveSelectors(hookMap: Map<TSelector | undefined, THookMiddleware[]>) => TSelector[]Function to resolve which selectors match for this hook call

Returns ​

THookMiddleware[]

Array of middleware in order of specificity (most specific first)


register() ​

Call Signature ​

ts
register(
   hookName: THookName, 
   selector: TSelector | undefined, 
   middleware: THookMiddleware): void;

Defined in: packages/core/src/hooks/hook-registry.ts:20

Register middleware for a hook.

Overloads:

  • register(hookName, selector, middleware) - specific hook, specific selector
  • register(hookName, middleware) - specific hook, global selector
  • register(selector, middleware) - all hooks, specific selector (requires getAllHookNames)
  • register(middleware) - all hooks, global selector (requires getAllHookNames)
Parameters ​
ParameterType
hookNameTHookName
selectorTSelector | undefined
middlewareTHookMiddleware
Returns ​

void

Call Signature ​

ts
register(hookName: THookName, middleware: THookMiddleware): void;

Defined in: packages/core/src/hooks/hook-registry.ts:21

Register middleware for a hook.

Overloads:

  • register(hookName, selector, middleware) - specific hook, specific selector
  • register(hookName, middleware) - specific hook, global selector
  • register(selector, middleware) - all hooks, specific selector (requires getAllHookNames)
  • register(middleware) - all hooks, global selector (requires getAllHookNames)
Parameters ​
ParameterType
hookNameTHookName
middlewareTHookMiddleware
Returns ​

void

Call Signature ​

ts
register(selector: TSelector, middleware: THookMiddleware): void;

Defined in: packages/core/src/hooks/hook-registry.ts:22

Register middleware for a hook.

Overloads:

  • register(hookName, selector, middleware) - specific hook, specific selector
  • register(hookName, middleware) - specific hook, global selector
  • register(selector, middleware) - all hooks, specific selector (requires getAllHookNames)
  • register(middleware) - all hooks, global selector (requires getAllHookNames)
Parameters ​
ParameterType
selectorTSelector
middlewareTHookMiddleware
Returns ​

void

Call Signature ​

ts
register(middleware: THookMiddleware): void;

Defined in: packages/core/src/hooks/hook-registry.ts:23

Register middleware for a hook.

Overloads:

  • register(hookName, selector, middleware) - specific hook, specific selector
  • register(hookName, middleware) - specific hook, global selector
  • register(selector, middleware) - all hooks, specific selector (requires getAllHookNames)
  • register(middleware) - all hooks, global selector (requires getAllHookNames)
Parameters ​
ParameterType
middlewareTHookMiddleware
Returns ​

void

Released under the MIT License.