insertAllBefore method

  1. @override
void insertAllBefore(
  1. Iterable<Node> nodes,
  2. Node? before
)
inherited

Implementation

@override
void insertAllBefore(Iterable<Node> nodes, Node? before) {
  var previous = before == null ? lastChild : before.previousNode;
  var isFirstIteration = true;
  for (var node in nodes) {
    if (isFirstIteration) {
      _markDirty();
      isFirstIteration = false;
    }
    if (node.parentNode != null) {
      node.remove();
    }
    if (previous == null) {
      _firstChild = node;
    } else {
      previous._nextNode = node;
    }
    node._parent = this;
    previous = node;
  }
  previous!._nextNode = before;
}