@json-schema-tools/traverse
TypeScript icon, indicating that this package has built-in type declarations

1.11.0 • Public • Published

JSON Schema Traverse

CircleCI branch npm GitHub release GitHub commits since latest release

This package exports a method that will traverse a JSON-Schema, calling a "mutation" function for each sub schema found. It is useful for building tools to work with JSON Schemas.

Features

  • circular reference detection & handling
  • synchronous - doesn't touch the filesystem or make network requests.
  • easily perform schema mutations while traversing
  • optional mutability (toggle updating original schema object)
  • returns JSONPaths as it traverses

Getting Started

npm install @json-schema-tools/traverse
const traverse = require("@json-schema-tools/traverse").default;
//import traverse from "@json-schema-tools/traverse"

const mySchema = {
  title: "baz",
  type: "object",
  properties: {
    foo: {
      title: "foo",
      type: "array",
      items: { type: "string" }
    },
    bar: {
      title: "bar",
      anyOf: [
        { title: "stringerific", type: "string" },
        { title: "numberoo", type: "number" }
      ]
    }
  }
};

traverse(mySchema, (schemaOrSubschema) => {
  console.log(schemaOrSubschema.title);
});

API Docs

https://json-schema-tools.github.io/traverse/

Contributing

How to contribute, build and release are outlined in CONTRIBUTING.md, BUILDING.md and RELEASING.md respectively. Commits in this repository follow the CONVENTIONAL_COMMITS.md specification.

Dependencies (0)

    Dev Dependencies (10)

    Package Sidebar

    Install

    npm i @json-schema-tools/traverse

    Weekly Downloads

    48,618

    Version

    1.11.0

    License

    Apache-2.0

    Unpacked Size

    27.6 kB

    Total Files

    7

    Last publish

    Collaborators

    • belfordz