UNPKG

redis-smq

Version:

A simple high-performance Redis message queue for Node.js.

20 lines (19 loc) 1.13 kB
import { EExchangeType, IExchangeParams, IRequiredConfig, TQueueParams } from '../../../types'; import { RedisClient } from 'redis-smq-common'; import { ICallback } from 'redis-smq-common/dist/types'; export declare abstract class Exchange<TBindingParams, TBindingType extends EExchangeType> { protected exchangeTag: string; protected destinationQueue: TQueueParams | null; protected bindingParams: TBindingParams; protected type: TBindingType; protected constructor(bindingParams: TBindingParams, type: TBindingType); protected generateExchangeTag(): string; setDestinationQueue(queue: TQueueParams | null): void; getBindingParams(): TBindingParams; getDestinationQueue(): TQueueParams | null; getRequiredDestinationQueue(): TQueueParams; toJSON(): IExchangeParams<TBindingParams, TBindingType>; fromJSON(JSON: Partial<IExchangeParams<TBindingParams, TBindingType>>): void; protected abstract validateBindingParams(bindingParams: TBindingParams): TBindingParams; abstract getQueues(redisClient: RedisClient, config: IRequiredConfig, cb: ICallback<TQueueParams[]>): void; }