[!CAUTION]
This package has been migrated to JS-X-Ray workspaces
estree-ast-utils
Utilities for AST (ESTree compliant)
Getting Started
This package is available in the Node Package Repository and can be easily installed with npm or yarn.
$ npm i @nodesecure/estree-ast-utils
# or
$ yarn add @nodesecure/estree-ast-utils
Usage example
import { VariableTracer } from "@nodesecure/estree-ast-utils";
const tracer = new VariableTracer().enableDefaultTracing();
const data = tracer.getDataFromIdentifier("identifier...here");
console.log(data);
API
arrayExpressionToString(node): IterableIterator< string >
Translate an ESTree ArrayExpression into an iterable of Literal value.
```js
["foo", "bar"];
```
will return `"foo"` then `"bar"`.
concatBinaryExpression(node, options): IterableIterator< string >
Return all Literal part of a given Binary Expression.
```js
"foo" + "bar";
```
will return `"foo"` then `"bar"`.
One of the options of the method is `stopOnUnsupportedNode`, if true it will throw an Error if the left or right side of the Expr is not a supported type.
getCallExpressionIdentifier(node): string | null
Return the identifier name of the CallExpression (or null if there is none).
```js
foobar();
```
will return `"foobar"`.
getMemberExpressionIdentifier(node): IterableIterator< string >
Return the identifier name of the CallExpression (or null if there is none).
```js
foo.bar();
```
will return `"foo"` then `"bar"`.
getVariableDeclarationIdentifiers(node): IterableIterator< string >
Get all variables identifier name.
```js
const [foo, bar] = [1, 2];
```
will return `"foo"` then `"bar"`.
isLiteralRegex(node): boolean
Return `true` if the given Node is a Literal Regex Node.
```js
/^hello/g;
```
Contributors ✨
Thanks goes to these wonderful people (emoji key):
License
MIT