Projekt

Obecné

Profil

Stáhnout (3.9 KB) Statistiky
| Větev: | Revize:
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
    : it.util.schemaHasRules(_schema, it.RULES.all))
69
#}}
70

    
71

    
72
{{## def.strLength:
73
  {{? it.opts.unicode === false }}
74
    {{=$data}}.length
75
  {{??}}
76
    ucs2length({{=$data}})
77
  {{?}}
78
#}}
79

    
80

    
81
{{## def.willOptimize:
82
  it.util.varOccurences($code, $nextData) < 2
83
#}}
84

    
85

    
86
{{## def.generateSubschemaCode:
87
  {{
88
    var $code = it.validate($it);
89
    $it.baseId = $currentBaseId;
90
  }}
91
#}}
92

    
93

    
94
{{## def.insertSubschemaCode:
95
  {{= it.validate($it) }}
96
  {{ $it.baseId = $currentBaseId; }}
97
#}}
98

    
99

    
100
{{## def._optimizeValidate:
101
  it.util.varReplace($code, $nextData, $passData)
102
#}}
103

    
104

    
105
{{## def.optimizeValidate:
106
  {{? {{# def.willOptimize}} }}
107
    {{= {{# def._optimizeValidate }} }}
108
  {{??}}
109
    var {{=$nextData}} = {{=$passData}};
110
    {{= $code }}
111
  {{?}}
112
#}}
113

    
114

    
115
{{## def.cleanUp: {{ out = it.util.cleanUpCode(out); }} #}}
116

    
117

    
118
{{## def.finalCleanUp: {{ out = it.util.finalCleanUpCode(out, $async); }} #}}
119

    
120

    
121
{{## def.$data:
122
  {{
123
    var $isData = it.opts.$data && $schema && $schema.$data
124
      , $schemaValue;
125
  }}
126
  {{? $isData }}
127
    var schema{{=$lvl}} = {{= it.util.getData($schema.$data, $dataLvl, it.dataPathArr) }};
128
    {{ $schemaValue = 'schema' + $lvl; }}
129
  {{??}}
130
    {{ $schemaValue = $schema; }}
131
  {{?}}
132
#}}
133

    
134

    
135
{{## def.$dataNotType:_type:
136
  {{?$isData}} ({{=$schemaValue}} !== undefined && typeof {{=$schemaValue}} != _type) || {{?}}
137
#}}
138

    
139

    
140
{{## def.check$dataIsArray:
141
  if (schema{{=$lvl}} === undefined) {{=$valid}} = true;
142
  else if (!Array.isArray(schema{{=$lvl}})) {{=$valid}} = false;
143
  else {
144
#}}
145

    
146

    
147
{{## def.beginDefOut:
148
  {{
149
    var $$outStack = $$outStack || [];
150
    $$outStack.push(out);
151
    out = '';
152
  }}
153
#}}
154

    
155

    
156
{{## def.storeDefOut:_variable:
157
  {{
158
    var _variable = out;
159
    out = $$outStack.pop();
160
  }}
161
#}}
162

    
163

    
164
{{## def.dataPath:(dataPath || ''){{? it.errorPath != '""'}} + {{= it.errorPath }}{{?}}#}}
165

    
166
{{## def.setParentData:
167
  {{
168
    var $parentData = $dataLvl ? 'data' + (($dataLvl-1)||'') : 'parentData'
169
      , $parentDataProperty = $dataLvl ? it.dataPathArr[$dataLvl] : 'parentDataProperty';
170
  }}
171
#}}
172

    
173
{{## def.passParentData:
174
  {{# def.setParentData }}
175
  , {{= $parentData }}
176
  , {{= $parentDataProperty }}
177
#}}
178

    
179

    
180
{{## def.iterateProperties:
181
  {{? $ownProperties }}
182
    {{=$dataProperties}} = {{=$dataProperties}} || Object.keys({{=$data}});
183
    for (var {{=$idx}}=0; {{=$idx}}<{{=$dataProperties}}.length; {{=$idx}}++) {
184
      var {{=$key}} = {{=$dataProperties}}[{{=$idx}}];
185
  {{??}}
186
    for (var {{=$key}} in {{=$data}}) {
187
  {{?}}
188
#}}
189

    
190

    
191
{{## def.noPropertyInData:
192
  {{=$useData}} === undefined
193
  {{? $ownProperties }}
194
    || !{{# def.isOwnProperty }}
195
  {{?}}
196
#}}
197

    
198

    
199
{{## def.isOwnProperty:
200
  Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($propertyKey)}}')
201
#}}
(13-13/30)