You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-07 13:22:56 +03:00
wip
This commit is contained in:
@@ -115,19 +115,7 @@ describe('ZADD', () => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('with INCR', () => {
|
it('with condition, comparison, CH', () => {
|
||||||
assert.deepEqual(
|
|
||||||
ZADD.transformArguments('key', {
|
|
||||||
value: '1',
|
|
||||||
score: 1
|
|
||||||
}, {
|
|
||||||
INCR: true
|
|
||||||
}),
|
|
||||||
['ZADD', 'key', 'INCR', '1', '1']
|
|
||||||
);
|
|
||||||
});
|
|
||||||
|
|
||||||
it('with condition, comparison, CH, INCR', () => {
|
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
ZADD.transformArguments('key', {
|
ZADD.transformArguments('key', {
|
||||||
value: '1',
|
value: '1',
|
||||||
@@ -135,10 +123,9 @@ describe('ZADD', () => {
|
|||||||
}, {
|
}, {
|
||||||
condition: 'XX',
|
condition: 'XX',
|
||||||
comparison: 'LT',
|
comparison: 'LT',
|
||||||
CH: true,
|
CH: true
|
||||||
INCR: true
|
|
||||||
}),
|
}),
|
||||||
['ZADD', 'key', 'XX', 'LT', 'CH', 'INCR', '1', '1']
|
['ZADD', 'key', 'XX', 'LT', 'CH', '1', '1']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
import { RedisArgument, NumberReply, DoubleReply, Command } from '../RESP/types';
|
import { RedisArgument, NumberReply, DoubleReply, Command, CommandArguments } from '../RESP/types';
|
||||||
import { ZMember, transformDoubleArgument, transformDoubleReply } from './generic-transformers';
|
import { ZMember, transformDoubleArgument, transformDoubleReply } from './generic-transformers';
|
||||||
|
|
||||||
export interface ZAddOptions {
|
export interface ZAddOptions {
|
||||||
@@ -21,7 +21,6 @@ export interface ZAddOptions {
|
|||||||
*/
|
*/
|
||||||
GT?: boolean;
|
GT?: boolean;
|
||||||
CH?: boolean;
|
CH?: boolean;
|
||||||
INCR?: boolean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -53,10 +52,20 @@ export default {
|
|||||||
args.push('CH');
|
args.push('CH');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (options?.INCR) {
|
pushMembers(args, members);
|
||||||
args.push('INCR');
|
|
||||||
}
|
|
||||||
|
|
||||||
|
return args;
|
||||||
|
},
|
||||||
|
transformReply: {
|
||||||
|
2: transformDoubleReply,
|
||||||
|
3: undefined as unknown as () => NumberReply
|
||||||
|
}
|
||||||
|
} as const satisfies Command;
|
||||||
|
|
||||||
|
export function pushMembers(
|
||||||
|
args: CommandArguments,
|
||||||
|
members: ZMember | Array<ZMember>
|
||||||
|
) {
|
||||||
if (Array.isArray(members)) {
|
if (Array.isArray(members)) {
|
||||||
for (const member of members) {
|
for (const member of members) {
|
||||||
pushMember(args, member);
|
pushMember(args, member);
|
||||||
@@ -64,14 +73,7 @@ export default {
|
|||||||
} else {
|
} else {
|
||||||
pushMember(args, members);
|
pushMember(args, members);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return args;
|
|
||||||
},
|
|
||||||
transformReply: {
|
|
||||||
2: transformDoubleReply,
|
|
||||||
3: undefined as unknown as () => NumberReply | DoubleReply
|
|
||||||
}
|
|
||||||
} as const satisfies Command;
|
|
||||||
|
|
||||||
function pushMember(args: Array<RedisArgument>, member: ZMember) {
|
function pushMember(args: Array<RedisArgument>, member: ZMember) {
|
||||||
args.push(
|
args.push(
|
||||||
|
93
packages/client/lib/commands/ZADD_INCR.spec.ts
Normal file
93
packages/client/lib/commands/ZADD_INCR.spec.ts
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
import { strict as assert } from 'assert';
|
||||||
|
import testUtils, { GLOBAL } from '../test-utils';
|
||||||
|
import ZADD_INCR from './ZADD_INCR';
|
||||||
|
|
||||||
|
describe('ZADD INCR', () => {
|
||||||
|
describe('transformArguments', () => {
|
||||||
|
it('single member', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
ZADD_INCR.transformArguments('key', {
|
||||||
|
value: '1',
|
||||||
|
score: 1
|
||||||
|
}),
|
||||||
|
['ZADD', 'key', 'INCR', '1', '1']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('multiple members', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
ZADD_INCR.transformArguments('key', [{
|
||||||
|
value: '1',
|
||||||
|
score: 1
|
||||||
|
}, {
|
||||||
|
value: '2',
|
||||||
|
score: 2
|
||||||
|
}]),
|
||||||
|
['ZADD', 'key', 'INCR', '1', '1', '2', '2']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('with condition', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
ZADD_INCR.transformArguments('key', {
|
||||||
|
value: '1',
|
||||||
|
score: 1
|
||||||
|
}, {
|
||||||
|
condition: 'NX'
|
||||||
|
}),
|
||||||
|
['ZADD', 'key', 'NX', 'INCR', '1', '1']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('with comparison', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
ZADD_INCR.transformArguments('key', {
|
||||||
|
value: '1',
|
||||||
|
score: 1
|
||||||
|
}, {
|
||||||
|
comparison: 'LT'
|
||||||
|
}),
|
||||||
|
['ZADD', 'key', 'LT', 'INCR', '1', '1']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('with CH', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
ZADD_INCR.transformArguments('key', {
|
||||||
|
value: '1',
|
||||||
|
score: 1
|
||||||
|
}, {
|
||||||
|
CH: true
|
||||||
|
}),
|
||||||
|
['ZADD', 'key', 'CH', 'INCR', '1', '1']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('with condition, comparison, CH', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
ZADD_INCR.transformArguments('key', {
|
||||||
|
value: '1',
|
||||||
|
score: 1
|
||||||
|
}, {
|
||||||
|
condition: 'XX',
|
||||||
|
comparison: 'LT',
|
||||||
|
CH: true
|
||||||
|
}),
|
||||||
|
['ZADD', 'key', 'XX', 'LT', 'CH', 'INCR', '1', '1']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
testUtils.testAll('zAddIncr', async client => {
|
||||||
|
assert.equal(
|
||||||
|
await client.zAddIncr('key', {
|
||||||
|
value: '1',
|
||||||
|
score: 1
|
||||||
|
}),
|
||||||
|
1
|
||||||
|
);
|
||||||
|
}, {
|
||||||
|
client: GLOBAL.SERVERS.OPEN,
|
||||||
|
cluster: GLOBAL.CLUSTERS.OPEN
|
||||||
|
});
|
||||||
|
});
|
42
packages/client/lib/commands/ZADD_INCR.ts
Normal file
42
packages/client/lib/commands/ZADD_INCR.ts
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
import { RedisArgument, DoubleReply, NullReply, Command } from '../RESP/types';
|
||||||
|
import { pushMembers } from './ZADD';
|
||||||
|
import { ZMember, transformDoubleArgument, transformNullableDoubleReply } from './generic-transformers';
|
||||||
|
|
||||||
|
export interface ZAddOptions {
|
||||||
|
condition?: 'NX' | 'XX';
|
||||||
|
comparison?: 'LT' | 'GT';
|
||||||
|
CH?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
FIRST_KEY_INDEX: 1,
|
||||||
|
transformArguments(
|
||||||
|
key: RedisArgument,
|
||||||
|
members: ZMember | Array<ZMember>,
|
||||||
|
options?: ZAddOptions
|
||||||
|
) {
|
||||||
|
const args = ['ZADD', key];
|
||||||
|
|
||||||
|
if (options?.condition) {
|
||||||
|
args.push(options.condition);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options?.comparison) {
|
||||||
|
args.push(options.comparison);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (options?.CH) {
|
||||||
|
args.push('CH');
|
||||||
|
}
|
||||||
|
|
||||||
|
args.push('INCR');
|
||||||
|
|
||||||
|
pushMembers(args, members);
|
||||||
|
|
||||||
|
return args;
|
||||||
|
},
|
||||||
|
transformReply: {
|
||||||
|
2: transformNullableDoubleReply,
|
||||||
|
3: undefined as unknown as () => DoubleReply | NullReply
|
||||||
|
}
|
||||||
|
} as const satisfies Command;
|
@@ -1,19 +1,14 @@
|
|||||||
import { ArrayReply, BlobStringReply, Command, NumberReply } from '../RESP/types';
|
import { Command } from '../RESP/types';
|
||||||
import ZDIFF from './ZDIFF';
|
import ZDIFF from './ZDIFF';
|
||||||
import { transformSortedSetWithScoresReply } from './generic-transformers';
|
import { transformSortedSetReply } from './generic-transformers';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
FIRST_KEY_INDEX: 2,
|
FIRST_KEY_INDEX: ZDIFF.FIRST_KEY_INDEX,
|
||||||
IS_READ_ONLY: true,
|
IS_READ_ONLY: ZDIFF.IS_READ_ONLY,
|
||||||
transformArguments(keys: Parameters<typeof ZDIFF.transformArguments>[0]) {
|
transformArguments(...args: Parameters<typeof ZDIFF.transformArguments>) {
|
||||||
const args = ZDIFF.transformArguments(keys);
|
const redisArgs = ZDIFF.transformArguments(...args);
|
||||||
args.push('WITHSCORES');
|
redisArgs.push('WITHSCORES');
|
||||||
return args;
|
return redisArgs;
|
||||||
},
|
},
|
||||||
transformReply: {
|
transformReply: transformSortedSetReply
|
||||||
2: transformSortedSetWithScoresReply,
|
|
||||||
3: (reply: ArrayReply<[BlobStringReply, NumberReply]>) => {
|
|
||||||
return reply.map(([value, score]) => ({ value, score }));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} as const satisfies Command;
|
} as const satisfies Command;
|
||||||
|
@@ -1,12 +1,13 @@
|
|||||||
|
|
||||||
import { RedisArgument, NumberReply, Command } from '../RESP/types';
|
import { RedisArgument, NumberReply, Command } from '../RESP/types';
|
||||||
import { pushZInterArguments, ZInterKeyAndWeight, ZInterKeys, ZInterOptions } from './ZINTER';
|
import { pushZInterArguments, ZInterOptions } from './ZINTER';
|
||||||
|
import { ZKeys } from './generic-transformers';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
FIRST_KEY_INDEX: 1,
|
FIRST_KEY_INDEX: 1,
|
||||||
transformArguments(
|
transformArguments(
|
||||||
destination: RedisArgument,
|
destination: RedisArgument,
|
||||||
keys: ZInterKeys<RedisArgument> | ZInterKeys<ZInterKeyAndWeight>,
|
keys: ZKeys,
|
||||||
options?: ZInterOptions
|
options?: ZInterOptions
|
||||||
) {
|
) {
|
||||||
return pushZInterArguments(['ZINTERSTORE', destination], keys, options);
|
return pushZInterArguments(['ZINTERSTORE', destination], keys, options);
|
||||||
|
@@ -1,22 +1,6 @@
|
|||||||
// import { RedisCommandArguments } from '.';
|
import { Command } from '../RESP/types';
|
||||||
// import { transformArguments as transformZInterArguments } from './ZINTER';
|
|
||||||
|
|
||||||
// export { FIRST_KEY_INDEX, IS_READ_ONLY } from './ZINTER';
|
|
||||||
|
|
||||||
// export function transformArguments(...args: Parameters<typeof transformZInterArguments>): RedisCommandArguments {
|
|
||||||
// return [
|
|
||||||
// ...transformZInterArguments(...args),
|
|
||||||
// 'WITHSCORES'
|
|
||||||
// ];
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// // transformSortedSetWithScoresReply
|
|
||||||
|
|
||||||
import { ArrayReply, BlobStringReply, Command, DoubleReply } from '../RESP/types';
|
|
||||||
import ZINTER from './ZINTER';
|
import ZINTER from './ZINTER';
|
||||||
import { transformSortedSetWithScoresReply } from './generic-transformers';
|
import { transformSortedSetReply } from './generic-transformers';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
FIRST_KEY_INDEX: ZINTER.FIRST_KEY_INDEX,
|
FIRST_KEY_INDEX: ZINTER.FIRST_KEY_INDEX,
|
||||||
@@ -26,13 +10,5 @@ export default {
|
|||||||
redisArgs.push('WITHSCORES');
|
redisArgs.push('WITHSCORES');
|
||||||
return redisArgs;
|
return redisArgs;
|
||||||
},
|
},
|
||||||
transformReply: {
|
transformReply: transformSortedSetReply
|
||||||
2: transformSortedSetWithScoresReply,
|
|
||||||
3: (reply: ArrayReply<[BlobStringReply, DoubleReply]>) => {
|
|
||||||
return reply.map(([member, score]) => ({
|
|
||||||
member,
|
|
||||||
score
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} as const satisfies Command;
|
} as const satisfies Command;
|
||||||
|
@@ -1,33 +1,36 @@
|
|||||||
// import { strict as assert } from 'assert';
|
import { strict as assert } from 'assert';
|
||||||
// import testUtils, { GLOBAL } from '../test-utils';
|
import testUtils, { GLOBAL } from '../test-utils';
|
||||||
// import { transformArguments } from './ZRANGEBYSCORE_WITHSCORES';
|
import ZRANGEBYSCORE_WITHSCORES from './ZRANGEBYSCORE_WITHSCORES';
|
||||||
|
|
||||||
// describe('ZRANGEBYSCORE WITHSCORES', () => {
|
describe('ZRANGEBYSCORE WITHSCORES', () => {
|
||||||
// describe('transformArguments', () => {
|
describe('transformArguments', () => {
|
||||||
// it('simple', () => {
|
it('simple', () => {
|
||||||
// assert.deepEqual(
|
assert.deepEqual(
|
||||||
// transformArguments('src', 0, 1),
|
ZRANGEBYSCORE_WITHSCORES.transformArguments('src', 0, 1),
|
||||||
// ['ZRANGEBYSCORE', 'src', '0', '1', 'WITHSCORES']
|
['ZRANGEBYSCORE', 'src', '0', '1', 'WITHSCORES']
|
||||||
// );
|
);
|
||||||
// });
|
});
|
||||||
|
|
||||||
// it('with LIMIT', () => {
|
it('with LIMIT', () => {
|
||||||
// assert.deepEqual(
|
assert.deepEqual(
|
||||||
// transformArguments('src', 0, 1, {
|
ZRANGEBYSCORE_WITHSCORES.transformArguments('src', 0, 1, {
|
||||||
// LIMIT: {
|
LIMIT: {
|
||||||
// offset: 0,
|
offset: 0,
|
||||||
// count: 1
|
count: 1
|
||||||
// }
|
}
|
||||||
// }),
|
}),
|
||||||
// ['ZRANGEBYSCORE', 'src', '0', '1', 'LIMIT', '0', '1', 'WITHSCORES']
|
['ZRANGEBYSCORE', 'src', '0', '1', 'LIMIT', '0', '1', 'WITHSCORES']
|
||||||
// );
|
);
|
||||||
// });
|
});
|
||||||
// });
|
});
|
||||||
|
|
||||||
// testUtils.testWithClient('client.zRangeByScoreWithScores', async client => {
|
testUtils.testAll('zRangeByScoreWithScores', async client => {
|
||||||
// assert.deepEqual(
|
assert.deepEqual(
|
||||||
// await client.zRangeByScoreWithScores('src', 0, 1),
|
await client.zRangeByScoreWithScores('src', 0, 1),
|
||||||
// []
|
[]
|
||||||
// );
|
);
|
||||||
// }, GLOBAL.SERVERS.OPEN);
|
}, {
|
||||||
// });
|
client: GLOBAL.SERVERS.OPEN,
|
||||||
|
cluster: GLOBAL.CLUSTERS.OPEN
|
||||||
|
});
|
||||||
|
});
|
||||||
|
@@ -1,18 +1,14 @@
|
|||||||
// import { RedisCommandArgument, RedisCommandArguments } from '.';
|
import { Command } from '../RESP/types';
|
||||||
// import { ZRangeByScoreOptions, transformArguments as transformZRangeByScoreArguments } from './ZRANGEBYSCORE';
|
import ZRANGEBYSCORE from './ZRANGEBYSCORE';
|
||||||
|
import { transformSortedSetReply } from './generic-transformers';
|
||||||
|
|
||||||
// export { FIRST_KEY_INDEX, IS_READ_ONLY } from './ZRANGEBYSCORE';
|
export default {
|
||||||
|
FIRST_KEY_INDEX: ZRANGEBYSCORE.FIRST_KEY_INDEX,
|
||||||
// export function transformArguments(
|
IS_READ_ONLY: ZRANGEBYSCORE.IS_READ_ONLY,
|
||||||
// key: RedisCommandArgument,
|
transformArguments(...args: Parameters<typeof ZRANGEBYSCORE.transformArguments>) {
|
||||||
// min: string | number,
|
const redisArgs = ZRANGEBYSCORE.transformArguments(...args);
|
||||||
// max: string | number,
|
redisArgs.push('WITHSCORES');
|
||||||
// options?: ZRangeByScoreOptions
|
return redisArgs;
|
||||||
// ): RedisCommandArguments {
|
},
|
||||||
// return [
|
transformReply: transformSortedSetReply
|
||||||
// ...transformZRangeByScoreArguments(key, min, max, options),
|
} as const satisfies Command;
|
||||||
// 'WITHSCORES'
|
|
||||||
// ];
|
|
||||||
// }
|
|
||||||
|
|
||||||
// export { transformSortedSetWithScoresReply as transformReply } from './generic-transformers';
|
|
||||||
|
@@ -6,27 +6,41 @@ describe('ZUNIONSTORE', () => {
|
|||||||
describe('transformArguments', () => {
|
describe('transformArguments', () => {
|
||||||
it('key (string)', () => {
|
it('key (string)', () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
ZUNIONSTORE.transformArguments('destination', 'key'),
|
ZUNIONSTORE.transformArguments('destination', 'source'),
|
||||||
['ZUNIONSTORE', 'destination', '1', 'key']
|
['ZUNIONSTORE', 'destination', '1', 'key']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('keys (array)', () => {
|
it('keys (Array<string>)', () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
ZUNIONSTORE.transformArguments('destination', ['1', '2']),
|
ZUNIONSTORE.transformArguments('destination', ['1', '2']),
|
||||||
['ZUNIONSTORE', 'destination', '2', '1', '2']
|
['ZUNIONSTORE', 'destination', '2', '1', '2']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('with WEIGHTS', () => {
|
it('key & weight', () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
ZUNIONSTORE.transformArguments('destination', 'key', {
|
ZUNIONSTORE.transformArguments('destination', {
|
||||||
WEIGHTS: [1]
|
key: 'key',
|
||||||
|
weight: 1
|
||||||
}),
|
}),
|
||||||
['ZUNIONSTORE', 'destination', '1', 'key', 'WEIGHTS', '1']
|
['ZUNIONSTORE', 'destination', '1', 'key', 'WEIGHTS', '1']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('keys & weights', () => {
|
||||||
|
assert.deepEqual(
|
||||||
|
ZUNIONSTORE.transformArguments('destination', [{
|
||||||
|
key: 'a',
|
||||||
|
weight: 1
|
||||||
|
}, {
|
||||||
|
key: 'b',
|
||||||
|
weight: 2
|
||||||
|
}]),
|
||||||
|
['ZUNIONSTORE', 'destination', '2', 'a', 'b', 'WEIGHTS', '1', '2']
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it('with AGGREGATE', () => {
|
it('with AGGREGATE', () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
ZUNIONSTORE.transformArguments('destination', 'key', {
|
ZUNIONSTORE.transformArguments('destination', 'key', {
|
||||||
@@ -35,16 +49,6 @@ describe('ZUNIONSTORE', () => {
|
|||||||
['ZUNIONSTORE', 'destination', '1', 'key', 'AGGREGATE', 'SUM']
|
['ZUNIONSTORE', 'destination', '1', 'key', 'AGGREGATE', 'SUM']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('with WEIGHTS, AGGREGATE', () => {
|
|
||||||
assert.deepEqual(
|
|
||||||
ZUNIONSTORE.transformArguments('destination', 'key', {
|
|
||||||
WEIGHTS: [1],
|
|
||||||
AGGREGATE: 'SUM'
|
|
||||||
}),
|
|
||||||
['ZUNIONSTORE', 'destination', '1', 'key', 'WEIGHTS', '1', 'AGGREGATE', 'SUM']
|
|
||||||
);
|
|
||||||
});
|
|
||||||
});
|
});
|
||||||
|
|
||||||
testUtils.testAll('zUnionStore', async client => {
|
testUtils.testAll('zUnionStore', async client => {
|
||||||
|
@@ -9,14 +9,14 @@ describe('ZUNION WITHSCORES', () => {
|
|||||||
it('key (string)', () => {
|
it('key (string)', () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
ZUNION_WITHSCORES.transformArguments('key'),
|
ZUNION_WITHSCORES.transformArguments('key'),
|
||||||
['ZUNION', '1', 'key']
|
['ZUNION', '1', 'key', 'WITHSCORES']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
it('keys (Array<string>)', () => {
|
it('keys (Array<string>)', () => {
|
||||||
assert.deepEqual(
|
assert.deepEqual(
|
||||||
ZUNION_WITHSCORES.transformArguments(['1', '2']),
|
ZUNION_WITHSCORES.transformArguments(['1', '2']),
|
||||||
['ZUNION', '2', '1', '2']
|
['ZUNION', '2', '1', '2', 'WITHSCORES']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -26,7 +26,7 @@ describe('ZUNION WITHSCORES', () => {
|
|||||||
key: 'key',
|
key: 'key',
|
||||||
weight: 1
|
weight: 1
|
||||||
}),
|
}),
|
||||||
['ZUNION', '1', 'key', 'WEIGHTS', '1']
|
['ZUNION', '1', 'key', 'WEIGHTS', '1', 'WITHSCORES']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ describe('ZUNION WITHSCORES', () => {
|
|||||||
key: 'b',
|
key: 'b',
|
||||||
weight: 2
|
weight: 2
|
||||||
}]),
|
}]),
|
||||||
['ZUNION', '2', 'a', 'b', 'WEIGHTS', '1', '2']
|
['ZUNION', '2', 'a', 'b', 'WEIGHTS', '1', '2', 'WITHSCORES']
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -186,6 +186,7 @@ import XDEL from './XDEL';
|
|||||||
import XSETID from './XSETID';
|
import XSETID from './XSETID';
|
||||||
import XTRIM from './XTRIM';
|
import XTRIM from './XTRIM';
|
||||||
import XLEN from './XLEN';
|
import XLEN from './XLEN';
|
||||||
|
import ZADD_INCR from './ZADD_INCR';
|
||||||
import ZADD from './ZADD';
|
import ZADD from './ZADD';
|
||||||
import ZCARD from './ZCARD';
|
import ZCARD from './ZCARD';
|
||||||
import ZCOUNT from './ZCOUNT';
|
import ZCOUNT from './ZCOUNT';
|
||||||
@@ -204,6 +205,7 @@ import ZRANDMEMBER_COUNT from './ZRANDMEMBER_COUNT';
|
|||||||
import ZRANDMEMBER from './ZRANDMEMBER';
|
import ZRANDMEMBER from './ZRANDMEMBER';
|
||||||
import ZRANGE from './ZRANGE';
|
import ZRANGE from './ZRANGE';
|
||||||
import ZRANGEBYLEX from './ZRANGEBYLEX';
|
import ZRANGEBYLEX from './ZRANGEBYLEX';
|
||||||
|
import ZRANGEBYSCORE_WITHSCORES from './ZRANGEBYSCORE_WITHSCORES';
|
||||||
import ZRANGEBYSCORE from './ZRANGEBYSCORE';
|
import ZRANGEBYSCORE from './ZRANGEBYSCORE';
|
||||||
import ZREMRANGEBYSCORE from './ZREMRANGEBYSCORE';
|
import ZREMRANGEBYSCORE from './ZREMRANGEBYSCORE';
|
||||||
import ZRANK from './ZRANK';
|
import ZRANK from './ZRANK';
|
||||||
@@ -596,6 +598,8 @@ export default {
|
|||||||
xTrim: XTRIM,
|
xTrim: XTRIM,
|
||||||
XLEN,
|
XLEN,
|
||||||
xLen: XLEN,
|
xLen: XLEN,
|
||||||
|
ZADD_INCR,
|
||||||
|
zAddIncr: ZADD_INCR,
|
||||||
ZADD,
|
ZADD,
|
||||||
zAdd: ZADD,
|
zAdd: ZADD,
|
||||||
ZCARD,
|
ZCARD,
|
||||||
@@ -632,6 +636,8 @@ export default {
|
|||||||
zRange: ZRANGE,
|
zRange: ZRANGE,
|
||||||
ZRANGEBYLEX,
|
ZRANGEBYLEX,
|
||||||
zRangeByLex: ZRANGEBYLEX,
|
zRangeByLex: ZRANGEBYLEX,
|
||||||
|
ZRANGEBYSCORE_WITHSCORES,
|
||||||
|
zRangeByScoreWithScores: ZRANGEBYSCORE_WITHSCORES,
|
||||||
ZRANGEBYSCORE,
|
ZRANGEBYSCORE,
|
||||||
zRangeByScore: ZRANGEBYSCORE,
|
zRangeByScore: ZRANGEBYSCORE,
|
||||||
ZRANK,
|
ZRANK,
|
||||||
|
Reference in New Issue
Block a user