.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / ajv / lib / dot / ref.jst
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 {{?}}