UNPKG

acelga-bus

Version:

An extensible typescript message bus with support for middlewares

17 lines (16 loc) 1.03 kB
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>; }