Files
portfolio/node_modules/.cache/babel-loader/497ce94def792650cbe8c6160ad92c8a.json
2021-09-20 16:54:47 -04:00

1 line
61 KiB
JSON

{"ast":null,"code":"'use strict';\n\nmodule.exports = function generate_validate(it, $keyword, $ruleType) {\n var out = '';\n\n var $async = it.schema.$async === true,\n $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'),\n $id = it.self._getId(it.schema);\n\n if (it.opts.strictKeywords) {\n var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords);\n\n if ($unknownKwd) {\n var $keywordsMsg = 'unknown keyword: ' + $unknownKwd;\n if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg);else throw new Error($keywordsMsg);\n }\n }\n\n if (it.isTop) {\n out += ' var validate = ';\n\n if ($async) {\n it.async = true;\n out += 'async ';\n }\n\n out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \\'use strict\\'; ';\n\n if ($id && (it.opts.sourceCode || it.opts.processCode)) {\n out += ' ' + ('/\\*# sourceURL=' + $id + ' */') + ' ';\n }\n }\n\n if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) {\n var $keyword = 'false schema';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n\n if (it.schema === false) {\n if (it.isTop) {\n $breakOnError = true;\n } else {\n out += ' var ' + $valid + ' = false; ';\n }\n\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'false schema') + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: {} ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'boolean schema is false\\' ';\n }\n\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + it.schemaPath + ' , data: ' + $data + ' ';\n }\n\n out += ' } ';\n } else {\n out += ' {} ';\n }\n\n var __err = out;\n out = $$outStack.pop();\n\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + __err + ']); ';\n } else {\n out += ' validate.errors = [' + __err + ']; return false; ';\n }\n } else {\n out += ' var err = ' + __err + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n } else {\n if (it.isTop) {\n if ($async) {\n out += ' return data; ';\n } else {\n out += ' validate.errors = null; return true; ';\n }\n } else {\n out += ' var ' + $valid + ' = true; ';\n }\n }\n\n if (it.isTop) {\n out += ' }; return validate; ';\n }\n\n return out;\n }\n\n if (it.isTop) {\n var $top = it.isTop,\n $lvl = it.level = 0,\n $dataLvl = it.dataLevel = 0,\n $data = 'data';\n it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema));\n it.baseId = it.baseId || it.rootId;\n delete it.isTop;\n it.dataPathArr = [\"\"];\n\n if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored in the schema root';\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);else throw new Error($defaultMsg);\n }\n\n out += ' var vErrors = null; ';\n out += ' var errors = 0; ';\n out += ' if (rootData === undefined) rootData = data; ';\n } else {\n var $lvl = it.level,\n $dataLvl = it.dataLevel,\n $data = 'data' + ($dataLvl || '');\n if ($id) it.baseId = it.resolve.url(it.baseId, $id);\n if ($async && !it.async) throw new Error('async schema in sync schema');\n out += ' var errs_' + $lvl + ' = errors;';\n }\n\n var $valid = 'valid' + $lvl,\n $breakOnError = !it.opts.allErrors,\n $closingBraces1 = '',\n $closingBraces2 = '';\n var $errorKeyword;\n var $typeSchema = it.schema.type,\n $typeIsArray = Array.isArray($typeSchema);\n\n if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {\n if ($typeIsArray) {\n if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null');\n } else if ($typeSchema != 'null') {\n $typeSchema = [$typeSchema, 'null'];\n $typeIsArray = true;\n }\n }\n\n if ($typeIsArray && $typeSchema.length == 1) {\n $typeSchema = $typeSchema[0];\n $typeIsArray = false;\n }\n\n if (it.schema.$ref && $refKeywords) {\n if (it.opts.extendRefs == 'fail') {\n throw new Error('$ref: validation keywords used in schema at path \"' + it.errSchemaPath + '\" (see option extendRefs)');\n } else if (it.opts.extendRefs !== true) {\n $refKeywords = false;\n it.logger.warn('$ref: keywords ignored in schema at path \"' + it.errSchemaPath + '\"');\n }\n }\n\n if (it.schema.$comment && it.opts.$comment) {\n out += ' ' + it.RULES.all.$comment.code(it, '$comment');\n }\n\n if ($typeSchema) {\n if (it.opts.coerceTypes) {\n var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema);\n }\n\n var $rulesGroup = it.RULES.types[$typeSchema];\n\n if ($coerceToTypes || $typeIsArray || $rulesGroup === true || $rulesGroup && !$shouldUseGroup($rulesGroup)) {\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type',\n $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType';\n out += ' if (' + it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true) + ') { ';\n\n if ($coerceToTypes) {\n var $dataType = 'dataType' + $lvl,\n $coerced = 'coerced' + $lvl;\n out += ' var ' + $dataType + ' = typeof ' + $data + '; var ' + $coerced + ' = undefined; ';\n\n if (it.opts.coerceTypes == 'array') {\n out += ' if (' + $dataType + ' == \\'object\\' && Array.isArray(' + $data + ') && ' + $data + '.length == 1) { ' + $data + ' = ' + $data + '[0]; ' + $dataType + ' = typeof ' + $data + '; if (' + it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers) + ') ' + $coerced + ' = ' + $data + '; } ';\n }\n\n out += ' if (' + $coerced + ' !== undefined) ; ';\n var arr1 = $coerceToTypes;\n\n if (arr1) {\n var $type,\n $i = -1,\n l1 = arr1.length - 1;\n\n while ($i < l1) {\n $type = arr1[$i += 1];\n\n if ($type == 'string') {\n out += ' else if (' + $dataType + ' == \\'number\\' || ' + $dataType + ' == \\'boolean\\') ' + $coerced + ' = \\'\\' + ' + $data + '; else if (' + $data + ' === null) ' + $coerced + ' = \\'\\'; ';\n } else if ($type == 'number' || $type == 'integer') {\n out += ' else if (' + $dataType + ' == \\'boolean\\' || ' + $data + ' === null || (' + $dataType + ' == \\'string\\' && ' + $data + ' && ' + $data + ' == +' + $data + ' ';\n\n if ($type == 'integer') {\n out += ' && !(' + $data + ' % 1)';\n }\n\n out += ')) ' + $coerced + ' = +' + $data + '; ';\n } else if ($type == 'boolean') {\n out += ' else if (' + $data + ' === \\'false\\' || ' + $data + ' === 0 || ' + $data + ' === null) ' + $coerced + ' = false; else if (' + $data + ' === \\'true\\' || ' + $data + ' === 1) ' + $coerced + ' = true; ';\n } else if ($type == 'null') {\n out += ' else if (' + $data + ' === \\'\\' || ' + $data + ' === 0 || ' + $data + ' === false) ' + $coerced + ' = null; ';\n } else if (it.opts.coerceTypes == 'array' && $type == 'array') {\n out += ' else if (' + $dataType + ' == \\'string\\' || ' + $dataType + ' == \\'number\\' || ' + $dataType + ' == \\'boolean\\' || ' + $data + ' == null) ' + $coerced + ' = [' + $data + ']; ';\n }\n }\n }\n\n out += ' else { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { type: \\'';\n\n if ($typeIsArray) {\n out += '' + $typeSchema.join(\",\");\n } else {\n out += '' + $typeSchema;\n }\n\n out += '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n\n if ($typeIsArray) {\n out += '' + $typeSchema.join(\",\");\n } else {\n out += '' + $typeSchema;\n }\n\n out += '\\' ';\n }\n\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + $schemaPath + ' , parentSchema: validate.schema' + it.schemaPath + ' , data: ' + $data + ' ';\n }\n\n out += ' } ';\n } else {\n out += ' {} ';\n }\n\n var __err = out;\n out = $$outStack.pop();\n\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + __err + ']); ';\n } else {\n out += ' validate.errors = [' + __err + ']; return false; ';\n }\n } else {\n out += ' var err = ' + __err + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n\n out += ' } if (' + $coerced + ' !== undefined) { ';\n var $parentData = $dataLvl ? 'data' + ($dataLvl - 1 || '') : 'parentData',\n $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n out += ' ' + $data + ' = ' + $coerced + '; ';\n\n if (!$dataLvl) {\n out += 'if (' + $parentData + ' !== undefined)';\n }\n\n out += ' ' + $parentData + '[' + $parentDataProperty + '] = ' + $coerced + '; } ';\n } else {\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { type: \\'';\n\n if ($typeIsArray) {\n out += '' + $typeSchema.join(\",\");\n } else {\n out += '' + $typeSchema;\n }\n\n out += '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n\n if ($typeIsArray) {\n out += '' + $typeSchema.join(\",\");\n } else {\n out += '' + $typeSchema;\n }\n\n out += '\\' ';\n }\n\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + $schemaPath + ' , parentSchema: validate.schema' + it.schemaPath + ' , data: ' + $data + ' ';\n }\n\n out += ' } ';\n } else {\n out += ' {} ';\n }\n\n var __err = out;\n out = $$outStack.pop();\n\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + __err + ']); ';\n } else {\n out += ' validate.errors = [' + __err + ']; return false; ';\n }\n } else {\n out += ' var err = ' + __err + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n }\n\n out += ' } ';\n }\n }\n\n if (it.schema.$ref && !$refKeywords) {\n out += ' ' + it.RULES.all.$ref.code(it, '$ref') + ' ';\n\n if ($breakOnError) {\n out += ' } if (errors === ';\n\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + $lvl;\n }\n\n out += ') { ';\n $closingBraces2 += '}';\n }\n } else {\n var arr2 = it.RULES;\n\n if (arr2) {\n var $rulesGroup,\n i2 = -1,\n l2 = arr2.length - 1;\n\n while (i2 < l2) {\n $rulesGroup = arr2[i2 += 1];\n\n if ($shouldUseGroup($rulesGroup)) {\n if ($rulesGroup.type) {\n out += ' if (' + it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers) + ') { ';\n }\n\n if (it.opts.useDefaults) {\n if ($rulesGroup.type == 'object' && it.schema.properties) {\n var $schema = it.schema.properties,\n $schemaKeys = Object.keys($schema);\n var arr3 = $schemaKeys;\n\n if (arr3) {\n var $propertyKey,\n i3 = -1,\n l3 = arr3.length - 1;\n\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $sch = $schema[$propertyKey];\n\n if ($sch.default !== undefined) {\n var $passData = $data + it.util.getProperty($propertyKey);\n\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + $passData + ' === undefined ';\n\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + $passData + ' === null || ' + $passData + ' === \\'\\' ';\n }\n\n out += ' ) ' + $passData + ' = ';\n\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + it.useDefault($sch.default) + ' ';\n } else {\n out += ' ' + JSON.stringify($sch.default) + ' ';\n }\n\n out += '; ';\n }\n }\n }\n }\n } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) {\n var arr4 = it.schema.items;\n\n if (arr4) {\n var $sch,\n $i = -1,\n l4 = arr4.length - 1;\n\n while ($i < l4) {\n $sch = arr4[$i += 1];\n\n if ($sch.default !== undefined) {\n var $passData = $data + '[' + $i + ']';\n\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + $passData + ' === undefined ';\n\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + $passData + ' === null || ' + $passData + ' === \\'\\' ';\n }\n\n out += ' ) ' + $passData + ' = ';\n\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + it.useDefault($sch.default) + ' ';\n } else {\n out += ' ' + JSON.stringify($sch.default) + ' ';\n }\n\n out += '; ';\n }\n }\n }\n }\n }\n }\n\n var arr5 = $rulesGroup.rules;\n\n if (arr5) {\n var $rule,\n i5 = -1,\n l5 = arr5.length - 1;\n\n while (i5 < l5) {\n $rule = arr5[i5 += 1];\n\n if ($shouldUseRule($rule)) {\n var $code = $rule.code(it, $rule.keyword, $rulesGroup.type);\n\n if ($code) {\n out += ' ' + $code + ' ';\n\n if ($breakOnError) {\n $closingBraces1 += '}';\n }\n }\n }\n }\n }\n\n if ($breakOnError) {\n out += ' ' + $closingBraces1 + ' ';\n $closingBraces1 = '';\n }\n\n if ($rulesGroup.type) {\n out += ' } ';\n\n if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) {\n out += ' else { ';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { type: \\'';\n\n if ($typeIsArray) {\n out += '' + $typeSchema.join(\",\");\n } else {\n out += '' + $typeSchema;\n }\n\n out += '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n\n if ($typeIsArray) {\n out += '' + $typeSchema.join(\",\");\n } else {\n out += '' + $typeSchema;\n }\n\n out += '\\' ';\n }\n\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + $schemaPath + ' , parentSchema: validate.schema' + it.schemaPath + ' , data: ' + $data + ' ';\n }\n\n out += ' } ';\n } else {\n out += ' {} ';\n }\n\n var __err = out;\n out = $$outStack.pop();\n\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + __err + ']); ';\n } else {\n out += ' validate.errors = [' + __err + ']; return false; ';\n }\n } else {\n out += ' var err = ' + __err + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n\n out += ' } ';\n }\n }\n\n if ($breakOnError) {\n out += ' if (errors === ';\n\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + $lvl;\n }\n\n out += ') { ';\n $closingBraces2 += '}';\n }\n }\n }\n }\n }\n\n if ($breakOnError) {\n out += ' ' + $closingBraces2 + ' ';\n }\n\n if ($top) {\n if ($async) {\n out += ' if (errors === 0) return data; ';\n out += ' else throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; ';\n out += ' return errors === 0; ';\n }\n\n out += ' }; return validate;';\n } else {\n out += ' var ' + $valid + ' = errors === errs_' + $lvl + ';';\n }\n\n function $shouldUseGroup($rulesGroup) {\n var rules = $rulesGroup.rules;\n\n for (var i = 0; i < rules.length; i++) if ($shouldUseRule(rules[i])) return true;\n }\n\n function $shouldUseRule($rule) {\n return it.schema[$rule.keyword] !== undefined || $rule.implements && $ruleImplementsSomeKeyword($rule);\n }\n\n function $ruleImplementsSomeKeyword($rule) {\n var impl = $rule.implements;\n\n for (var i = 0; i < impl.length; i++) if (it.schema[impl[i]] !== undefined) return true;\n }\n\n return out;\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/ajv/lib/dotjs/validate.js"],"names":["module","exports","generate_validate","it","$keyword","$ruleType","out","$async","schema","$refKeywords","util","schemaHasRulesExcept","RULES","all","$id","self","_getId","opts","strictKeywords","$unknownKwd","schemaUnknownRules","keywords","$keywordsMsg","logger","warn","Error","isTop","async","sourceCode","processCode","$ref","$lvl","level","$dataLvl","dataLevel","$schema","$schemaPath","schemaPath","getProperty","$errSchemaPath","errSchemaPath","$breakOnError","allErrors","$errorKeyword","$data","$valid","$$outStack","push","createErrors","errorPath","toQuotedString","messages","verbose","__err","pop","compositeRule","$top","rootId","resolve","fullPath","root","baseId","dataPathArr","default","undefined","useDefaults","strictDefaults","$defaultMsg","url","$closingBraces1","$closingBraces2","$typeSchema","type","$typeIsArray","Array","isArray","nullable","indexOf","concat","length","extendRefs","$comment","code","coerceTypes","$coerceToTypes","coerceToTypes","$rulesGroup","types","$shouldUseGroup","$method","strictNumbers","$dataType","$coerced","checkDataType","arr1","$type","$i","l1","join","$parentData","$parentDataProperty","arr2","i2","l2","properties","$schemaKeys","Object","keys","arr3","$propertyKey","i3","l3","$sch","$passData","useDefault","JSON","stringify","items","arr4","l4","arr5","rules","$rule","i5","l5","$shouldUseRule","$code","keyword","i","implements","$ruleImplementsSomeKeyword","impl"],"mappings":"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","sourcesContent":["'use strict';\nmodule.exports = function generate_validate(it, $keyword, $ruleType) {\n var out = '';\n var $async = it.schema.$async === true,\n $refKeywords = it.util.schemaHasRulesExcept(it.schema, it.RULES.all, '$ref'),\n $id = it.self._getId(it.schema);\n if (it.opts.strictKeywords) {\n var $unknownKwd = it.util.schemaUnknownRules(it.schema, it.RULES.keywords);\n if ($unknownKwd) {\n var $keywordsMsg = 'unknown keyword: ' + $unknownKwd;\n if (it.opts.strictKeywords === 'log') it.logger.warn($keywordsMsg);\n else throw new Error($keywordsMsg);\n }\n }\n if (it.isTop) {\n out += ' var validate = ';\n if ($async) {\n it.async = true;\n out += 'async ';\n }\n out += 'function(data, dataPath, parentData, parentDataProperty, rootData) { \\'use strict\\'; ';\n if ($id && (it.opts.sourceCode || it.opts.processCode)) {\n out += ' ' + ('/\\*# sourceURL=' + $id + ' */') + ' ';\n }\n }\n if (typeof it.schema == 'boolean' || !($refKeywords || it.schema.$ref)) {\n var $keyword = 'false schema';\n var $lvl = it.level;\n var $dataLvl = it.dataLevel;\n var $schema = it.schema[$keyword];\n var $schemaPath = it.schemaPath + it.util.getProperty($keyword);\n var $errSchemaPath = it.errSchemaPath + '/' + $keyword;\n var $breakOnError = !it.opts.allErrors;\n var $errorKeyword;\n var $data = 'data' + ($dataLvl || '');\n var $valid = 'valid' + $lvl;\n if (it.schema === false) {\n if (it.isTop) {\n $breakOnError = true;\n } else {\n out += ' var ' + ($valid) + ' = false; ';\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'false schema') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: {} ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'boolean schema is false\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: false , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n } else {\n if (it.isTop) {\n if ($async) {\n out += ' return data; ';\n } else {\n out += ' validate.errors = null; return true; ';\n }\n } else {\n out += ' var ' + ($valid) + ' = true; ';\n }\n }\n if (it.isTop) {\n out += ' }; return validate; ';\n }\n return out;\n }\n if (it.isTop) {\n var $top = it.isTop,\n $lvl = it.level = 0,\n $dataLvl = it.dataLevel = 0,\n $data = 'data';\n it.rootId = it.resolve.fullPath(it.self._getId(it.root.schema));\n it.baseId = it.baseId || it.rootId;\n delete it.isTop;\n it.dataPathArr = [\"\"];\n if (it.schema.default !== undefined && it.opts.useDefaults && it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored in the schema root';\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n out += ' var vErrors = null; ';\n out += ' var errors = 0; ';\n out += ' if (rootData === undefined) rootData = data; ';\n } else {\n var $lvl = it.level,\n $dataLvl = it.dataLevel,\n $data = 'data' + ($dataLvl || '');\n if ($id) it.baseId = it.resolve.url(it.baseId, $id);\n if ($async && !it.async) throw new Error('async schema in sync schema');\n out += ' var errs_' + ($lvl) + ' = errors;';\n }\n var $valid = 'valid' + $lvl,\n $breakOnError = !it.opts.allErrors,\n $closingBraces1 = '',\n $closingBraces2 = '';\n var $errorKeyword;\n var $typeSchema = it.schema.type,\n $typeIsArray = Array.isArray($typeSchema);\n if ($typeSchema && it.opts.nullable && it.schema.nullable === true) {\n if ($typeIsArray) {\n if ($typeSchema.indexOf('null') == -1) $typeSchema = $typeSchema.concat('null');\n } else if ($typeSchema != 'null') {\n $typeSchema = [$typeSchema, 'null'];\n $typeIsArray = true;\n }\n }\n if ($typeIsArray && $typeSchema.length == 1) {\n $typeSchema = $typeSchema[0];\n $typeIsArray = false;\n }\n if (it.schema.$ref && $refKeywords) {\n if (it.opts.extendRefs == 'fail') {\n throw new Error('$ref: validation keywords used in schema at path \"' + it.errSchemaPath + '\" (see option extendRefs)');\n } else if (it.opts.extendRefs !== true) {\n $refKeywords = false;\n it.logger.warn('$ref: keywords ignored in schema at path \"' + it.errSchemaPath + '\"');\n }\n }\n if (it.schema.$comment && it.opts.$comment) {\n out += ' ' + (it.RULES.all.$comment.code(it, '$comment'));\n }\n if ($typeSchema) {\n if (it.opts.coerceTypes) {\n var $coerceToTypes = it.util.coerceToTypes(it.opts.coerceTypes, $typeSchema);\n }\n var $rulesGroup = it.RULES.types[$typeSchema];\n if ($coerceToTypes || $typeIsArray || $rulesGroup === true || ($rulesGroup && !$shouldUseGroup($rulesGroup))) {\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type',\n $method = $typeIsArray ? 'checkDataTypes' : 'checkDataType';\n out += ' if (' + (it.util[$method]($typeSchema, $data, it.opts.strictNumbers, true)) + ') { ';\n if ($coerceToTypes) {\n var $dataType = 'dataType' + $lvl,\n $coerced = 'coerced' + $lvl;\n out += ' var ' + ($dataType) + ' = typeof ' + ($data) + '; var ' + ($coerced) + ' = undefined; ';\n if (it.opts.coerceTypes == 'array') {\n out += ' if (' + ($dataType) + ' == \\'object\\' && Array.isArray(' + ($data) + ') && ' + ($data) + '.length == 1) { ' + ($data) + ' = ' + ($data) + '[0]; ' + ($dataType) + ' = typeof ' + ($data) + '; if (' + (it.util.checkDataType(it.schema.type, $data, it.opts.strictNumbers)) + ') ' + ($coerced) + ' = ' + ($data) + '; } ';\n }\n out += ' if (' + ($coerced) + ' !== undefined) ; ';\n var arr1 = $coerceToTypes;\n if (arr1) {\n var $type, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $type = arr1[$i += 1];\n if ($type == 'string') {\n out += ' else if (' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\') ' + ($coerced) + ' = \\'\\' + ' + ($data) + '; else if (' + ($data) + ' === null) ' + ($coerced) + ' = \\'\\'; ';\n } else if ($type == 'number' || $type == 'integer') {\n out += ' else if (' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' === null || (' + ($dataType) + ' == \\'string\\' && ' + ($data) + ' && ' + ($data) + ' == +' + ($data) + ' ';\n if ($type == 'integer') {\n out += ' && !(' + ($data) + ' % 1)';\n }\n out += ')) ' + ($coerced) + ' = +' + ($data) + '; ';\n } else if ($type == 'boolean') {\n out += ' else if (' + ($data) + ' === \\'false\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === null) ' + ($coerced) + ' = false; else if (' + ($data) + ' === \\'true\\' || ' + ($data) + ' === 1) ' + ($coerced) + ' = true; ';\n } else if ($type == 'null') {\n out += ' else if (' + ($data) + ' === \\'\\' || ' + ($data) + ' === 0 || ' + ($data) + ' === false) ' + ($coerced) + ' = null; ';\n } else if (it.opts.coerceTypes == 'array' && $type == 'array') {\n out += ' else if (' + ($dataType) + ' == \\'string\\' || ' + ($dataType) + ' == \\'number\\' || ' + ($dataType) + ' == \\'boolean\\' || ' + ($data) + ' == null) ' + ($coerced) + ' = [' + ($data) + ']; ';\n }\n }\n }\n out += ' else { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } if (' + ($coerced) + ' !== undefined) { ';\n var $parentData = $dataLvl ? 'data' + (($dataLvl - 1) || '') : 'parentData',\n $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';\n out += ' ' + ($data) + ' = ' + ($coerced) + '; ';\n if (!$dataLvl) {\n out += 'if (' + ($parentData) + ' !== undefined)';\n }\n out += ' ' + ($parentData) + '[' + ($parentDataProperty) + '] = ' + ($coerced) + '; } ';\n } else {\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n }\n out += ' } ';\n }\n }\n if (it.schema.$ref && !$refKeywords) {\n out += ' ' + (it.RULES.all.$ref.code(it, '$ref')) + ' ';\n if ($breakOnError) {\n out += ' } if (errors === ';\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + ($lvl);\n }\n out += ') { ';\n $closingBraces2 += '}';\n }\n } else {\n var arr2 = it.RULES;\n if (arr2) {\n var $rulesGroup, i2 = -1,\n l2 = arr2.length - 1;\n while (i2 < l2) {\n $rulesGroup = arr2[i2 += 1];\n if ($shouldUseGroup($rulesGroup)) {\n if ($rulesGroup.type) {\n out += ' if (' + (it.util.checkDataType($rulesGroup.type, $data, it.opts.strictNumbers)) + ') { ';\n }\n if (it.opts.useDefaults) {\n if ($rulesGroup.type == 'object' && it.schema.properties) {\n var $schema = it.schema.properties,\n $schemaKeys = Object.keys($schema);\n var arr3 = $schemaKeys;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 1];\n var $sch = $schema[$propertyKey];\n if ($sch.default !== undefined) {\n var $passData = $data + it.util.getProperty($propertyKey);\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + ($passData) + ' === undefined ';\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n }\n out += ' ) ' + ($passData) + ' = ';\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + (it.useDefault($sch.default)) + ' ';\n } else {\n out += ' ' + (JSON.stringify($sch.default)) + ' ';\n }\n out += '; ';\n }\n }\n }\n }\n } else if ($rulesGroup.type == 'array' && Array.isArray(it.schema.items)) {\n var arr4 = it.schema.items;\n if (arr4) {\n var $sch, $i = -1,\n l4 = arr4.length - 1;\n while ($i < l4) {\n $sch = arr4[$i += 1];\n if ($sch.default !== undefined) {\n var $passData = $data + '[' + $i + ']';\n if (it.compositeRule) {\n if (it.opts.strictDefaults) {\n var $defaultMsg = 'default is ignored for: ' + $passData;\n if (it.opts.strictDefaults === 'log') it.logger.warn($defaultMsg);\n else throw new Error($defaultMsg);\n }\n } else {\n out += ' if (' + ($passData) + ' === undefined ';\n if (it.opts.useDefaults == 'empty') {\n out += ' || ' + ($passData) + ' === null || ' + ($passData) + ' === \\'\\' ';\n }\n out += ' ) ' + ($passData) + ' = ';\n if (it.opts.useDefaults == 'shared') {\n out += ' ' + (it.useDefault($sch.default)) + ' ';\n } else {\n out += ' ' + (JSON.stringify($sch.default)) + ' ';\n }\n out += '; ';\n }\n }\n }\n }\n }\n }\n var arr5 = $rulesGroup.rules;\n if (arr5) {\n var $rule, i5 = -1,\n l5 = arr5.length - 1;\n while (i5 < l5) {\n $rule = arr5[i5 += 1];\n if ($shouldUseRule($rule)) {\n var $code = $rule.code(it, $rule.keyword, $rulesGroup.type);\n if ($code) {\n out += ' ' + ($code) + ' ';\n if ($breakOnError) {\n $closingBraces1 += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces1) + ' ';\n $closingBraces1 = '';\n }\n if ($rulesGroup.type) {\n out += ' } ';\n if ($typeSchema && $typeSchema === $rulesGroup.type && !$coerceToTypes) {\n out += ' else { ';\n var $schemaPath = it.schemaPath + '.type',\n $errSchemaPath = it.errSchemaPath + '/type';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ($errorKeyword || 'type') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { type: \\'';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should be ';\n if ($typeIsArray) {\n out += '' + ($typeSchema.join(\",\"));\n } else {\n out += '' + ($typeSchema);\n }\n out += '\\' ';\n }\n if (it.opts.verbose) {\n out += ' , schema: validate.schema' + ($schemaPath) + ' , parentSchema: validate.schema' + (it.schemaPath) + ' , data: ' + ($data) + ' ';\n }\n out += ' } ';\n } else {\n out += ' {} ';\n }\n var __err = out;\n out = $$outStack.pop();\n if (!it.compositeRule && $breakOnError) {\n /* istanbul ignore if */\n if (it.async) {\n out += ' throw new ValidationError([' + (__err) + ']); ';\n } else {\n out += ' validate.errors = [' + (__err) + ']; return false; ';\n }\n } else {\n out += ' var err = ' + (__err) + '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ';\n }\n out += ' } ';\n }\n }\n if ($breakOnError) {\n out += ' if (errors === ';\n if ($top) {\n out += '0';\n } else {\n out += 'errs_' + ($lvl);\n }\n out += ') { ';\n $closingBraces2 += '}';\n }\n }\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces2) + ' ';\n }\n if ($top) {\n if ($async) {\n out += ' if (errors === 0) return data; ';\n out += ' else throw new ValidationError(vErrors); ';\n } else {\n out += ' validate.errors = vErrors; ';\n out += ' return errors === 0; ';\n }\n out += ' }; return validate;';\n } else {\n out += ' var ' + ($valid) + ' = errors === errs_' + ($lvl) + ';';\n }\n\n function $shouldUseGroup($rulesGroup) {\n var rules = $rulesGroup.rules;\n for (var i = 0; i < rules.length; i++)\n if ($shouldUseRule(rules[i])) return true;\n }\n\n function $shouldUseRule($rule) {\n return it.schema[$rule.keyword] !== undefined || ($rule.implements && $ruleImplementsSomeKeyword($rule));\n }\n\n function $ruleImplementsSomeKeyword($rule) {\n var impl = $rule.implements;\n for (var i = 0; i < impl.length; i++)\n if (it.schema[impl[i]] !== undefined) return true;\n }\n return out;\n}\n"]},"metadata":{},"sourceType":"script"}