acelga-bus
Version:
An extensible typescript message bus with support for middlewares
16 lines (15 loc) • 579 B
TypeScript
import { IMiddleware } from './interfaces';
export declare class MiddlewareChain<MID extends IMiddleware<T>, T> {
middlewares: MID[];
alwaysLast: Array<MID>;
alwaysFirst: Array<MID>;
getAll(): MID[];
push(middleware: MID): void;
pushAndKeepLast(middleware: MID, force?: boolean): void;
unshift(middleware: MID): void;
unshiftAndKeepFirst(middleware: MID, force?: boolean): void;
remove(middleware: MID): void;
getCenterMiddlewares(): MID[];
rebuildMiddlewaresFromCenter(center: MID[]): void;
execute(item: T): Promise<T | void>;
}