| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 | 
							- {{# def.definitions }}
 
- {{## def._error:_rule:
 
-   {{ 'istanbul ignore else'; }}
 
-   {{? it.createErrors !== false }}
 
-     {
 
-       keyword: '{{= $errorKeyword || _rule }}'
 
-       , dataPath: (dataPath || '') + {{= it.errorPath }}
 
-       , schemaPath: {{=it.util.toQuotedString($errSchemaPath)}}
 
-       , params: {{# def._errorParams[_rule] }}
 
-       {{? it.opts.messages !== false }}
 
-         , message: {{# def._errorMessages[_rule] }}
 
-       {{?}}
 
-       {{? it.opts.verbose }}
 
-         , schema: {{# def._errorSchemas[_rule] }}
 
-         , parentSchema: validate.schema{{=it.schemaPath}}
 
-         , data: {{=$data}}
 
-       {{?}}
 
-     }
 
-   {{??}}
 
-     {}
 
-   {{?}}
 
- #}}
 
- {{## def._addError:_rule:
 
-   if (vErrors === null) vErrors = [err];
 
-   else vErrors.push(err);
 
-   errors++;
 
- #}}
 
- {{## def.addError:_rule:
 
-   var err = {{# def._error:_rule }};
 
-   {{# def._addError:_rule }}
 
- #}}
 
- {{## def.error:_rule:
 
-   {{# def.beginDefOut}}
 
-     {{# def._error:_rule }}
 
-   {{# def.storeDefOut:__err }}
 
-   {{? !it.compositeRule && $breakOnError }}
 
-     {{ 'istanbul ignore if'; }}
 
-     {{? it.async }}
 
-       throw new ValidationError([{{=__err}}]);
 
-     {{??}}
 
-       validate.errors = [{{=__err}}];
 
-       return false;
 
-     {{?}}
 
-   {{??}}
 
-     var err = {{=__err}};
 
-     {{# def._addError:_rule }}
 
-   {{?}}
 
- #}}
 
- {{## def.extraError:_rule:
 
-   {{# def.addError:_rule}}
 
-   {{? !it.compositeRule && $breakOnError }}
 
-     {{ 'istanbul ignore if'; }}
 
-     {{? it.async }}
 
-       throw new ValidationError(vErrors);
 
-     {{??}}
 
-       validate.errors = vErrors;
 
-       return false;
 
-     {{?}}
 
-   {{?}}
 
- #}}
 
- {{## def.checkError:_rule:
 
-   if (!{{=$valid}}) {
 
-     {{# def.error:_rule }}
 
-   }
 
- #}}
 
- {{## def.resetErrors:
 
-   errors = {{=$errs}};
 
-   if (vErrors !== null) {
 
-     if ({{=$errs}}) vErrors.length = {{=$errs}};
 
-     else vErrors = null;
 
-   }
 
- #}}
 
- {{## def.concatSchema:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=$schema}}{{?}}#}}
 
- {{## def.appendSchema:{{?$isData}}' + {{=$schemaValue}}{{??}}{{=$schemaValue}}'{{?}}#}}
 
- {{## def.concatSchemaEQ:{{?$isData}}' + {{=$schemaValue}} + '{{??}}{{=it.util.escapeQuotes($schema)}}{{?}}#}}
 
- {{## def._errorMessages = {
 
-   'false schema':  "'boolean schema is false'",
 
-   $ref:            "'can\\\'t resolve reference {{=it.util.escapeQuotes($schema)}}'",
 
-   additionalItems: "'should NOT have more than {{=$schema.length}} items'",
 
-   additionalProperties: "'{{? it.opts._errorDataPathProperty }}is an invalid additional property{{??}}should NOT have additional properties{{?}}'",
 
-   anyOf:           "'should match some schema in anyOf'",
 
-   const:           "'should be equal to constant'",
 
-   contains:        "'should contain a valid item'",
 
-   dependencies:    "'should have {{? $deps.length == 1 }}property {{= it.util.escapeQuotes($deps[0]) }}{{??}}properties {{= it.util.escapeQuotes($deps.join(\", \")) }}{{?}} when property {{= it.util.escapeQuotes($property) }} is present'",
 
-   'enum':          "'should be equal to one of the allowed values'",
 
-   format:          "'should match format \"{{#def.concatSchemaEQ}}\"'",
 
-   'if':            "'should match \"' + {{=$ifClause}} + '\" schema'",
 
-   _limit:          "'should be {{=$opStr}} {{#def.appendSchema}}",
 
-   _exclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'",
 
-   _limitItems:     "'should NOT have {{?$keyword=='maxItems'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} items'",
 
-   _limitLength:    "'should NOT be {{?$keyword=='maxLength'}}longer{{??}}shorter{{?}} than {{#def.concatSchema}} characters'",
 
-   _limitProperties:"'should NOT have {{?$keyword=='maxProperties'}}more{{??}}fewer{{?}} than {{#def.concatSchema}} properties'",
 
-   multipleOf:      "'should be multiple of {{#def.appendSchema}}",
 
-   not:             "'should NOT be valid'",
 
-   oneOf:           "'should match exactly one schema in oneOf'",
 
-   pattern:         "'should match pattern \"{{#def.concatSchemaEQ}}\"'",
 
-   propertyNames:   "'property name \\'{{=$invalidName}}\\' is invalid'",
 
-   required:        "'{{? it.opts._errorDataPathProperty }}is a required property{{??}}should have required property \\'{{=$missingProperty}}\\'{{?}}'",
 
-   type:            "'should be {{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}'",
 
-   uniqueItems:     "'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)'",
 
-   custom:          "'should pass \"{{=$rule.keyword}}\" keyword validation'",
 
-   patternRequired: "'should have property matching pattern \\'{{=$missingPattern}}\\''",
 
-   switch:          "'should pass \"switch\" keyword validation'",
 
-   _formatLimit:    "'should be {{=$opStr}} \"{{#def.concatSchemaEQ}}\"'",
 
-   _formatExclusiveLimit: "'{{=$exclusiveKeyword}} should be boolean'"
 
- } #}}
 
- {{## def.schemaRefOrVal: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=$schema}}{{?}} #}}
 
- {{## def.schemaRefOrQS: {{?$isData}}validate.schema{{=$schemaPath}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}}
 
- {{## def._errorSchemas = {
 
-   'false schema':  "false",
 
-   $ref:            "{{=it.util.toQuotedString($schema)}}",
 
-   additionalItems: "false",
 
-   additionalProperties: "false",
 
-   anyOf:           "validate.schema{{=$schemaPath}}",
 
-   const:           "validate.schema{{=$schemaPath}}",
 
-   contains:        "validate.schema{{=$schemaPath}}",
 
-   dependencies:    "validate.schema{{=$schemaPath}}",
 
-   'enum':          "validate.schema{{=$schemaPath}}",
 
-   format:          "{{#def.schemaRefOrQS}}",
 
-   'if':            "validate.schema{{=$schemaPath}}",
 
-   _limit:          "{{#def.schemaRefOrVal}}",
 
-   _exclusiveLimit: "validate.schema{{=$schemaPath}}",
 
-   _limitItems:     "{{#def.schemaRefOrVal}}",
 
-   _limitLength:    "{{#def.schemaRefOrVal}}",
 
-   _limitProperties:"{{#def.schemaRefOrVal}}",
 
-   multipleOf:      "{{#def.schemaRefOrVal}}",
 
-   not:             "validate.schema{{=$schemaPath}}",
 
-   oneOf:           "validate.schema{{=$schemaPath}}",
 
-   pattern:         "{{#def.schemaRefOrQS}}",
 
-   propertyNames:   "validate.schema{{=$schemaPath}}",
 
-   required:        "validate.schema{{=$schemaPath}}",
 
-   type:            "validate.schema{{=$schemaPath}}",
 
-   uniqueItems:     "{{#def.schemaRefOrVal}}",
 
-   custom:          "validate.schema{{=$schemaPath}}",
 
-   patternRequired: "validate.schema{{=$schemaPath}}",
 
-   switch:          "validate.schema{{=$schemaPath}}",
 
-   _formatLimit:    "{{#def.schemaRefOrQS}}",
 
-   _formatExclusiveLimit: "validate.schema{{=$schemaPath}}"
 
- } #}}
 
- {{## def.schemaValueQS: {{?$isData}}{{=$schemaValue}}{{??}}{{=it.util.toQuotedString($schema)}}{{?}} #}}
 
- {{## def._errorParams = {
 
-   'false schema':  "{}",
 
-   $ref:            "{ ref: '{{=it.util.escapeQuotes($schema)}}' }",
 
-   additionalItems: "{ limit: {{=$schema.length}} }",
 
-   additionalProperties: "{ additionalProperty: '{{=$additionalProperty}}' }",
 
-   anyOf:           "{}",
 
-   const:           "{ allowedValue: schema{{=$lvl}} }",
 
-   contains:        "{}",
 
-   dependencies:    "{ property: '{{= it.util.escapeQuotes($property) }}', missingProperty: '{{=$missingProperty}}', depsCount: {{=$deps.length}}, deps: '{{= it.util.escapeQuotes($deps.length==1 ? $deps[0] : $deps.join(\", \")) }}' }",
 
-   'enum':          "{ allowedValues: schema{{=$lvl}} }",
 
-   format:          "{ format: {{#def.schemaValueQS}} }",
 
-   'if':            "{ failingKeyword: {{=$ifClause}} }",
 
-   _limit:          "{ comparison: {{=$opExpr}}, limit: {{=$schemaValue}}, exclusive: {{=$exclusive}} }",
 
-   _exclusiveLimit: "{}",
 
-   _limitItems:     "{ limit: {{=$schemaValue}} }",
 
-   _limitLength:    "{ limit: {{=$schemaValue}} }",
 
-   _limitProperties:"{ limit: {{=$schemaValue}} }",
 
-   multipleOf:      "{ multipleOf: {{=$schemaValue}} }",
 
-   not:             "{}",
 
-   oneOf:           "{ passingSchemas: {{=$passingSchemas}} }",
 
-   pattern:         "{ pattern: {{#def.schemaValueQS}} }",
 
-   propertyNames:   "{ propertyName: '{{=$invalidName}}' }",
 
-   required:        "{ missingProperty: '{{=$missingProperty}}' }",
 
-   type:            "{ type: '{{? $typeIsArray }}{{= $typeSchema.join(\",\") }}{{??}}{{=$typeSchema}}{{?}}' }",
 
-   uniqueItems:     "{ i: i, j: j }",
 
-   custom:          "{ keyword: '{{=$rule.keyword}}' }",
 
-   patternRequired: "{ missingPattern: '{{=$missingPattern}}' }",
 
-   switch:          "{ caseIndex: {{=$caseIndex}} }",
 
-   _formatLimit:    "{ comparison: {{=$opExpr}}, limit: {{#def.schemaValueQS}}, exclusive: {{=$exclusive}} }",
 
-   _formatExclusiveLimit: "{}"
 
- } #}}
 
 
  |