{{# def.definitions }} {{# def.errors }} {{# def.setupKeyword }} {{# def.setupNextLevel }} {{## def.validateIfClause:_clause: {{ $it.schema = it.schema['_clause']; $it.schemaPath = it.schemaPath + '._clause'; $it.errSchemaPath = it.errSchemaPath + '/_clause'; }} {{# def.insertSubschemaCode }} {{=$valid}} = {{=$nextValid}}; {{? $thenPresent && $elsePresent }} {{ $ifClause = 'ifClause' + $lvl; }} var {{=$ifClause}} = '_clause'; {{??}} {{ $ifClause = '\'_clause\''; }} {{?}} #}} {{ var $thenSch = it.schema['then'] , $elseSch = it.schema['else'] , $thenPresent = $thenSch !== undefined && {{# def.nonEmptySchema:$thenSch }} , $elsePresent = $elseSch !== undefined && {{# def.nonEmptySchema:$elseSch }} , $currentBaseId = $it.baseId; }} {{? $thenPresent || $elsePresent }} {{ var $ifClause; $it.createErrors = false; $it.schema = $schema; $it.schemaPath = $schemaPath; $it.errSchemaPath = $errSchemaPath; }} var {{=$errs}} = errors; var {{=$valid}} = true; {{# def.setCompositeRule }} {{# def.insertSubschemaCode }} {{ $it.createErrors = true; }} {{# def.resetErrors }} {{# def.resetCompositeRule }} {{? $thenPresent }} if ({{=$nextValid}}) { {{# def.validateIfClause:then }} } {{? $elsePresent }} else { {{?}} {{??}} if (!{{=$nextValid}}) { {{?}} {{? $elsePresent }} {{# def.validateIfClause:else }} } {{?}} if (!{{=$valid}}) { {{# def.extraError:'if' }} } {{? $breakOnError }} else { {{?}} {{# def.cleanUp }} {{??}} {{? $breakOnError }} if (true) { {{?}} {{?}}