From 8062c2bc77b1c59bb328309a90ef0b3643eae4cd Mon Sep 17 00:00:00 2001 From: leibale Date: Mon, 3 Jan 2022 23:25:15 -0500 Subject: [PATCH] fix #1783 - fix some commands in legacy mode --- packages/client/lib/client/index.ts | 8 ++++++-- packages/client/lib/client/multi-command.ts | 8 ++++++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/client/lib/client/index.ts b/packages/client/lib/client/index.ts index cae78e7f49..6144c98070 100644 --- a/packages/client/lib/client/index.ts +++ b/packages/client/lib/client/index.ts @@ -320,6 +320,10 @@ export default class RedisClient this.#defineLegacyCommand(name); } + for (const name of Object.keys(COMMANDS)) { + (this as any)[name.toLowerCase()] = (this as any)[name]; + } + // hard coded commands this.#defineLegacyCommand('SELECT'); this.#defineLegacyCommand('select'); @@ -336,8 +340,8 @@ export default class RedisClient } #defineLegacyCommand(name: string): void { - (this as any).#v4[name] = (this as any)[name].bind(this); - (this as any)[name] = (this as any)[name.toLowerCase()] = + this.#v4[name] = (this as any)[name].bind(this); + (this as any)[name] = (...args: Array): void => (this as any).sendCommand(name, ...args); } diff --git a/packages/client/lib/client/multi-command.ts b/packages/client/lib/client/multi-command.ts index 5d69b93315..601334fe6d 100644 --- a/packages/client/lib/client/multi-command.ts +++ b/packages/client/lib/client/multi-command.ts @@ -78,11 +78,15 @@ export default class RedisClientMultiCommand { for (const name of Object.keys(COMMANDS)) { this.#defineLegacyCommand(name); } + + for (const name of Object.keys(COMMANDS)) { + (this as any)[name.toLowerCase()] = (this as any)[name]; + } } #defineLegacyCommand(name: string): void { - (this as any).v4[name] = (this as any)[name].bind(this.v4); - (this as any)[name] = (this as any)[name.toLowerCase()] = + this.v4[name] = (this as any)[name].bind(this.v4); + (this as any)[name] = (...args: Array): void => (this as any).addCommand(name, args); }