estree-parent
Get parent of an ESTree node
var parent = var esprima = // Get source and node somehow:var source = esprimavar node = // Get parent:// SwitchStatement { ... }
It uses a WeakMap
cache behind the scenes to make repeated use faster
Installation
$ npm install --save estree-parent
Usage
parent(node, source)
Get parent the parent of a node
node
(ESTreeNode
): Node you are getting parent ofsource
(ESTreeNode
): Node with children (e.g.Program
) that containsnode
Returns null
if node was not found in the tree
// FunctionDeclaration { ... } // node.parent || null
parent.ancestors(node, source)
Get an array of ancestor nodes from parent
up to source
.
node
(EStreeNode
): Node you are getting ancestors ofsource
(ESTreeNode
): Node with children that containsnode
parent// [ ReturnStatement { ... },// SwitchCase { ... },// BlockExpression { ... },// SwitchStatement { ... },// .....// Program { ... } ]
License
MIT © Jamen Marz