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