Narnia's Psychedelic Mushrooms
Have ideas to improve npm?Join in the discussion! »

ast-get-values-by-key
TypeScript icon, indicating that this package has built-in type declarations

3.0.6 • Public • Published

ast-get-values-by-key

Extract values and paths from AST by keys OR set them by keys

Install

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 and examples.

Contributing

To report bugs or request features or assistance, raise an issue on GitHub.

Licence

MIT License

Copyright (c) 2010-2021 Roy Revelt and other contributors

ok codsen star

Install

npm i ast-get-values-by-key

DownloadsWeekly Downloads

1,508

Version

3.0.6

License

MIT

Unpacked Size

97.6 kB

Total Files

14

Last publish

Collaborators

  • avatar