source: imaps-frontend/node_modules/ajv/lib/dot/ref.jst

main
Last change on this file was d565449, checked in by stefan toskovski <stefantoska84@…>, 4 weeks ago

Update repo after prototype presentation

  • Property mode set to 100644
File size: 2.4 KB
Line 
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{{?}}
Note: See TracBrowser for help on using the repository browser.