| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 | {{# def.definitions }}{{# def.errors }}{{# def.setupKeyword }}{{# def.setupNextLevel }}{{## def.validateItems:startFrom:  for (var {{=$idx}} = {{=startFrom}}; {{=$idx}} < {{=$data}}.length; {{=$idx}}++) {    {{      $it.errorPath = it.util.getPathExpr(it.errorPath, $idx, it.opts.jsonPointers, true);      var $passData = $data + '[' + $idx + ']';      $it.dataPathArr[$dataNxt] = $idx;    }}    {{# def.generateSubschemaCode }}    {{# def.optimizeValidate }}    {{? $breakOnError }}      if (!{{=$nextValid}}) break;    {{?}}  }#}}{{  var $idx = 'i' + $lvl    , $dataNxt = $it.dataLevel = it.dataLevel + 1    , $nextData = 'data' + $dataNxt    , $currentBaseId = it.baseId;}}var {{=$errs}} = errors;var {{=$valid}};{{? Array.isArray($schema) }}  {{ /* 'items' is an array of schemas */}}  {{ var $additionalItems = it.schema.additionalItems; }}  {{? $additionalItems === false }}    {{=$valid}} = {{=$data}}.length <= {{= $schema.length }};    {{      var $currErrSchemaPath = $errSchemaPath;      $errSchemaPath = it.errSchemaPath + '/additionalItems';          }}    {{# def.checkError:'additionalItems' }}    {{ $errSchemaPath = $currErrSchemaPath; }}    {{# def.elseIfValid}}  {{?}}  {{~ $schema:$sch:$i }}    {{? {{# def.nonEmptySchema:$sch }} }}      {{=$nextValid}} = true;      if ({{=$data}}.length > {{=$i}}) {        {{          var $passData = $data + '[' + $i + ']';          $it.schema = $sch;          $it.schemaPath = $schemaPath + '[' + $i + ']';          $it.errSchemaPath = $errSchemaPath + '/' + $i;          $it.errorPath = it.util.getPathExpr(it.errorPath, $i, it.opts.jsonPointers, true);          $it.dataPathArr[$dataNxt] = $i;        }}        {{# def.generateSubschemaCode }}        {{# def.optimizeValidate }}      }      {{# def.ifResultValid }}    {{?}}  {{~}}  {{? typeof $additionalItems == 'object' && {{# def.nonEmptySchema:$additionalItems }} }}    {{      $it.schema = $additionalItems;      $it.schemaPath = it.schemaPath + '.additionalItems';      $it.errSchemaPath = it.errSchemaPath + '/additionalItems';    }}    {{=$nextValid}} = true;    if ({{=$data}}.length > {{= $schema.length }}) {      {{# def.validateItems: $schema.length }}    }    {{# def.ifResultValid }}  {{?}}{{?? {{# def.nonEmptySchema:$schema }} }}  {{ /* 'items' is a single schema */}}  {{    $it.schema = $schema;    $it.schemaPath = $schemaPath;    $it.errSchemaPath = $errSchemaPath;  }}  {{# def.validateItems: 0 }}{{?}}{{? $breakOnError }}  {{= $closingBraces }}  if ({{=$errs}} == errors) {{{?}}
 |