basant307/AI_Governance_Project
048
1{{# def.definitions }}2{{# def.errors }}3{{# def.missing }}4{{# def.setupKeyword }}5{{# def.$data }}6 7{{ var $vSchema = 'schema' + $lvl; }}8 9{{## def.setupLoop:10 {{? !$isData }}11 var {{=$vSchema}} = validate.schema{{=$schemaPath}};12 {{?}}13 14 {{15 var $i = 'i' + $lvl16 , $propertyPath = 'schema' + $lvl + '[' + $i + ']'17 , $missingProperty = '\' + ' + $propertyPath + ' + \'';18 if (it.opts._errorDataPathProperty) {19 it.errorPath = it.util.getPathExpr($currentErrorPath, $propertyPath, it.opts.jsonPointers);20 }21 }}22#}}23 24 25{{## def.isRequiredOwnProperty:26 Object.prototype.hasOwnProperty.call({{=$data}}, {{=$vSchema}}[{{=$i}}])27#}}28 29 30{{? !$isData }}31 {{? $schema.length < it.opts.loopRequired &&32 it.schema.properties && Object.keys(it.schema.properties).length }}33 {{ var $required = []; }}34 {{~ $schema:$property }}35 {{ var $propertySch = it.schema.properties[$property]; }}36 {{? !($propertySch && {{# def.nonEmptySchema:$propertySch}}) }}37 {{ $required[$required.length] = $property; }}38 {{?}}39 {{~}}40 {{??}}41 {{ var $required = $schema; }}42 {{?}}43{{?}}44 45 46{{? $isData || $required.length }}47 {{48 var $currentErrorPath = it.errorPath49 , $loopRequired = $isData || $required.length >= it.opts.loopRequired50 , $ownProperties = it.opts.ownProperties;51 }}52 53 {{? $breakOnError }}54 var missing{{=$lvl}};55 {{? $loopRequired }}56 {{# def.setupLoop }}57 var {{=$valid}} = true;58 59 {{?$isData}}{{# def.check$dataIsArray }}{{?}}60 61 for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) {62 {{=$valid}} = {{=$data}}[{{=$vSchema}}[{{=$i}}]] !== undefined63 {{? $ownProperties }}64 && {{# def.isRequiredOwnProperty }}65 {{?}};66 if (!{{=$valid}}) break;67 }68 69 {{? $isData }} } {{?}}70 71 {{# def.checkError:'required' }}72 else {73 {{??}}74 if ({{# def.checkMissingProperty:$required }}) {75 {{# def.errorMissingProperty:'required' }}76 } else {77 {{?}}78 {{??}}79 {{? $loopRequired }}80 {{# def.setupLoop }}81 {{? $isData }}82 if ({{=$vSchema}} && !Array.isArray({{=$vSchema}})) {83 {{# def.addError:'required' }}84 } else if ({{=$vSchema}} !== undefined) {85 {{?}}86 87 for (var {{=$i}} = 0; {{=$i}} < {{=$vSchema}}.length; {{=$i}}++) {88 if ({{=$data}}[{{=$vSchema}}[{{=$i}}]] === undefined89 {{? $ownProperties }}90 || !{{# def.isRequiredOwnProperty }}91 {{?}}) {92 {{# def.addError:'required' }}93 }94 }95 96 {{? $isData }} } {{?}}97 {{??}}98 {{~ $required:$propertyKey }}99 {{# def.allErrorsMissingProperty:'required' }}100 {{~}}101 {{?}}102 {{?}}103 104 {{ it.errorPath = $currentErrorPath; }}105 106{{?? $breakOnError }}107 if (true) {108{{?}}109 