source: imaps-frontend/node_modules/ajv/lib/dot/definitions.def

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: 3.9 KB
Line 
1{{## def.setupKeyword:
2 {{
3 var $lvl = it.level;
4 var $dataLvl = it.dataLevel;
5 var $schema = it.schema[$keyword];
6 var $schemaPath = it.schemaPath + it.util.getProperty($keyword);
7 var $errSchemaPath = it.errSchemaPath + '/' + $keyword;
8 var $breakOnError = !it.opts.allErrors;
9 var $errorKeyword;
10
11 var $data = 'data' + ($dataLvl || '');
12 var $valid = 'valid' + $lvl;
13 var $errs = 'errs__' + $lvl;
14 }}
15#}}
16
17
18{{## def.setCompositeRule:
19 {{
20 var $wasComposite = it.compositeRule;
21 it.compositeRule = $it.compositeRule = true;
22 }}
23#}}
24
25
26{{## def.resetCompositeRule:
27 {{ it.compositeRule = $it.compositeRule = $wasComposite; }}
28#}}
29
30
31{{## def.setupNextLevel:
32 {{
33 var $it = it.util.copy(it);
34 var $closingBraces = '';
35 $it.level++;
36 var $nextValid = 'valid' + $it.level;
37 }}
38#}}
39
40
41{{## def.ifValid:
42 {{? $breakOnError }}
43 if ({{=$valid}}) {
44 {{ $closingBraces += '}'; }}
45 {{?}}
46#}}
47
48
49{{## def.ifResultValid:
50 {{? $breakOnError }}
51 if ({{=$nextValid}}) {
52 {{ $closingBraces += '}'; }}
53 {{?}}
54#}}
55
56
57{{## def.elseIfValid:
58 {{? $breakOnError }}
59 {{ $closingBraces += '}'; }}
60 else {
61 {{?}}
62#}}
63
64
65{{## def.nonEmptySchema:_schema:
66 (it.opts.strictKeywords
67 ? (typeof _schema == 'object' && Object.keys(_schema).length > 0)
68 || _schema === false
69 : it.util.schemaHasRules(_schema, it.RULES.all))
70#}}
71
72
73{{## def.strLength:
74 {{? it.opts.unicode === false }}
75 {{=$data}}.length
76 {{??}}
77 ucs2length({{=$data}})
78 {{?}}
79#}}
80
81
82{{## def.willOptimize:
83 it.util.varOccurences($code, $nextData) < 2
84#}}
85
86
87{{## def.generateSubschemaCode:
88 {{
89 var $code = it.validate($it);
90 $it.baseId = $currentBaseId;
91 }}
92#}}
93
94
95{{## def.insertSubschemaCode:
96 {{= it.validate($it) }}
97 {{ $it.baseId = $currentBaseId; }}
98#}}
99
100
101{{## def._optimizeValidate:
102 it.util.varReplace($code, $nextData, $passData)
103#}}
104
105
106{{## def.optimizeValidate:
107 {{? {{# def.willOptimize}} }}
108 {{= {{# def._optimizeValidate }} }}
109 {{??}}
110 var {{=$nextData}} = {{=$passData}};
111 {{= $code }}
112 {{?}}
113#}}
114
115
116{{## def.$data:
117 {{
118 var $isData = it.opts.$data && $schema && $schema.$data
119 , $schemaValue;
120 }}
121 {{? $isData }}
122 var schema{{=$lvl}} = {{= it.util.getData($schema.$data, $dataLvl, it.dataPathArr) }};
123 {{ $schemaValue = 'schema' + $lvl; }}
124 {{??}}
125 {{ $schemaValue = $schema; }}
126 {{?}}
127#}}
128
129
130{{## def.$dataNotType:_type:
131 {{?$isData}} ({{=$schemaValue}} !== undefined && typeof {{=$schemaValue}} != _type) || {{?}}
132#}}
133
134
135{{## def.check$dataIsArray:
136 if (schema{{=$lvl}} === undefined) {{=$valid}} = true;
137 else if (!Array.isArray(schema{{=$lvl}})) {{=$valid}} = false;
138 else {
139#}}
140
141
142{{## def.numberKeyword:
143 {{? !($isData || typeof $schema == 'number') }}
144 {{ throw new Error($keyword + ' must be number'); }}
145 {{?}}
146#}}
147
148
149{{## def.beginDefOut:
150 {{
151 var $$outStack = $$outStack || [];
152 $$outStack.push(out);
153 out = '';
154 }}
155#}}
156
157
158{{## def.storeDefOut:_variable:
159 {{
160 var _variable = out;
161 out = $$outStack.pop();
162 }}
163#}}
164
165
166{{## def.dataPath:(dataPath || ''){{? it.errorPath != '""'}} + {{= it.errorPath }}{{?}}#}}
167
168{{## def.setParentData:
169 {{
170 var $parentData = $dataLvl ? 'data' + (($dataLvl-1)||'') : 'parentData'
171 , $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';
172 }}
173#}}
174
175{{## def.passParentData:
176 {{# def.setParentData }}
177 , {{= $parentData }}
178 , {{= $parentDataProperty }}
179#}}
180
181
182{{## def.iterateProperties:
183 {{? $ownProperties }}
184 {{=$dataProperties}} = {{=$dataProperties}} || Object.keys({{=$data}});
185 for (var {{=$idx}}=0; {{=$idx}}<{{=$dataProperties}}.length; {{=$idx}}++) {
186 var {{=$key}} = {{=$dataProperties}}[{{=$idx}}];
187 {{??}}
188 for (var {{=$key}} in {{=$data}}) {
189 {{?}}
190#}}
191
192
193{{## def.noPropertyInData:
194 {{=$useData}} === undefined
195 {{? $ownProperties }}
196 || !{{# def.isOwnProperty }}
197 {{?}}
198#}}
199
200
201{{## def.isOwnProperty:
202 Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($propertyKey)}}')
203#}}
Note: See TracBrowser for help on using the repository browser.