UNPKG

bb-inspired

Version:

Core library for BB-inspired NestJS backend

26 lines (25 loc) 923 B
import { ModuleRef } from '@nestjs/core'; import { Observable } from 'rxjs'; export interface Event { name: string; payload: any; timestamp: Date; source?: string; metadata?: Record<string, any>; } export type EventHandler<T extends Event = Event> = (event: T) => Promise<void> | void; export declare class EventBusService { private readonly moduleRef; private readonly logger; private readonly eventStream; private readonly subscriptions; private readonly handlerClassMap; constructor(moduleRef: ModuleRef); register(eventName: string, handler: EventHandler): void; unregister(eventName: string, handler: EventHandler): void; registerHandlers(instance: any, prefix?: string): void; unregisterHandlers(instance: any): void; publish<T extends Event>(event: T): void; ofType<T extends Event>(eventName: string): Observable<T>; private notifyHandlers; }