estree-parent

0.3.1 • Public • Published

estree-parent

Get parent of an ESTree node

var parent = require('estree-parent')
var esprima = require('esprima')
 
// Get source and node somehow:
var source = esprima.parse(/* ... */)
var node = getNodeSomehow(source)
 
// Get parent:
parent(node, source)
// 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 (ESTree Node): Node you are getting parent of
  • source (ESTree Node): Node with children (e.g. Program) that contains node

Returns null if node was not found in the tree

parent(node, source)
// FunctionDeclaration { ... }
 
parent(node)
// node.parent || null

parent.ancestors(node, source)

Get an array of ancestor nodes from parent up to source.

  • node (EStree Node): Node you are getting ancestors of
  • source (ESTree Node): Node with children that contains node
parent.ancestors(node, source)
// [ ReturnStatement { ... },
//   SwitchCase { ... },
//   BlockExpression { ... },
//   SwitchStatement { ... },
//   .....
//   Program { ... } ]

License

MIT © Jamen Marz


version travis downloads license follow

Package Sidebar

Install

npm i estree-parent

Weekly Downloads

0

Version

0.3.1

License

MIT

Last publish

Collaborators

  • jamen