commands-queue.d.ts 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /// <reference types="node" />
  2. /// <reference types="node" />
  3. import { RedisCommandArguments, RedisCommandRawReply } from '../commands';
  4. import { ChannelListeners, PubSubListener, PubSubType, PubSubTypeListeners } from './pub-sub';
  5. export interface QueueCommandOptions {
  6. asap?: boolean;
  7. chainId?: symbol;
  8. signal?: AbortSignal;
  9. returnBuffers?: boolean;
  10. }
  11. export interface CommandWaitingToBeSent extends CommandWaitingForReply {
  12. args: RedisCommandArguments;
  13. chainId?: symbol;
  14. abort?: {
  15. signal: AbortSignal;
  16. listener(): void;
  17. };
  18. }
  19. interface CommandWaitingForReply {
  20. resolve(reply?: unknown): void;
  21. reject(err: unknown): void;
  22. channelsCounter?: number;
  23. returnBuffers?: boolean;
  24. }
  25. export type OnShardedChannelMoved = (channel: string, listeners: ChannelListeners) => void;
  26. export default class RedisCommandsQueue {
  27. #private;
  28. get isPubSubActive(): boolean;
  29. constructor(maxLength: number | null | undefined, onShardedChannelMoved: OnShardedChannelMoved);
  30. addCommand<T = RedisCommandRawReply>(args: RedisCommandArguments, options?: QueueCommandOptions): Promise<T>;
  31. subscribe<T extends boolean>(type: PubSubType, channels: string | Array<string>, listener: PubSubListener<T>, returnBuffers?: T): Promise<void> | undefined;
  32. unsubscribe<T extends boolean>(type: PubSubType, channels?: string | Array<string>, listener?: PubSubListener<T>, returnBuffers?: T): Promise<void> | undefined;
  33. resubscribe(): Promise<any> | undefined;
  34. extendPubSubChannelListeners(type: PubSubType, channel: string, listeners: ChannelListeners): Promise<void> | undefined;
  35. extendPubSubListeners(type: PubSubType, listeners: PubSubTypeListeners): Promise<void> | undefined;
  36. getPubSubListeners(type: PubSubType): PubSubTypeListeners;
  37. getCommandToSend(): RedisCommandArguments | undefined;
  38. onReplyChunk(chunk: Buffer): void;
  39. flushWaitingForReply(err: Error): void;
  40. flushAll(err: Error): void;
  41. }
  42. export {};