@21jumpclick/service-messenger
Version:
Amqp lib to send and receive messages from different applications
29 lines (28 loc) • 878 B
TypeScript
import { BrokerConfig, Callback, MessageOptions } from '../types';
export declare class Broker {
private opts;
private exchange;
private rabbitMQ;
private channel;
private broadcastQueue;
private closing;
constructor(opts: BrokerConfig, exchange: string);
connect(): Promise<void>;
publish(key: string, data: unknown, options?: MessageOptions): Promise<void>;
listen<T extends {
pattern: string;
}>(cb: Callback<{
key: string;
args: any;
opts: {
origin: string;
};
}>): Promise<void>;
broadcast(key: string, data: unknown): Promise<void>;
invoke<T>(key: string, data: unknown, options?: MessageOptions): Promise<T | undefined>;
private send;
close(): Promise<void>;
private assertExchange;
private assertBroadcast;
generateCorrelationId(): string;
}