1 line
24 KiB
JSON
1 line
24 KiB
JSON
{"ast":null,"code":"'use strict';\n\nmodule.exports = function generate_dependencies(it, $keyword, $ruleType) {\n var out = ' ';\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 $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $schemaDeps = {},\n $propertyDeps = {},\n $ownProperties = it.opts.ownProperties;\n\n for ($property in $schema) {\n if ($property == '__proto__') continue;\n var $sch = $schema[$property];\n var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps;\n $deps[$property] = $sch;\n }\n\n out += 'var ' + $errs + ' = errors;';\n var $currentErrorPath = it.errorPath;\n out += 'var missing' + $lvl + ';';\n\n for (var $property in $propertyDeps) {\n $deps = $propertyDeps[$property];\n\n if ($deps.length) {\n out += ' if ( ' + $data + it.util.getProperty($property) + ' !== undefined ';\n\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + $data + ', \\'' + it.util.escapeQuotes($property) + '\\') ';\n }\n\n if ($breakOnError) {\n out += ' && ( ';\n var arr1 = $deps;\n\n if (arr1) {\n var $propertyKey,\n $i = -1,\n l1 = arr1.length - 1;\n\n while ($i < l1) {\n $propertyKey = arr1[$i += 1];\n\n if ($i) {\n out += ' || ';\n }\n\n var $prop = it.util.getProperty($propertyKey),\n $useData = $data + $prop;\n out += ' ( ( ' + $useData + ' === undefined ';\n\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + $data + ', \\'' + it.util.escapeQuotes($propertyKey) + '\\') ';\n }\n\n out += ') && (missing' + $lvl + ' = ' + it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop) + ') ) ';\n }\n }\n\n out += ')) { ';\n var $propertyPath = 'missing' + $lvl,\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath;\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: \\'' + 'dependencies' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { property: \\'' + it.util.escapeQuotes($property) + '\\', missingProperty: \\'' + $missingProperty + '\\', depsCount: ' + $deps.length + ', deps: \\'' + it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(\", \")) + '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'should have ';\n\n if ($deps.length == 1) {\n out += 'property ' + it.util.escapeQuotes($deps[0]);\n } else {\n out += 'properties ' + it.util.escapeQuotes($deps.join(\", \"));\n }\n\n out += ' when property ' + it.util.escapeQuotes($property) + ' is present\\' ';\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 } else {\n out += ' ) { ';\n var arr2 = $deps;\n\n if (arr2) {\n var $propertyKey,\n i2 = -1,\n l2 = arr2.length - 1;\n\n while (i2 < l2) {\n $propertyKey = arr2[i2 += 1];\n var $prop = it.util.getProperty($propertyKey),\n $missingProperty = it.util.escapeQuotes($propertyKey),\n $useData = $data + $prop;\n\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n }\n\n out += ' if ( ' + $useData + ' === undefined ';\n\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + $data + ', \\'' + it.util.escapeQuotes($propertyKey) + '\\') ';\n }\n\n out += ') { var err = ';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + 'dependencies' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { property: \\'' + it.util.escapeQuotes($property) + '\\', missingProperty: \\'' + $missingProperty + '\\', depsCount: ' + $deps.length + ', deps: \\'' + it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(\", \")) + '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'should have ';\n\n if ($deps.length == 1) {\n out += 'property ' + it.util.escapeQuotes($deps[0]);\n } else {\n out += 'properties ' + it.util.escapeQuotes($deps.join(\", \"));\n }\n\n out += ' when property ' + it.util.escapeQuotes($property) + ' is present\\' ';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n }\n }\n }\n\n out += ' } ';\n\n if ($breakOnError) {\n $closingBraces += '}';\n out += ' else { ';\n }\n }\n }\n\n it.errorPath = $currentErrorPath;\n var $currentBaseId = $it.baseId;\n\n for (var $property in $schemaDeps) {\n var $sch = $schemaDeps[$property];\n\n if (it.opts.strictKeywords ? typeof $sch == 'object' && Object.keys($sch).length > 0 || $sch === false : it.util.schemaHasRules($sch, it.RULES.all)) {\n out += ' ' + $nextValid + ' = true; if ( ' + $data + it.util.getProperty($property) + ' !== undefined ';\n\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + $data + ', \\'' + it.util.escapeQuotes($property) + '\\') ';\n }\n\n out += ') { ';\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + it.util.getProperty($property);\n $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property);\n out += ' ' + it.validate($it) + ' ';\n $it.baseId = $currentBaseId;\n out += ' } ';\n\n if ($breakOnError) {\n out += ' if (' + $nextValid + ') { ';\n $closingBraces += '}';\n }\n }\n }\n\n if ($breakOnError) {\n out += ' ' + $closingBraces + ' if (' + $errs + ' == errors) {';\n }\n\n return out;\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/ajv/lib/dotjs/dependencies.js"],"names":["module","exports","generate_dependencies","it","$keyword","$ruleType","out","$lvl","level","$dataLvl","dataLevel","$schema","schema","$schemaPath","schemaPath","util","getProperty","$errSchemaPath","errSchemaPath","$breakOnError","opts","allErrors","$data","$errs","$it","copy","$closingBraces","$nextValid","$schemaDeps","$propertyDeps","$ownProperties","ownProperties","$property","$sch","$deps","Array","isArray","$currentErrorPath","errorPath","length","escapeQuotes","arr1","$propertyKey","$i","l1","$prop","$useData","toQuotedString","jsonPointers","$propertyPath","$missingProperty","_errorDataPathProperty","getPathExpr","$$outStack","push","createErrors","join","messages","verbose","__err","pop","compositeRule","async","arr2","i2","l2","getPath","$currentBaseId","baseId","strictKeywords","Object","keys","schemaHasRules","RULES","all","escapeFragment","validate"],"mappings":"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","sourcesContent":["'use strict';\nmodule.exports = function generate_dependencies(it, $keyword, $ruleType) {\n var out = ' ';\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 $data = 'data' + ($dataLvl || '');\n var $errs = 'errs__' + $lvl;\n var $it = it.util.copy(it);\n var $closingBraces = '';\n $it.level++;\n var $nextValid = 'valid' + $it.level;\n var $schemaDeps = {},\n $propertyDeps = {},\n $ownProperties = it.opts.ownProperties;\n for ($property in $schema) {\n if ($property == '__proto__') continue;\n var $sch = $schema[$property];\n var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps;\n $deps[$property] = $sch;\n }\n out += 'var ' + ($errs) + ' = errors;';\n var $currentErrorPath = it.errorPath;\n out += 'var missing' + ($lvl) + ';';\n for (var $property in $propertyDeps) {\n $deps = $propertyDeps[$property];\n if ($deps.length) {\n out += ' if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($property)) + '\\') ';\n }\n if ($breakOnError) {\n out += ' && ( ';\n var arr1 = $deps;\n if (arr1) {\n var $propertyKey, $i = -1,\n l1 = arr1.length - 1;\n while ($i < l1) {\n $propertyKey = arr1[$i += 1];\n if ($i) {\n out += ' || ';\n }\n var $prop = it.util.getProperty($propertyKey),\n $useData = $data + $prop;\n out += ' ( ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') && (missing' + ($lvl) + ' = ' + (it.util.toQuotedString(it.opts.jsonPointers ? $propertyKey : $prop)) + ') ) ';\n }\n }\n out += ')) { ';\n var $propertyPath = 'missing' + $lvl,\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.opts.jsonPointers ? it.util.getPathExpr($currentErrorPath, $propertyPath, true) : $currentErrorPath + ' + ' + $propertyPath;\n }\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('dependencies') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { property: \\'' + (it.util.escapeQuotes($property)) + '\\', missingProperty: \\'' + ($missingProperty) + '\\', depsCount: ' + ($deps.length) + ', deps: \\'' + (it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(\", \"))) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should have ';\n if ($deps.length == 1) {\n out += 'property ' + (it.util.escapeQuotes($deps[0]));\n } else {\n out += 'properties ' + (it.util.escapeQuotes($deps.join(\", \")));\n }\n out += ' when property ' + (it.util.escapeQuotes($property)) + ' is present\\' ';\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 } else {\n out += ' ) { ';\n var arr2 = $deps;\n if (arr2) {\n var $propertyKey, i2 = -1,\n l2 = arr2.length - 1;\n while (i2 < l2) {\n $propertyKey = arr2[i2 += 1];\n var $prop = it.util.getProperty($propertyKey),\n $missingProperty = it.util.escapeQuotes($propertyKey),\n $useData = $data + $prop;\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPath($currentErrorPath, $propertyKey, it.opts.jsonPointers);\n }\n out += ' if ( ' + ($useData) + ' === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($propertyKey)) + '\\') ';\n }\n out += ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('dependencies') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { property: \\'' + (it.util.escapeQuotes($property)) + '\\', missingProperty: \\'' + ($missingProperty) + '\\', depsCount: ' + ($deps.length) + ', deps: \\'' + (it.util.escapeQuotes($deps.length == 1 ? $deps[0] : $deps.join(\", \"))) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'should have ';\n if ($deps.length == 1) {\n out += 'property ' + (it.util.escapeQuotes($deps[0]));\n } else {\n out += 'properties ' + (it.util.escapeQuotes($deps.join(\", \")));\n }\n out += ' when property ' + (it.util.escapeQuotes($property)) + ' is present\\' ';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n }\n }\n }\n out += ' } ';\n if ($breakOnError) {\n $closingBraces += '}';\n out += ' else { ';\n }\n }\n }\n it.errorPath = $currentErrorPath;\n var $currentBaseId = $it.baseId;\n for (var $property in $schemaDeps) {\n var $sch = $schemaDeps[$property];\n if ((it.opts.strictKeywords ? (typeof $sch == 'object' && Object.keys($sch).length > 0) || $sch === false : it.util.schemaHasRules($sch, it.RULES.all))) {\n out += ' ' + ($nextValid) + ' = true; if ( ' + ($data) + (it.util.getProperty($property)) + ' !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', \\'' + (it.util.escapeQuotes($property)) + '\\') ';\n }\n out += ') { ';\n $it.schema = $sch;\n $it.schemaPath = $schemaPath + it.util.getProperty($property);\n $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property);\n out += ' ' + (it.validate($it)) + ' ';\n $it.baseId = $currentBaseId;\n out += ' } ';\n if ($breakOnError) {\n out += ' if (' + ($nextValid) + ') { ';\n $closingBraces += '}';\n }\n }\n }\n if ($breakOnError) {\n out += ' ' + ($closingBraces) + ' if (' + ($errs) + ' == errors) {';\n }\n return out;\n}\n"]},"metadata":{},"sourceType":"script"} |