Skip to content

API reference / @node-ts/bus-core / MiddlewareDispatcher

Class: MiddlewareDispatcher<T> ​

Defined in: packages/bus-core/src/util/middleware.ts:19

A middleware container and invoker

Type Parameters ​

Type Parameter
T

Constructors ​

Constructor ​

ts
new MiddlewareDispatcher<T>(finalMiddlewares?): MiddlewareDispatcher<T>;

Defined in: packages/bus-core/src/util/middleware.ts:22

Parameters ​

ParameterTypeDefault value
finalMiddlewaresMiddleware<T>[][]

Returns ​

MiddlewareDispatcher<T>

Properties ​

PropertyModifierTypeDefault valueDefined in
finalMiddlewaresreadonlyMiddleware<T>[][]packages/bus-core/src/util/middleware.ts:22
middlewarespublicMiddleware<T>[][]packages/bus-core/src/util/middleware.ts:20

Methods ​

dispatch() ​

ts
dispatch(context): Promise<void>;

Defined in: packages/bus-core/src/util/middleware.ts:45

Execute the chain of middlewares, in the order they were added on a given Context.

Parameters ​

ParameterType
contextT

Returns ​

Promise<void>


use() ​

ts
use(...middlewares): void;

Defined in: packages/bus-core/src/util/middleware.ts:27

Add a middleware function.

Parameters ​

ParameterType
...middlewaresMiddleware<T>[]

Returns ​

void


useFinal() ​

ts
useFinal(...middlewares): void;

Defined in: packages/bus-core/src/util/middleware.ts:37

Add 'final' middlewares that will be added to the end of the regular middlewares. This allows for finer control when exposing the

Parameters ​

ParameterType
...middlewaresMiddleware<T>[]

Returns ​

void

See ​

use functionality to consumers but wanting to ensure that your final middleware is last to run

Released under the MIT License.