| 
						 | 
						- {{# 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 }} } {{?}}
 
 
  |