1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-07 13:22:56 +03:00

fix ZRANGEBYLEX

This commit is contained in:
dovi
2023-05-02 18:01:45 -04:00
parent 28d8215b6d
commit a5344946b6
4 changed files with 66 additions and 62 deletions

View File

@@ -1,33 +1,36 @@
// import { strict as assert } from 'assert';
// import testUtils, { GLOBAL } from '../test-utils';
// import { transformArguments } from './ZRANGEBYLEX';
import { strict as assert } from 'assert';
import testUtils, { GLOBAL } from '../test-utils';
import ZRANGEBYLEX from './ZRANGEBYLEX';
// describe('ZRANGEBYLEX', () => {
// describe('transformArguments', () => {
// it('simple', () => {
// assert.deepEqual(
// transformArguments('src', '-', '+'),
// ['ZRANGEBYLEX', 'src', '-', '+']
// );
// });
describe('ZRANGEBYLEX', () => {
describe('transformArguments', () => {
it('simple', () => {
assert.deepEqual(
ZRANGEBYLEX.transformArguments('src', '-', '+'),
['ZRANGEBYLEX', 'src', '-', '+']
);
});
// it('with LIMIT', () => {
// assert.deepEqual(
// transformArguments('src', '-', '+', {
// LIMIT: {
// offset: 0,
// count: 1
// }
// }),
// ['ZRANGEBYLEX', 'src', '-', '+', 'LIMIT', '0', '1']
// );
// });
// });
it('with LIMIT', () => {
assert.deepEqual(
ZRANGEBYLEX.transformArguments('src', '-', '+', {
LIMIT: {
offset: 0,
count: 1
}
}),
['ZRANGEBYLEX', 'src', '-', '+', 'LIMIT', '0', '1']
);
});
});
// testUtils.testWithClient('client.zRangeByLex', async client => {
// assert.deepEqual(
// await client.zRangeByLex('src', '-', '+'),
// []
// );
// }, GLOBAL.SERVERS.OPEN);
// });
testUtils.testAll('zRangeByLex', async client => {
assert.deepEqual(
await client.zRangeByLex('src', '-', '+'),
[]
);
}, {
client: GLOBAL.SERVERS.OPEN,
cluster: GLOBAL.CLUSTERS.OPEN
});
});

View File

@@ -1,35 +1,34 @@
// import { RedisCommandArgument, RedisCommandArguments } from '.';
// import { transformStringDoubleArgument } from './generic-transformers';
import { RedisArgument, ArrayReply, BlobStringReply, Command } from '../RESP/types';
import { transformStringDoubleArgument } from './generic-transformers';
// export const FIRST_KEY_INDEX = 1;
export interface ZRangeByLexOptions {
LIMIT?: {
offset: number;
count: number;
};
}
// export const IS_READ_ONLY = true;
export default {
FIRST_KEY_INDEX: 1,
IS_READ_ONLY: true,
transformArguments(
key: RedisArgument,
min: RedisArgument,
max: RedisArgument,
options?: ZRangeByLexOptions
) {
const args = [
'ZRANGEBYLEX',
key,
transformStringDoubleArgument(min),
transformStringDoubleArgument(max)
];
// export interface ZRangeByLexOptions {
// LIMIT?: {
// offset: number;
// count: number;
// };
// }
if (options?.LIMIT) {
args.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString());
}
// export function transformArguments(
// key: RedisCommandArgument,
// min: RedisCommandArgument,
// max: RedisCommandArgument,
// options?: ZRangeByLexOptions
// ): RedisCommandArguments {
// const args = [
// 'ZRANGEBYLEX',
// key,
// transformStringDoubleArgument(min),
// transformStringDoubleArgument(max)
// ];
// if (options?.LIMIT) {
// args.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString());
// }
// return args;
// }
// export declare function transformReply(): Array<RedisCommandArgument>;
return args;
},
transformReply: undefined as unknown as () => ArrayReply<BlobStringReply>
} as const satisfies Command;

View File

@@ -165,6 +165,7 @@ import ZRANDMEMBER_COUNT_WITHSCORES from './ZRANDMEMBER_COUNT_WITHSCORES';
import ZRANDMEMBER_COUNT from './ZRANDMEMBER_COUNT';
import ZRANDMEMBER from './ZRANDMEMBER';
import ZRANGE from './ZRANGE';
import ZRANGEBYLEX from './ZRANGEBYLEX';
import ZRANGEBYSCORE from './ZRANGEBYSCORE';
import ZRANK from './ZRANK';
import ZREM from './ZREM';
@@ -511,6 +512,8 @@ export default {
zRandMember: ZRANDMEMBER,
ZRANGE,
zRange: ZRANGE,
ZRANGEBYLEX,
zRangeByLex: ZRANGEBYLEX,
ZRANGEBYSCORE,
zRangeByScore: ZRANGEBYSCORE,
ZRANK,

View File

@@ -13,7 +13,6 @@
# waiting List
- `ZRANGEBYSCORE.ts`
- `ZRANGEBYLEX.ts`
- `ZREMRANGEBYLEX.ts`
- `ZREMRANGEBYRANK.ts`