@diy0r/nestjs-rabbitmq
Version:
Nestjs rabbitMQ module
34 lines (33 loc) • 1.84 kB
TypeScript
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { Channel, ConfirmChannel, ConsumeMessage, Options, Replies } from 'amqplib';
import { IExchange, IQueue, TypeQueue, IBindQueue, ISendMessage, ISendToReplyQueueOptions, IRMQOptions } from './interfaces';
export declare class RmqNestjsConnectService implements OnModuleInit, OnModuleDestroy {
private readonly RMQOptions;
private connection;
private baseChannel;
private replyToChannel;
isConnected: boolean;
private logger;
private isInitialized;
constructor(RMQOptions: IRMQOptions);
onModuleInit(): Promise<void>;
assertExchange(options: IExchange): Promise<Replies.AssertExchange>;
ack(...params: Parameters<Channel['ack']>): ReturnType<Channel['ack']>;
nack(...params: Parameters<Channel['nack']>): ReturnType<Channel['nack']>;
assertQueue(typeQueue: TypeQueue, options?: IQueue): Promise<Replies.AssertQueue>;
getBaseChannel(): Promise<Channel | ConfirmChannel>;
bindQueue(bindQueue: IBindQueue): Promise<void>;
sendToReplyQueue(sendToQueueOptions: ISendToReplyQueueOptions): Promise<void>;
listenReplyQueue(queue: string, listenQueue: (msg: ConsumeMessage | null) => void, consumeOptions?: Options.Consume): Promise<void>;
listenQueue(queue: string, listenQueue: (msg: ConsumeMessage | null) => void, consumeOptions?: Options.Consume): Promise<void>;
publish(sendMessage: ISendMessage, confirmationFunction?: (err: any, ok: Replies.Empty) => void): Promise<void>;
private setUpConnect;
private reconnect;
private setUpChannels;
private prefetch;
sendToQueue(queue: string, content: Buffer, options?: Options.Publish): Promise<boolean>;
private initializationCheck;
private createChannel;
private createConfirmChannel;
onModuleDestroy(): Promise<void>;
}