You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1751 lines
113 KiB

// This file is autogenerated by build-schema-validator.js, do not edit
function nop () { return true }
'use strict';
var formats = require('ajv/lib/compile/formats')();
var equal = require('ajv/lib/compile/equal');
var validate = (function() {
var refVal = [];
var refVal1 = {
"type": "integer",
"minimum": 0
};
refVal[1] = refVal1;
var refVal2 = (function() {
return function validate(data, dataPath, parentData, parentDataProperty, rootData) {
'use strict';
var vErrors = null;
var errors = 0;
var errs_1 = errors;
var errs_2 = errors;
if ((typeof data !== "number" || (data % 1) || data !== data)) {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + "",
schemaPath: '#/definitions/nonNegativeInteger/type',
params: {
type: 'integer'
},
message: 'should be integer'
}];
return false;
}
if (typeof data === "number") {
if (data < 0 || data !== data) {
validate.errors = [{
keyword: 'minimum',
dataPath: (dataPath || '') + "",
schemaPath: '#/definitions/nonNegativeInteger/minimum',
params: {
comparison: '>=',
limit: 0,
exclusive: false
},
message: 'should be >= 0'
}];
return false;
}
}
var valid2 = errors === errs_2;
var valid1 = errors === errs_1;
validate.errors = vErrors;
return errors === 0;
};
})();
refVal2.schema = {
"allOf": [{
"$ref": "#/definitions/nonNegativeInteger"
}, {
"default": 0
}]
};
refVal2.errors = null;
refVal[2] = refVal2;
var refVal3 = (function() {
return function validate(data, dataPath, parentData, parentDataProperty, rootData) {
'use strict';
var vErrors = null;
var errors = 0;
if (rootData === undefined) rootData = data;
if (Array.isArray(data)) {
if (data.length < 1) {
validate.errors = [{
keyword: 'minItems',
dataPath: (dataPath || '') + "",
schemaPath: '#/minItems',
params: {
limit: 1
},
message: 'should NOT have fewer than 1 items'
}];
return false;
} else {
var errs__0 = errors;
var valid0;
for (var i0 = 0; i0 < data.length; i0++) {
var errs_1 = errors;
if (!nop(data[i0], (dataPath || '') + '[' + i0 + ']', data, i0, rootData)) {
if (vErrors === null) vErrors = nop.errors;
else vErrors = vErrors.concat(nop.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
if (!valid1) break;
}
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + "",
schemaPath: '#/type',
params: {
type: 'array'
},
message: 'should be array'
}];
return false;
}
validate.errors = vErrors;
return errors === 0;
};
})();
refVal3.schema = {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#"
}
};
refVal3.errors = null;
refVal[3] = refVal3;
var refVal4 = {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"default": []
};
refVal[4] = refVal4;
var refVal5 = {
"enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
};
refVal[5] = refVal5;
return function validate(data, dataPath, parentData, parentDataProperty, rootData) {
'use strict'; /*# sourceURL=http://json-schema.org/draft-07/schema# */
var vErrors = null;
var errors = 0;
if (rootData === undefined) rootData = data;
if ((!data || typeof data !== "object" || Array.isArray(data)) && typeof data !== "boolean") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + "",
schemaPath: '#/type',
params: {
type: 'object,boolean'
},
message: 'should be object,boolean'
}];
return false;
}
if ((data && typeof data === "object" && !Array.isArray(data))) {
var errs__0 = errors;
var valid1 = true;
var data1 = data.$id;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (errors === errs_1) {
if (typeof data1 === "string") {
if (!formats['uri-reference'].test(data1)) {
validate.errors = [{
keyword: 'format',
dataPath: (dataPath || '') + '.$id',
schemaPath: '#/properties/%24id/format',
params: {
format: 'uri-reference'
},
message: 'should match format "uri-reference"'
}];
return false;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.$id',
schemaPath: '#/properties/%24id/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.$schema;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (errors === errs_1) {
if (typeof data1 === "string") {
if (!formats.uri.test(data1)) {
validate.errors = [{
keyword: 'format',
dataPath: (dataPath || '') + '.$schema',
schemaPath: '#/properties/%24schema/format',
params: {
format: 'uri'
},
message: 'should match format "uri"'
}];
return false;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.$schema',
schemaPath: '#/properties/%24schema/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.$ref;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (errors === errs_1) {
if (typeof data1 === "string") {
if (!formats['uri-reference'].test(data1)) {
validate.errors = [{
keyword: 'format',
dataPath: (dataPath || '') + '.$ref',
schemaPath: '#/properties/%24ref/format',
params: {
format: 'uri-reference'
},
message: 'should match format "uri-reference"'
}];
return false;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.$ref',
schemaPath: '#/properties/%24ref/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.$comment === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.$comment !== "string") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.$comment',
schemaPath: '#/properties/%24comment/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.title === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.title !== "string") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.title',
schemaPath: '#/properties/title/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.description === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.description !== "string") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.description',
schemaPath: '#/properties/description/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (valid1) {
if (data.readOnly === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.readOnly !== "boolean") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.readOnly',
schemaPath: '#/properties/readOnly/type',
params: {
type: 'boolean'
},
message: 'should be boolean'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.examples === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (Array.isArray(data.examples)) {
var errs__1 = errors;
var valid1;
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.examples',
schemaPath: '#/properties/examples/type',
params: {
type: 'array'
},
message: 'should be array'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.multipleOf;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data1 === "number") {
if (data1 <= 0 || data1 !== data1) {
validate.errors = [{
keyword: 'exclusiveMinimum',
dataPath: (dataPath || '') + '.multipleOf',
schemaPath: '#/properties/multipleOf/exclusiveMinimum',
params: {
comparison: '>',
limit: 0,
exclusive: true
},
message: 'should be > 0'
}];
return false;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.multipleOf',
schemaPath: '#/properties/multipleOf/type',
params: {
type: 'number'
},
message: 'should be number'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.maximum === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.maximum !== "number") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.maximum',
schemaPath: '#/properties/maximum/type',
params: {
type: 'number'
},
message: 'should be number'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.exclusiveMaximum === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.exclusiveMaximum !== "number") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.exclusiveMaximum',
schemaPath: '#/properties/exclusiveMaximum/type',
params: {
type: 'number'
},
message: 'should be number'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.minimum === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.minimum !== "number") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.minimum',
schemaPath: '#/properties/minimum/type',
params: {
type: 'number'
},
message: 'should be number'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.exclusiveMinimum === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.exclusiveMinimum !== "number") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.exclusiveMinimum',
schemaPath: '#/properties/exclusiveMinimum/type',
params: {
type: 'number'
},
message: 'should be number'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.maxLength;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
var errs_2 = errors;
if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.maxLength',
schemaPath: '#/definitions/nonNegativeInteger/type',
params: {
type: 'integer'
},
message: 'should be integer'
}];
return false;
}
if (typeof data1 === "number") {
if (data1 < 0 || data1 !== data1) {
validate.errors = [{
keyword: 'minimum',
dataPath: (dataPath || '') + '.maxLength',
schemaPath: '#/definitions/nonNegativeInteger/minimum',
params: {
comparison: '>=',
limit: 0,
exclusive: false
},
message: 'should be >= 0'
}];
return false;
}
}
var valid2 = errors === errs_2;
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.minLength === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!refVal2(data.minLength, (dataPath || '') + '.minLength', data, 'minLength', rootData)) {
if (vErrors === null) vErrors = refVal2.errors;
else vErrors = vErrors.concat(refVal2.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.pattern;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (errors === errs_1) {
if (typeof data1 === "string") {
if (!formats.regex(data1)) {
validate.errors = [{
keyword: 'format',
dataPath: (dataPath || '') + '.pattern',
schemaPath: '#/properties/pattern/format',
params: {
format: 'regex'
},
message: 'should match format "regex"'
}];
return false;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.pattern',
schemaPath: '#/properties/pattern/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.additionalItems === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.additionalItems, (dataPath || '') + '.additionalItems', data, 'additionalItems', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.items;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
var errs__1 = errors;
var valid1 = false;
var errs_2 = errors;
if (!validate(data1, (dataPath || '') + '.items', data, 'items', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid2 = errors === errs_2;
valid1 = valid1 || valid2;
if (!valid1) {
var errs_2 = errors;
if (!refVal3(data1, (dataPath || '') + '.items', data, 'items', rootData)) {
if (vErrors === null) vErrors = refVal3.errors;
else vErrors = vErrors.concat(refVal3.errors);
errors = vErrors.length;
}
var valid2 = errors === errs_2;
valid1 = valid1 || valid2;
}
if (!valid1) {
var err = {
keyword: 'anyOf',
dataPath: (dataPath || '') + '.items',
schemaPath: '#/properties/items/anyOf',
params: {},
message: 'should match some schema in anyOf'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
validate.errors = vErrors;
return false;
} else {
errors = errs__1;
if (vErrors !== null) {
if (errs__1) vErrors.length = errs__1;
else vErrors = null;
}
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.maxItems;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
var errs_2 = errors;
if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.maxItems',
schemaPath: '#/definitions/nonNegativeInteger/type',
params: {
type: 'integer'
},
message: 'should be integer'
}];
return false;
}
if (typeof data1 === "number") {
if (data1 < 0 || data1 !== data1) {
validate.errors = [{
keyword: 'minimum',
dataPath: (dataPath || '') + '.maxItems',
schemaPath: '#/definitions/nonNegativeInteger/minimum',
params: {
comparison: '>=',
limit: 0,
exclusive: false
},
message: 'should be >= 0'
}];
return false;
}
}
var valid2 = errors === errs_2;
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.minItems === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!refVal[2](data.minItems, (dataPath || '') + '.minItems', data, 'minItems', rootData)) {
if (vErrors === null) vErrors = refVal[2].errors;
else vErrors = vErrors.concat(refVal[2].errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.uniqueItems === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.uniqueItems !== "boolean") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.uniqueItems',
schemaPath: '#/properties/uniqueItems/type',
params: {
type: 'boolean'
},
message: 'should be boolean'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.contains === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.contains, (dataPath || '') + '.contains', data, 'contains', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.maxProperties;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
var errs_2 = errors;
if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.maxProperties',
schemaPath: '#/definitions/nonNegativeInteger/type',
params: {
type: 'integer'
},
message: 'should be integer'
}];
return false;
}
if (typeof data1 === "number") {
if (data1 < 0 || data1 !== data1) {
validate.errors = [{
keyword: 'minimum',
dataPath: (dataPath || '') + '.maxProperties',
schemaPath: '#/definitions/nonNegativeInteger/minimum',
params: {
comparison: '>=',
limit: 0,
exclusive: false
},
message: 'should be >= 0'
}];
return false;
}
}
var valid2 = errors === errs_2;
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.minProperties === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!refVal[2](data.minProperties, (dataPath || '') + '.minProperties', data, 'minProperties', rootData)) {
if (vErrors === null) vErrors = refVal[2].errors;
else vErrors = vErrors.concat(refVal[2].errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.required;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
var errs_2 = errors;
if (Array.isArray(data1)) {
var errs__2 = errors;
var valid2;
for (var i2 = 0; i2 < data1.length; i2++) {
var errs_3 = errors;
if (typeof data1[i2] !== "string") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.required[' + i2 + ']',
schemaPath: '#/definitions/stringArray/items/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
var valid3 = errors === errs_3;
if (!valid3) break;
}
if (errs__2 == errors) {
var i = data1.length,
valid2 = true,
j;
if (i > 1) {
var itemIndices = {},
item;
for (; i--;) {
var item = data1[i];
if (typeof item !== "string") continue;
if (typeof itemIndices[item] == 'number') {
valid2 = false;
j = itemIndices[item];
break;
}
itemIndices[item] = i;
}
}
if (!valid2) {
validate.errors = [{
keyword: 'uniqueItems',
dataPath: (dataPath || '') + '.required',
schemaPath: '#/definitions/stringArray/uniqueItems',
params: {
i: i,
j: j
},
message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'
}];
return false;
}
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.required',
schemaPath: '#/definitions/stringArray/type',
params: {
type: 'array'
},
message: 'should be array'
}];
return false;
}
var valid2 = errors === errs_2;
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.additionalProperties === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.additionalProperties, (dataPath || '') + '.additionalProperties', data, 'additionalProperties', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.definitions;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) {
var errs__1 = errors;
var valid2 = true;
for (var key1 in data1) {
var errs_2 = errors;
if (!validate(data1[key1], (dataPath || '') + '.definitions[\'' + key1 + '\']', data1, key1, rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid2 = errors === errs_2;
if (!valid2) break;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.definitions',
schemaPath: '#/properties/definitions/type',
params: {
type: 'object'
},
message: 'should be object'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.properties;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) {
var errs__1 = errors;
var valid2 = true;
for (var key1 in data1) {
var errs_2 = errors;
if (!validate(data1[key1], (dataPath || '') + '.properties[\'' + key1 + '\']', data1, key1, rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid2 = errors === errs_2;
if (!valid2) break;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.properties',
schemaPath: '#/properties/properties/type',
params: {
type: 'object'
},
message: 'should be object'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.patternProperties;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) {
var errs__1 = errors;
for (var key1 in data1) {
var startErrs1 = errors;
var data2 = key1;
var errs_2 = errors;
if (errors === errs_2) {
if (typeof data2 === "string") {
if (!formats.regex(data2)) {
var err = {
keyword: 'format',
dataPath: (dataPath || '') + '.patternProperties',
schemaPath: '#/properties/patternProperties/propertyNames/format',
params: {
format: 'regex'
},
message: 'should match format "regex"'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
}
}
var valid2 = errors === errs_2;
if (!valid2) {
for (var i1 = startErrs1; i1 < errors; i1++) {
vErrors[i1].propertyName = key1;
}
var err = {
keyword: 'propertyNames',
dataPath: (dataPath || '') + '.patternProperties',
schemaPath: '#/properties/patternProperties/propertyNames',
params: {
propertyName: '' + key1 + ''
},
message: 'property name \'' + key1 + '\' is invalid'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
validate.errors = vErrors;
return false;
break;
}
}
if (errs__1 == errors) {
var errs__1 = errors;
var valid2 = true;
for (var key1 in data1) {
var errs_2 = errors;
if (!validate(data1[key1], (dataPath || '') + '.patternProperties[\'' + key1 + '\']', data1, key1, rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid2 = errors === errs_2;
if (!valid2) break;
}
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.patternProperties',
schemaPath: '#/properties/patternProperties/type',
params: {
type: 'object'
},
message: 'should be object'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.dependencies;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) {
var errs__1 = errors;
var valid2 = true;
for (var key1 in data1) {
var data2 = data1[key1];
var errs_2 = errors;
var errs__2 = errors;
var valid2 = false;
var errs_3 = errors;
if (!validate(data2, (dataPath || '') + '.dependencies[\'' + key1 + '\']', data1, key1, rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid3 = errors === errs_3;
valid2 = valid2 || valid3;
if (!valid2) {
var errs_3 = errors;
var errs_4 = errors;
if (Array.isArray(data2)) {
var errs__4 = errors;
var valid4;
for (var i4 = 0; i4 < data2.length; i4++) {
var errs_5 = errors;
if (typeof data2[i4] !== "string") {
var err = {
keyword: 'type',
dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\'][' + i4 + ']',
schemaPath: '#/definitions/stringArray/items/type',
params: {
type: 'string'
},
message: 'should be string'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
var valid5 = errors === errs_5;
if (!valid5) break;
}
if (errs__4 == errors) {
var i = data2.length,
valid4 = true,
j;
if (i > 1) {
var itemIndices = {},
item;
for (; i--;) {
var item = data2[i];
if (typeof item !== "string") continue;
if (typeof itemIndices[item] == 'number') {
valid4 = false;
j = itemIndices[item];
break;
}
itemIndices[item] = i;
}
}
if (!valid4) {
var err = {
keyword: 'uniqueItems',
dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\']',
schemaPath: '#/definitions/stringArray/uniqueItems',
params: {
i: i,
j: j
},
message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
}
} else {
var err = {
keyword: 'type',
dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\']',
schemaPath: '#/definitions/stringArray/type',
params: {
type: 'array'
},
message: 'should be array'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
var valid4 = errors === errs_4;
var valid3 = errors === errs_3;
valid2 = valid2 || valid3;
}
if (!valid2) {
var err = {
keyword: 'anyOf',
dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\']',
schemaPath: '#/properties/dependencies/additionalProperties/anyOf',
params: {},
message: 'should match some schema in anyOf'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
validate.errors = vErrors;
return false;
} else {
errors = errs__2;
if (vErrors !== null) {
if (errs__2) vErrors.length = errs__2;
else vErrors = null;
}
}
var valid2 = errors === errs_2;
if (!valid2) break;
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.dependencies',
schemaPath: '#/properties/dependencies/type',
params: {
type: 'object'
},
message: 'should be object'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.propertyNames === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.propertyNames, (dataPath || '') + '.propertyNames', data, 'propertyNames', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (valid1) {
var data1 = data.enum;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (Array.isArray(data1)) {
if (data1.length < 1) {
validate.errors = [{
keyword: 'minItems',
dataPath: (dataPath || '') + '.enum',
schemaPath: '#/properties/enum/minItems',
params: {
limit: 1
},
message: 'should NOT have fewer than 1 items'
}];
return false;
} else {
var errs__1 = errors;
var valid1;
if (errs__1 == errors) {
var i = data1.length,
valid1 = true,
j;
if (i > 1) {
outer: for (; i--;) {
for (j = i; j--;) {
if (equal(data1[i], data1[j])) {
valid1 = false;
break outer;
}
}
}
}
if (!valid1) {
validate.errors = [{
keyword: 'uniqueItems',
dataPath: (dataPath || '') + '.enum',
schemaPath: '#/properties/enum/uniqueItems',
params: {
i: i,
j: j
},
message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'
}];
return false;
}
}
}
} else {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.enum',
schemaPath: '#/properties/enum/type',
params: {
type: 'array'
},
message: 'should be array'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
var data1 = data.type;
if (data1 === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
var errs__1 = errors;
var valid1 = false;
var errs_2 = errors;
var errs_3 = errors;
var schema3 = refVal5.enum;
var valid3;
valid3 = false;
for (var i3 = 0; i3 < schema3.length; i3++)
if (equal(data1, schema3[i3])) {
valid3 = true;
break;
} if (!valid3) {
var err = {
keyword: 'enum',
dataPath: (dataPath || '') + '.type',
schemaPath: '#/definitions/simpleTypes/enum',
params: {
allowedValues: schema3
},
message: 'should be equal to one of the allowed values'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
var valid3 = errors === errs_3;
var valid2 = errors === errs_2;
valid1 = valid1 || valid2;
if (!valid1) {
var errs_2 = errors;
if (Array.isArray(data1)) {
if (data1.length < 1) {
var err = {
keyword: 'minItems',
dataPath: (dataPath || '') + '.type',
schemaPath: '#/properties/type/anyOf/1/minItems',
params: {
limit: 1
},
message: 'should NOT have fewer than 1 items'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
} else {
var errs__2 = errors;
var valid2;
for (var i2 = 0; i2 < data1.length; i2++) {
var errs_3 = errors;
var errs_4 = errors;
var schema4 = refVal[5].enum;
var valid4;
valid4 = false;
for (var i4 = 0; i4 < schema4.length; i4++)
if (equal(data1[i2], schema4[i4])) {
valid4 = true;
break;
} if (!valid4) {
var err = {
keyword: 'enum',
dataPath: (dataPath || '') + '.type[' + i2 + ']',
schemaPath: '#/definitions/simpleTypes/enum',
params: {
allowedValues: schema4
},
message: 'should be equal to one of the allowed values'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
var valid4 = errors === errs_4;
var valid3 = errors === errs_3;
if (!valid3) break;
}
if (errs__2 == errors) {
var i = data1.length,
valid2 = true,
j;
if (i > 1) {
outer: for (; i--;) {
for (j = i; j--;) {
if (equal(data1[i], data1[j])) {
valid2 = false;
break outer;
}
}
}
}
if (!valid2) {
var err = {
keyword: 'uniqueItems',
dataPath: (dataPath || '') + '.type',
schemaPath: '#/properties/type/anyOf/1/uniqueItems',
params: {
i: i,
j: j
},
message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
}
}
} else {
var err = {
keyword: 'type',
dataPath: (dataPath || '') + '.type',
schemaPath: '#/properties/type/anyOf/1/type',
params: {
type: 'array'
},
message: 'should be array'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
}
var valid2 = errors === errs_2;
valid1 = valid1 || valid2;
}
if (!valid1) {
var err = {
keyword: 'anyOf',
dataPath: (dataPath || '') + '.type',
schemaPath: '#/properties/type/anyOf',
params: {},
message: 'should match some schema in anyOf'
};
if (vErrors === null) vErrors = [err];
else vErrors.push(err);
errors++;
validate.errors = vErrors;
return false;
} else {
errors = errs__1;
if (vErrors !== null) {
if (errs__1) vErrors.length = errs__1;
else vErrors = null;
}
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.format === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.format !== "string") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.format',
schemaPath: '#/properties/format/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.contentMediaType === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.contentMediaType !== "string") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.contentMediaType',
schemaPath: '#/properties/contentMediaType/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.contentEncoding === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (typeof data.contentEncoding !== "string") {
validate.errors = [{
keyword: 'type',
dataPath: (dataPath || '') + '.contentEncoding',
schemaPath: '#/properties/contentEncoding/type',
params: {
type: 'string'
},
message: 'should be string'
}];
return false;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.if === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.if, (dataPath || '') + '.if', data, 'if', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.then === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.then, (dataPath || '') + '.then', data, 'then', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.else === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.else, (dataPath || '') + '.else', data, 'else', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.allOf === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!refVal[3](data.allOf, (dataPath || '') + '.allOf', data, 'allOf', rootData)) {
if (vErrors === null) vErrors = refVal[3].errors;
else vErrors = vErrors.concat(refVal[3].errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.anyOf === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!refVal[3](data.anyOf, (dataPath || '') + '.anyOf', data, 'anyOf', rootData)) {
if (vErrors === null) vErrors = refVal[3].errors;
else vErrors = vErrors.concat(refVal[3].errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.oneOf === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!refVal[3](data.oneOf, (dataPath || '') + '.oneOf', data, 'oneOf', rootData)) {
if (vErrors === null) vErrors = refVal[3].errors;
else vErrors = vErrors.concat(refVal[3].errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
if (valid1) {
if (data.not === undefined) {
valid1 = true;
} else {
var errs_1 = errors;
if (!validate(data.not, (dataPath || '') + '.not', data, 'not', rootData)) {
if (vErrors === null) vErrors = validate.errors;
else vErrors = vErrors.concat(validate.errors);
errors = vErrors.length;
}
var valid1 = errors === errs_1;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
validate.errors = vErrors;
return errors === 0;
};
})();
validate.schema = {
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "http://json-schema.org/draft-07/schema#",
"title": "Core schema meta-schema",
"definitions": {
"schemaArray": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#"
}
},
"nonNegativeInteger": {
"type": "integer",
"minimum": 0
},
"nonNegativeIntegerDefault0": {
"allOf": [{
"$ref": "#/definitions/nonNegativeInteger"
}, {
"default": 0
}]
},
"simpleTypes": {
"enum": ["array", "boolean", "integer", "null", "number", "object", "string"]
},
"stringArray": {
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"default": []
}
},
"type": ["object", "boolean"],
"properties": {
"$id": {
"type": "string",
"format": "uri-reference"
},
"$schema": {
"type": "string",
"format": "uri"
},
"$ref": {
"type": "string",
"format": "uri-reference"
},
"$comment": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"default": true,
"readOnly": {
"type": "boolean",
"default": false
},
"examples": {
"type": "array",
"items": true
},
"multipleOf": {
"type": "number",
"exclusiveMinimum": 0
},
"maximum": {
"type": "number"
},
"exclusiveMaximum": {
"type": "number"
},
"minimum": {
"type": "number"
},
"exclusiveMinimum": {
"type": "number"
},
"maxLength": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minLength": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"pattern": {
"type": "string",
"format": "regex"
},
"additionalItems": {
"$ref": "#"
},
"items": {
"anyOf": [{
"$ref": "#"
}, {
"$ref": "#/definitions/schemaArray"
}],
"default": true
},
"maxItems": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minItems": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"uniqueItems": {
"type": "boolean",
"default": false
},
"contains": {
"$ref": "#"
},
"maxProperties": {
"$ref": "#/definitions/nonNegativeInteger"
},
"minProperties": {
"$ref": "#/definitions/nonNegativeIntegerDefault0"
},
"required": {
"$ref": "#/definitions/stringArray"
},
"additionalProperties": {
"$ref": "#"
},
"definitions": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"patternProperties": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"propertyNames": {
"format": "regex"
},
"default": {}
},
"dependencies": {
"type": "object",
"additionalProperties": {
"anyOf": [{
"$ref": "#"
}, {
"$ref": "#/definitions/stringArray"
}]
}
},
"propertyNames": {
"$ref": "#"
},
"const": true,
"enum": {
"type": "array",
"items": true,
"minItems": 1,
"uniqueItems": true
},
"type": {
"anyOf": [{
"$ref": "#/definitions/simpleTypes"
}, {
"type": "array",
"items": {
"$ref": "#/definitions/simpleTypes"
},
"minItems": 1,
"uniqueItems": true
}]
},
"format": {
"type": "string"
},
"contentMediaType": {
"type": "string"
},
"contentEncoding": {
"type": "string"
},
"if": {
"$ref": "#"
},
"then": {
"$ref": "#"
},
"else": {
"$ref": "#"
},
"allOf": {
"$ref": "#/definitions/schemaArray"
},
"anyOf": {
"$ref": "#/definitions/schemaArray"
},
"oneOf": {
"$ref": "#/definitions/schemaArray"
},
"not": {
"$ref": "#"
}
},
"default": true
};
validate.errors = null;
module.exports = validate;