| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | 
							- {{# def.definitions }}
 
- {{# def.errors }}
 
- {{# def.setupKeyword }}
 
- {{## def._validateRef:_v:
 
-   {{? it.opts.passContext }}
 
-     {{=_v}}.call(this,
 
-   {{??}}
 
-     {{=_v}}(
 
-   {{?}}
 
-     {{=$data}}, {{# def.dataPath }}{{# def.passParentData }}, rootData)
 
- #}}
 
- {{ var $async, $refCode; }}
 
- {{? $schema == '#' || $schema == '#/' }}
 
-   {{
 
-     if (it.isRoot) {
 
-       $async = it.async;
 
-       $refCode = 'validate';
 
-     } else {
 
-       $async = it.root.schema.$async === true;
 
-       $refCode = 'root.refVal[0]';
 
-     }
 
-   }}
 
- {{??}}
 
-   {{ var $refVal = it.resolveRef(it.baseId, $schema, it.isRoot); }}
 
-   {{? $refVal === undefined }}
 
-     {{ var $message = it.MissingRefError.message(it.baseId, $schema); }}
 
-     {{? it.opts.missingRefs == 'fail' }}
 
-       {{ it.logger.error($message); }}
 
-       {{# def.error:'$ref' }}
 
-       {{? $breakOnError }} if (false) { {{?}}
 
-     {{?? it.opts.missingRefs == 'ignore' }}
 
-       {{ it.logger.warn($message); }}
 
-       {{? $breakOnError }} if (true) { {{?}}
 
-     {{??}}
 
-       {{ throw new it.MissingRefError(it.baseId, $schema, $message); }}
 
-     {{?}}
 
-   {{?? $refVal.inline }}
 
-     {{# def.setupNextLevel }}
 
-     {{
 
-       $it.schema = $refVal.schema;
 
-       $it.schemaPath = '';
 
-       $it.errSchemaPath = $schema;
 
-     }}
 
-     {{ var $code = it.validate($it).replace(/validate\.schema/g, $refVal.code); }}
 
-     {{= $code }}
 
-     {{? $breakOnError}}
 
-       if ({{=$nextValid}}) {
 
-     {{?}}
 
-   {{??}}
 
-     {{
 
-       $async = $refVal.$async === true || (it.async && $refVal.$async !== false);
 
-       $refCode = $refVal.code;
 
-     }}
 
-   {{?}}
 
- {{?}}
 
- {{? $refCode }}
 
-   {{# def.beginDefOut}}
 
-     {{# def._validateRef:$refCode }}
 
-   {{# def.storeDefOut:__callValidate }}
 
-   {{? $async }}
 
-     {{ if (!it.async) throw new Error('async schema referenced by sync schema'); }}
 
-     {{? $breakOnError }} var {{=$valid}}; {{?}}
 
-     try {
 
-       await {{=__callValidate}};
 
-       {{? $breakOnError }} {{=$valid}} = true; {{?}}
 
-     } catch (e) {
 
-       if (!(e instanceof ValidationError)) throw e;
 
-       if (vErrors === null) vErrors = e.errors;
 
-       else vErrors = vErrors.concat(e.errors);
 
-       errors = vErrors.length;
 
-       {{? $breakOnError }} {{=$valid}} = false; {{?}}
 
-     }
 
-     {{? $breakOnError }} if ({{=$valid}}) { {{?}}
 
-   {{??}}
 
-     if (!{{=__callValidate}}) {
 
-       if (vErrors === null) vErrors = {{=$refCode}}.errors;
 
-       else vErrors = vErrors.concat({{=$refCode}}.errors);
 
-       errors = vErrors.length;
 
-     } {{? $breakOnError }} else { {{?}}
 
-   {{?}}
 
- {{?}}
 
 
  |