Socket
Socket
Sign inDemoInstall

json-schema-to-flow-type

Package Overview
Dependencies
Maintainers
3
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

json-schema-to-flow-type - npm Package Compare versions

Comparing version 0.2.5 to 0.2.6

20

lib/FlowSchema.js

@@ -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);

4

package.json
{
"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",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc