5 var visitParents = require('unist-util-visit-parents')
7 var CONTINUE = visitParents.CONTINUE
8 var SKIP = visitParents.SKIP
9 var EXIT = visitParents.EXIT
11 visit.CONTINUE = CONTINUE
15 function visit(tree, test, visitor, reverse) {
16 if (typeof test === 'function' && typeof visitor !== 'function') {
22 visitParents(tree, test, overload, reverse)
24 function overload(node, parents) {
25 var parent = parents[parents.length - 1]
26 var index = parent ? parent.children.indexOf(node) : null
27 return visitor(node, index, parent)