- return {node1: parents1[i], node2: parents2[i]};
- },
-
- _wrapText: function(params) {
- params = _.extend({textNodeIdx: 0}, params);
- if(typeof params.textNodeIdx === 'number') {
- params.textNodeIdx = [params.textNodeIdx];
- }
-
- var contentsInside = params.inside.contents(),
- idx1 = Math.min.apply(Math, params.textNodeIdx),
- idx2 = Math.max.apply(Math, params.textNodeIdx),
- textNode1 = contentsInside[idx1],
- textNode2 = contentsInside[idx2],
- sameNode = textNode1.sameNode(textNode2),
- prefixOutside = textNode1.getText().substr(0, params.offsetStart),
- prefixInside = textNode1.getText().substr(params.offsetStart),
- suffixInside = textNode2.getText().substr(0, params.offsetEnd),
- suffixOutside = textNode2.getText().substr(params.offsetEnd)
- ;
-
- if(!(textNode1.parent().sameNode(textNode2.parent()))) {
- throw new Error('Wrapping text in non-sibling text nodes not supported.');