seq.js 1.2 KB

1234567891011121314151617181920
  1. "use strict";
  2. exports.__esModule = true;
  3. var position_1 = require("../factories/position");
  4. var sequence_1 = require("../factories/sequence");
  5. var sequence_item_1 = require("../factories/sequence-item");
  6. var extract_comments_1 = require("../utils/extract-comments");
  7. var extract_prop_comments_1 = require("../utils/extract-prop-comments");
  8. var get_last_1 = require("../utils/get-last");
  9. function transformSeq(seq, context) {
  10. var cstItemsWithoutComments = extract_comments_1.extractComments(seq.cstNode.items, context);
  11. var sequenceItems = cstItemsWithoutComments.map(function (cstItem, index) {
  12. extract_prop_comments_1.extractPropComments(cstItem, context);
  13. var item = context.transformNode(seq.items[index]);
  14. return sequence_item_1.createSequenceItem(position_1.createPosition(context.transformOffset(cstItem.valueRange.origStart), item === null
  15. ? context.transformOffset(cstItem.valueRange.origStart + 1)
  16. : item.position.end), item);
  17. });
  18. return sequence_1.createSequence(position_1.createPosition(sequenceItems[0].position.start, get_last_1.getLast(sequenceItems).position.end), context.transformContent(seq), sequenceItems);
  19. }
  20. exports.transformSeq = transformSeq;