{"ast":null,"code":"'use strict';\n\nmodule.exports = function generate_required(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 $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n\n if ($isData) {\n out += ' var schema' + $lvl + ' = ' + it.util.getData($schema.$data, $dataLvl, it.dataPathArr) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n\n var $vSchema = 'schema' + $lvl;\n\n if (!$isData) {\n if ($schema.length < it.opts.loopRequired && it.schema.properties && Object.keys(it.schema.properties).length) {\n var $required = [];\n var arr1 = $schema;\n\n if (arr1) {\n var $property,\n i1 = -1,\n l1 = arr1.length - 1;\n\n while (i1 < l1) {\n $property = arr1[i1 += 1];\n var $propertySch = it.schema.properties[$property];\n\n if (!($propertySch && (it.opts.strictKeywords ? typeof $propertySch == 'object' && Object.keys($propertySch).length > 0 || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) {\n $required[$required.length] = $property;\n }\n }\n }\n } else {\n var $required = $schema;\n }\n }\n\n if ($isData || $required.length) {\n var $currentErrorPath = it.errorPath,\n $loopRequired = $isData || $required.length >= it.opts.loopRequired,\n $ownProperties = it.opts.ownProperties;\n\n if ($breakOnError) {\n out += ' var missing' + $lvl + '; ';\n\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + $vSchema + ' = validate.schema' + $schemaPath + '; ';\n }\n\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n\n out += ' var ' + $valid + ' = true; ';\n\n if ($isData) {\n out += ' if (schema' + $lvl + ' === undefined) ' + $valid + ' = true; else if (!Array.isArray(schema' + $lvl + ')) ' + $valid + ' = false; else {';\n }\n\n out += ' for (var ' + $i + ' = 0; ' + $i + ' < ' + $vSchema + '.length; ' + $i + '++) { ' + $valid + ' = ' + $data + '[' + $vSchema + '[' + $i + ']] !== undefined ';\n\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + $data + ', ' + $vSchema + '[' + $i + ']) ';\n }\n\n out += '; if (!' + $valid + ') break; } ';\n\n if ($isData) {\n out += ' } ';\n }\n\n out += ' if (!' + $valid + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = '';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + 'required' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { missingProperty: \\'' + $missingProperty + '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + $missingProperty + '\\\\\\'';\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 += ' } else { ';\n } else {\n out += ' if ( ';\n var arr2 = $required;\n\n if (arr2) {\n var $propertyKey,\n $i = -1,\n l2 = arr2.length - 1;\n\n while ($i < l2) {\n $propertyKey = arr2[$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: \\'' + 'required' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { missingProperty: \\'' + $missingProperty + '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + $missingProperty + '\\\\\\'';\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 += ' } else { ';\n }\n } else {\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + $vSchema + ' = validate.schema' + $schemaPath + '; ';\n }\n\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n\n if ($isData) {\n out += ' if (' + $vSchema + ' && !Array.isArray(' + $vSchema + ')) { var err = ';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + 'required' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { missingProperty: \\'' + $missingProperty + '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + $missingProperty + '\\\\\\'';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + $vSchema + ' !== undefined) { ';\n }\n\n out += ' for (var ' + $i + ' = 0; ' + $i + ' < ' + $vSchema + '.length; ' + $i + '++) { if (' + $data + '[' + $vSchema + '[' + $i + ']] === undefined ';\n\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + $data + ', ' + $vSchema + '[' + $i + ']) ';\n }\n\n out += ') { var err = ';\n /* istanbul ignore else */\n\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + 'required' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { missingProperty: \\'' + $missingProperty + '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + $missingProperty + '\\\\\\'';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ';\n\n if ($isData) {\n out += ' } ';\n }\n } else {\n var arr3 = $required;\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 $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: \\'' + 'required' + '\\' , dataPath: (dataPath || \\'\\') + ' + it.errorPath + ' , schemaPath: ' + it.util.toQuotedString($errSchemaPath) + ' , params: { missingProperty: \\'' + $missingProperty + '\\' } ';\n\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + $missingProperty + '\\\\\\'';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n }\n }\n }\n }\n\n it.errorPath = $currentErrorPath;\n } else if ($breakOnError) {\n out += ' if (true) {';\n }\n\n return out;\n};","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/ajv/lib/dotjs/required.js"],"names":["module","exports","generate_required","it","$keyword","$ruleType","out","$lvl","level","$dataLvl","dataLevel","$schema","schema","$schemaPath","schemaPath","util","getProperty","$errSchemaPath","errSchemaPath","$breakOnError","opts","allErrors","$data","$valid","$isData","$schemaValue","getData","dataPathArr","$vSchema","length","loopRequired","properties","Object","keys","$required","arr1","$property","i1","l1","$propertySch","strictKeywords","schemaHasRules","RULES","all","$currentErrorPath","errorPath","$loopRequired","$ownProperties","ownProperties","$i","$propertyPath","$missingProperty","_errorDataPathProperty","getPathExpr","jsonPointers","$$outStack","push","createErrors","toQuotedString","messages","verbose","__err","pop","compositeRule","async","arr2","$propertyKey","l2","$prop","$useData","escapeQuotes","arr3","i3","l3","getPath"],"mappings":"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","sourcesContent":["'use strict';\nmodule.exports = function generate_required(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 $valid = 'valid' + $lvl;\n var $isData = it.opts.$data && $schema && $schema.$data,\n $schemaValue;\n if ($isData) {\n out += ' var schema' + ($lvl) + ' = ' + (it.util.getData($schema.$data, $dataLvl, it.dataPathArr)) + '; ';\n $schemaValue = 'schema' + $lvl;\n } else {\n $schemaValue = $schema;\n }\n var $vSchema = 'schema' + $lvl;\n if (!$isData) {\n if ($schema.length < it.opts.loopRequired && it.schema.properties && Object.keys(it.schema.properties).length) {\n var $required = [];\n var arr1 = $schema;\n if (arr1) {\n var $property, i1 = -1,\n l1 = arr1.length - 1;\n while (i1 < l1) {\n $property = arr1[i1 += 1];\n var $propertySch = it.schema.properties[$property];\n if (!($propertySch && (it.opts.strictKeywords ? (typeof $propertySch == 'object' && Object.keys($propertySch).length > 0) || $propertySch === false : it.util.schemaHasRules($propertySch, it.RULES.all)))) {\n $required[$required.length] = $property;\n }\n }\n }\n } else {\n var $required = $schema;\n }\n }\n if ($isData || $required.length) {\n var $currentErrorPath = it.errorPath,\n $loopRequired = $isData || $required.length >= it.opts.loopRequired,\n $ownProperties = it.opts.ownProperties;\n if ($breakOnError) {\n out += ' var missing' + ($lvl) + '; ';\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n }\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n out += ' var ' + ($valid) + ' = true; ';\n if ($isData) {\n out += ' if (schema' + ($lvl) + ' === undefined) ' + ($valid) + ' = true; else if (!Array.isArray(schema' + ($lvl) + ')) ' + ($valid) + ' = false; else {';\n }\n out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { ' + ($valid) + ' = ' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] !== undefined ';\n if ($ownProperties) {\n out += ' && Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n }\n out += '; if (!' + ($valid) + ') break; } ';\n if ($isData) {\n out += ' } ';\n }\n out += ' if (!' + ($valid) + ') { ';\n var $$outStack = $$outStack || [];\n $$outStack.push(out);\n out = ''; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\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 += ' } else { ';\n } else {\n out += ' if ( ';\n var arr2 = $required;\n if (arr2) {\n var $propertyKey, $i = -1,\n l2 = arr2.length - 1;\n while ($i < l2) {\n $propertyKey = arr2[$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: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\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 += ' } else { ';\n }\n } else {\n if ($loopRequired) {\n if (!$isData) {\n out += ' var ' + ($vSchema) + ' = validate.schema' + ($schemaPath) + '; ';\n }\n var $i = 'i' + $lvl,\n $propertyPath = 'schema' + $lvl + '[' + $i + ']',\n $missingProperty = '\\' + ' + $propertyPath + ' + \\'';\n if (it.opts._errorDataPathProperty) {\n it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);\n }\n if ($isData) {\n out += ' if (' + ($vSchema) + ' && !Array.isArray(' + ($vSchema) + ')) { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } else if (' + ($vSchema) + ' !== undefined) { ';\n }\n out += ' for (var ' + ($i) + ' = 0; ' + ($i) + ' < ' + ($vSchema) + '.length; ' + ($i) + '++) { if (' + ($data) + '[' + ($vSchema) + '[' + ($i) + ']] === undefined ';\n if ($ownProperties) {\n out += ' || ! Object.prototype.hasOwnProperty.call(' + ($data) + ', ' + ($vSchema) + '[' + ($i) + ']) ';\n }\n out += ') { var err = '; /* istanbul ignore else */\n if (it.createErrors !== false) {\n out += ' { keyword: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } } ';\n if ($isData) {\n out += ' } ';\n }\n } else {\n var arr3 = $required;\n if (arr3) {\n var $propertyKey, i3 = -1,\n l3 = arr3.length - 1;\n while (i3 < l3) {\n $propertyKey = arr3[i3 += 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: \\'' + ('required') + '\\' , dataPath: (dataPath || \\'\\') + ' + (it.errorPath) + ' , schemaPath: ' + (it.util.toQuotedString($errSchemaPath)) + ' , params: { missingProperty: \\'' + ($missingProperty) + '\\' } ';\n if (it.opts.messages !== false) {\n out += ' , message: \\'';\n if (it.opts._errorDataPathProperty) {\n out += 'is a required property';\n } else {\n out += 'should have required property \\\\\\'' + ($missingProperty) + '\\\\\\'';\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 out += '; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; } ';\n }\n }\n }\n }\n it.errorPath = $currentErrorPath;\n } else if ($breakOnError) {\n out += ' if (true) {';\n }\n return out;\n}\n"]},"metadata":{},"sourceType":"script"}