All files / lib/tasks parse-new-tree.js

100% Statements 36/36
100% Branches 4/4
100% Functions 1/1
100% Lines 36/36

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 372x 2x 2x 2x 2x 2x 2x 2x 693x 693x 693x 693x 693x 533x 533x 533x 533x 533x 533x 533x 533x 458x 458x 533x 533x 533x 533x 533x 533x 533x 533x 533x 533x 533x 533x 693x  
import parse from '../util/parse';
import createTree from '../tree/create';
import Transaction from '../transaction';
 
/**
 * @param {Transaction} transaction
 */
export default function parseNewTree(transaction) {
  const { state, input, config: options } = transaction;
  const { measure } = state;
  const { inner } = options;
 
  if (typeof input === 'string') {
    measure('parsing input for new tree');
 
    const { childNodes } = parse(input, undefined, options);
 
    let vTree;
 
    // If we are dealing with innerHTML, use all the Nodes.
    if (inner) {
      vTree = createTree(childNodes);
    }
    // If we are dealing with outerHTML, use the first element or the element
    // itself.
    else {
      vTree = createTree(childNodes);
    }
 
    if (vTree) {
      transaction.newTree = vTree;
    }
 
    measure('parsing input for new tree');
  }
}