UNPKG

pimatic

Version:

A home automation server and framework for the Raspberry PI running on node.js

36 lines (28 loc) 1.16 kB
// ****************************************************************** // § 5.3. Validation keywords for arrays // ****************************************************************** var Errors = require('../../../errors.js'); module.exports = function(config) { var errors = []; // always succeeds in these conditions if (config.schema.additionalItems === true || typeof config.schema.additionalItems === 'object' || !Object.prototype.hasOwnProperty.call(config.schema, 'items') || typeof config.schema.items === 'object' && !Array.isArray(config.schema.items)) { return errors; } // config.schema.items must be an Array if we’ve reached this point if (config.schema.additionalItems === false && config.inst.length > config.schema.items.length) { var desc = 'array length (' + config.inst.length + ') is greater than ' + '"items" length (' + config.schema.items.length + ') and ' + '"additionalItems" is false'; errors.push(new Errors.ArrayValidationError(config.resolutionScope, config.instanceContext, 'additionalItems', undefined, undefined, desc)); } return errors; };