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