acelga-bus
Version:
An extensible typescript message bus with support for middlewares
14 lines (13 loc) • 774 B
TypeScript
import { MiddlewareChain } from './middlewareChain';
import { Constructable, EventSubscriptionCallback, EventCallbacksSet, IMiddleware } from './interfaces';
export declare class Receiver<T = {}> {
middlewareChain: MiddlewareChain<IMiddleware<T>, T>;
subscriptions: Map<Constructable<T>, EventCallbacksSet<T>>;
globalSubscriptions: EventCallbacksSet<T>;
on<T1 extends T>(eventType: Constructable<T1>, callback: EventSubscriptionCallback<T1>): void;
onAny(callback: EventSubscriptionCallback<T>): void;
trigger(event: T): Promise<void>;
off<T1 extends T>(eventType: Constructable<T1>, callback?: EventSubscriptionCallback<T1>): void;
pushMiddleware(middleware: IMiddleware<T>): void;
unshiftMiddleware(middleware: IMiddleware<T>): void;
}