1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00

V5 bringing RESP3, Sentinel and TypeMapping to node-redis

RESP3 Support
   - Some commands responses in RESP3 aren't stable yet and therefore return an "untyped" ReplyUnion.
 
Sentinel

TypeMapping

Correctly types Multi commands

Note: some API changes to be further documented in v4-to-v5.md
This commit is contained in:
Shaya Potter
2024-10-15 17:46:52 +03:00
committed by GitHub
parent 2fc79bdfb3
commit b2d35c5286
1174 changed files with 45931 additions and 36274 deletions

View File

@@ -1,49 +1,49 @@
import { strict as assert } from 'assert';
import testUtils, { GLOBAL } from '../test-utils';
import { transformArguments } from './COMMAND_INFO';
import { CommandCategories, CommandFlags, CommandReply } from './generic-transformers';
// import { strict as assert } from 'node:assert';
// import testUtils, { GLOBAL } from '../test-utils';
// import { transformArguments } from './COMMAND_INFO';
// import { CommandCategories, CommandFlags, CommandReply } from './generic-transformers';
export function assertPingCommand(commandInfo: CommandReply | null | undefined): void {
assert.deepEqual(
commandInfo,
{
name: 'ping',
arity: -1,
flags: new Set(
testUtils.isVersionGreaterThan([7]) ?
[CommandFlags.FAST] :
[CommandFlags.STALE, CommandFlags.FAST]
),
firstKeyIndex: 0,
lastKeyIndex: 0,
step: 0,
categories: new Set(
testUtils.isVersionGreaterThan([6]) ?
[CommandCategories.FAST, CommandCategories.CONNECTION] :
[]
)
}
);
}
// export function assertPingCommand(commandInfo: CommandReply | null | undefined): void {
// assert.deepEqual(
// commandInfo,
// {
// name: 'ping',
// arity: -1,
// flags: new Set(
// testUtils.isVersionGreaterThan([7]) ?
// [CommandFlags.FAST] :
// [CommandFlags.STALE, CommandFlags.FAST]
// ),
// firstKeyIndex: 0,
// lastKeyIndex: 0,
// step: 0,
// categories: new Set(
// testUtils.isVersionGreaterThan([6]) ?
// [CommandCategories.FAST, CommandCategories.CONNECTION] :
// []
// )
// }
// );
// }
describe('COMMAND INFO', () => {
it('transformArguments', () => {
assert.deepEqual(
transformArguments(['PING']),
['COMMAND', 'INFO', 'PING']
);
});
// describe('COMMAND INFO', () => {
// it('transformArguments', () => {
// assert.deepEqual(
// transformArguments(['PING']),
// ['COMMAND', 'INFO', 'PING']
// );
// });
describe('client.commandInfo', () => {
testUtils.testWithClient('PING', async client => {
assertPingCommand((await client.commandInfo(['PING']))[0]);
}, GLOBAL.SERVERS.OPEN);
// describe('client.commandInfo', () => {
// testUtils.testWithClient('PING', async client => {
// assertPingCommand((await client.commandInfo(['PING']))[0]);
// }, GLOBAL.SERVERS.OPEN);
testUtils.testWithClient('DOSE_NOT_EXISTS', async client => {
assert.deepEqual(
await client.commandInfo(['DOSE_NOT_EXISTS']),
[null]
);
}, GLOBAL.SERVERS.OPEN);
});
});
// testUtils.testWithClient('DOSE_NOT_EXISTS', async client => {
// assert.deepEqual(
// await client.commandInfo(['DOSE_NOT_EXISTS']),
// [null]
// );
// }, GLOBAL.SERVERS.OPEN);
// });
// });