{{# def.definitions }} {{# def.errors }} {{# def.setupKeyword }} {{# def.setupNextLevel }} {{## def.validateIf: {{# def.setCompositeRule }} {{ $it.createErrors = false; }} {{# def._validateSwitchRule:if }} {{ $it.createErrors = true; }} {{# def.resetCompositeRule }} {{=$ifPassed}} = {{=$nextValid}}; #}} {{## def.validateThen: {{? typeof $sch.then == 'boolean' }} {{? $sch.then === false }} {{# def.error:'switch' }} {{?}} var {{=$nextValid}} = {{= $sch.then }}; {{??}} {{# def._validateSwitchRule:then }} {{?}} #}} {{## def._validateSwitchRule:_clause: {{ $it.schema = $sch._clause; $it.schemaPath = $schemaPath + '[' + $caseIndex + ']._clause'; $it.errSchemaPath = $errSchemaPath + '/' + $caseIndex + '/_clause'; }} {{# def.insertSubschemaCode }} #}} {{## def.switchCase: {{? $sch.if && {{# def.nonEmptySchema:$sch.if }} }} var {{=$errs}} = errors; {{# def.validateIf }} if ({{=$ifPassed}}) { {{# def.validateThen }} } else { {{# def.resetErrors }} } {{??}} {{=$ifPassed}} = true; {{# def.validateThen }} {{?}} #}} {{ var $ifPassed = 'ifPassed' + it.level , $currentBaseId = $it.baseId , $shouldContinue; }} var {{=$ifPassed}}; {{~ $schema:$sch:$caseIndex }} {{? $caseIndex && !$shouldContinue }} if (!{{=$ifPassed}}) { {{ $closingBraces+= '}'; }} {{?}} {{# def.switchCase }} {{ $shouldContinue = $sch.continue }} {{~}} {{= $closingBraces }} var {{=$valid}} = {{=$nextValid}};