UNPKG

@logistically/events

Version:

A production-ready event-driven architecture library for NestJS with Redis Streams, comprehensive batching, reliable consumption, and enterprise-grade features.

21 lines (20 loc) 863 B
import { EventEnvelope, EventValidator } from '../event-types'; export type EventHandler<T = any> = (body: T, header: EventEnvelope['header'], raw?: any) => Promise<void> | void; export interface EventConsumerOptions { handlers: Record<string, EventHandler>; onError?: (err: Error, eventType: string, envelope: any) => void; validator: EventValidator; logUnregisteredEvents?: 'none' | 'debug' | 'info' | 'warn'; } export declare class EventConsumer { private handlers; private onError?; private validator; private logUnregisteredEvents; constructor(options: EventConsumerOptions); handleMessage(rawMessage: any): Promise<void>; private isValidEnvelope; registerHandler<T>(eventType: string, handler: EventHandler<T>): void; unregisterHandler(eventType: string): void; getRegisteredEventTypes(): string[]; }