redis-smq
Version:
A high-performance, reliable, and scalable message queue for Node.js.
25 lines • 2.08 kB
TypeScript
import { createLogger, ICallback } from 'redis-smq-common';
import { IQueueParams } from '../../queue-manager/index.js';
import { EExchangeQueuePolicy, EExchangeType, IExchangeParams } from '../index.js';
export declare class ExchangeTopic {
protected readonly type = EExchangeType.TOPIC;
protected readonly logger: ReturnType<typeof createLogger>;
constructor();
matchQueues(exchange: string | IExchangeParams, routingKey: string): Promise<IQueueParams[]>;
matchQueues(exchange: string | IExchangeParams, routingKey: string, cb: ICallback<IQueueParams[]>): void;
getRoutingPatterns(exchange: string | IExchangeParams): Promise<string[]>;
getRoutingPatterns(exchange: string | IExchangeParams, cb: ICallback<string[]>): void;
getRoutingPatternBoundQueues(exchange: string | IExchangeParams, bindingPattern: string): Promise<IQueueParams[]>;
getRoutingPatternBoundQueues(exchange: string | IExchangeParams, bindingPattern: string, cb: ICallback<IQueueParams[]>): void;
bindQueue(queue: string | IQueueParams, exchange: string | IExchangeParams, routingPattern: string): Promise<void>;
bindQueue(queue: string | IQueueParams, exchange: string | IExchangeParams, routingPattern: string, cb: ICallback): void;
unbindQueue(queue: string | IQueueParams, exchange: string | IExchangeParams, routingPattern: string): Promise<void>;
unbindQueue(queue: string | IQueueParams, exchange: string | IExchangeParams, routingPattern: string, cb: ICallback): void;
create(exchange: string | IExchangeParams, queuePolicy: EExchangeQueuePolicy): Promise<void>;
create(exchange: string | IExchangeParams, queuePolicy: EExchangeQueuePolicy, cb: ICallback): void;
delete(exchange: string | IExchangeParams): Promise<void>;
delete(exchange: string | IExchangeParams, cb: ICallback): void;
getBindings(exchange: string | IExchangeParams): Promise<Record<string, IQueueParams[]>>;
getBindings(exchange: string | IExchangeParams, cb: ICallback<Record<string, IQueueParams[]>>): void;
}
//# sourceMappingURL=exchange-topic.d.ts.map