76 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			76 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 { {{?}} | ||
|  | 
 | ||
|  |   {{# def.cleanUp }} | ||
|  | {{??}} | ||
|  |   {{? $breakOnError }} | ||
|  |     if (true) { | ||
|  |   {{?}} | ||
|  | {{?}} | ||
|  | 
 |