acelga-bus
Version:
An extensible typescript message bus with support for middlewares
17 lines (16 loc) • 856 B
TypeScript
import { Dispatcher } from './dispatcher';
import { Constructable, EventSubscriptionCallback, IScheduler, ErrorLogger, PipelineFactory } from './interfaces';
export default class BulkDispatcher<T> {
dispatcher: Dispatcher<T>;
scheduler: IScheduler<T>;
pipelineFactory: PipelineFactory<T>;
errorLogger: ErrorLogger;
constructor(dispatcher: Dispatcher<T>, scheduler: IScheduler<T>, pipelineFactory: PipelineFactory<T>, errorLogger: ErrorLogger);
on<T1 extends T>(eventType: Constructable<T1>, callback: EventSubscriptionCallback<T1>): void;
onAny(callback: EventSubscriptionCallback<T>): void;
trigger(events: T[]): Promise<void>;
private getAllErrors;
private executePipelinePlan;
private mapPipelinePromises;
off<T1 extends T>(eventType: Constructable<T1>, callback?: EventSubscriptionCallback<T1>): void;
}