You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-07 13:22:56 +03:00
JSON.MERGE
This commit is contained in:
19
packages/json/lib/commands/MERGE.spec.ts
Normal file
19
packages/json/lib/commands/MERGE.spec.ts
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import { strict as assert } from 'assert';
|
||||||
|
import testUtils, { GLOBAL } from '../test-utils';
|
||||||
|
import MERGE from './MERGE';
|
||||||
|
|
||||||
|
describe('MERGE', () => {
|
||||||
|
it('transformArguments', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
MERGE.transformArguments('key', '$', 'value'),
|
||||||
|
['JSON.MERGE', 'key', '$', 'value']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
testUtils.testWithClient('client.json.merge', async client => {
|
||||||
|
assert.equal(
|
||||||
|
await client.json.merge('key', '$', 'value'),
|
||||||
|
'OK'
|
||||||
|
);
|
||||||
|
}, GLOBAL.SERVERS.OPEN);
|
||||||
|
});
|
16
packages/json/lib/commands/MERGE.ts
Normal file
16
packages/json/lib/commands/MERGE.ts
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
import { SimpleStringReply, Command, RedisArgument } from '@redis/client/dist/lib/RESP/types';
|
||||||
|
import { RedisJSON, transformRedisJsonArgument } from '.';
|
||||||
|
|
||||||
|
export default {
|
||||||
|
FIRST_KEY_INDEX: 1,
|
||||||
|
IS_READ_ONLY: false,
|
||||||
|
transformArguments(key: RedisArgument, path: RedisArgument, value: RedisJSON) {
|
||||||
|
return [
|
||||||
|
'JSON.MERGE',
|
||||||
|
key,
|
||||||
|
path,
|
||||||
|
transformRedisJsonArgument(value)
|
||||||
|
];
|
||||||
|
},
|
||||||
|
transformReply: undefined as unknown as () => SimpleStringReply<'OK'>
|
||||||
|
} as const satisfies Command;
|
@@ -9,6 +9,7 @@ import DEBUG_MEMORY from './DEBUG_MEMORY';
|
|||||||
import DEL from './DEL';
|
import DEL from './DEL';
|
||||||
import FORGET from './FORGET';
|
import FORGET from './FORGET';
|
||||||
// import GET from './GET';
|
// import GET from './GET';
|
||||||
|
import MERGE from './MERGE';
|
||||||
// import MGET from './MGET';
|
// import MGET from './MGET';
|
||||||
import MSET from './MSET';
|
import MSET from './MSET';
|
||||||
import NUMINCRBY from './NUMINCRBY';
|
import NUMINCRBY from './NUMINCRBY';
|
||||||
@@ -45,6 +46,8 @@ export default {
|
|||||||
forget: FORGET,
|
forget: FORGET,
|
||||||
// GET,
|
// GET,
|
||||||
// get: GET,
|
// get: GET,
|
||||||
|
MERGE,
|
||||||
|
merge: MERGE,
|
||||||
// MGET,
|
// MGET,
|
||||||
// mGet: MGET,
|
// mGet: MGET,
|
||||||
MSET,
|
MSET,
|
||||||
|
Reference in New Issue
Block a user