ast-monkey-traverse
Utility library to traverse AST
Install
The latest version is ESM only: Node 12+ is needed to use it and it must be import
ed instead of require
d. If your project is not on ESM yet and you want to use require
, use an older version of this program, 2.1.0
.
npm i ast-monkey-traverse
Quick Take
import { strict as assert } from "assert";
import { traverse } from "ast-monkey-traverse";
const paths = [];
const source = {
a: {
foo: {
bar: [
{
foo: "c",
},
],
d: {
e: {
foo: "f",
},
},
},
},
};
traverse(source, (key, val, innerObj) => {
let current = val !== undefined ? val : key;
if (
val !== undefined &&
key === "foo"
) {
paths.push(innerObj.path);
}
return current;
});
assert.deepEqual(paths, ["a.foo", "a.foo.bar.0.foo", "a.foo.d.e.foo"]);
Documentation
Please visit codsen.com for a full description of the API.
Contributing
To report bugs or request features or assistance, raise an issue on GitHub.
Licence
MIT License
Copyright (c) 2010-2022 Roy Revelt and other contributors