range-iterator

ES6 Iterator that iterates over the Nodes of a Range

range-iterator

$ npm install range-iterator
import RangeIterator from 'range-iterator';
 
let range = document.createRange();
range.selectNodeContents(document.body);
 
// Iterate over all TextNodes and BR elements within the Range selection 
let iterator = RangeIterator(range, NodeFilter.SHOW_ALL, function (node) {
  return node.nodeType === Node.TEXT_NODE || node.nodeName === 'BR';
})
 
let node;
for (node of iterator) {
  // do something with Node `node` 
  console.log(node);
}