Blame view

node_modules/ajv-keywords/keywords/dot/switch.jst 1.51 KB
6a9ffbcc   liuqimichale   地图点击事件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
  {{# def.definitions }}
  {{# def.errors }}
  {{# def.setupKeyword }}
  {{# def.setupNextLevel }}
  
  
  {{## def.validateIf:
    {{# def.setCompositeRule }}
    {{ $it.createErrors = false; }}
    {{# def._validateSwitchRule:if }}
    {{ $it.createErrors = true; }}
    {{# def.resetCompositeRule }}
    {{=$ifPassed}} = {{=$nextValid}};
  #}}
  
  {{## def.validateThen:
    {{? typeof $sch.then == 'boolean' }}
      {{? $sch.then === false }}
        {{# def.error:'switch' }}
      {{?}}
      var {{=$nextValid}} = {{= $sch.then }};
    {{??}}
      {{# def._validateSwitchRule:then }}
    {{?}}
  #}}
  
  {{## def._validateSwitchRule:_clause:
    {{
      $it.schema = $sch._clause;
      $it.schemaPath = $schemaPath + '[' + $caseIndex + ']._clause';
      $it.errSchemaPath = $errSchemaPath + '/' + $caseIndex + '/_clause';
    }}
    {{# def.insertSubschemaCode }}
  #}}
  
  {{## def.switchCase:
    {{? $sch.if && {{# def.nonEmptySchema:$sch.if }} }}
      var {{=$errs}} = errors;
      {{# def.validateIf }}
      if ({{=$ifPassed}}) {
        {{# def.validateThen }}  
      } else {
        {{# def.resetErrors }}
      }
    {{??}}
      {{=$ifPassed}} = true;
      {{# def.validateThen }}
    {{?}}
  #}}
  
  
  {{
    var $ifPassed = 'ifPassed' + it.level
      , $currentBaseId = $it.baseId
      , $shouldContinue;
  }}
  var {{=$ifPassed}};
  
  {{~ $schema:$sch:$caseIndex }}
    {{? $caseIndex && !$shouldContinue }}
      if (!{{=$ifPassed}}) {
      {{ $closingBraces+= '}'; }}
    {{?}}
  
    {{# def.switchCase }}
    {{ $shouldContinue = $sch.continue }}
  {{~}}
  
  {{= $closingBraces }}
  
  var {{=$valid}} = {{=$nextValid}};
  
  {{# def.cleanUp }}