@cashfarm/plow
Version:
Library for validating input data and parameters
16 lines (15 loc) • 739 B
TypeScript
import { ConcreteType } from '@cashfarm/lang';
import { IDomainEvent } from '../domain';
import { IEventBus } from '../eventSourcing/iEventBus';
import { IMessageTransport } from './transports/iMessageTransport';
import { IHandlerFunction } from './iHandlerFunction';
export declare class EventBus implements IEventBus {
private serviceName;
private transport;
constructor(serviceName: string, transport: IMessageTransport);
subscribeToTopic(topic: string, handler: IHandlerFunction): void;
subscribe(evtClass: IDomainEvent & ConcreteType<{}>, handler: Object): void;
unsubscribe(evtClass: IDomainEvent & ConcreteType<{}>, handler: any): void;
publish(evt: IDomainEvent): void;
private getEventName(evt);
}