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

    Install

    npm i estree-parent

    DownloadsWeekly Downloads

    3

    Version

    0.3.1

    License

    MIT

    Last publish

    Collaborators

    • jamen