aux-broker-mq
Version:
Микросервис тест взаимодействия
50 lines • 2.04 kB
TypeScript
/// <reference types="node" />
export interface BrokerConfig {
host: string;
}
export declare type TypeExchange = "fanout" | "direct" | "headers" | "topic";
export declare class BrokerProxy {
private config;
private queue;
private exchanges;
private channel;
private connection;
constructor(config: BrokerConfig);
connect(): Promise<void>;
/**
* В случае использования подтверждения сообщений onAck параметр
* будет определять размер предворительной выборки
* @param n количество сообщений
*/
prefetch(n?: number): Promise<void>;
createChannel(queue: string, durable?: boolean): Promise<void>;
createExchange(name: string, type: TypeExchange, durable?: boolean): Promise<void>;
/**
* Отправляет в брокер сообщений событие
* @param queue Имя очереди
* @param msg сообщение
* @returns успех
*/
emit<T>(queue: string, msg: T | Buffer): boolean;
publish<T>(exchange: string, routingKey: string, msg: T | Buffer): boolean;
bind<T>(exchange: string, routingKey: string, durable?: boolean): Promise<{
subscribe: (fn: (msg?: T | undefined) => void) => void;
}>;
/**
* Создаёт подписку на очередь
* @param queue Очередь
* @returns объект с возможностью подписаться через subscribe
*/
on<T>(queue: string): {
subscribe: (fn: (msg?: T | undefined) => void) => void;
};
/**
* Создаёт синхронную подписку на очередь
* @param queue Очередь
* @returns объект с возможностью подписаться через subscribe
*/
onAck<T>(queue: string): {
subscribe: (fn: (msg?: T | undefined) => Promise<boolean>) => void;
};
}
//# sourceMappingURL=BrokerProxy.d.ts.map