Skip to content

AIDK API Reference / aidk-kernel / applyRegistryMiddleware

Function: applyRegistryMiddleware() ​

ts
function applyRegistryMiddleware<THandler>(procedure: Procedure<THandler>, ...middleware: (
  | Middleware<any[]>
  | MiddlewarePipeline)[]): Procedure<THandler>;

Defined in: packages/kernel/src/procedure.ts:1575

Type-safe helper to apply middleware from a registry/hook system.

This is useful when middleware comes from hook registries where types might be unions or Middleware&lt;any[]&gt;. The helper ensures type safety by requiring the middleware to match the Procedure's argument types.

Type Parameters ​

Type Parameter
THandler extends (...args: any[]) => any

Parameters ​

ParameterType
procedureProcedure<THandler>
...middleware( | Middleware<any[]> | MiddlewarePipeline)[]

Returns ​

Procedure<THandler>

Example ​

typescript
const proc = createProcedure({ name: 'test' }, async (input: string) => input);
const registryMiddleware = registry.getMiddleware('test'); // Middleware<any[]>[]
const procWithMw = applyRegistryMiddleware(proc, registryMiddleware);
// Types are preserved and validated

Released under the MIT License.