0.2.2 • Published 8 years ago
json-schema-compare v0.2.2
json-schema-compare

Compare json schemas correctly
npm install json-schema-compare --savevar compare = require('json-schema-compare')
var isEqual = compare({
title: 'title 1',
type: ['object'],
uniqueItems: false,
dependencies: {
name: ['age', 'lastName']
},
required: ['name', 'age', 'name']
}, {
title: 'title 2',
type: 'object',
required: ['age', 'name'],
dependencies: {
name: ['lastName', 'age']
},
properties: {
name: {
minLength: 0
}
}
}, {
ignore: ['title']
})
console.log(isEqual) // => trueCompare json schemas correctly.
- Ignores sort for arrays where sort does not matter, like required, enum, type, anyOf, oneOf, anyOf, dependencies (if array)
- Compares correctly type when array or string
- Ignores duplicate values before comparing
- For schemas and sub schemas
undefined,trueand{}are equal - For minLength, minItems and minProperties
undefinedand0are equal - For uniqueItems,
undefinedandfalseare equal
Options
ignore array - default: []
Ignores certain keywords, useful to exclude meta keywords like title, description etc or custom keywords. If all you want to know if they are the same in terms of validation keywords.
Contributing
Create tests for new functionality and follow the eslint rules.
License
MIT © Martin Hansen