json-schema-traverse

WebJar for json-schema-traverse

Лицензия

Лицензия

MIT
Категории

Категории

JSON Данные
Группа

Группа

org.webjars.npm
Идентификатор

Идентификатор

json-schema-traverse
Последняя версия

Последняя версия

1.0.0
Дата

Дата

Тип

Тип

jar
Описание

Описание

json-schema-traverse
WebJar for json-schema-traverse
Ссылка на сайт

Ссылка на сайт

https://www.webjars.org
Система контроля версий

Система контроля версий

https://github.com/epoberezkin/json-schema-traverse

Скачать json-schema-traverse

Как подключить последнюю версию

<!-- https://jarcasting.com/artifacts/org.webjars.npm/json-schema-traverse/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>json-schema-traverse</artifactId>
    <version>1.0.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/json-schema-traverse/
implementation 'org.webjars.npm:json-schema-traverse:1.0.0'
// https://jarcasting.com/artifacts/org.webjars.npm/json-schema-traverse/
implementation ("org.webjars.npm:json-schema-traverse:1.0.0")
'org.webjars.npm:json-schema-traverse:jar:1.0.0'
<dependency org="org.webjars.npm" name="json-schema-traverse" rev="1.0.0">
  <artifact name="json-schema-traverse" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='json-schema-traverse', version='1.0.0')
)
libraryDependencies += "org.webjars.npm" % "json-schema-traverse" % "1.0.0"
[org.webjars.npm/json-schema-traverse "1.0.0"]

Зависимости

Библиотека не имеет зависимостей. Это самодостаточное приложение, которое не зависит ни от каких других библиотек.

Модули Проекта

Данный проект не имеет модулей.

json-schema-traverse

Traverse JSON Schema passing each schema object to callback

build npm coverage

Install

npm install json-schema-traverse

Usage

const traverse = require('json-schema-traverse');
const schema = {
  properties: {
    foo: {type: 'string'},
    bar: {type: 'integer'}
  }
};

traverse(schema, {cb});
// cb is called 3 times with:
// 1. root schema
// 2. {type: 'string'}
// 3. {type: 'integer'}

// Or:

traverse(schema, {cb: {pre, post}});
// pre is called 3 times with:
// 1. root schema
// 2. {type: 'string'}
// 3. {type: 'integer'}
//
// post is called 3 times with:
// 1. {type: 'string'}
// 2. {type: 'integer'}
// 3. root schema

Callback function cb is called for each schema object (not including draft-06 boolean schemas), including the root schema, in pre-order traversal. Schema references ($ref) are not resolved, they are passed as is. Alternatively, you can pass a {pre, post} object as cb, and then pre will be called before traversing child elements, and post will be called after all child elements have been traversed.

Callback is passed these parameters:

  • schema: the current schema object
  • JSON pointer: from the root schema to the current schema object
  • root schema: the schema passed to traverse object
  • parent JSON pointer: from the root schema to the parent schema object (see below)
  • parent keyword: the keyword inside which this schema appears (e.g. properties, anyOf, etc.)
  • parent schema: not necessarily parent object/array; in the example above the parent schema for {type: 'string'} is the root schema
  • index/property: index or property name in the array/object containing multiple schemas; in the example above for {type: 'string'} the property name is 'foo'

Traverse objects in all unknown keywords

const traverse = require('json-schema-traverse');
const schema = {
  mySchema: {
    minimum: 1,
    maximum: 2
  }
};

traverse(schema, {allKeys: true, cb});
// cb is called 2 times with:
// 1. root schema
// 2. mySchema

Without option allKeys: true callback will be called only with root schema.

Enterprise support

json-schema-traverse package is a part of Tidelift enterprise subscription - it provides a centralised commercial support to open-source software users, in addition to the support provided by software maintainers.

Security contact

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure. Please do NOT report security vulnerability via GitHub issues.

License

MIT

Версии библиотеки

Версия
1.0.0
0.5.0
0.4.1
0.3.1
0.3.0