Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
}
if (typeof schema.uniqueItems !== 'undefined') {
should(schema.uniqueItems).be.type('boolean','uniqueItems must be a boolean');
}
if (typeof schema.maxProperties !== 'undefined') {
should(schema.maxProperties).be.type('number','maxProperties must be a number');
should(schema.maxProperties).be.greaterThan(-1);
}
if (typeof schema.minProperties !== 'undefined') {
should(schema.minProperties).be.type('number','minProperties must be a number');
should(schema.minProperties).be.greaterThan(-1);
}
if (typeof schema.required !== 'undefined') {
should(schema.required).be.an.Array();
should(schema.required).not.be.empty();
should(common.hasDuplicates(schema.required)).be.exactly(false,'required items must be unique: '+common.firstDupe(schema.required));
// nb: required array can include (for example) specific properties which match patternProperties and which aren't listed in properties
}
if (schema.properties) {
should(schema.properties).be.an.Object();
should(schema.properties).not.be.an.Array();
}
should(schema).not.have.property('patternProperties');
/*if (schema.patternProperties) {
should(schema.patternProperties).be.an.Object();
for (let prop in schema.patternProperties) {
try {
let regex = new RegExp(prop);
}
catch (ex) {
should.fail(false,true,'patternProperty '+prop+' does not conform to ECMA-262');
}