|
|
- {{# def.definitions }}
- {{# def.errors }}
- {{# def.missing }}
- {{# def.setupKeyword }}
- {{# def.setupNextLevel }}
-
-
- {{## def.propertyInData:
- {{=$data}}{{= it.util.getProperty($property) }} !== undefined
- {{? $ownProperties }}
- && Object.prototype.hasOwnProperty.call({{=$data}}, '{{=it.util.escapeQuotes($property)}}')
- {{?}}
- #}}
-
-
- {{
- var $schemaDeps = {}
- , $propertyDeps = {}
- , $ownProperties = it.opts.ownProperties;
-
- for ($property in $schema) {
- var $sch = $schema[$property];
- var $deps = Array.isArray($sch) ? $propertyDeps : $schemaDeps;
- $deps[$property] = $sch;
- }
- }}
-
- var {{=$errs}} = errors;
-
- {{ var $currentErrorPath = it.errorPath; }}
-
- var missing{{=$lvl}};
- {{ for (var $property in $propertyDeps) { }}
- {{ $deps = $propertyDeps[$property]; }}
- {{? $deps.length }}
- if ({{# def.propertyInData }}
- {{? $breakOnError }}
- && ({{# def.checkMissingProperty:$deps }})) {
- {{# def.errorMissingProperty:'dependencies' }}
- {{??}}
- ) {
- {{~ $deps:$propertyKey }}
- {{# def.allErrorsMissingProperty:'dependencies' }}
- {{~}}
- {{?}}
- } {{# def.elseIfValid }}
- {{?}}
- {{ } }}
-
- {{
- it.errorPath = $currentErrorPath;
- var $currentBaseId = $it.baseId;
- }}
-
-
- {{ for (var $property in $schemaDeps) { }}
- {{ var $sch = $schemaDeps[$property]; }}
- {{? {{# def.nonEmptySchema:$sch }} }}
- {{=$nextValid}} = true;
-
- if ({{# def.propertyInData }}) {
- {{
- $it.schema = $sch;
- $it.schemaPath = $schemaPath + it.util.getProperty($property);
- $it.errSchemaPath = $errSchemaPath + '/' + it.util.escapeFragment($property);
- }}
-
- {{# def.insertSubschemaCode }}
- }
-
- {{# def.ifResultValid }}
- {{?}}
- {{ } }}
-
- {{? $breakOnError }}
- {{= $closingBraces }}
- if ({{=$errs}} == errors) {
- {{?}}
-
- {{# def.cleanUp }}
|