README
ast-get-values-by-key
Extract values and paths from AST by keys OR set them by keys
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, 3.1.0
.
npm i ast-get-values-by-key
Quick Take
import { strict as assert } from "assert";
import { getByKey } from "ast-get-values-by-key";
// GETTER
// ======
// returns "object-path" notation paths where arrays use dots:
assert.deepEqual(
getByKey(
{
parsed: [
{
tag: "html",
},
],
},
"tag" // value to search for
),
[{ val: "html", path: "parsed.0.tag" }]
);
// SETTER
// ======
assert.deepEqual(
getByKey(
{
parsed: [
{
tag: "html",
},
],
foo: {
tag: null,
},
bar: {
tag: null,
},
},
"tag", // value to search for
[123, 456] // pot of values to pick from (one result not enough)
),
{
parsed: [
{
tag: 123,
},
],
foo: {
tag: 456,
},
bar: {
tag: null, // value pot was depleted and there was nothing left to put here
},
}
);
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