basant307/AI_Governance_Project
048
1{{# def.definitions }}2{{# def.errors }}3{{# def.setupKeyword }}4 5{{## def._validateRef:_v:6 {{? it.opts.passContext }}7 {{=_v}}.call(this,8 {{??}}9 {{=_v}}(10 {{?}}11 {{=$data}}, {{# def.dataPath }}{{# def.passParentData }}, rootData)12#}}13 14{{ var $async, $refCode; }}15{{? $schema == '#' || $schema == '#/' }}16 {{17 if (it.isRoot) {18 $async = it.async;19 $refCode = 'validate';20 } else {21 $async = it.root.schema.$async === true;22 $refCode = 'root.refVal[0]';23 }24 }}25{{??}}26 {{ var $refVal = it.resolveRef(it.baseId, $schema, it.isRoot); }}27 {{? $refVal === undefined }}28 {{ var $message = it.MissingRefError.message(it.baseId, $schema); }}29 {{? it.opts.missingRefs == 'fail' }}30 {{ it.logger.error($message); }}31 {{# def.error:'$ref' }}32 {{? $breakOnError }} if (false) { {{?}}33 {{?? it.opts.missingRefs == 'ignore' }}34 {{ it.logger.warn($message); }}35 {{? $breakOnError }} if (true) { {{?}}36 {{??}}37 {{ throw new it.MissingRefError(it.baseId, $schema, $message); }}38 {{?}}39 {{?? $refVal.inline }}40 {{# def.setupNextLevel }}41 {{42 $it.schema = $refVal.schema;43 $it.schemaPath = '';44 $it.errSchemaPath = $schema;45 }}46 {{ var $code = it.validate($it).replace(/validate\.schema/g, $refVal.code); }}47 {{= $code }}48 {{? $breakOnError}}49 if ({{=$nextValid}}) {50 {{?}}51 {{??}}52 {{53 $async = $refVal.$async === true || (it.async && $refVal.$async !== false);54 $refCode = $refVal.code;55 }}56 {{?}}57{{?}}58 59{{? $refCode }}60 {{# def.beginDefOut}}61 {{# def._validateRef:$refCode }}62 {{# def.storeDefOut:__callValidate }}63 64 {{? $async }}65 {{ if (!it.async) throw new Error('async schema referenced by sync schema'); }}66 {{? $breakOnError }} var {{=$valid}}; {{?}}67 try {68 await {{=__callValidate}};69 {{? $breakOnError }} {{=$valid}} = true; {{?}}70 } catch (e) {71 if (!(e instanceof ValidationError)) throw e;72 if (vErrors === null) vErrors = e.errors;73 else vErrors = vErrors.concat(e.errors);74 errors = vErrors.length;75 {{? $breakOnError }} {{=$valid}} = false; {{?}}76 }77 {{? $breakOnError }} if ({{=$valid}}) { {{?}}78 {{??}}79 if (!{{=__callValidate}}) {80 if (vErrors === null) vErrors = {{=$refCode}}.errors;81 else vErrors = vErrors.concat({{=$refCode}}.errors);82 errors = vErrors.length;83 } {{? $breakOnError }} else { {{?}}84 {{?}}85{{?}}86 