ROLE.d.ts 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. export declare const IS_READ_ONLY = true;
  2. export declare function transformArguments(): Array<string>;
  3. interface RoleReplyInterface<T extends string> {
  4. role: T;
  5. }
  6. type RoleMasterRawReply = ['master', number, Array<[string, string, string]>];
  7. interface RoleMasterReply extends RoleReplyInterface<'master'> {
  8. replicationOffest: number;
  9. replicas: Array<{
  10. ip: string;
  11. port: number;
  12. replicationOffest: number;
  13. }>;
  14. }
  15. type RoleReplicaState = 'connect' | 'connecting' | 'sync' | 'connected';
  16. type RoleReplicaRawReply = ['slave', string, number, RoleReplicaState, number];
  17. interface RoleReplicaReply extends RoleReplyInterface<'slave'> {
  18. master: {
  19. ip: string;
  20. port: number;
  21. };
  22. state: RoleReplicaState;
  23. dataReceived: number;
  24. }
  25. type RoleSentinelRawReply = ['sentinel', Array<string>];
  26. interface RoleSentinelReply extends RoleReplyInterface<'sentinel'> {
  27. masterNames: Array<string>;
  28. }
  29. type RoleRawReply = RoleMasterRawReply | RoleReplicaRawReply | RoleSentinelRawReply;
  30. type RoleReply = RoleMasterReply | RoleReplicaReply | RoleSentinelReply;
  31. export declare function transformReply(reply: RoleRawReply): RoleReply;
  32. export {};