parseKeyDef.js 690 B

1234567891011121314151617181920212223
  1. 'use strict';
  2. require('../utils/dataTransfer/Clipboard.js');
  3. var readNextDescriptor = require('../utils/keyDef/readNextDescriptor.js');
  4. function parseKeyDef(pointerMap, keys) {
  5. const defs = [];
  6. do {
  7. const { descriptor, consumedLength, releasePrevious, releaseSelf = true } = readNextDescriptor.readNextDescriptor(keys, 'pointer');
  8. const keyDef = pointerMap.find((p)=>p.name === descriptor);
  9. if (keyDef) {
  10. defs.push({
  11. keyDef,
  12. releasePrevious,
  13. releaseSelf
  14. });
  15. }
  16. keys = keys.slice(consumedLength);
  17. }while (keys)
  18. return defs;
  19. }
  20. exports.parseKeyDef = parseKeyDef;