UNPKG

simple-rabbitmq-message-broker

Version:
35 lines (33 loc) 1.06 kB
import * as amqplib from 'amqplib'; export declare type MessageHandler = (msg: any) => any; /** * Broker for async messaging */ export declare abstract class MessageBroker { queues: any; connection?: amqplib.Connection; _channel?: amqplib.Channel; get channel(): amqplib.Channel; /** * Trigger init connection method */ constructor(); /** * Initialize connection to rabbitMQ */ init(): Promise<MessageBroker>; /** /** * Send message to queue * @param {String} queue Queue name * @param {Object} msg Message as Buffer */ send(queue: string, msg: any): Promise<boolean>; sendWithReply(queue: string, msg: any): Promise<unknown>; /** * @param {String} queue Queue name * @param {Function} handler Handler that will be invoked with given message and acknowledge function (msg, ack) */ subscribe(queue: string, handler: MessageHandler): Promise<() => Promise<void>>; unsubscribe(queue: string, handler: MessageHandler): Promise<void>; }