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

FT.CONFIG GET

This commit is contained in:
Leibale
2023-10-03 13:21:53 -04:00
parent 643e0868e9
commit ab3489841e
3 changed files with 43 additions and 23 deletions

View File

@@ -1,25 +1,25 @@
import { strict as assert } from 'node:assert'; import { strict as assert } from 'node:assert';
import testUtils, { GLOBAL } from '../test-utils'; import testUtils, { GLOBAL } from '../test-utils';
import { transformArguments } from './CONFIG_GET'; import CONFIG_GET from './CONFIG_GET';
describe('CONFIG GET', () => { describe('FT.CONFIG GET', () => {
it('transformArguments', () => { it('transformArguments', () => {
assert.deepEqual( assert.deepEqual(
transformArguments('TIMEOUT'), CONFIG_GET.transformArguments('TIMEOUT'),
['FT.CONFIG', 'GET', 'TIMEOUT'] ['FT.CONFIG', 'GET', 'TIMEOUT']
); );
}); });
testUtils.testWithClient('client.ft.configGet', async client => { testUtils.testWithClient('client.ft.configGet', async client => {
assert.deepEqual( assert.deepEqual(
await client.ft.configGet('TIMEOUT'), await client.ft.configGet('TIMEOUT'),
Object.create(null, { Object.create(null, {
TIMEOUT: { TIMEOUT: {
value: '500', value: '500',
configurable: true, configurable: true,
enumerable: true enumerable: true
} }
}) })
); );
}, GLOBAL.SERVERS.OPEN); }, GLOBAL.SERVERS.OPEN);
}); });

View File

@@ -1,3 +1,23 @@
import { ArrayReply, TuplesReply, BlobStringReply, NullReply, UnwrapReply, Command } from '@redis/client/dist/lib/RESP/types';
export default {
FIRST_KEY_INDEX: undefined,
IS_READ_ONLY: true,
transformArguments(option: string) {
return ['FT.CONFIG', 'GET', option];
},
transformReply(reply: UnwrapReply<ArrayReply<TuplesReply<[BlobStringReply, BlobStringReply | NullReply]>>>) {
const transformedReply: Record<string, BlobStringReply | NullReply> = Object.create(null);
for (const item of reply) {
const [key, value] = item as unknown as UnwrapReply<typeof item>;
transformedReply[key.toString()] = value;
}
return transformedReply;
}
} as const satisfies Command;
export function transformArguments(option: string) { export function transformArguments(option: string) {
return ['FT.CONFIG', 'GET', option]; return ['FT.CONFIG', 'GET', option];
} }

View File

@@ -5,7 +5,7 @@ import ALTER from './ALTER';
import ALIASADD from './ALIASADD'; import ALIASADD from './ALIASADD';
import ALIASDEL from './ALIASDEL'; import ALIASDEL from './ALIASDEL';
import ALIASUPDATE from './ALIASUPDATE'; import ALIASUPDATE from './ALIASUPDATE';
// import CONFIG_GET from './CONFIG_GET'; import CONFIG_GET from './CONFIG_GET';
import CONFIG_SET from './CONFIG_SET'; import CONFIG_SET from './CONFIG_SET';
import CREATE from './CREATE'; import CREATE from './CREATE';
import CURSOR_DEL from './CURSOR_DEL'; import CURSOR_DEL from './CURSOR_DEL';
@@ -51,8 +51,8 @@ export default {
aliasDel: ALIASDEL, aliasDel: ALIASDEL,
ALIASUPDATE, ALIASUPDATE,
aliasUpdate: ALIASUPDATE, aliasUpdate: ALIASUPDATE,
// CONFIG_GET, CONFIG_GET,
// configGet: CONFIG_GET, configGet: CONFIG_GET,
CONFIG_SET, CONFIG_SET,
configSet: CONFIG_SET, configSet: CONFIG_SET,
CREATE, CREATE,