You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
194 lines
8.1 KiB
194 lines
8.1 KiB
{{# 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: "{}" |
|
} #}}
|
|
|