55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| {{# def.definitions }}
 | |
| {{# def.errors }}
 | |
| {{# def.setupKeyword }}
 | |
| {{# def.setupNextLevel }}
 | |
| 
 | |
| {{
 | |
|   var $currentBaseId = $it.baseId
 | |
|     , $prevValid = 'prevValid' + $lvl
 | |
|     , $passingSchemas = 'passingSchemas' + $lvl;
 | |
| }}
 | |
| 
 | |
| var {{=$errs}} = errors
 | |
|   , {{=$prevValid}} = false
 | |
|   , {{=$valid}} = false
 | |
|   , {{=$passingSchemas}} = null;
 | |
| 
 | |
| {{# def.setCompositeRule }}
 | |
| 
 | |
| {{~ $schema:$sch:$i }}
 | |
|   {{? {{# def.nonEmptySchema:$sch }} }}
 | |
|     {{
 | |
|       $it.schema = $sch;
 | |
|       $it.schemaPath = $schemaPath + '[' + $i + ']';
 | |
|       $it.errSchemaPath = $errSchemaPath + '/' + $i;
 | |
|     }}
 | |
| 
 | |
|     {{# def.insertSubschemaCode }}
 | |
|   {{??}}
 | |
|     var {{=$nextValid}} = true;
 | |
|   {{?}}
 | |
| 
 | |
|   {{? $i }}
 | |
|     if ({{=$nextValid}} && {{=$prevValid}}) {
 | |
|       {{=$valid}} = false;
 | |
|       {{=$passingSchemas}} = [{{=$passingSchemas}}, {{=$i}}];
 | |
|     } else {
 | |
|     {{ $closingBraces += '}'; }}
 | |
|   {{?}}
 | |
| 
 | |
|     if ({{=$nextValid}}) {
 | |
|       {{=$valid}} = {{=$prevValid}} = true;
 | |
|       {{=$passingSchemas}} = {{=$i}};
 | |
|     }
 | |
| {{~}}
 | |
| 
 | |
| {{# def.resetCompositeRule }}
 | |
| 
 | |
| {{= $closingBraces }}
 | |
| 
 | |
| if (!{{=$valid}}) {
 | |
|   {{# def.extraError:'oneOf' }}
 | |
| } else {
 | |
|   {{# def.resetErrors }}
 | |
| {{? it.opts.allErrors }} } {{?}}
 |