"use strict"; exports.__esModule = true; var position_1 = require("../factories/position"); var sequence_1 = require("../factories/sequence"); var sequence_item_1 = require("../factories/sequence-item"); var extract_comments_1 = require("../utils/extract-comments"); var extract_prop_comments_1 = require("../utils/extract-prop-comments"); var get_last_1 = require("../utils/get-last"); function transformSeq(seq, context) { var cstItemsWithoutComments = extract_comments_1.extractComments(seq.cstNode.items, context); var sequenceItems = cstItemsWithoutComments.map(function (cstItem, index) { extract_prop_comments_1.extractPropComments(cstItem, context); var item = context.transformNode(seq.items[index]); return sequence_item_1.createSequenceItem(position_1.createPosition(context.transformOffset(cstItem.valueRange.origStart), item === null ? context.transformOffset(cstItem.valueRange.origStart + 1) : item.position.end), item); }); return sequence_1.createSequence(position_1.createPosition(sequenceItems[0].position.start, get_last_1.getLast(sequenceItems).position.end), context.transformContent(seq), sequenceItems); } exports.transformSeq = transformSeq;