74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			74 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {{# def.definitions }}
 | |
| {{# def.errors }}
 | |
| {{# def.setupKeyword }}
 | |
| {{# def.setupNextLevel }}
 | |
| 
 | |
| 
 | |
| {{## def.validateIfClause:_clause:
 | |
|   {{
 | |
|     $it.schema = it.schema['_clause'];
 | |
|     $it.schemaPath = it.schemaPath + '._clause';
 | |
|     $it.errSchemaPath = it.errSchemaPath + '/_clause';
 | |
|   }}
 | |
|   {{# def.insertSubschemaCode }}
 | |
|   {{=$valid}} = {{=$nextValid}};
 | |
|   {{? $thenPresent && $elsePresent }}
 | |
|     {{ $ifClause = 'ifClause' + $lvl; }}
 | |
|     var {{=$ifClause}} = '_clause';
 | |
|   {{??}}
 | |
|     {{ $ifClause = '\'_clause\''; }}
 | |
|   {{?}}
 | |
| #}}
 | |
| 
 | |
| {{
 | |
|   var $thenSch = it.schema['then']
 | |
|     , $elseSch = it.schema['else']
 | |
|     , $thenPresent = $thenSch !== undefined && {{# def.nonEmptySchema:$thenSch }}
 | |
|     , $elsePresent = $elseSch !== undefined && {{# def.nonEmptySchema:$elseSch }}
 | |
|     , $currentBaseId = $it.baseId;
 | |
| }}
 | |
| 
 | |
| {{? $thenPresent || $elsePresent }}
 | |
|   {{
 | |
|     var $ifClause;
 | |
|     $it.createErrors = false;
 | |
|     $it.schema = $schema;
 | |
|     $it.schemaPath = $schemaPath;
 | |
|     $it.errSchemaPath = $errSchemaPath;
 | |
|   }}
 | |
|   var {{=$errs}} = errors;
 | |
|   var {{=$valid}} = true;
 | |
| 
 | |
|   {{# def.setCompositeRule }}
 | |
|   {{# def.insertSubschemaCode }}
 | |
|   {{ $it.createErrors = true; }}
 | |
|   {{# def.resetErrors }}
 | |
|   {{# def.resetCompositeRule }}
 | |
| 
 | |
|   {{? $thenPresent }}
 | |
|     if ({{=$nextValid}}) {
 | |
|       {{# def.validateIfClause:then }}
 | |
|     }
 | |
|     {{? $elsePresent }}
 | |
|       else {
 | |
|     {{?}}
 | |
|   {{??}}
 | |
|     if (!{{=$nextValid}}) {
 | |
|   {{?}}
 | |
| 
 | |
|   {{? $elsePresent }}
 | |
|       {{# def.validateIfClause:else }}
 | |
|     }
 | |
|   {{?}}
 | |
| 
 | |
|   if (!{{=$valid}}) {
 | |
|     {{# def.extraError:'if' }}
 | |
|   } 
 | |
|   {{? $breakOnError }} else { {{?}}
 | |
| {{??}}
 | |
|   {{? $breakOnError }}
 | |
|     if (true) {
 | |
|   {{?}}
 | |
| {{?}}
 | |
| 
 |