{{# def.definitions }}
{{# def.errors }}
{{# def.setupKeyword }}
{{# def.setupNextLevel }}

{{
  var $noEmptySchema = $schema.every(function($sch) {
    return {{# def.nonEmptySchema:$sch }};
  });
}}
{{? $noEmptySchema }}
  {{ var $currentBaseId = $it.baseId; }}
  var {{=$errs}} = errors;
  var {{=$valid}} = false;

  {{# def.setCompositeRule }}

  {{~ $schema:$sch:$i }}
    {{
      $it.schema = $sch;
      $it.schemaPath = $schemaPath + '[' + $i + ']';
      $it.errSchemaPath = $errSchemaPath + '/' + $i;
    }}

    {{# def.insertSubschemaCode }}

    {{=$valid}} = {{=$valid}} || {{=$nextValid}};

    if (!{{=$valid}}) {
    {{ $closingBraces += '}'; }}
  {{~}}

  {{# def.resetCompositeRule }}

  {{= $closingBraces }}

  if (!{{=$valid}}) {
    {{# def.extraError:'anyOf' }}
  } else {
    {{# def.resetErrors }}
  {{? it.opts.allErrors }} } {{?}}

  {{# def.cleanUp }}
{{??}}
  {{? $breakOnError }}
    if (true) {
  {{?}}
{{?}}
