Type Alias IMiddlewareObject<TParameters, TReturn>

IMiddlewareObject: IInvokableObject<
    [args: MiddlewareArgs<TParameters, TReturn>],
    TReturn,
> & { priority?: number }

Middleware implementation as an object with invocation method.

Allows middleware to be defined as a class or object with an invoke method. The priority property determines the order of execution (lower priority executes first).

Type Parameters

  • TParameters extends unknown[] = unknown[]

    Type of arguments passed to the function

  • TReturn = unknown

    Type of value returned from the function

Type declaration

  • Optionalpriority?: number

    Execution priority. Lower values execute first. Defaults to 0.

class LoggingMiddleware implements IMiddlewareObject {
priority = 10;

invoke({ args, next }: MiddlewareArgs) {
console.log('Executing with:', args);
return next(args);
}
}

IMPORT_PATH: @daiso-tech/core/middleware