ast-parents

Walks a JavaScript AST and adds a "parent" property to each node


Keywords
ast, walk, parents, node, syntax, parse
License
MIT
Install
npm install ast-parents@0.0.1

Documentation

ast-parents Flattr this!experimental

Walks a JavaScript AST, such as one supplied via esprima, and adds a parent property to each node.

Makes it much easier to navigate the AST, and the parent properties added here are non-enumerable so you can still serialize the tree to JSON without JSON.stringify throwing an error.

Usage

ast-parents

require('ast-parents')(ast)

Where ast is an AST object. For example:

var esprima = require('esprima')
var fs = require('fs')

var src = fs.readFileSync(__filename, 'utf8')
var ast = esprima.parse(src)

parents(ast)

ast.body[0].parent === ast.body

License

MIT. See LICENSE.md for details.