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