redis-connection.d.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { EventEmitter } from 'events';
  2. import { ConnectionOptions, RedisClient } from '../interfaces';
  3. import { DatabaseType } from '../types';
  4. interface RedisCapabilities {
  5. canDoubleTimeout: boolean;
  6. canBlockFor1Ms: boolean;
  7. }
  8. export interface RawCommand {
  9. content: string;
  10. name: string;
  11. keys: number;
  12. }
  13. export declare class RedisConnection extends EventEmitter {
  14. private readonly extraOptions?;
  15. static minimumVersion: string;
  16. static recommendedMinimumVersion: string;
  17. closing: boolean;
  18. capabilities: RedisCapabilities;
  19. status: 'initializing' | 'ready' | 'closing' | 'closed';
  20. private dbType;
  21. protected _client: RedisClient;
  22. private readonly opts;
  23. private readonly initializing;
  24. private version;
  25. protected packageVersion: string;
  26. private skipVersionCheck;
  27. private handleClientError;
  28. private handleClientClose;
  29. private handleClientReady;
  30. constructor(opts: ConnectionOptions, extraOptions?: {
  31. shared?: boolean;
  32. blocking?: boolean;
  33. skipVersionCheck?: boolean;
  34. skipWaitingForReady?: boolean;
  35. });
  36. private checkBlockingOptions;
  37. /**
  38. * Waits for a redis client to be ready.
  39. * @param redis - client
  40. */
  41. static waitUntilReady(client: RedisClient): Promise<void>;
  42. get client(): Promise<RedisClient>;
  43. protected loadCommands(packageVersion: string, providedScripts?: Record<string, RawCommand>): void;
  44. private init;
  45. disconnect(wait?: boolean): Promise<void>;
  46. reconnect(): Promise<void>;
  47. close(force?: boolean): Promise<void>;
  48. private getRedisVersionAndType;
  49. get redisVersion(): string;
  50. get databaseType(): DatabaseType;
  51. }
  52. export {};