@golevelup/nestjs-rabbitmq
Version:
Badass RabbitMQ addons for NestJS
35 lines • 1.73 kB
TypeScript
import { Channel, ConsumeMessage } from 'amqplib';
import { QueueOptions } from '../rabbitmq.interfaces';
export declare enum MessageHandlerErrorBehavior {
ACK = "ACK",
NACK = "NACK",
REQUEUE = "REQUEUE"
}
type BaseMessageErrorHandler<T extends ConsumeMessage | ConsumeMessage[]> = (channel: Channel, msg: T, error: any) => Promise<void> | void;
export type MessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage>;
export type BatchMessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage[]>;
export type LegacyMessageErrorHandler = BaseMessageErrorHandler<ConsumeMessage | ConsumeMessage[]>;
/**
* An error handler that will ack the message which caused an error during processing
*/
export declare const ackErrorHandler: LegacyMessageErrorHandler;
/**
* An error handler that will nack and requeue a message which created an error during processing
*/
export declare const requeueErrorHandler: LegacyMessageErrorHandler;
/**
* An error handler that will nack a message which created an error during processing
*/
export declare const defaultNackErrorHandler: LegacyMessageErrorHandler;
export declare const getHandlerForLegacyBehavior: (behavior: MessageHandlerErrorBehavior) => LegacyMessageErrorHandler;
export type AssertQueueErrorHandler = (channel: Channel, queueName: string, queueOptions: QueueOptions | undefined, error: any) => Promise<string> | string;
/**
* Just rethrows the error
*/
export declare const defaultAssertQueueErrorHandler: AssertQueueErrorHandler;
/**
* Tries to delete the queue and to redeclare it with the provided options
*/
export declare const forceDeleteAssertQueueErrorHandler: AssertQueueErrorHandler;
export {};
//# sourceMappingURL=errorBehaviors.d.ts.map