acelga-bus
Version:
An extensible typescript message bus with support for middlewares
17 lines (16 loc) • 1.03 kB
TypeScript
import { IEventBus, EventSubscriptionCallback, Constructable, Dispatcher, ErrorLogger } from '../index';
import { IDecodedSerializedEventstoreEvent, IEventFactory, IEventstoreEvent } from './interfaces';
import { EventFactoryRespository as Repository } from './factoryRepository';
import { EventstoreClient } from './eventstoreConsumer';
export declare class EventStoreBus<T extends IEventstoreEvent = IEventstoreEvent> implements IEventBus<T> {
dispatcher: Dispatcher<T>;
logError: ErrorLogger;
eventRepository: Repository<T>;
client: EventstoreClient;
constructor(client: EventstoreClient, errorLogger: ErrorLogger, eventRepository: Repository<T>);
on<T1 extends T>(eventType: Constructable<T1>, callback: EventSubscriptionCallback<T1>): void;
onAny(callback: EventSubscriptionCallback<T>): void;
publish(event: T): Promise<void>;
addEventType(event: Constructable<T>, factory: IEventFactory<T>): void;
protected processEvents(event: IDecodedSerializedEventstoreEvent): Promise<void>;
}