{{# def.definitions }} {{# def.errors }} {{# def.setupKeyword }} {{# def.$data }}

{{

var $i = 'i' + $lvl
  , $vSchema = 'schema' + $lvl;

}}

{{? !$isData }}

var {{=$vSchema}} = validate.schema{{=$schemaPath}};

{{?}} var {{=$valid}};

{{?$isData}}{{# def.check$dataIsArray }}{{?}}

{{=$valid}} = false;

for (var {{=$i}}=0; {{=$i}}<{{=$vSchema}}.length; {{=$i}}++)

if (equal({{=$data}}, {{=$vSchema}}[{{=$i}}])) {
  {{=$valid}} = true;
  break;
}

{{? $isData }} } {{?}}

{{# def.checkError:'enum' }}

{{? $breakOnError }} else { {{?}}