1234567891011121314151617181920212223242526272829 |
- 'use strict'
- module.exports = visit
- var visitParents = require('unist-util-visit-parents')
- var CONTINUE = visitParents.CONTINUE
- var SKIP = visitParents.SKIP
- var EXIT = visitParents.EXIT
- visit.CONTINUE = CONTINUE
- visit.SKIP = SKIP
- visit.EXIT = EXIT
- function visit(tree, test, visitor, reverse) {
- if (typeof test === 'function' && typeof visitor !== 'function') {
- reverse = visitor
- visitor = test
- test = null
- }
- visitParents(tree, test, overload, reverse)
- function overload(node, parents) {
- var parent = parents[parents.length - 1]
- var index = parent ? parent.children.indexOf(node) : null
- return visitor(node, index, parent)
- }
- }
|