ZRANGESTORE.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.transformReply = exports.transformArguments = exports.FIRST_KEY_INDEX = void 0;
  4. const generic_transformers_1 = require("./generic-transformers");
  5. exports.FIRST_KEY_INDEX = 1;
  6. function transformArguments(dst, src, min, max, options) {
  7. const args = [
  8. 'ZRANGESTORE',
  9. dst,
  10. src,
  11. (0, generic_transformers_1.transformStringNumberInfinityArgument)(min),
  12. (0, generic_transformers_1.transformStringNumberInfinityArgument)(max)
  13. ];
  14. switch (options?.BY) {
  15. case 'SCORE':
  16. args.push('BYSCORE');
  17. break;
  18. case 'LEX':
  19. args.push('BYLEX');
  20. break;
  21. }
  22. if (options?.REV) {
  23. args.push('REV');
  24. }
  25. if (options?.LIMIT) {
  26. args.push('LIMIT', options.LIMIT.offset.toString(), options.LIMIT.count.toString());
  27. }
  28. if (options?.WITHSCORES) {
  29. args.push('WITHSCORES');
  30. }
  31. return args;
  32. }
  33. exports.transformArguments = transformArguments;
  34. function transformReply(reply) {
  35. if (typeof reply !== 'number') {
  36. throw new TypeError(`Upgrade to Redis 6.2.5 and up (https://github.com/redis/redis/pull/9089)`);
  37. }
  38. return reply;
  39. }
  40. exports.transformReply = transformReply;