UNPKG

serialport-v5

Version:

fork with electron support of Node.js package to access serial ports. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!

41 lines (34 loc) 1.24 kB
'use strict'; var ruleModules = require('./_rules') , toHash = require('./util').toHash; module.exports = function rules() { var RULES = [ { type: 'number', rules: [ 'maximum', 'minimum', 'multipleOf'] }, { type: 'string', rules: [ 'maxLength', 'minLength', 'pattern', 'format' ] }, { type: 'array', rules: [ 'maxItems', 'minItems', 'uniqueItems', 'items' ] }, { type: 'object', rules: [ 'maxProperties', 'minProperties', 'required', 'dependencies', 'properties' ] }, { rules: [ '$ref', 'enum', 'not', 'anyOf', 'oneOf', 'allOf' ] } ]; var ALL = [ 'type', 'additionalProperties', 'patternProperties' ]; var KEYWORDS = [ 'additionalItems', '$schema', 'id', 'title', 'description', 'default' ]; var TYPES = [ 'number', 'integer', 'string', 'array', 'object', 'boolean', 'null' ]; RULES.all = toHash(ALL); RULES.forEach(function (group) { group.rules = group.rules.map(function (keyword) { ALL.push(keyword); var rule = RULES.all[keyword] = { keyword: keyword, code: ruleModules[keyword] }; return rule; }); }); RULES.keywords = toHash(ALL.concat(KEYWORDS)); RULES.types = toHash(TYPES); RULES.custom = {}; return RULES; };