UNPKG

acelga-bus

Version:

An extensible typescript message bus with support for middlewares

16 lines (15 loc) 765 B
import { MiddlewareChain } from './middlewareChain'; import { IMiddleware, EventSubscriptionCallback } from './interfaces'; export declare class Publisher<T = {}> { middlewareChain: MiddlewareChain<IMiddleware<T>, T>; listeners: Set<EventSubscriptionCallback>; handler: (item: T, original: T) => Promise<void>; constructor(handler: (item: T, original: T) => Promise<void>); publish(item: T): Promise<void>; cleanMiddlewares(): void; clone(): Publisher<T>; pushMiddleware(middleware: IMiddleware<T>): void; unshiftMiddleware(middleware: IMiddleware<T>): void; pushMiddlewareAndKeepLast(middleware: IMiddleware<T>, force?: boolean): void; unshiftMiddlewareAndKeepFirst(middleware: IMiddleware<T>, force?: boolean): void; }