UNPKG

@mbc-cqrs-serverless/core

Version:
17 lines (16 loc) 706 B
import { Type } from '@nestjs/common'; import { ModuleRef } from '@nestjs/core'; import { IEvent, IEventHandler } from '../interfaces'; export type EventHandlerType = Type<IEventHandler<IEvent>>; export declare class EventBus<EventBase extends IEvent = IEvent> { private readonly moduleRef; private readonly logger; private readonly handlers; constructor(moduleRef: ModuleRef); execute<T extends EventBase, R = any>(event: T): Promise<R[]>; bind<T extends EventBase>(handler: IEventHandler<T>, id: string): void; register(handlers?: EventHandlerType[]): void; protected registerHandler(handler: EventHandlerType): void; private getEventId; private reflectEventId; }