@diy0r/nestjs-rabbitmq
Version:
Nestjs rabbitMQ module
55 lines (54 loc) • 2.42 kB
TypeScript
import { OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { INotifyReply, IPublishOptions, ISerDes, TypeRmqInterceptor, TypeRmqMiddleware, IRMQOptions, IModuleBroker } from './interfaces';
import { Channel, Options } from 'amqplib';
import { MetaTagsScannerService, RmqErrorService } from './common';
import { RmqNestjsConnectService } from './rmq-connect.service';
import { ModuleRef } from '@nestjs/core';
export declare class RmqService implements OnModuleInit, OnModuleDestroy {
private readonly moduleRef;
private readonly rmqNestjsConnectService;
private readonly metaTagsScannerService;
private readonly rmqErrorService;
private readonly RMQOptions;
private readonly options;
private readonly serDes;
private readonly interceptors;
private readonly middlewares;
private readonly moduleToken;
private sendResponseEmitter;
private extendedOptions;
private rmqMessageTags;
private replyToQueue;
private exchange;
private isInitialized;
private connected;
private logger;
constructor(moduleRef: ModuleRef, rmqNestjsConnectService: RmqNestjsConnectService, metaTagsScannerService: MetaTagsScannerService, rmqErrorService: RmqErrorService, RMQOptions: IRMQOptions, options: IModuleBroker, serDes: ISerDes, interceptors: TypeRmqInterceptor[], middlewares: TypeRmqMiddleware[], moduleToken: string);
onModuleInit(): Promise<void>;
healthCheck(): boolean;
private init;
send<IMessage, IReply>(topic: string, message: IMessage, options?: IPublishOptions): Promise<IReply>;
notify<IMessage>(topic: string, message: IMessage, options?: Options.Publish): Promise<INotifyReply>;
private listenQueue;
private handle;
private reverseInterceptors;
private executeMiddlewares;
private interceptorsReverse;
private getInterceptors;
private getConsumer;
private deserializeMessage;
private getMiddlewares;
private validate;
private handleMessage;
private sendReply;
private listenReplyQueue;
private bindQueueExchange;
private assertReplyQueue;
private buildErrorResponse;
ack(...params: Parameters<Channel['ack']>): ReturnType<Channel['ack']>;
nack(...params: Parameters<Channel['nack']>): ReturnType<Channel['nack']>;
private initializationCheck;
private getRouteByTopic;
private scanMetaTags;
onModuleDestroy(): Promise<void>;
}