json-schema-to-flow-type
Advanced tools
Comparing version 0.2.5 to 0.2.6
@@ -14,2 +14,6 @@ 'use strict'; | ||
var _assert = require('assert'); | ||
var _assert2 = _interopRequireDefault(_assert); | ||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } | ||
@@ -103,3 +107,17 @@ | ||
if (schema.allOf) { | ||
const patchedSchema = _lodash2.default.reduce(schema.allOf, (prev, item) => _lodash2.default.assign(prev, item), _lodash2.default.omit(schema, ['allOf', '$ref'])); | ||
const patchedSchema = _lodash2.default.reduce(schema.allOf, (prev, item) => _lodash2.default.mergeWith(prev, item, (mergedValue, newValue, key) => { | ||
if (_lodash2.default.isNil(mergedValue)) { | ||
return; | ||
} | ||
if (key === '$required') { | ||
return _lodash2.default.uniq(mergedValue.concat(newValue)); // eslint-disable-line consistent-return | ||
} | ||
if (_lodash2.default.isPlainObject(mergedValue)) { | ||
if (!_lodash2.default.isPlainObject(newValue)) { | ||
throw new Error(`Failed to merge "allOf" schemas because "${ key }" has different values.`); | ||
} | ||
return; | ||
} | ||
_assert2.default.deepEqual(mergedValue, newValue, `Failed to merge "allOf" schemas because "${ key }" has different values: ${ JSON.stringify(mergedValue) } and ${ JSON.stringify(newValue) }.`); | ||
}), _lodash2.default.omit(schema, ['allOf', '$ref'])); | ||
@@ -106,0 +124,0 @@ return convertSchema(patchedSchema); |
{ | ||
"name": "json-schema-to-flow-type", | ||
"version": "0.2.5", | ||
"version": "0.2.6", | ||
"ava": { | ||
@@ -22,3 +22,3 @@ "files": [ | ||
"@morlay/eslint-config": "3.0.x", | ||
"ava": "0.17.x", | ||
"ava": "^0.19.0", | ||
"babel-cli": "6.18.x", | ||
@@ -25,0 +25,0 @@ "babel-core": "6.18.x", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
15375
251