| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | {{# 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}};{{# def.cleanUp }}
 |