41 lines
1.3 KiB
JavaScript
41 lines
1.3 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.transformReply = exports.transformArguments = exports.FIRST_KEY_INDEX = void 0;
|
|
const generic_transformers_1 = require("./generic-transformers");
|
|
exports.FIRST_KEY_INDEX = 1;
|
|
function transformArguments(dst, src, min, max, options) {
|
|
const args = [
|
|
'ZRANGESTORE',
|
|
dst,
|
|
src,
|
|
(0, generic_transformers_1.transformStringNumberInfinityArgument)(min),
|
|
(0, generic_transformers_1.transformStringNumberInfinityArgument)(max)
|
|
];
|
|
switch (options?.BY) {
|
|
case 'SCORE':
|
|
args.push('BYSCORE');
|
|
break;
|
|
case 'LEX':
|
|
args.push('BYLEX');
|
|
break;
|
|
}
|
|
if (options?.REV) {
|
|
args.push('REV');
|
|
}
|
|
if (options?.LIMIT) {
|
|
args.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString());
|
|
}
|
|
if (options?.WITHSCORES) {
|
|
args.push('WITHSCORES');
|
|
}
|
|
return args;
|
|
}
|
|
exports.transformArguments = transformArguments;
|
|
function transformReply(reply) {
|
|
if (typeof reply !== 'number') {
|
|
throw new TypeError(`Upgrade to Redis 6.2.5 and up (https://github.com/redis/redis/pull/9089)`);
|
|
}
|
|
return reply;
|
|
}
|
|
exports.transformReply = transformReply;
|