json-schema-traverse
Advanced tools
Comparing version 0.0.1 to 0.1.0
{ | ||
"name": "json-schema-traverse", | ||
"version": "0.0.1", | ||
"version": "0.1.0", | ||
"description": "Traverse JSON Schema passing each schema object to callback", | ||
"main": "index.js", | ||
"scripts": { | ||
"test": "echo \"Error: no test specified\" && exit 1" | ||
"eslint": "eslint index.js spec", | ||
"test-spec": "mocha spec -R spec", | ||
"test": "npm run eslint && nyc npm run test-spec" | ||
}, | ||
@@ -23,3 +25,20 @@ "repository": { | ||
}, | ||
"homepage": "https://github.com/epoberezkin/json-schema-traverse#readme" | ||
"homepage": "https://github.com/epoberezkin/json-schema-traverse#readme", | ||
"devDependencies": { | ||
"coveralls": "^2.13.1", | ||
"eslint": "^3.19.0", | ||
"mocha": "^3.4.2", | ||
"nyc": "^11.0.2", | ||
"pre-commit": "^1.2.2" | ||
}, | ||
"nyc": { | ||
"exclude": [ | ||
"**/spec/**", | ||
"node_modules" | ||
], | ||
"reporter": [ | ||
"lcov", | ||
"text-summary" | ||
] | ||
} | ||
} |
# json-schema-traverse | ||
Traverse JSON Schema passing each schema object to callback | ||
[![Build Status](https://travis-ci.org/epoberezkin/json-schema-traverse.svg?branch=master)](https://travis-ci.org/epoberezkin/json-schema-traverse) | ||
[![npm version](https://badge.fury.io/js/json-schema-traverse.svg)](https://www.npmjs.com/package/json-schema-traverse) | ||
[![Coverage Status](https://coveralls.io/repos/github/epoberezkin/json-schema-traverse/badge.svg?branch=master)](https://coveralls.io/github/epoberezkin/json-schema-traverse?branch=master) | ||
## Install | ||
``` | ||
npm install json-schema-traverse | ||
``` | ||
## Usage | ||
```javascript | ||
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'} | ||
``` | ||
Callback function is called for each schema object (not including draft-06 boolean schemas), including the root schema. Schema references ($ref) are not resolved, they are passed as is. | ||
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 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'` | ||
## License | ||
[MIT](https://github.com/epoberezkin/json-schema-traverse/blob/master/LICENSE) |
Sorry, the diff of this file is not supported yet
Empty package
Supply chain riskPackage does not contain any code. It may be removed, is name squatting, or the result of a faulty package publish.
Found 1 instance in 1 package
No tests
QualityPackage does not have any tests. This is a strong signal of a poorly maintained or low quality package.
Found 1 instance in 1 package
12728
10
175
1
49
0
5