UNPKG

coffee-core

Version:

Coffee IT API core library

33 lines (32 loc) 1.37 kB
import { ClassConstructor } from 'class-transformer'; import { BrokerConfigInterface } from './broker-config.interface'; import { EventSubscriber } from './event-subscriber'; import { ValidationMiddleware } from './validation/validation-middleware'; export declare class RabbitMQSubscriber implements EventSubscriber { private readonly config; private static instance; private channel; private server; private createdQueue; private readonly consumeHandlers; private readonly usingRandomQueueName; private readonly queueName; private readonly logger; private readonly eventRetryTimeoutSeconds; private readonly consumeTimeoutSeconds; private readonly autoAcknowledge; private readonly isExclusive; private readonly autoDeleteQueue; private isConsuming; private constructor(); subscribe(bindingKey: string, onConsume: (message: Record<string, unknown>) => Promise<void>, messageClass: ClassConstructor<any>, enableLogging?: boolean): Promise<void>; private startEventSubscribe; startReceivingMessages(): Promise<void>; private findConsumeHandler; close(): Promise<void>; setValidationMiddleware(middleware: ValidationMiddleware): void; private getChannel; private getServer; private connect; static getInstance(config: BrokerConfigInterface): RabbitMQSubscriber; }