src/adapt.js
function traverseDescendants (nodes, handler) {
  nodes.forEach((node) => {
    var progress = true
    handler(node, () => progress = false)
    if (node.childTags && progress) {
      traverseDescendants(node.childTags, handler)
    }
  })
}
function traverseDescendants (nodes, handler) {
  nodes.forEach((node) => {
    var progress = true
    handler(node, () => progress = false)
    if (node.childTags && progress) {
      traverseDescendants(node.childTags, handler)
    }
  })
}
function traverseDescendants ( nodes , handler ) { nodes . forEach ( ( node ) => { var progress = true handler ( node , ( ) => progress = false ) if ( node . childTags && progress ) { traverseDescendants ( node . childTags , handler ) } } ) }
Walking recursive to invoke callbacks

@param {Array.<HTMLElement>} nodes   - [description]
@param {Function}            handler - [description]
Walking recursive to invoke callbacks