UNPKG

@bgaldino/nestjs-rabbitmq

Version:

A different way of configuring your RabbitMQ

28 lines (27 loc) 898 B
import { ChannelWrapper } from "amqp-connection-manager"; import { ConfirmChannel, ConsumeMessage } from "amqplib"; import { RabbitMQModuleOptions } from "./rabbitmq.types"; export type RabbitConsumerParameters = { message: ConsumeMessage; channel: ConfirmChannel; queue: string; }; export interface IRabbitHandler<T = any> { (content: T, parameters?: RabbitConsumerParameters): Promise<void>; } export interface IRabbitDeadletterCallback<T = any> { (content: T): Promise<boolean> | boolean; } export interface IDelayProgression { (attempt: number): number; } export interface RabbitOptionsFactory { createRabbitOptions(): RabbitMQModuleOptions; } export interface RabbitChannel { exchangeType: string; wrapper: ChannelWrapper; } export interface IRabbitConsumer<T = any> { messageHandler(content: T, parameters?: RabbitConsumerParameters): Promise<void>; }