BITFIELD.js 962 B

12345678910111213141516171819202122232425
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.transformArguments = exports.FIRST_KEY_INDEX = void 0;
  4. exports.FIRST_KEY_INDEX = 1;
  5. function transformArguments(key, operations) {
  6. const args = ['BITFIELD', key];
  7. for (const options of operations) {
  8. switch (options.operation) {
  9. case 'GET':
  10. args.push('GET', options.encoding, options.offset.toString());
  11. break;
  12. case 'SET':
  13. args.push('SET', options.encoding, options.offset.toString(), options.value.toString());
  14. break;
  15. case 'INCRBY':
  16. args.push('INCRBY', options.encoding, options.offset.toString(), options.increment.toString());
  17. break;
  18. case 'OVERFLOW':
  19. args.push('OVERFLOW', options.behavior);
  20. break;
  21. }
  22. }
  23. return args;
  24. }
  25. exports.transformArguments = transformArguments;