Projekt

Obecné

Profil

Stáhnout (1.51 KB) Statistiky
| Větev: | Revize:
1
{{# def.definitions }}
2
{{# def.errors }}
3
{{# def.setupKeyword }}
4
{{# def.setupNextLevel }}
5

    
6

    
7
{{## def.validateIf:
8
  {{# def.setCompositeRule }}
9
  {{ $it.createErrors = false; }}
10
  {{# def._validateSwitchRule:if }}
11
  {{ $it.createErrors = true; }}
12
  {{# def.resetCompositeRule }}
13
  {{=$ifPassed}} = {{=$nextValid}};
14
#}}
15

    
16
{{## def.validateThen:
17
  {{? typeof $sch.then == 'boolean' }}
18
    {{? $sch.then === false }}
19
      {{# def.error:'switch' }}
20
    {{?}}
21
    var {{=$nextValid}} = {{= $sch.then }};
22
  {{??}}
23
    {{# def._validateSwitchRule:then }}
24
  {{?}}
25
#}}
26

    
27
{{## def._validateSwitchRule:_clause:
28
  {{
29
    $it.schema = $sch._clause;
30
    $it.schemaPath = $schemaPath + '[' + $caseIndex + ']._clause';
31
    $it.errSchemaPath = $errSchemaPath + '/' + $caseIndex + '/_clause';
32
  }}
33
  {{# def.insertSubschemaCode }}
34
#}}
35

    
36
{{## def.switchCase:
37
  {{? $sch.if && {{# def.nonEmptySchema:$sch.if }} }}
38
    var {{=$errs}} = errors;
39
    {{# def.validateIf }}
40
    if ({{=$ifPassed}}) {
41
      {{# def.validateThen }}  
42
    } else {
43
      {{# def.resetErrors }}
44
    }
45
  {{??}}
46
    {{=$ifPassed}} = true;
47
    {{# def.validateThen }}
48
  {{?}}
49
#}}
50

    
51

    
52
{{
53
  var $ifPassed = 'ifPassed' + it.level
54
    , $currentBaseId = $it.baseId
55
    , $shouldContinue;
56
}}
57
var {{=$ifPassed}};
58

    
59
{{~ $schema:$sch:$caseIndex }}
60
  {{? $caseIndex && !$shouldContinue }}
61
    if (!{{=$ifPassed}}) {
62
    {{ $closingBraces+= '}'; }}
63
  {{?}}
64

    
65
  {{# def.switchCase }}
66
  {{ $shouldContinue = $sch.continue }}
67
{{~}}
68

    
69
{{= $closingBraces }}
70

    
71
var {{=$valid}} = {{=$nextValid}};
72

    
73
{{# def.cleanUp }}
(3-3/3)