@valkey/client
Version:
The source code and documentation for this package are in the main [node-redis](https://github.com/redis/node-redis) repo.
43 lines (42 loc) • 2 kB
TypeScript
/// <reference types="node" />
/// <reference types="node" />
import { ValkeyCommandArguments, ValkeyCommandRawReply } from "../commands";
import { ChannelListeners, PubSubListener, PubSubType, PubSubTypeListeners } from "./pub-sub";
export interface QueueCommandOptions {
asap?: boolean;
chainId?: symbol;
signal?: AbortSignal;
returnBuffers?: boolean;
}
export interface CommandWaitingToBeSent extends CommandWaitingForReply {
args: ValkeyCommandArguments;
chainId?: symbol;
abort?: {
signal: AbortSignal;
listener(): void;
};
}
interface CommandWaitingForReply {
resolve(reply?: unknown): void;
reject(err: unknown): void;
channelsCounter?: number;
returnBuffers?: boolean;
}
export type OnShardedChannelMoved = (channel: string, listeners: ChannelListeners) => void;
export default class ValkeyCommandsQueue {
#private;
get isPubSubActive(): boolean;
constructor(maxLength: number | null | undefined, onShardedChannelMoved: OnShardedChannelMoved);
addCommand<T = ValkeyCommandRawReply>(args: ValkeyCommandArguments, options?: QueueCommandOptions): Promise<T>;
subscribe<T extends boolean>(type: PubSubType, channels: string | Array<string>, listener: PubSubListener<T>, returnBuffers?: T): Promise<void> | undefined;
unsubscribe<T extends boolean>(type: PubSubType, channels?: string | Array<string>, listener?: PubSubListener<T>, returnBuffers?: T): Promise<void> | undefined;
resubscribe(): Promise<any> | undefined;
extendPubSubChannelListeners(type: PubSubType, channel: string, listeners: ChannelListeners): Promise<void> | undefined;
extendPubSubListeners(type: PubSubType, listeners: PubSubTypeListeners): Promise<void> | undefined;
getPubSubListeners(type: PubSubType): PubSubTypeListeners;
getCommandToSend(): ValkeyCommandArguments | undefined;
onReplyChunk(chunk: Buffer): void;
flushWaitingForReply(err: Error): void;
flushAll(err: Error): void;
}
export {};