packages/demos/bower_components/shadydom/shadydom.min.js
function _updateChildNodes(container, children) {
    var composed = tree.Composed.getChildNodes(container);
    var splices = calculateSplices(children, composed);
    // process removals
    for (var i=0, d=0, s; (i<splices.length) && (s=splices[i]); i++) {
      for (var j=0, n; (j < s.removed.length) && (n=s.removed[j]); j++) {
        // check if the node is still where we expect it is before trying
        // to remove it; this can happen if we move a node and
        // then schedule its previous host for distribution resulting in
        // the node being removed here.
        if (tree.Composed.getParentNode(n) === container) {
          tree.Composed.removeChild(container, n);
        }
        composed.splice(s.index + d, 1);
      }
      d -= s.addedCount;
    }
    // process adds
    for (var i$1=0, s$1, next; (i$1<splices.length) && (s$1=splices[i$1]); i$1++) { //eslint-disable-line no-redeclare
      next = composed[s$1.index];
      for (var j$1=s$1.index, n$1; j$1 < s$1.index + s$1.addedCount; j$1++) {
        n$1 = children[j$1];
        tree.Composed.insertBefore(container, n$1, next);
        // TODO(sorvell): is this splice strictly needed?
        composed.splice(j$1, 0, n$1);
      }
    }
  }
function _updateChildNodes(container, children) {
    var composed = tree.Composed.getChildNodes(container);
    var splices = calculateSplices(children, composed);
    // process removals
    for (var i=0, d=0, s; (i<splices.length) && (s=splices[i]); i++) {
      for (var j=0, n; (j < s.removed.length) && (n=s.removed[j]); j++) {
        // check if the node is still where we expect it is before trying
        // to remove it; this can happen if we move a node and
        // then schedule its previous host for distribution resulting in
        // the node being removed here.
        if (tree.Composed.getParentNode(n) === container) {
          tree.Composed.removeChild(container, n);
        }
        composed.splice(s.index + d, 1);
      }
      d -= s.addedCount;
    }
    // process adds
    for (var i$1=0, s$1, next; (i$1<splices.length) && (s$1=splices[i$1]); i$1++) { //eslint-disable-line no-redeclare
      next = composed[s$1.index];
      for (var j$1=s$1.index, n$1; j$1 < s$1.index + s$1.addedCount; j$1++) {
        n$1 = children[j$1];
        tree.Composed.insertBefore(container, n$1, next);
        // TODO(sorvell): is this splice strictly needed?
        composed.splice(j$1, 0, n$1);
      }
    }
  }
function _updateChildNodes ( container , children ) { var composed = tree . Composed . getChildNodes ( container ) ; var splices = calculateSplices ( children , composed ) ; // process removals for ( var i = 0 , d = 0 , s ; ( i < splices . length ) && ( s = splices [ i ] ) ; i ++ ) { for ( var j = 0 , n ; ( j < s . removed . length ) && ( n = s . removed [ j ] ) ; j ++ ) { // check if the node is still where we expect it is before trying // to remove it; this can happen if we move a node and // then schedule its previous host for distribution resulting in // the node being removed here. if ( tree . Composed . getParentNode ( n ) === container ) { tree . Composed . removeChild ( container , n ) ; } composed . splice ( s . index + d , 1 ) ; } d -= s . addedCount ; } // process adds for ( var i$1 = 0 , s$1 , next ; ( i$1 < splices . length ) && ( s$1 = splices [ i$1 ] ) ; i$1 ++ ) { //eslint-disable-line no-redeclare next = composed [ s$1 . index ] ; for ( var j$1 = s$1 . index , n$1 ; j$1 < s$1 . index + s$1 . addedCount ; j$1 ++ ) { n$1 = children [ j$1 ] ; tree . Composed . insertBefore ( container , n$1 , next ) ; // TODO(sorvell): is this splice strictly needed? composed . splice ( j$1 , 0 , n$1 ) ; } } }
Ensures that the rendered node list inside `container` is `children`.
Ensures that the rendered node list inside container is children .