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.
33 lines
781 B
33 lines
781 B
{{# def.definitions }} |
|
{{# def.errors }} |
|
{{# def.setupKeyword }} |
|
|
|
{{ |
|
var $key = 'key' + $lvl |
|
, $idx = 'idx' + $lvl |
|
, $matched = 'patternMatched' + $lvl |
|
, $dataProperties = 'dataProperties' + $lvl |
|
, $closingBraces = '' |
|
, $ownProperties = it.opts.ownProperties; |
|
}} |
|
|
|
var {{=$valid}} = true; |
|
{{? $ownProperties }} |
|
var {{=$dataProperties}} = undefined; |
|
{{?}} |
|
|
|
{{~ $schema:$pProperty }} |
|
var {{=$matched}} = false; |
|
{{# def.iterateProperties }} |
|
{{=$matched}} = {{= it.usePattern($pProperty) }}.test({{=$key}}); |
|
if ({{=$matched}}) break; |
|
} |
|
|
|
{{ var $missingPattern = it.util.escapeQuotes($pProperty); }} |
|
if (!{{=$matched}}) { |
|
{{=$valid}} = false; |
|
{{# def.addError:'patternRequired' }} |
|
} {{# def.elseIfValid }} |
|
{{~}} |
|
|
|
{{= $closingBraces }}
|
|
|