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
1751 lines
113 KiB
4 years ago
|
// 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;
|