redis-smq
Version:
A simple high-performance Redis message queue for Node.js.
86 lines (85 loc) • 3.44 kB
TypeScript
import { TMessageConsumeOptions, TExchange, TMessageJSON, TQueueParams, TTopicParams } from '../../../types';
import { MessageState } from './message-state';
export declare class Message {
static readonly MessagePriority: {
LOWEST: number;
VERY_LOW: number;
LOW: number;
NORMAL: number;
ABOVE_NORMAL: number;
HIGH: number;
VERY_HIGH: number;
HIGHEST: number;
};
protected static defaultConsumeOptions: TMessageConsumeOptions;
protected readonly createdAt: number;
protected ttl: number;
protected retryThreshold: number;
protected retryDelay: number;
protected consumeTimeout: number;
protected body: unknown;
protected priority: number | null;
protected scheduledCron: string | null;
protected scheduledDelay: number | null;
protected scheduledRepeatPeriod: number | null;
protected scheduledRepeat: number;
protected messageState: MessageState | null;
protected exchange: TExchange | null;
constructor();
getMessageState(): MessageState | null;
getRequiredMessageState(): MessageState;
setMessageState(m: MessageState): Message;
getSetMessageState(): MessageState;
getPublishedAt(): number | null;
getScheduledAt(): number | null;
getId(): string | null;
getRequiredId(): string;
getSetExpired(): boolean;
setExchange(exchange: TExchange): Message;
setScheduledRepeatPeriod(period: number): Message;
setScheduledDelay(delay: number): Message;
setScheduledCRON(cron: string): Message;
setScheduledRepeat(repeat: number): Message;
setTTL(ttl: number): Message;
setConsumeTimeout(timeout: number): Message;
setRetryThreshold(threshold: number): Message;
setRetryDelay(delay: number): Message;
setBody(body: unknown): Message;
setPriority(priority: number): Message;
setFanOut(bindingKey: string): Message;
setTopic(topicParams: string | TTopicParams): Message;
setQueue(queueParams: string | TQueueParams): Message;
setDestinationQueue(queue: TQueueParams): Message;
disablePriority(): Message;
hasPriority(): boolean;
getQueue(): TQueueParams | string | null;
getTopic(): TTopicParams | string | null;
getFanOutParams(): string | null;
getDestinationQueue(): TQueueParams;
getPriority(): number | null;
getBody(): unknown;
getTTL(): number;
getRetryThreshold(): number;
getRetryDelay(): number;
getConsumeTimeout(): number;
getCreatedAt(): number;
getScheduledRepeat(): number;
getScheduledRepeatPeriod(): number | null;
getScheduledCRON(): string | null;
getMessageScheduledDelay(): number | null;
hasNextDelay(): boolean;
getNextScheduledTimestamp(): number;
getExchange(): TExchange | null;
getRequiredExchange(): TExchange;
toString(): string;
toJSON(): TMessageJSON;
hasRetryThresholdExceeded(): boolean;
isSchedulable(): boolean;
isPeriodic(): boolean;
protected static validateRetryDelay(delay: number): number;
protected static validateTTL(ttl: unknown): number;
protected static validateConsumeTimeout(timeout: unknown): number;
protected static validateRetryThreshold(threshold: unknown): number;
static createFromMessage(message: string | Message, hardReset?: boolean): Message;
static setDefaultConsumeOptions(consumeOptions: Partial<TMessageConsumeOptions>): void;
}