@suissa/universal-queues
Version:
Factory universal para mensageria (RabbitMQ, Kafka, SQS) para sistemas distribuĂdos.
23 lines • 1.08 kB
TypeScript
import { ConsumeMessage } from 'amqplib';
import { IMessaging } from './interfaces/IMessaging';
interface RabbitClientOpts {
prefetch?: number;
}
export declare class RabbitMQClient implements IMessaging {
private connection;
private channel;
private prefetch;
constructor(opts?: RabbitClientOpts);
connect(uri: string): Promise<void>;
publishEvent(exchange: string, routingKey: string, message: object, headers?: 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: ConsumeMessage): void;
nackMessage(msg: ConsumeMessage, requeue?: boolean): void;
close(): Promise<void>;
}
export {};
//# sourceMappingURL=rabbitmq.d.ts.map