@suissa/universal-queues
Version:
Factory universal para mensageria (RabbitMQ, Kafka, SQS) para sistemas distribuĂdos.
35 lines • 1.41 kB
TypeScript
import * as amqp from 'amqplib';
import { IMessaging } from './interfaces/IMessaging';
type RabbitClientOpts = {
prefetch?: number;
operationTimeoutMs?: number;
uris?: string[];
confirm?: boolean;
forensicPath?: string;
resolveOnFallback?: boolean;
};
export declare class RabbitMQClient implements IMessaging {
private connection;
private channel;
private prefetch;
private operationTimeoutMs;
private uris;
private confirm;
private forensicPath?;
private resolveOnFallback;
constructor(opts?: RabbitClientOpts);
connect(uri: string): Promise<void>;
publishEvent(exchange: string, routingKey: string, message: object, headers?: Record<string, any>): Promise<void>;
subscribeToEvent(exchange: string, queue: string, routingKey: string, handler: (msg: any) => void): Promise<void>;
publishToFanout(exchange: string, message: object): Promise<void>;
subscribeToFanout(exchange: string, handler: (msg: any) => void): Promise<void>;
publishToOutbox(event: object): Promise<void>;
handleDeadLetter(dlqExchange: string, dlqQueue: string, handler: (msg: any) => void): Promise<void>;
ackMessage(msg: amqp.ConsumeMessage): void;
nackMessage(msg: amqp.ConsumeMessage, requeue?: boolean): void;
close(): Promise<void>;
private runFallback;
private appendForensic;
}
export {};
//# sourceMappingURL=rabbitmq.d.ts.map