summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst')
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst191
1 files changed, 191 insertions, 0 deletions
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst b/tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst
new file mode 100644
index 0000000000..402028e6bb
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dot/custom.jst
@@ -0,0 +1,191 @@
+{{# def.definitions }}
+{{# def.errors }}
+{{# def.setupKeyword }}
+{{# def.$data }}
+
+{{
+ var $rule = this
+ , $definition = 'definition' + $lvl
+ , $rDef = $rule.definition
+ , $closingBraces = '';
+ var $validate = $rDef.validate;
+ var $compile, $inline, $macro, $ruleValidate, $validateCode;
+}}
+
+{{? $isData && $rDef.$data }}
+ {{
+ $validateCode = 'keywordValidate' + $lvl;
+ var $validateSchema = $rDef.validateSchema;
+ }}
+ var {{=$definition}} = RULES.custom['{{=$keyword}}'].definition;
+ var {{=$validateCode}} = {{=$definition}}.validate;
+{{??}}
+ {{
+ $ruleValidate = it.useCustomRule($rule, $schema, it.schema, it);
+ if (!$ruleValidate) return;
+ $schemaValue = 'validate.schema' + $schemaPath;
+ $validateCode = $ruleValidate.code;
+ $compile = $rDef.compile;
+ $inline = $rDef.inline;
+ $macro = $rDef.macro;
+ }}
+{{?}}
+
+{{
+ var $ruleErrs = $validateCode + '.errors'
+ , $i = 'i' + $lvl
+ , $ruleErr = 'ruleErr' + $lvl
+ , $asyncKeyword = $rDef.async;
+
+ if ($asyncKeyword && !it.async)
+ throw new Error('async keyword in sync schema');
+}}
+
+
+{{? !($inline || $macro) }}{{=$ruleErrs}} = null;{{?}}
+var {{=$errs}} = errors;
+var {{=$valid}};
+
+{{## def.callRuleValidate:
+ {{=$validateCode}}.call(
+ {{? it.opts.passContext }}this{{??}}self{{?}}
+ {{? $compile || $rDef.schema === false }}
+ , {{=$data}}
+ {{??}}
+ , {{=$schemaValue}}
+ , {{=$data}}
+ , validate.schema{{=it.schemaPath}}
+ {{?}}
+ , {{# def.dataPath }}
+ {{# def.passParentData }}
+ , rootData
+ )
+#}}
+
+{{## def.extendErrors:_inline:
+ for (var {{=$i}}={{=$errs}}; {{=$i}}<errors; {{=$i}}++) {
+ var {{=$ruleErr}} = vErrors[{{=$i}}];
+ if ({{=$ruleErr}}.dataPath === undefined)
+ {{=$ruleErr}}.dataPath = (dataPath || '') + {{= it.errorPath }};
+ {{# _inline ? 'if (\{\{=$ruleErr\}\}.schemaPath === undefined) {' : '' }}
+ {{=$ruleErr}}.schemaPath = "{{=$errSchemaPath}}";
+ {{# _inline ? '}' : '' }}
+ {{? it.opts.verbose }}
+ {{=$ruleErr}}.schema = {{=$schemaValue}};
+ {{=$ruleErr}}.data = {{=$data}};
+ {{?}}
+ }
+#}}
+
+
+{{? $isData && $rDef.$data }}
+ {{ $closingBraces += '}'; }}
+ if ({{=$schemaValue}} === undefined) {
+ {{=$valid}} = true;
+ } else {
+ {{? $validateSchema }}
+ {{ $closingBraces += '}'; }}
+ {{=$valid}} = {{=$definition}}.validateSchema({{=$schemaValue}});
+ if ({{=$valid}}) {
+ {{?}}
+{{?}}
+
+{{? $inline }}
+ {{? $rDef.statements }}
+ {{= $ruleValidate.validate }}
+ {{??}}
+ {{=$valid}} = {{= $ruleValidate.validate }};
+ {{?}}
+{{?? $macro }}
+ {{# def.setupNextLevel }}
+ {{
+ $it.schema = $ruleValidate.validate;
+ $it.schemaPath = '';
+ }}
+ {{# def.setCompositeRule }}
+ {{ var $code = it.validate($it).replace(/validate\.schema/g, $validateCode); }}
+ {{# def.resetCompositeRule }}
+ {{= $code }}
+{{??}}
+ {{# def.beginDefOut}}
+ {{# def.callRuleValidate }}
+ {{# def.storeDefOut:def_callRuleValidate }}
+
+ {{? $rDef.errors === false }}
+ {{=$valid}} = {{? $asyncKeyword }}{{=it.yieldAwait}}{{?}}{{= def_callRuleValidate }};
+ {{??}}
+ {{? $asyncKeyword }}
+ {{ $ruleErrs = 'customErrors' + $lvl; }}
+ var {{=$ruleErrs}} = null;
+ try {
+ {{=$valid}} = {{=it.yieldAwait}}{{= def_callRuleValidate }};
+ } catch (e) {
+ {{=$valid}} = false;
+ if (e instanceof ValidationError) {{=$ruleErrs}} = e.errors;
+ else throw e;
+ }
+ {{??}}
+ {{=$ruleErrs}} = null;
+ {{=$valid}} = {{= def_callRuleValidate }};
+ {{?}}
+ {{?}}
+{{?}}
+
+{{? $rDef.modifying }}
+ if ({{=$parentData}}) {{=$data}} = {{=$parentData}}[{{=$parentDataProperty}}];
+{{?}}
+
+{{= $closingBraces }}
+
+{{## def.notValidationResult:
+ {{? $rDef.valid === undefined }}
+ !{{? $macro }}{{=$nextValid}}{{??}}{{=$valid}}{{?}}
+ {{??}}
+ {{= !$rDef.valid }}
+ {{?}}
+#}}
+
+{{? $rDef.valid }}
+ {{? $breakOnError }} if (true) { {{?}}
+{{??}}
+ if ({{# def.notValidationResult }}) {
+ {{ $errorKeyword = $rule.keyword; }}
+ {{# def.beginDefOut}}
+ {{# def.error:'custom' }}
+ {{# def.storeDefOut:def_customError }}
+
+ {{? $inline }}
+ {{? $rDef.errors }}
+ {{? $rDef.errors != 'full' }}
+ {{# def.extendErrors:true }}
+ {{?}}
+ {{??}}
+ {{? $rDef.errors === false}}
+ {{= def_customError }}
+ {{??}}
+ if ({{=$errs}} == errors) {
+ {{= def_customError }}
+ } else {
+ {{# def.extendErrors:true }}
+ }
+ {{?}}
+ {{?}}
+ {{?? $macro }}
+ {{# def.extraError:'custom' }}
+ {{??}}
+ {{? $rDef.errors === false}}
+ {{= def_customError }}
+ {{??}}
+ if (Array.isArray({{=$ruleErrs}})) {
+ if (vErrors === null) vErrors = {{=$ruleErrs}};
+ else vErrors = vErrors.concat({{=$ruleErrs}});
+ errors = vErrors.length;
+ {{# def.extendErrors:false }}
+ } else {
+ {{= def_customError }}
+ }
+ {{?}}
+ {{?}}
+
+ } {{? $breakOnError }} else { {{?}}
+{{?}}