.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / ajv / lib / dot / format.jst
1 {{# def.definitions }}
2 {{# def.errors }}
3 {{# def.setupKeyword }}
4
5 {{## def.skipFormat:
6   {{? $breakOnError }} if (true) { {{?}}
7   {{ return out; }}
8 #}}
9
10 {{? it.opts.format === false }}{{# def.skipFormat }}{{?}}
11
12
13 {{# def.$data }}
14
15
16 {{## def.$dataCheckFormat:
17   {{# def.$dataNotType:'string' }}
18   ({{? $unknownFormats != 'ignore' }}
19      ({{=$schemaValue}} && !{{=$format}}
20       {{? $allowUnknown }}
21         && self._opts.unknownFormats.indexOf({{=$schemaValue}}) == -1
22       {{?}}) ||
23    {{?}}
24    ({{=$format}} && {{=$formatType}} == '{{=$ruleType}}'
25                  && !(typeof {{=$format}} == 'function'
26                      ? {{? it.async}}
27                         (async{{=$lvl}} ? await {{=$format}}({{=$data}}) : {{=$format}}({{=$data}}))
28                        {{??}}
29                         {{=$format}}({{=$data}})
30                        {{?}}
31                      : {{=$format}}.test({{=$data}}))))
32 #}}
33
34 {{## def.checkFormat:
35   {{
36     var $formatRef = 'formats' + it.util.getProperty($schema);
37     if ($isObject) $formatRef += '.validate';
38   }}
39   {{? typeof $format == 'function' }}
40     {{=$formatRef}}({{=$data}})
41   {{??}}
42     {{=$formatRef}}.test({{=$data}})
43   {{?}}
44 #}}
45
46
47 {{
48   var $unknownFormats = it.opts.unknownFormats
49     , $allowUnknown = Array.isArray($unknownFormats);
50 }}
51
52 {{? $isData }}
53   {{
54     var $format = 'format' + $lvl
55       , $isObject = 'isObject' + $lvl
56       , $formatType = 'formatType' + $lvl;
57   }}
58   var {{=$format}} = formats[{{=$schemaValue}}];
59   var {{=$isObject}} = typeof {{=$format}} == 'object'
60                         && !({{=$format}} instanceof RegExp)
61                         && {{=$format}}.validate;
62   var {{=$formatType}} = {{=$isObject}} && {{=$format}}.type || 'string';
63   if ({{=$isObject}}) {
64     {{? it.async}}
65       var async{{=$lvl}} = {{=$format}}.async;
66     {{?}}
67     {{=$format}} = {{=$format}}.validate;
68   }
69   if ({{# def.$dataCheckFormat }}) {
70 {{??}}
71   {{ var $format = it.formats[$schema]; }}
72   {{? !$format }}
73     {{? $unknownFormats == 'ignore' }}
74       {{ it.logger.warn('unknown format "' + $schema + '" ignored in schema at path "' + it.errSchemaPath + '"'); }}
75       {{# def.skipFormat }}
76     {{?? $allowUnknown && $unknownFormats.indexOf($schema) >= 0 }}
77       {{# def.skipFormat }}
78     {{??}}
79       {{ throw new Error('unknown format "' + $schema + '" is used in schema at path "' + it.errSchemaPath + '"'); }}
80     {{?}}
81   {{?}}
82   {{
83     var $isObject = typeof $format == 'object'
84                     && !($format instanceof RegExp)
85                     && $format.validate;
86     var $formatType = $isObject && $format.type || 'string';
87     if ($isObject) {
88       var $async = $format.async === true;
89       $format = $format.validate;
90     }
91   }}
92   {{? $formatType != $ruleType }}
93     {{# def.skipFormat }}
94   {{?}}
95   {{? $async }}
96     {{
97       if (!it.async) throw new Error('async format in sync schema');
98       var $formatRef = 'formats' + it.util.getProperty($schema) + '.validate';
99     }}
100     if (!(await {{=$formatRef}}({{=$data}}))) {
101   {{??}}
102     if (!{{# def.checkFormat }}) {
103   {{?}}
104 {{?}}
105     {{# def.error:'format' }}
106   } {{? $breakOnError }} else { {{?}}