@xnestjs/rabbitmq
Version:
NestJS extension library for RabbitMQ
24 lines (23 loc) • 1.23 kB
TypeScript
import type { LoggerService } from '@nestjs/common';
import type { ModuleMetadata } from '@nestjs/common/interfaces';
import type { InjectionToken } from '@nestjs/common/interfaces/modules/injection-token.interface';
import * as rabbit from 'rabbitmq-client';
export type RmqClient = rabbit.Connection;
export declare const RmqClient: typeof rabbit.Connection;
export interface RabbitmqConnectionOptions extends Pick<rabbit.ConnectionOptions, 'hosts' | 'vhost' | 'username' | 'password' | 'acquireTimeout' | 'connectionName' | 'connectionTimeout' | 'frameMax' | 'heartbeat' | 'maxChannels' | 'retryHigh' | 'retryLow' | 'noDelay' | 'tls' | 'socket'> {
lazyConnect?: boolean;
}
export interface RabbitmqModuleOptions extends BaseModuleOptions {
useValue?: string | string[] | RabbitmqConnectionOptions;
}
export interface RabbitmqModuleAsyncOptions extends BaseModuleOptions, Pick<ModuleMetadata, 'imports'> {
inject?: any[];
useFactory: (...args: any[]) => Promise<string | string[] | RabbitmqConnectionOptions> | string | string[] | RabbitmqConnectionOptions;
}
interface BaseModuleOptions {
token?: InjectionToken;
envPrefix?: string;
logger?: LoggerService | string;
global?: boolean;
}
export {};