You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Support multiple parametrs on CONFIG SET (#2042)
* support multiple parametrs on CONFIG SET * clean code Co-authored-by: leibale <leibale1998@gmail.com>
This commit is contained in:
@@ -2,10 +2,23 @@ import { strict as assert } from 'assert';
|
|||||||
import { transformArguments } from './CONFIG_SET';
|
import { transformArguments } from './CONFIG_SET';
|
||||||
|
|
||||||
describe('CONFIG SET', () => {
|
describe('CONFIG SET', () => {
|
||||||
it('transformArguments', () => {
|
describe('transformArguments', () => {
|
||||||
assert.deepEqual(
|
it('set one parameter (old version)', () => {
|
||||||
transformArguments('parameter', 'value'),
|
assert.deepEqual(
|
||||||
['CONFIG', 'SET', 'parameter', 'value']
|
transformArguments('parameter', 'value'),
|
||||||
);
|
['CONFIG', 'SET', 'parameter', 'value']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('set muiltiple parameters', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
transformArguments({
|
||||||
|
1: 'a',
|
||||||
|
2: 'b',
|
||||||
|
3: 'c'
|
||||||
|
}),
|
||||||
|
['CONFIG', 'SET', '1', 'a', '2', 'b', '3', 'c']
|
||||||
|
);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -1,5 +1,23 @@
|
|||||||
export function transformArguments(parameter: string, value: string): Array<string> {
|
import { RedisCommandArgument, RedisCommandArguments } from '.';
|
||||||
return ['CONFIG', 'SET', parameter, value];
|
|
||||||
|
type SingleParameter = [parameter: RedisCommandArgument, value: RedisCommandArgument];
|
||||||
|
|
||||||
|
type MultipleParameters = [config: Record<string, RedisCommandArgument>];
|
||||||
|
|
||||||
|
export function transformArguments(
|
||||||
|
...[parameterOrConfig, value]: SingleParameter | MultipleParameters
|
||||||
|
): RedisCommandArguments {
|
||||||
|
const args: RedisCommandArguments = ['CONFIG', 'SET'];
|
||||||
|
|
||||||
|
if (typeof parameterOrConfig === 'string') {
|
||||||
|
args.push(parameterOrConfig, value!);
|
||||||
|
} else {
|
||||||
|
for (const [key, value] of Object.entries(parameterOrConfig)) {
|
||||||
|
args.push(key, value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return args;
|
||||||
}
|
}
|
||||||
|
|
||||||
export declare function transformReply(): string;
|
export declare function transformReply(): string;
|
||||||
|
Reference in New Issue
Block a user