Indexed Middleware

Synchronous variant

The MiddlewareIndexed class allows indexing middlewares, which can be either synchronous or asynchronous.

class MiddlewareIndexed<T extends unknown[], TMiddleware extends AnyMiddleware<T, TSpecialNextParam>, TSpecialNextParam extends string | void = SpecialNextParam> implements Middleware<T, TSpecialNextParam> {
}

Asynchronous variant

The MiddlewareIndexedAsync class allows indexing asynchronous middlewares.

class MiddlewareIndexedAsync<T extends unknown[], TMiddleware extends AnyAsyncMiddleware<T>> implements MiddlewareAsync<T> {
}