UNPKG

@rxap/nest-amqp

Version:
40 lines 2.25 kB
import { Logger } from '@nestjs/common/services/logger.service'; import { ClientProxy, ReadPacket, WritePacket } from '@nestjs/microservices'; import { AmqpConnectionManager, ChannelWrapper } from 'amqp-connection-manager'; import { Channel, Connection } from 'amqplib'; import { EventEmitter } from 'events'; import { Observable, ReplaySubject } from 'rxjs'; import { ExchangeRmqOptions } from './options'; export declare const REPLY_QUEUE = "amq.rabbitmq.reply-to"; export interface RmqExchangeOptions { options?: ExchangeRmqOptions; } export declare class ClientRMQExchange extends ClientProxy { protected readonly options: ExchangeRmqOptions; protected readonly logger: Logger; protected connection$: ReplaySubject<Connection>; protected client: AmqpConnectionManager | null; protected channel: ChannelWrapper | null; protected responseEmitter: EventEmitter; constructor(options: ExchangeRmqOptions, logger?: Logger); isConnected(): boolean | null; close(): void; connect(): Promise<Connection>; createChannel(): Promise<void>; createClient(): AmqpConnectionManager; mergeDisconnectEvent<T = any>(instance: any, source$: Observable<T>): Observable<T>; convertConnectionToPromise(): Promise<Connection>; setupExchange(channel: Channel, resolve: () => unknown): Promise<void>; consumeChannel(channel: Channel): Promise<void>; handleError(client: AmqpConnectionManager): void; handleDisconnectError(client: AmqpConnectionManager): void; handleMessage(packet: unknown, callback: (packet: WritePacket) => any): Promise<void>; handleMessage(packet: unknown, options: Record<string, unknown>, callback: (packet: WritePacket) => any): Promise<void>; protected publish(message: ReadPacket, callback: (packet: WritePacket) => any): () => void; protected dispatchEvent(packet: ReadPacket): Promise<any>; protected initializeSerializer(options: ExchangeRmqOptions): void; protected initializeDeserializer(options: ExchangeRmqOptions): void; protected mergeHeaders(requestHeaders?: Record<string, string>): Record<string, string> | undefined; protected parseMessageContent(content: Buffer): any; } //# sourceMappingURL=client-rmq-exchange.d.ts.map