summaryrefslogtreecommitdiff
path: root/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js
diff options
context:
space:
mode:
Diffstat (limited to 'tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js')
-rw-r--r--tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js
new file mode 100644
index 0000000000..5107b18cfc
--- /dev/null
+++ b/tools/node_modules/eslint/node_modules/ajv/lib/dotjs/allOf.js
@@ -0,0 +1,43 @@
+'use strict';
+module.exports = function generate_allOf(it, $keyword, $ruleType) {
+ var out = ' ';
+ var $schema = it.schema[$keyword];
+ var $schemaPath = it.schemaPath + it.util.getProperty($keyword);
+ var $errSchemaPath = it.errSchemaPath + '/' + $keyword;
+ var $breakOnError = !it.opts.allErrors;
+ var $it = it.util.copy(it);
+ var $closingBraces = '';
+ $it.level++;
+ var $nextValid = 'valid' + $it.level;
+ var $currentBaseId = $it.baseId,
+ $allSchemasEmpty = true;
+ var arr1 = $schema;
+ if (arr1) {
+ var $sch, $i = -1,
+ l1 = arr1.length - 1;
+ while ($i < l1) {
+ $sch = arr1[$i += 1];
+ if (it.util.schemaHasRules($sch, it.RULES.all)) {
+ $allSchemasEmpty = false;
+ $it.schema = $sch;
+ $it.schemaPath = $schemaPath + '[' + $i + ']';
+ $it.errSchemaPath = $errSchemaPath + '/' + $i;
+ out += ' ' + (it.validate($it)) + ' ';
+ $it.baseId = $currentBaseId;
+ if ($breakOnError) {
+ out += ' if (' + ($nextValid) + ') { ';
+ $closingBraces += '}';
+ }
+ }
+ }
+ }
+ if ($breakOnError) {
+ if ($allSchemasEmpty) {
+ out += ' if (true) { ';
+ } else {
+ out += ' ' + ($closingBraces.slice(0, -1)) + ' ';
+ }
+ }
+ out = it.util.cleanUpCode(out);
+ return out;
+}