occam-verify-cli 0.0.705 → 0.0.706
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/ruleNames.js +1 -13
- package/lib/utilities/array.js +24 -1
- package/lib/utilities/terminalNodes.js +46 -0
- package/lib/verifier/node.js +29 -30
- package/lib/verifier/nodes/term.js +1 -1
- package/lib/verifier/nodes.js +41 -41
- package/lib/verify/givenVariable.js +31 -0
- package/lib/verify/term.js +33 -25
- package/package.json +1 -1
- package/src/ruleNames.js +0 -3
- package/src/utilities/array.js +28 -0
- package/src/utilities/terminalNodes.js +43 -0
- package/src/verifier/node.js +24 -25
- package/src/verifier/nodes/term.js +1 -0
- package/src/verifier/nodes.js +43 -40
- package/src/verify/givenVariable.js +31 -0
- package/src/verify/term.js +40 -29
- package/lib/verify/termAsGivenVariable.js +0 -36
- package/src/verify/termAsGivenVariable.js +0 -39
package/lib/ruleNames.js
CHANGED
|
@@ -21,18 +21,12 @@ _export(exports, {
|
|
|
21
21
|
METASTATEMENT_RULE_NAME: function() {
|
|
22
22
|
return METASTATEMENT_RULE_NAME;
|
|
23
23
|
},
|
|
24
|
-
METAVARIABLE_DECLARATION_RULE_NAME: function() {
|
|
25
|
-
return METAVARIABLE_DECLARATION_RULE_NAME;
|
|
26
|
-
},
|
|
27
24
|
METAVARIABLE_RULE_NAME: function() {
|
|
28
25
|
return METAVARIABLE_RULE_NAME;
|
|
29
26
|
},
|
|
30
27
|
META_ARGUMENT_RULE_NAME: function() {
|
|
31
28
|
return META_ARGUMENT_RULE_NAME;
|
|
32
29
|
},
|
|
33
|
-
META_TYPE_RULE_NAME: function() {
|
|
34
|
-
return META_TYPE_RULE_NAME;
|
|
35
|
-
},
|
|
36
30
|
QUALIFIED_METASTATEMENT_RULE_NAME: function() {
|
|
37
31
|
return QUALIFIED_METASTATEMENT_RULE_NAME;
|
|
38
32
|
},
|
|
@@ -62,19 +56,14 @@ _export(exports, {
|
|
|
62
56
|
},
|
|
63
57
|
VARIABLE_DECLARATION_RULE_NAME: function() {
|
|
64
58
|
return VARIABLE_DECLARATION_RULE_NAME;
|
|
65
|
-
},
|
|
66
|
-
VARIABLE_RULE_NAME: function() {
|
|
67
|
-
return VARIABLE_RULE_NAME;
|
|
68
59
|
}
|
|
69
60
|
});
|
|
70
61
|
var TERM_RULE_NAME = "term";
|
|
71
62
|
var TYPE_RULE_NAME = "type";
|
|
72
63
|
var LABEL_RULE_NAME = "label";
|
|
73
|
-
var VARIABLE_RULE_NAME = "variable";
|
|
74
64
|
var ARGUMENT_RULE_NAME = "argument";
|
|
75
65
|
var SUBPROOF_RULE_NAME = "subproof";
|
|
76
66
|
var STATEMENT_RULE_NAME = "statement";
|
|
77
|
-
var META_TYPE_RULE_NAME = "meta-type";
|
|
78
67
|
var METAVARIABLE_RULE_NAME = "metavariable";
|
|
79
68
|
var METASTATEMENT_RULE_NAME = "metastatement";
|
|
80
69
|
var RULE_SUBPROOF_RULE_NAME = "ruleSubproof";
|
|
@@ -84,7 +73,6 @@ var VARIABLE_DECLARATION_RULE_NAME = "variableDeclaration";
|
|
|
84
73
|
var UNQUALIFIED_STATEMENT_RULE_NAME = "unqualifiedStatement";
|
|
85
74
|
var CONSTRUCTOR_DECLARATION_RULE_NAME = "constructorDeclaration";
|
|
86
75
|
var QUALIFIED_METASTATEMENT_RULE_NAME = "qualifiedMetastatement";
|
|
87
|
-
var METAVARIABLE_DECLARATION_RULE_NAME = "metavariableDeclaration";
|
|
88
76
|
var UNQUALIFIED_METASTATEMENT_RULE_NAME = "unqualifiedMetastatement";
|
|
89
77
|
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ydWxlTmFtZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBURVJNX1JVTEVfTkFNRSA9IFwidGVybVwiO1xuZXhwb3J0IGNvbnN0IFRZUEVfUlVMRV9OQU1FID0gXCJ0eXBlXCI7XG5leHBvcnQgY29uc3QgTEFCRUxfUlVMRV9OQU1FID0gXCJsYWJlbFwiO1xuZXhwb3J0IGNvbnN0IEFSR1VNRU5UX1JVTEVfTkFNRSA9IFwiYXJndW1lbnRcIjtcbmV4cG9ydCBjb25zdCBTVUJQUk9PRl9SVUxFX05BTUUgPSBcInN1YnByb29mXCI7XG5leHBvcnQgY29uc3QgU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwic3RhdGVtZW50XCI7XG5leHBvcnQgY29uc3QgTUVUQVZBUklBQkxFX1JVTEVfTkFNRSA9IFwibWV0YXZhcmlhYmxlXCI7XG5leHBvcnQgY29uc3QgTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUgPSBcIm1ldGFzdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBSVUxFX1NVQlBST09GX1JVTEVfTkFNRSA9IFwicnVsZVN1YnByb29mXCI7XG5leHBvcnQgY29uc3QgTUVUQV9BUkdVTUVOVF9SVUxFX05BTUUgPSBcIm1ldGFBcmd1bWVudFwiO1xuZXhwb3J0IGNvbnN0IFFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FID0gXCJxdWFsaWZpZWRTdGF0ZW1lbnRcIjtcbmV4cG9ydCBjb25zdCBWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUgPSBcInZhcmlhYmxlRGVjbGFyYXRpb25cIjtcbmV4cG9ydCBjb25zdCBVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FID0gXCJ1bnF1YWxpZmllZFN0YXRlbWVudFwiO1xuZXhwb3J0IGNvbnN0IENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSA9IFwiY29uc3RydWN0b3JEZWNsYXJhdGlvblwiO1xuZXhwb3J0IGNvbnN0IFFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSA9IFwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFwiO1xuZXhwb3J0IGNvbnN0IFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FID0gXCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRcIjtcbiJdLCJuYW1lcyI6WyJBUkdVTUVOVF9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJMQUJFTF9SVUxFX05BTUUiLCJNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIk1FVEFWQVJJQUJMRV9SVUxFX05BTUUiLCJNRVRBX0FSR1VNRU5UX1JVTEVfTkFNRSIsIlFVQUxJRklFRF9NRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FIiwiUlVMRV9TVUJQUk9PRl9SVUxFX05BTUUiLCJTVEFURU1FTlRfUlVMRV9OQU1FIiwiU1VCUFJPT0ZfUlVMRV9OQU1FIiwiVEVSTV9SVUxFX05BTUUiLCJUWVBFX1JVTEVfTkFNRSIsIlVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwiVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSIsIlZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBS2FBLGtCQUFrQjtlQUFsQkE7O0lBVUFDLGlDQUFpQztlQUFqQ0E7O0lBWEFDLGVBQWU7ZUFBZkE7O0lBS0FDLHVCQUF1QjtlQUF2QkE7O0lBREFDLHNCQUFzQjtlQUF0QkE7O0lBR0FDLHVCQUF1QjtlQUF2QkE7O0lBS0FDLGlDQUFpQztlQUFqQ0E7O0lBSkFDLDZCQUE2QjtlQUE3QkE7O0lBRkFDLHVCQUF1QjtlQUF2QkE7O0lBSEFDLG1CQUFtQjtlQUFuQkE7O0lBREFDLGtCQUFrQjtlQUFsQkE7O0lBSkFDLGNBQWM7ZUFBZEE7O0lBQ0FDLGNBQWM7ZUFBZEE7O0lBY0FDLG1DQUFtQztlQUFuQ0E7O0lBSEFDLCtCQUErQjtlQUEvQkE7O0lBREFDLDhCQUE4QjtlQUE5QkE7OztBQVhOLElBQU1KLGlCQUFpQjtBQUN2QixJQUFNQyxpQkFBaUI7QUFDdkIsSUFBTVYsa0JBQWtCO0FBQ3hCLElBQU1GLHFCQUFxQjtBQUMzQixJQUFNVSxxQkFBcUI7QUFDM0IsSUFBTUQsc0JBQXNCO0FBQzVCLElBQU1MLHlCQUF5QjtBQUMvQixJQUFNRCwwQkFBMEI7QUFDaEMsSUFBTUssMEJBQTBCO0FBQ2hDLElBQU1ILDBCQUEwQjtBQUNoQyxJQUFNRSxnQ0FBZ0M7QUFDdEMsSUFBTVEsaUNBQWlDO0FBQ3ZDLElBQU1ELGtDQUFrQztBQUN4QyxJQUFNYixvQ0FBb0M7QUFDMUMsSUFBTUssb0NBQW9DO0FBQzFDLElBQU1PLHNDQUFzQyJ9
|
package/lib/utilities/array.js
CHANGED
|
@@ -9,6 +9,9 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
+
areArraysEqual: function() {
|
|
13
|
+
return areArraysEqual;
|
|
14
|
+
},
|
|
12
15
|
compress: function() {
|
|
13
16
|
return compress;
|
|
14
17
|
},
|
|
@@ -95,5 +98,25 @@ function rightDifference(arrayA, arrayB) {
|
|
|
95
98
|
}
|
|
96
99
|
});
|
|
97
100
|
}
|
|
101
|
+
function areArraysEqual(arrayA, arrayB, callback) {
|
|
102
|
+
if (callback === undefined) {
|
|
103
|
+
callback = function(elementA, elementB) {
|
|
104
|
+
if (elementA === elementB) {
|
|
105
|
+
return true;
|
|
106
|
+
}
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
var arraysEqual = false;
|
|
110
|
+
var arrayALength = arrayA.length, arrayBLength = arrayB.length;
|
|
111
|
+
if (arrayALength === arrayBLength) {
|
|
112
|
+
arraysEqual = arrayA.every(function(elementA, index) {
|
|
113
|
+
var elementB = arrayB[index], result = callback(elementA, elementB);
|
|
114
|
+
if (result) {
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
return arraysEqual;
|
|
120
|
+
}
|
|
98
121
|
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgcGVybXV0YXRpb25zTWF0cml4IGZyb20gXCIuLi9wZXJtdXRhdGlvbnNNYXRyaXhcIjtcblxuaW1wb3J0IHsgTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCwgTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCB7IGZpcnN0LCBzZWNvbmQsIGxhc3QsIHB1c2gsIHBydW5lLCBmaWx0ZXIsIGNvbXByZXNzIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHNvbWVTdWJBcnJheShhcnJheSwgc3ViQXJyYXlMZW5ndGgsIGNhbGxiYWNrKSB7XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICBpbmRleGVzTGVuZ3RoID0gYXJyYXlMZW5ndGgsIC8vL1xuICAgICAgICBwZXJtdXRhdGlvbkxlbmd0aCA9IHN1YkFycmF5TGVuZ3RoOyAvLy9cblxuICBpZiAocGVybXV0YXRpb25MZW5ndGggPD0gTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEgpIHtcbiAgICBsZXQgb2Zmc2V0LFxuICAgICAgICBwZXJtdXRhdGlvbnM7XG5cbiAgICBpZiAoaW5kZXhlc0xlbmd0aCA+
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgcGVybXV0YXRpb25zTWF0cml4IGZyb20gXCIuLi9wZXJtdXRhdGlvbnNNYXRyaXhcIjtcblxuaW1wb3J0IHsgTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCwgTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCB7IGZpcnN0LCBzZWNvbmQsIGxhc3QsIHB1c2gsIHBydW5lLCBmaWx0ZXIsIGNvbXByZXNzIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHNvbWVTdWJBcnJheShhcnJheSwgc3ViQXJyYXlMZW5ndGgsIGNhbGxiYWNrKSB7XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICBpbmRleGVzTGVuZ3RoID0gYXJyYXlMZW5ndGgsIC8vL1xuICAgICAgICBwZXJtdXRhdGlvbkxlbmd0aCA9IHN1YkFycmF5TGVuZ3RoOyAvLy9cblxuICBpZiAocGVybXV0YXRpb25MZW5ndGggPD0gTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEgpIHtcbiAgICBsZXQgb2Zmc2V0LFxuICAgICAgICBwZXJtdXRhdGlvbnM7XG5cbiAgICBpZiAoaW5kZXhlc0xlbmd0aCA+IE1BWElNVU1fSU5ERVhFU19MRU5HVEgpIHtcbiAgICAgIG9mZnNldCA9IGluZGV4ZXNMZW5ndGggLSBNQVhJTVVNX0lOREVYRVNfTEVOR1RIO1xuXG4gICAgICBwZXJtdXRhdGlvbnMgPSBwZXJtdXRhdGlvbnNNYXRyaXhbTUFYSU1VTV9JTkRFWEVTX0xFTkdUSF1bcGVybXV0YXRpb25MZW5ndGhdO1xuICAgIH0gZWxzZSB7XG4gICAgICBvZmZzZXQgPSAwO1xuXG4gICAgICBwZXJtdXRhdGlvbnMgPSBwZXJtdXRhdGlvbnNNYXRyaXhbaW5kZXhlc0xlbmd0aF1bcGVybXV0YXRpb25MZW5ndGhdO1xuICAgIH1cblxuICAgIGlmIChwZXJtdXRhdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGZvdW5kID0gcGVybXV0YXRpb25zLnNvbWUoKHBlcm11dGF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChwZXJtdXRhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHN1YkFycmF5ID0gW107XG5cbiAgICAgICAgICBmb3IgKGxldCBwb3NpdGlvbiA9IDA7IHBvc2l0aW9uIDwgcGVybXV0YXRpb25MZW5ndGg7IHBvc2l0aW9uKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGVybXV0YXRpb25bcG9zaXRpb25dICsgb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcblxuICAgICAgICAgICAgc3ViQXJyYXkucHVzaChlbGVtZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBwYXNzZWQgPSBjYWxsYmFjayhzdWJBcnJheSk7XG5cbiAgICAgICAgICBpZiAocGFzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxlZnREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmlnaHREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUIsIChlbGVtZW50QikgPT4ge1xuICAgIGNvbnN0IGFycmF5QUluY2x1ZGVzRWxlbWVudEIgPSBhcnJheUEuaW5jbHVkZXMoZWxlbWVudEIpO1xuXG4gICAgaWYgKCFhcnJheUFJbmNsdWRlc0VsZW1lbnRCKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJlQXJyYXlzRXF1YWwoYXJyYXlBLCBhcnJheUIsIGNhbGxiYWNrKSB7XG4gIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FsbGJhY2sgPSAoZWxlbWVudEEsIGVsZW1lbnRCKSA9PiB7XG4gICAgICBpZiAoZWxlbWVudEEgPT09IGVsZW1lbnRCKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBsZXQgYXJyYXlzRXF1YWwgPSBmYWxzZTtcblxuICBjb25zdCBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoLFxuICAgICAgICBhcnJheUJMZW5ndGggPSBhcnJheUIubGVuZ3RoO1xuXG4gIGlmIChhcnJheUFMZW5ndGggPT09IGFycmF5Qkxlbmd0aCkge1xuICAgIGFycmF5c0VxdWFsID0gYXJyYXlBLmV2ZXJ5KChlbGVtZW50QSwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnRCID0gYXJyYXlCW2luZGV4XSxcbiAgICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnRBLCBlbGVtZW50Qik7XG5cbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBhcnJheXNFcXVhbDtcbn1cbiJdLCJuYW1lcyI6WyJhcmVBcnJheXNFcXVhbCIsImNvbXByZXNzIiwiZmlsdGVyIiwiZmlyc3QiLCJsYXN0IiwibGVmdERpZmZlcmVuY2UiLCJwcnVuZSIsInB1c2giLCJyaWdodERpZmZlcmVuY2UiLCJzZWNvbmQiLCJzb21lU3ViQXJyYXkiLCJhcnJheVV0aWxpdGllcyIsImFycmF5Iiwic3ViQXJyYXlMZW5ndGgiLCJjYWxsYmFjayIsImZvdW5kIiwiYXJyYXlMZW5ndGgiLCJsZW5ndGgiLCJpbmRleGVzTGVuZ3RoIiwicGVybXV0YXRpb25MZW5ndGgiLCJNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCIsIm9mZnNldCIsInBlcm11dGF0aW9ucyIsIk1BWElNVU1fSU5ERVhFU19MRU5HVEgiLCJwZXJtdXRhdGlvbnNNYXRyaXgiLCJzb21lIiwicGVybXV0YXRpb24iLCJzdWJBcnJheSIsInBvc2l0aW9uIiwiaW5kZXgiLCJlbGVtZW50IiwicGFzc2VkIiwiYXJyYXlBIiwiYXJyYXlCIiwiZWxlbWVudEEiLCJhcnJheUJJbmNsdWRlc0VsZW1lbnRBIiwiaW5jbHVkZXMiLCJlbGVtZW50QiIsImFycmF5QUluY2x1ZGVzRWxlbWVudEIiLCJ1bmRlZmluZWQiLCJhcnJheXNFcXVhbCIsImFycmF5QUxlbmd0aCIsImFycmF5Qkxlbmd0aCIsImV2ZXJ5IiwicmVzdWx0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUE0RWdCQSxjQUFjO2VBQWRBOztJQXBFeUNDLFFBQVE7ZUFBUkE7O0lBQVJDLE1BQU07ZUFBTkE7O0lBQWxDQyxLQUFLO2VBQUxBOztJQUFlQyxJQUFJO2VBQUpBOztJQWdEZEMsY0FBYztlQUFkQTs7SUFoRDBCQyxLQUFLO2VBQUxBOztJQUFOQyxJQUFJO2VBQUpBOztJQTBEcEJDLGVBQWU7ZUFBZkE7O0lBMURNQyxNQUFNO2VBQU5BOztJQUVOQyxZQUFZO2VBQVpBOzs7eUJBUmU7eUVBRUE7eUJBRW9DOzs7Ozs7QUFFNUQsSUFBUVAsUUFBdURRLHlCQUFjLENBQXJFUixPQUFPTSxTQUFnREUseUJBQWMsQ0FBOURGLFFBQVFMLE9BQXdDTyx5QkFBYyxDQUF0RFAsTUFBTUcsT0FBa0NJLHlCQUFjLENB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
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: all[name]
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
_export(exports, {
|
|
12
|
+
areTerminalNodeMapsEqual: function() {
|
|
13
|
+
return areTerminalNodeMapsEqual;
|
|
14
|
+
},
|
|
15
|
+
terminalNodeMapFromNodes: function() {
|
|
16
|
+
return terminalNodeMapFromNodes;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
var _array = require("../utilities/array");
|
|
20
|
+
function terminalNodeMapFromNodes(nodes) {
|
|
21
|
+
var terminalNodeMap = {};
|
|
22
|
+
nodes.forEach(function(node, index) {
|
|
23
|
+
var nodeTerminalNode = node.isTerminalNode();
|
|
24
|
+
if (nodeTerminalNode) {
|
|
25
|
+
var terminalNode = node; //
|
|
26
|
+
terminalNodeMap[index] = terminalNode;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
return terminalNodeMap;
|
|
30
|
+
}
|
|
31
|
+
function areTerminalNodeMapsEqual(terminalNodeMapA, terminalNodeMapB) {
|
|
32
|
+
var terminalNodeMapsEqual = false;
|
|
33
|
+
var indexesA = Object.keys(terminalNodeMapA), indexesB = Object.keys(terminalNodeMapB), terminalNodeMapKeysEqual = (0, _array.areArraysEqual)(indexesA, indexesB);
|
|
34
|
+
if (terminalNodeMapKeysEqual) {
|
|
35
|
+
var terminalNodesA = Object.keys(terminalNodeMapA), terminalNodesB = Object.keys(terminalNodeMapB), terminalNodeMapValuesEqual = (0, _array.areArraysEqual)(terminalNodesA, terminalNodesB, function(terminalNodeA, terminalNodeB) {
|
|
36
|
+
var matches = terminalNodeA.match(terminalNodeB);
|
|
37
|
+
if (matches) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
terminalNodeMapsEqual = terminalNodeMapValuesEqual; ///
|
|
42
|
+
}
|
|
43
|
+
return terminalNodeMapsEqual;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdGVybWluYWxOb2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJlQXJyYXlzRXF1YWwgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMobm9kZXMpIHtcbiAgY29uc3QgdGVybWluYWxOb2RlTWFwID0ge307XG5cbiAgbm9kZXMuZm9yRWFjaCgobm9kZSwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGU7ICAvL1xuXG4gICAgICB0ZXJtaW5hbE5vZGVNYXBbaW5kZXhdID0gdGVybWluYWxOb2RlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHRlcm1pbmFsTm9kZU1hcDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFyZVRlcm1pbmFsTm9kZU1hcHNFcXVhbCh0ZXJtaW5hbE5vZGVNYXBBLCB0ZXJtaW5hbE5vZGVNYXBCKSB7XG4gIGxldCB0ZXJtaW5hbE5vZGVNYXBzRXF1YWwgPSBmYWxzZTtcblxuICBjb25zdCBpbmRleGVzQSA9IE9iamVjdC5rZXlzKHRlcm1pbmFsTm9kZU1hcEEpLCAvLy9cbiAgICAgICAgaW5kZXhlc0IgPSBPYmplY3Qua2V5cyh0ZXJtaW5hbE5vZGVNYXBCKSwgLy8vXG4gICAgICAgIHRlcm1pbmFsTm9kZU1hcEtleXNFcXVhbCA9IGFyZUFycmF5c0VxdWFsKGluZGV4ZXNBLCBpbmRleGVzQik7XG5cbiAgaWYgKHRlcm1pbmFsTm9kZU1hcEtleXNFcXVhbCkge1xuICAgIGNvbnN0IHRlcm1pbmFsTm9kZXNBID0gT2JqZWN0LmtleXModGVybWluYWxOb2RlTWFwQSksIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZXNCID0gT2JqZWN0LmtleXModGVybWluYWxOb2RlTWFwQiksIC8vL1xuICAgICAgICAgIHRlcm1pbmFsTm9kZU1hcFZhbHVlc0VxdWFsID0gYXJlQXJyYXlzRXF1YWwodGVybWluYWxOb2Rlc0EsIHRlcm1pbmFsTm9kZXNCLCAodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQikgPT4ge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlcyA9IHRlcm1pbmFsTm9kZUEubWF0Y2godGVybWluYWxOb2RlQik7XG5cbiAgICAgICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuXG4gICAgdGVybWluYWxOb2RlTWFwc0VxdWFsID0gdGVybWluYWxOb2RlTWFwVmFsdWVzRXF1YWw7IC8vL1xuICB9XG5cbiAgcmV0dXJuIHRlcm1pbmFsTm9kZU1hcHNFcXVhbDtcbn1cbiJdLCJuYW1lcyI6WyJhcmVUZXJtaW5hbE5vZGVNYXBzRXF1YWwiLCJ0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMiLCJub2RlcyIsInRlcm1pbmFsTm9kZU1hcCIsImZvckVhY2giLCJub2RlIiwiaW5kZXgiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVNYXBBIiwidGVybWluYWxOb2RlTWFwQiIsInRlcm1pbmFsTm9kZU1hcHNFcXVhbCIsImluZGV4ZXNBIiwiT2JqZWN0Iiwia2V5cyIsImluZGV4ZXNCIiwidGVybWluYWxOb2RlTWFwS2V5c0VxdWFsIiwiYXJlQXJyYXlzRXF1YWwiLCJ0ZXJtaW5hbE5vZGVzQSIsInRlcm1pbmFsTm9kZXNCIiwidGVybWluYWxOb2RlTWFwVmFsdWVzRXF1YWwiLCJ0ZXJtaW5hbE5vZGVBIiwidGVybWluYWxOb2RlQiIsIm1hdGNoZXMiLCJtYXRjaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBb0JnQkEsd0JBQXdCO2VBQXhCQTs7SUFoQkFDLHdCQUF3QjtlQUF4QkE7OztxQkFGZTtBQUV4QixTQUFTQSx5QkFBeUJDLEtBQUs7SUFDNUMsSUFBTUMsa0JBQWtCLENBQUM7SUFFekJELE1BQU1FLE9BQU8sQ0FBQyxTQUFDQyxNQUFNQztRQUNuQixJQUFNQyxtQkFBbUJGLEtBQUtHLGNBQWM7UUFFNUMsSUFBSUQsa0JBQWtCO1lBQ3BCLElBQU1FLGVBQWVKLE1BQU8sRUFBRTtZQUU5QkYsZUFBZSxDQUFDRyxNQUFNLEdBQUdHO1FBQzNCO0lBQ0Y7SUFFQSxPQUFPTjtBQUNUO0FBRU8sU0FBU0gseUJBQXlCVSxnQkFBZ0IsRUFBRUMsZ0JBQWdCO0lBQ3pFLElBQUlDLHdCQUF3QjtJQUU1QixJQUFNQyxXQUFXQyxPQUFPQyxJQUFJLENBQUNMLG1CQUN2Qk0sV0FBV0YsT0FBT0MsSUFBSSxDQUFDSixtQkFDdkJNLDJCQUEyQkMsSUFBQUEscUJBQWMsRUFBQ0wsVUFBVUc7SUFFMUQsSUFBSUMsMEJBQTBCO1FBQzVCLElBQU1FLGlCQUFpQkwsT0FBT0MsSUFBSSxDQUFDTCxtQkFDN0JVLGlCQUFpQk4sT0FBT0MsSUFBSSxDQUFDSixtQkFDN0JVLDZCQUE2QkgsSUFBQUEscUJBQWMsRUFBQ0MsZ0JBQWdCQyxnQkFBZ0IsU0FBQ0UsZUFBZUM7WUFDMUYsSUFBTUMsVUFBVUYsY0FBY0csS0FBSyxDQUFDRjtZQUVwQyxJQUFJQyxTQUFTO2dCQUNYLE9BQU87WUFDVDtRQUNGO1FBRU5aLHdCQUF3QlMsNEJBQTRCLEdBQUc7SUFDekQ7SUFFQSxPQUFPVDtBQUNUIn0=
|
package/lib/verifier/node.js
CHANGED
|
@@ -94,6 +94,32 @@ var NodeVerifier = /*#__PURE__*/ function() {
|
|
|
94
94
|
return childNodesVerify;
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
|
+
{
|
|
98
|
+
key: "verifyTerminalNode",
|
|
99
|
+
value: function verifyTerminalNode(terminalNode) {
|
|
100
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
101
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
102
|
+
}
|
|
103
|
+
var terminalNodeVerified;
|
|
104
|
+
var verifyAhead = remainingArguments.pop(), verifiedAhead = verifyAhead(); ///
|
|
105
|
+
terminalNodeVerified = verifiedAhead; ///
|
|
106
|
+
return terminalNodeVerified;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
key: "verifyNonTerminalNode",
|
|
111
|
+
value: function verifyNonTerminalNode(nonTerminalNode) {
|
|
112
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
113
|
+
remainingArguments[_key - 1] = arguments[_key];
|
|
114
|
+
}
|
|
115
|
+
var nonTerminalNodeVerified;
|
|
116
|
+
var childNodes = nonTerminalNode.getChildNodes(), childNodesVerify = this.verifyChildNodes.apply(this, [
|
|
117
|
+
childNodes
|
|
118
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
119
|
+
nonTerminalNodeVerified = childNodesVerify; ///
|
|
120
|
+
return nonTerminalNodeVerified;
|
|
121
|
+
}
|
|
122
|
+
},
|
|
97
123
|
{
|
|
98
124
|
key: "verifyChildNodesAhead",
|
|
99
125
|
value: function verifyChildNodesAhead(index, childNodes) {
|
|
@@ -111,10 +137,9 @@ var NodeVerifier = /*#__PURE__*/ function() {
|
|
|
111
137
|
node
|
|
112
138
|
].concat(_to_consumable_array(remainingArguments), [
|
|
113
139
|
function() {
|
|
114
|
-
index++;
|
|
115
140
|
remainingArguments.push(verifyAhead);
|
|
116
|
-
var childNodesVerifyAhead = _this.verifyChildNodesAhead.apply(_this, [
|
|
117
|
-
|
|
141
|
+
var aheadIndex = index + 1, childNodesVerifyAhead = _this.verifyChildNodesAhead.apply(_this, [
|
|
142
|
+
aheadIndex,
|
|
118
143
|
childNodes
|
|
119
144
|
].concat(_to_consumable_array(remainingArguments)));
|
|
120
145
|
return childNodesVerifyAhead;
|
|
@@ -124,35 +149,9 @@ var NodeVerifier = /*#__PURE__*/ function() {
|
|
|
124
149
|
}
|
|
125
150
|
return childNodesVerify;
|
|
126
151
|
}
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
key: "verifyTerminalNode",
|
|
130
|
-
value: function verifyTerminalNode(terminalNode) {
|
|
131
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
132
|
-
remainingArguments[_key - 1] = arguments[_key];
|
|
133
|
-
}
|
|
134
|
-
var terminalNodeVerified;
|
|
135
|
-
var verifyAhead = remainingArguments.pop(), verifiedAhead = verifyAhead(); ///
|
|
136
|
-
terminalNodeVerified = verifiedAhead; ///
|
|
137
|
-
return terminalNodeVerified;
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
key: "verifyNonTerminalNode",
|
|
142
|
-
value: function verifyNonTerminalNode(nonTerminalNode) {
|
|
143
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
|
|
144
|
-
remainingArguments[_key - 1] = arguments[_key];
|
|
145
|
-
}
|
|
146
|
-
var nonTerminalNodeVerified;
|
|
147
|
-
var childNodes = nonTerminalNode.getChildNodes(), childNodesVerify = this.verifyChildNodes.apply(this, [
|
|
148
|
-
childNodes
|
|
149
|
-
].concat(_to_consumable_array(remainingArguments)));
|
|
150
|
-
nonTerminalNodeVerified = childNodesVerify; ///
|
|
151
|
-
return nonTerminalNodeVerified;
|
|
152
|
-
}
|
|
153
152
|
}
|
|
154
153
|
]);
|
|
155
154
|
return NodeVerifier;
|
|
156
155
|
}();
|
|
157
156
|
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci9ub2RlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb2RlVmVyaWZpZXIge1xuICB2ZXJpZnlOb2RlKG5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBub2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKG5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBub2RlVmVyaWZpZWQgPSB0ZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgbm9kZVZlcmlmaWVkID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBub2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBjaGlsZE5vZGVzVmVyaWZ5O1xuXG4gICAgY29uc3QgaW5kZXggPSAwLFxuICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZnlBaGVhZCA9IHRoaXMudmVyaWZ5Q2hpbGROb2Rlc0FoZWFkKGluZGV4LCBjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgY2hpbGROb2Rlc1ZlcmlmeSA9IGNoaWxkTm9kZXNWZXJpZnlBaGVhZDsgLy8vXG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmeTtcbiAgfVxuXG4gIHZlcmlmeVRlcm1pbmFsTm9kZSh0ZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCB0ZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICAgIGNvbnN0IHZlcmlmeUFoZWFkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTsgIC8vL1xuXG4gICAgdGVybWluYWxOb2RlVmVyaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAvLy9cblxuICAgIHJldHVybiB0ZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcblxuICAgIGNvbnN0IGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5ID0gdGhpcy52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZnk7IC8vL1xuXG4gICAgcmV0dXJuIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5Q2hpbGROb2Rlc0FoZWFkKGluZGV4LCBjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1ZlcmlmeTtcblxuICAgIGNvbnN0IHZlcmlmeUFoZWFkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzTGVuZ3RoID0gY2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAoaW5kZXggPT09IGNoaWxkTm9kZXNMZW5ndGgpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICBjaGlsZE5vZGVzVmVyaWZ5ID0gdmVyaWZpZWRBaGVhZDsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZSA9IGNoaWxkTm9kZXNbaW5kZXhdLFxuICAgICAgICAgICAgbm9kZSA9IGNoaWxkTm9kZSwgLy8vXG4gICAgICAgICAgICBub2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU5vZGUobm9kZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50cy5wdXNoKHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgICAgICBjb25zdCBhaGVhZEluZGV4ID0gaW5kZXggKyAxLFxuICAgICAgICAgICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQgPSB0aGlzLnZlcmlmeUNoaWxkTm9kZXNBaGVhZChhaGVhZEluZGV4LCBjaGlsZE5vZGVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgY2hpbGROb2Rlc1ZlcmlmeSA9IG5vZGVWZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBjaGlsZE5vZGVzVmVyaWZ5O1xuICB9XG59XG4iXSwibmFtZXMiOlsiTm9kZVZlcmlmaWVyIiwidmVyaWZ5Tm9kZSIsIm5vZGUiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJub2RlVmVyaWZpZWQiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZ5Q2hpbGROb2RlcyIsImNoaWxkTm9kZXMiLCJjaGlsZE5vZGVzVmVyaWZ5IiwiaW5kZXgiLCJjaGlsZE5vZGVzVmVyaWZ5QWhlYWQiLCJ2ZXJpZnlDaGlsZE5vZGVzQWhlYWQiLCJ2ZXJpZnlBaGVhZCIsInBvcCIsInZlcmlmaWVkQWhlYWQiLCJnZXRDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc0xlbmd0aCIsImxlbmd0aCIsImNoaWxkTm9kZSIsInB1c2giLCJhaGVhZEluZGV4Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQU4sSUFBQSxBQUFNQSw2QkFBRCxBQUFMO2FBQU1BO2dDQUFBQTs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdDLElBQUk7Z0JBQUUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsUUFBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO29CQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCOztnQkFDcEMsSUFBSUM7Z0JBRUosSUFBTUMsbUJBQW1CSCxLQUFLSSxjQUFjO2dCQUU1QyxJQUFJRCxrQkFBa0I7b0JBQ3BCLElBQU1FLGVBQWVMLE1BQ2ZNLHVCQUF1QixJQUFJLENBQUNDLGtCQUFrQixDQUF2QixNQUFBLElBQUksRUFBSjt3QkFBd0JGO3FCQUFvQyxDQUE1RCxPQUFzQyxxQkFBR0o7b0JBRXRFQyxlQUFlSSxzQkFBdUIsR0FBRztnQkFDM0MsT0FBTztvQkFDTCxJQUFNRSxrQkFBa0JSLE1BQ2xCUywwQkFBMEIsSUFBSSxDQUFDQyxxQkFBcUIsQ0FBMUIsTUFBQSxJQUFJLEVBQUo7d0JBQTJCRjtxQkFBdUMsQ0FBbEUsT0FBNEMscUJBQUdQO29CQUUvRUMsZUFBZU8seUJBQXlCLEdBQUc7Z0JBQzdDO2dCQUVBLE9BQU9QO1lBQ1Q7OztZQUVBUyxLQUFBQTttQkFBQUEsU0FBQUEsaUJBQWlCQyxVQUFVO2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHWCxxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7Z0JBQ2hELElBQUlZO2dCQUVKLElBQU1DLFFBQVEsR0FDUkMsd0JBQXdCLElBQUksQ0FBQ0MscUJBQXFCLENBQTFCLE1BQUEsSUFBSSxFQUFKO29CQUEyQkY7b0JBQU9GO2lCQUFrQyxDQUFwRSxPQUE4QyxxQkFBR1g7Z0JBRS9FWSxtQkFBbUJFLHVCQUF1QixHQUFHO2dCQUU3QyxPQUFPRjtZQUNUOzs7WUFFQU4sS0FBQUE7bUJBQUFBLFNBQUFBLG1CQUFtQkYsWUFBWTtnQkFBRSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0oscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxRQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7b0JBQUdBLG1CQUFILE9BQUEsS0FBQSxTQUFBLENBQUEsS0FBcUI7O2dCQUNwRCxJQUFJSztnQkFFSixJQUFNVyxjQUFjaEIsbUJBQW1CaUIsR0FBRyxJQUNwQ0MsZ0JBQWdCRixlQUFnQixHQUFHO2dCQUV6Q1gsdUJBQXVCYSxlQUFlLEdBQUc7Z0JBRXpDLE9BQU9iO1lBQ1Q7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCRixlQUFlO2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHUCxxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7Z0JBQzFELElBQUlRO2dCQUVKLElBQU1HLGFBQWFKLGdCQUFnQlksYUFBYSxJQUMxQ1AsbUJBQW1CLElBQUksQ0FBQ0YsZ0JBQWdCLENBQXJCLE1BQUEsSUFBSSxFQUFKO29CQUFzQkM7aUJBQWtDLENBQXhELE9BQWtDLHFCQUFHWDtnQkFFOURRLDBCQUEwQkksa0JBQWtCLEdBQUc7Z0JBRS9DLE9BQU9KO1lBQ1Q7OztZQUVBTyxLQUFBQTttQkFBQUEsU0FBQUEsc0JBQXNCRixLQUFLLEVBQUVGLFVBQVU7O2dCQUFFLElBQUEsSUFBQSxPQUFBLFVBQUEsUUFBQSxBQUFHWCxxQkFBSCxVQUFBLE9BQUEsSUFBQSxPQUFBLFFBQUEsT0FBQSxHQUFBLE9BQUEsTUFBQTtvQkFBR0EsbUJBQUgsT0FBQSxLQUFBLFNBQUEsQ0FBQSxLQUFxQjs7Z0JBQzVELElBQUlZO2dCQUVKLElBQU1JLGNBQWNoQixtQkFBbUJpQixHQUFHLElBQ3BDRyxtQkFBbUJULFdBQVdVLE1BQU07Z0JBRTFDLElBQUlSLFVBQVVPLGtCQUFrQjtvQkFDOUIsSUFBTUYsZ0JBQWdCRjtvQkFFdEJKLG1CQUFtQk0sZUFBZSxHQUFHO2dCQUN2QyxPQUFPO29CQUNMLElBQU1JLFlBQVlYLFVBQVUsQ0FBQ0UsTUFBTSxFQUM3QmQsT0FBT3VCLFdBQ1ByQixlQUFlLElBQUksQ0FBQ0gsVUFBVSxDQUFmLE1BQUEsSUFBSSxFQUFKO3dCQUFnQkM7cUJBTzdCLENBUGEsT0FBc0IscUJBQUdDLHFCQUF6Qjt3QkFBNkM7NEJBQzFEQSxtQkFBbUJ1QixJQUFJLENBQUNQOzRCQUV4QixJQUFNUSxhQUFhWCxRQUFRLEdBQ3JCQyx3QkFBd0IsTUFBS0MscUJBQXFCLENBQTFCLGFBQUE7Z0NBQTJCUztnQ0FBWWI7NkJBQWtDLENBQXpFLE9BQW1ELHFCQUFHWDs0QkFFcEYsT0FBT2M7d0JBQ1Q7cUJBQUU7b0JBRVJGLG1CQUFtQlgsY0FBZSxHQUFHO2dCQUN2QztnQkFFQSxPQUFPVztZQUNUOzs7V0FoRm1CZiJ9
|
|
@@ -198,4 +198,4 @@ var TermNodesVerifier = /*#__PURE__*/ function(NodesVerifier) {
|
|
|
198
198
|
var termNodesVerifier = new TermNodesVerifier();
|
|
199
199
|
var _default = termNodesVerifier;
|
|
200
200
|
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy90ZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBBUkdVTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm0hXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlIVwiKTtcblxuY2xhc3MgVGVybU5vZGVzVmVyaWZpZXIgZXh0ZW5kcyBOb2Rlc1ZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBjb25zdHJ1Y3RvclJ1bGVOYW1lID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAocnVsZU5hbWUgPT09IGNvbnN0cnVjdG9yUnVsZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgICAgY2FzZSBBUkdVTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBhcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN1cGVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBhcmd1bWVudE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgYXJndW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhhcmd1bWVudE5vZGUpO1xuXG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHthcmd1bWVudFN0cmluZ30nIGFyZ3VtZW50IHNob3VsZCBiZSBhIHRlcm0sIG5vdCBhIHR5cGUuYCwgYXJndW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICAgIGlmICghYXJndW1lbnROb2RlVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgY29uc3RydWN0b3JUZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JBcmd1bWVudE5vZGUpO1xuXG4gICAgICAgIGlmIChjb25zdHJ1Y3RvclRlcm1Ob2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgbm9kZSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgY29uc3RydWN0b3JOb2RlID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5Tm9kZShub2RlLCBjb25zdHJ1Y3Rvck5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gbm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFhcmd1bWVudE5vZGVWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBjb25zdHJ1Y3RvclR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeShjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSk7XG5cbiAgICAgICAgaWYgKGNvbnN0cnVjdG9yVHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHRlcm1Ob2Rlc1ZlcmlmaWVyLFxuICAgICAgICAgICAgICAgIHRlcm1zID0gW10sXG4gICAgICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGNvbnRleHQsICgpID0+
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy90ZXJtLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vLi4vdmVyaWZpZXIvbm9kZXNcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBBUkdVTUVOVF9SVUxFX05BTUUgfSBmcm9tIFwiLi4vLi4vcnVsZU5hbWVzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIHR5cGVOYW1lRnJvbVR5cGVOb2RlIH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FyZ3VtZW50L3Rlcm0hXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9hcmd1bWVudC90eXBlIVwiKTtcblxuY2xhc3MgVGVybU5vZGVzVmVyaWZpZXIgZXh0ZW5kcyBOb2Rlc1ZlcmlmaWVyIHtcbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBydWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBjb25zdHJ1Y3RvclJ1bGVOYW1lID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAocnVsZU5hbWUgPT09IGNvbnN0cnVjdG9yUnVsZU5hbWUpIHtcbiAgICAgIHN3aXRjaCAocnVsZU5hbWUpIHtcbiAgICAgICAgY2FzZSBBUkdVTUVOVF9SVUxFX05BTUU6IHtcbiAgICAgICAgICBjb25zdCBhcmd1bWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlID0gY29uc3RydWN0b3JOb25UZXJtaW5hbE5vZGUsIC8vL1xuICAgICAgICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlBcmd1bWVudE5vZGUoYXJndW1lbnROb2RlLCBjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBhcmd1bWVudE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IHN1cGVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGUsIGNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeUFyZ3VtZW50Tm9kZShhcmd1bWVudE5vZGUsIGNvbnN0cnVjdG9yQXJndW1lbnROb2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGxldCBhcmd1bWVudE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3QgYXJndW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhhcmd1bWVudE5vZGUpO1xuXG4gICAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYFRoZSAnJHthcmd1bWVudFN0cmluZ30nIGFyZ3VtZW50IHNob3VsZCBiZSBhIHRlcm0sIG5vdCBhIHR5cGUuYCwgYXJndW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGFyZ3VtZW50Tm9kZSk7XG5cbiAgICAgIGlmICghYXJndW1lbnROb2RlVmVyaWZpZWQpIHtcbiAgICAgICAgY29uc3QgY29uc3RydWN0b3JUZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JBcmd1bWVudE5vZGUpO1xuXG4gICAgICAgIGlmIChjb25zdHJ1Y3RvclRlcm1Ob2RlICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgbm9kZSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgICAgICAgY29uc3RydWN0b3JOb2RlID0gY29uc3RydWN0b3JUZXJtTm9kZSwgIC8vL1xuICAgICAgICAgICAgICAgIG5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5Tm9kZShub2RlLCBjb25zdHJ1Y3Rvck5vZGUsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgICAgICAgIGFyZ3VtZW50Tm9kZVZlcmlmaWVkID0gbm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKCFhcmd1bWVudE5vZGVWZXJpZmllZCkge1xuICAgICAgICBjb25zdCBjb25zdHJ1Y3RvclR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeShjb25zdHJ1Y3RvckFyZ3VtZW50Tm9kZSk7XG5cbiAgICAgICAgaWYgKGNvbnN0cnVjdG9yVHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCB7IHZlcmlmeVRlcm0gfSA9IHRlcm1Ob2Rlc1ZlcmlmaWVyLFxuICAgICAgICAgICAgICAgIHRlcm1zID0gW10sXG4gICAgICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkID0gZmFsc2U7XG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbnN0cnVjdG9yVHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZShjb25zdHJ1Y3RvclR5cGVOb2RlKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpcnN0VGVybSA9IGZpcnN0KHRlcm1zKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlcm0gPSBmaXJzdFRlcm0sIC8vL1xuICAgICAgICAgICAgICAgICAgICAgICAgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0cnVjdG9yVHlwZSA9IGNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKGNvbnN0cnVjdG9yVHlwZU5hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVybVR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUeXBlID0gdGVybVR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YoY29uc3RydWN0b3JUeXBlKTtcblxuICAgICAgICAgICAgICAgICAgaWYgKHRlcm1UeXBlRXF1YWxUb09yU3ViVHlwZU9mVHlwZSkge1xuICAgICAgICAgICAgICAgICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICBhcmd1bWVudE5vZGVWZXJpZmllZCA9IHRlcm1WZXJpZmllZDsgIC8vL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3VtZW50Tm9kZVZlcmlmaWVkO1xuICB9XG59XG5cbmNvbnN0IHRlcm1Ob2Rlc1ZlcmlmaWVyID0gbmV3IFRlcm1Ob2Rlc1ZlcmlmaWVyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHRlcm1Ob2Rlc1ZlcmlmaWVyO1xuXG4iXSwibmFtZXMiOlsidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInR5cGVOb2RlUXVlcnkiLCJUZXJtTm9kZXNWZXJpZmllciIsInZlcmlmeU5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZSIsImNvbnN0cnVjdG9yTm9uVGVybWluYWxOb2RlIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiY29uc3RydWN0b3JSdWxlTmFtZSIsIkFSR1VNRU5UX1JVTEVfTkFNRSIsImFyZ3VtZW50Tm9kZSIsImNvbnN0cnVjdG9yQXJndW1lbnROb2RlIiwiYXJndW1lbnROb2RlVmVyaWZpZWQiLCJ2ZXJpZnlBcmd1bWVudE5vZGUiLCJhcmd1bWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInR5cGVOb2RlIiwiZGVidWciLCJ0ZXJtTm9kZSIsImNvbnN0cnVjdG9yVGVybU5vZGUiLCJub2RlIiwiY29uc3RydWN0b3JOb2RlIiwibm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9kZSIsImNvbnN0cnVjdG9yVHlwZU5vZGUiLCJ2ZXJpZnlUZXJtIiwidGVybU5vZGVzVmVyaWZpZXIiLCJ0ZXJtcyIsInRlcm1WZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiLCJjb25zdHJ1Y3RvclR5cGVOYW1lIiwidHlwZU5hbWVGcm9tVHlwZU5vZGUiLCJmaXJzdFRlcm0iLCJmaXJzdCIsInRlcm0iLCJ0ZXJtVHlwZSIsImdldFR5cGUiLCJjb25zdHJ1Y3RvclR5cGUiLCJmaW5kVHlwZUJ5VHlwZU5hbWUiLCJ0ZXJtVHlwZUVxdWFsVG9PclN1YlR5cGVPZlR5cGUiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiIsIk5vZGVzVmVyaWZpZXIiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW1HQTs7O2VBQUE7Ozs0REFqRzBCO3FCQUVKO3lCQUNhO3FCQUNhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/verifier/nodes.js
CHANGED
|
@@ -8,6 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return NodesVerifier;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _terminalNodes = require("../utilities/terminalNodes");
|
|
11
12
|
function _array_like_to_array(arr, len) {
|
|
12
13
|
if (len == null || len > arr.length) len = arr.length;
|
|
13
14
|
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
@@ -92,14 +93,47 @@ var NodesVerifier = /*#__PURE__*/ function() {
|
|
|
92
93
|
var childNodesVerify = false;
|
|
93
94
|
var childNodesALength = childNodesA.length, childNodesBLength = childNodesB.length;
|
|
94
95
|
if (childNodesALength === childNodesBLength) {
|
|
95
|
-
var
|
|
96
|
-
|
|
96
|
+
var childTerminalNodeMapA = (0, _terminalNodes.terminalNodeMapFromNodes)(childNodesA), childTerminalNodeMapB = (0, _terminalNodes.terminalNodeMapFromNodes)(childNodesB), terminalNodeMapsEqual = (0, _terminalNodes.areTerminalNodeMapsEqual)(childTerminalNodeMapA, childTerminalNodeMapB);
|
|
97
|
+
if (terminalNodeMapsEqual) {
|
|
98
|
+
var index = 0, childNodesVerifyAhead = this.verifyChildNodesAhead.apply(this, [
|
|
99
|
+
index,
|
|
100
|
+
childNodesA,
|
|
101
|
+
childNodesB
|
|
102
|
+
].concat(_to_consumable_array(remainingArguments)));
|
|
103
|
+
childNodesVerify = childNodesVerifyAhead; ///
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return childNodesVerify;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
key: "verifyTerminalNode",
|
|
111
|
+
value: function verifyTerminalNode(terminalNodeA, terminalNodeB) {
|
|
112
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
113
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
114
|
+
}
|
|
115
|
+
var terminalNodeVerified;
|
|
116
|
+
var verifyAhead = remainingArguments.pop(), verifiedAhead = verifyAhead();
|
|
117
|
+
terminalNodeVerified = verifiedAhead; ///
|
|
118
|
+
return terminalNodeVerified;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
key: "verifyNonTerminalNode",
|
|
123
|
+
value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
124
|
+
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
125
|
+
remainingArguments[_key - 2] = arguments[_key];
|
|
126
|
+
}
|
|
127
|
+
var nonTerminalNodeVerified = false;
|
|
128
|
+
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
129
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
130
|
+
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerify = this.verifyChildNodes.apply(this, [
|
|
97
131
|
childNodesA,
|
|
98
132
|
childNodesB
|
|
99
133
|
].concat(_to_consumable_array(remainingArguments)));
|
|
100
|
-
|
|
134
|
+
nonTerminalNodeVerified = childNodesVerify; ///
|
|
101
135
|
}
|
|
102
|
-
return
|
|
136
|
+
return nonTerminalNodeVerified;
|
|
103
137
|
}
|
|
104
138
|
},
|
|
105
139
|
{
|
|
@@ -120,10 +154,9 @@ var NodesVerifier = /*#__PURE__*/ function() {
|
|
|
120
154
|
nodeB
|
|
121
155
|
].concat(_to_consumable_array(remainingArguments), [
|
|
122
156
|
function() {
|
|
123
|
-
index++;
|
|
124
157
|
remainingArguments.push(verifyAhead); ///
|
|
125
|
-
var childNodesVerifyAhead = _this.verifyChildNodesAhead.apply(_this, [
|
|
126
|
-
|
|
158
|
+
var aheadIndex = index + 1, childNodesVerifyAhead = _this.verifyChildNodesAhead.apply(_this, [
|
|
159
|
+
aheadIndex,
|
|
127
160
|
childNodesA,
|
|
128
161
|
childNodesB
|
|
129
162
|
].concat(_to_consumable_array(remainingArguments)));
|
|
@@ -134,42 +167,9 @@ var NodesVerifier = /*#__PURE__*/ function() {
|
|
|
134
167
|
}
|
|
135
168
|
return childNodesVerify;
|
|
136
169
|
}
|
|
137
|
-
},
|
|
138
|
-
{
|
|
139
|
-
key: "verifyTerminalNode",
|
|
140
|
-
value: function verifyTerminalNode(terminalNodeA, terminalNodeB) {
|
|
141
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
142
|
-
remainingArguments[_key - 2] = arguments[_key];
|
|
143
|
-
}
|
|
144
|
-
var terminalNodeVerified = false;
|
|
145
|
-
var matches = terminalNodeA.match(terminalNodeB);
|
|
146
|
-
if (matches) {
|
|
147
|
-
var verifyAhead = remainingArguments.pop(), verifiedAhead = verifyAhead();
|
|
148
|
-
terminalNodeVerified = verifiedAhead; ///
|
|
149
|
-
}
|
|
150
|
-
return terminalNodeVerified;
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
{
|
|
154
|
-
key: "verifyNonTerminalNode",
|
|
155
|
-
value: function verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB) {
|
|
156
|
-
for(var _len = arguments.length, remainingArguments = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
|
|
157
|
-
remainingArguments[_key - 2] = arguments[_key];
|
|
158
|
-
}
|
|
159
|
-
var nonTerminalNodeVerified = false;
|
|
160
|
-
var nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
161
|
-
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
162
|
-
var nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(), nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(), childNodesA = nonTerminalNodeAChildNodes, childNodesB = nonTerminalNodeBChildNodes, childNodesVerify = this.verifyChildNodes.apply(this, [
|
|
163
|
-
childNodesA,
|
|
164
|
-
childNodesB
|
|
165
|
-
].concat(_to_consumable_array(remainingArguments)));
|
|
166
|
-
nonTerminalNodeVerified = childNodesVerify; ///
|
|
167
|
-
}
|
|
168
|
-
return nonTerminalNodeVerified;
|
|
169
|
-
}
|
|
170
170
|
}
|
|
171
171
|
]);
|
|
172
172
|
return NodesVerifier;
|
|
173
173
|
}();
|
|
174
174
|
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vZGUobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBub2RlQVRlcm1pbmFsTm9kZSA9IG5vZGVBLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUJUZXJtaW5hbE5vZGUgPSBub2RlQi5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIG5vZGVBTm9uVGVybWluYWxOb2RlID0gbm9kZUEuaXNOb25UZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBub2RlQk5vblRlcm1pbmFsTm9kZSA9IG5vZGVCLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAobm9kZUFUZXJtaW5hbE5vZGUgJiYgbm9kZUJUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgdGVybWluYWxOb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVWZXJpZmllZCA9IHRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgfSBlbHNlIGlmIChub2RlQU5vblRlcm1pbmFsTm9kZSAmJiBub2RlQk5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUIsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBub2RlVmVyaWZpZWQgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1ZlcmlmeSA9IGZhbHNlO1xuXG4gICAgY29uc3QgY2hpbGROb2Rlc0FMZW5ndGggPSBjaGlsZE5vZGVzQS5sZW5ndGgsXG4gICAgICAgICAgY2hpbGROb2Rlc0JMZW5ndGggPSBjaGlsZE5vZGVzQi5sZW5ndGg7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0FMZW5ndGggPT09IGNoaWxkTm9kZXNCTGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbmRleCA9IDAsXG4gICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQgPSB0aGlzLnZlcmlmeUNoaWxkTm9kZXNBaGVhZChpbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBjaGlsZE5vZGVzVmVyaWZ5ID0gY2hpbGROb2Rlc1ZlcmlmeUFoZWFkOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGROb2Rlc1ZlcmlmeTtcbiAgfVxuXG4gIHZlcmlmeUNoaWxkTm9kZXNBaGVhZChpbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1ZlcmlmeTtcblxuICAgIGNvbnN0IHZlcmlmeUFoZWFkID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzQUxlbmd0aCA9IGNoaWxkTm9kZXNBLmxlbmd0aDtcblxuICAgIGlmIChpbmRleCA9PT0gY2hpbGROb2Rlc0FMZW5ndGgpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICBjaGlsZE5vZGVzVmVyaWZ5ID0gdmVyaWZpZWRBaGVhZDsgLy8vXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNoaWxkTm9kZUEgPSBjaGlsZE5vZGVzQVtpbmRleF0sXG4gICAgICAgICAgICBjaGlsZE5vZGVCID0gY2hpbGROb2Rlc0JbaW5kZXhdLFxuICAgICAgICAgICAgbm9kZUEgPSBjaGlsZE5vZGVBLCAvLy9cbiAgICAgICAgICAgIG5vZGVCID0gY2hpbGROb2RlQiwgLy8vXG4gICAgICAgICAgICBub2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU5vZGUobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsICgpID0+IHtcbiAgICAgICAgICAgICAgaW5kZXgrKztcblxuICAgICAgICAgICAgICByZW1haW5pbmdBcmd1bWVudHMucHVzaCh2ZXJpZnlBaGVhZCk7IC8vL1xuXG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkTm9kZXNWZXJpZnlBaGVhZCA9IHRoaXMudmVyaWZ5Q2hpbGROb2Rlc0FoZWFkKGluZGV4LCBjaGlsZE5vZGVzQSwgY2hpbGROb2Rlc0IsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkTm9kZXNWZXJpZnlBaGVhZDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBjaGlsZE5vZGVzVmVyaWZ5ID0gbm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkTm9kZXNWZXJpZnk7XG4gIH1cblxuICB2ZXJpZnlUZXJtaW5hbE5vZGUodGVybWluYWxOb2RlQSwgdGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBtYXRjaGVzID0gdGVybWluYWxOb2RlQS5tYXRjaCh0ZXJtaW5hbE5vZGVCKTtcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBjb25zdCB2ZXJpZnlBaGVhZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gdGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVBLmdldFJ1bGVOYW1lKCksIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0UnVsZU5hbWUoKTsgLy8vXG5cbiAgICBpZiAobm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID09PSBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUpIHtcbiAgICAgIGNvbnN0IG5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlQS5nZXRDaGlsZE5vZGVzKCksXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUIuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgY2hpbGROb2Rlc0EgPSBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzQiA9IG5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgICAgIGNoaWxkTm9kZXNWZXJpZnkgPSB0aGlzLnZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGNoaWxkTm9kZXNWZXJpZnk7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiBub25UZXJtaW5hbE5vZGVWZXJpZmllZDtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb2RlIiwibm9kZUEiLCJub2RlQiIsInJlbWFpbmluZ0FyZ3VtZW50cyIsIm5vZGVWZXJpZmllZCIsIm5vZGVBVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJub2RlQlRlcm1pbmFsTm9kZSIsIm5vZGVBTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub2RlQk5vblRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZUEiLCJ0ZXJtaW5hbE5vZGVCIiwidGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwidmVyaWZ5Q2hpbGROb2RlcyIsImNoaWxkTm9kZXNBIiwiY2hpbGROb2Rlc0IiLCJjaGlsZE5vZGVzVmVyaWZ5IiwiY2hpbGROb2Rlc0FMZW5ndGgiLCJsZW5ndGgiLCJjaGlsZE5vZGVzQkxlbmd0aCIsImluZGV4IiwiY2hpbGROb2Rlc1ZlcmlmeUFoZWFkIiwidmVyaWZ5Q2hpbGROb2Rlc0FoZWFkIiwidmVyaWZ5QWhlYWQiLCJwb3AiLCJ2ZXJpZmllZEFoZWFkIiwiY2hpbGROb2RlQSIsImNoaWxkTm9kZUIiLCJwdXNoIiwibWF0Y2hlcyIsIm1hdGNoIiwibm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUiLCJub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFFcUJBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFOLElBQUEsQUFBTUEsOEJBQUQsQUFBTDthQUFNQTtnQ0FBQUE7O2tCQUFBQTs7WUFDbkJDLEtBQUFBO21CQUFBQSxTQUFBQSxXQUFXQyxLQUFLLEVBQUVDLEtBQUs7Z0JBQUUsSUFBQSxJQUFBLE9BQUEsVUFBQSxRQUFBLEFBQUdDLHFCQUFILFVBQUEsT0FBQSxJQUFBLE9BQUEsUUFBQSxPQUFBLEdBQUEsT0FBQSxNQUFBO29CQUFHQSxtQkFBSCxPQUFBLEtBQUEsU0FBQSxDQUFBLEtBQXFCOztnQkFDNUMsSUFBSUMsZUFBZTtnQkFFbkIsSUFBTUMsb0JBQW9CSixNQUFNSyxjQUFjLElBQ3hDQyxvQkFBb0JMLE1BQU1JLGNBQWMsSUFDeENFLHVCQUF1QlAsTUFBTVEsaUJBQWlCLElBQzlDQyx1QkFBdUJSLE1BQU1PLGlCQUFpQjtnQkFFcEQsSUFBSSxPQUFPO2dCQUNULEdBQUc7Z0JBQ0wsT0FBTyxJQUFJSixxQkFBcUJFLG1CQUFtQjtvQkFDakQsSUFBTUksZ0JBQWdCVixPQUNoQlcsZ0JBQWdCVixPQUNoQlcsdUJBQXVCLElBQUksQ0FBQ0Msa0JBQWtCLENBQXZCLE1BQUEsSUFBSSxFQUFKO3dCQUF3Qkg7d0JBQWVDO3FCQUFxQyxDQUE1RSxPQUFzRCxxQkFBR1Q7b0JBRXRGQyxlQUFlUyxzQkFBdUIsR0FBRztnQkFDM0MsT0FBTyxJQUFJTCx3QkFBd0JFLHNCQUFzQjtvQkFDdkQsSUFBTUssbUJBQW1CZCxPQUNuQmUsbUJBQW1CZCxPQUNuQmUsMEJBQTBCLElB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
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZmllci9ub2Rlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgdGVybWluYWxOb2RlTWFwRnJvbU5vZGVzLCBhcmVUZXJtaW5hbE5vZGVNYXBzRXF1YWwgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3Rlcm1pbmFsTm9kZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9kZXNWZXJpZmllciB7XG4gIHZlcmlmeU5vZGUobm9kZUEsIG5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgbm9kZVZlcmlmaWVkID0gZmFsc2U7XG5cbiAgICBjb25zdCBub2RlQVRlcm1pbmFsTm9kZSA9IG5vZGVBLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgbm9kZUJUZXJtaW5hbE5vZGUgPSBub2RlQi5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIG5vZGVBTm9uVGVybWluYWxOb2RlID0gbm9kZUEuaXNOb25UZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICBub2RlQk5vblRlcm1pbmFsTm9kZSA9IG5vZGVCLmlzTm9uVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAobm9kZUFUZXJtaW5hbE5vZGUgJiYgbm9kZUJUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZUEgPSBub2RlQSwgIC8vL1xuICAgICAgICAgICAgdGVybWluYWxOb2RlQiA9IG5vZGVCLCAgLy8vXG4gICAgICAgICAgICB0ZXJtaW5hbE5vZGVWZXJpZmllZCA9IHRoaXMudmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XG5cbiAgICAgIG5vZGVWZXJpZmllZCA9IHRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG4gICAgfSBlbHNlIGlmIChub2RlQU5vblRlcm1pbmFsTm9kZSAmJiBub2RlQk5vblRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IG5vZGVBLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gbm9kZUIsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSB0aGlzLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICBub2RlVmVyaWZpZWQgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgLy8vXG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVWZXJpZmllZDtcbiAgfVxuXG4gIHZlcmlmeUNoaWxkTm9kZXMoY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBsZXQgY2hpbGROb2Rlc1ZlcmlmeSA9IGZhbHNlO1xuXG4gICAgY29uc3QgY2hpbGROb2Rlc0FMZW5ndGggPSBjaGlsZE5vZGVzQS5sZW5ndGgsXG4gICAgICAgICAgY2hpbGROb2Rlc0JMZW5ndGggPSBjaGlsZE5vZGVzQi5sZW5ndGg7XG5cbiAgICBpZiAoY2hpbGROb2Rlc0FMZW5ndGggPT09IGNoaWxkTm9kZXNCTGVuZ3RoKSB7XG4gICAgICBjb25zdCBjaGlsZFRlcm1pbmFsTm9kZU1hcEEgPSB0ZXJtaW5hbE5vZGVNYXBGcm9tTm9kZXMoY2hpbGROb2Rlc0EpLFxuICAgICAgICAgICAgY2hpbGRUZXJtaW5hbE5vZGVNYXBCID0gdGVybWluYWxOb2RlTWFwRnJvbU5vZGVzKGNoaWxkTm9kZXNCKSxcbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZU1hcHNFcXVhbCA9IGFyZVRlcm1pbmFsTm9kZU1hcHNFcXVhbChjaGlsZFRlcm1pbmFsTm9kZU1hcEEsIGNoaWxkVGVybWluYWxOb2RlTWFwQik7XG5cbiAgICAgIGlmICh0ZXJtaW5hbE5vZGVNYXBzRXF1YWwpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSAwLFxuICAgICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQgPSB0aGlzLnZlcmlmeUNoaWxkTm9kZXNBaGVhZChpbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICAgIGNoaWxkTm9kZXNWZXJpZnkgPSBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQ7IC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjaGlsZE5vZGVzVmVyaWZ5O1xuICB9XG5cbiAgdmVyaWZ5VGVybWluYWxOb2RlKHRlcm1pbmFsTm9kZUEsIHRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykgeyAvLy9cbiAgICBsZXQgdGVybWluYWxOb2RlVmVyaWZpZWQ7XG5cbiAgICBjb25zdCB2ZXJpZnlBaGVhZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSxcbiAgICAgICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIHRlcm1pbmFsTm9kZVZlcmlmaWVkID0gdmVyaWZpZWRBaGVhZDsgIC8vL1xuXG4gICAgcmV0dXJuIHRlcm1pbmFsTm9kZVZlcmlmaWVkO1xuICB9XG5cbiAgdmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGxldCBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQVJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlQS5nZXRSdWxlTmFtZSgpLCAvLy9cbiAgICAgICAgICBub25UZXJtaW5hbE5vZGVCUnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGVCLmdldFJ1bGVOYW1lKCk7IC8vL1xuXG4gICAgaWYgKG5vblRlcm1pbmFsTm9kZUFSdWxlTmFtZSA9PT0gbm9uVGVybWluYWxOb2RlQlJ1bGVOYW1lKSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGVBQ2hpbGROb2RlcyA9IG5vblRlcm1pbmFsTm9kZUEuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlQkNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGVCLmdldENoaWxkTm9kZXMoKSxcbiAgICAgICAgICAgIGNoaWxkTm9kZXNBID0gbm9uVGVybWluYWxOb2RlQUNoaWxkTm9kZXMsIC8vL1xuICAgICAgICAgICAgY2hpbGROb2Rlc0IgPSBub25UZXJtaW5hbE5vZGVCQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgICBjaGlsZE5vZGVzVmVyaWZ5ID0gdGhpcy52ZXJpZnlDaGlsZE5vZGVzKGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcblxuICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBjaGlsZE5vZGVzVmVyaWZ5OyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7XG4gIH1cblxuICB2ZXJpZnlDaGlsZE5vZGVzQWhlYWQoaW5kZXgsIGNoaWxkTm9kZXNBLCBjaGlsZE5vZGVzQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgbGV0IGNoaWxkTm9kZXNWZXJpZnk7XG5cbiAgICBjb25zdCB2ZXJpZnlBaGVhZCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKSwgLy8vXG4gICAgICAgICAgY2hpbGROb2Rlc0FMZW5ndGggPSBjaGlsZE5vZGVzQS5sZW5ndGg7XG5cbiAgICBpZiAoaW5kZXggPT09IGNoaWxkTm9kZXNBTGVuZ3RoKSB7XG4gICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgY2hpbGROb2Rlc1ZlcmlmeSA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVBID0gY2hpbGROb2Rlc0FbaW5kZXhdLFxuICAgICAgICAgICAgY2hpbGROb2RlQiA9IGNoaWxkTm9kZXNCW2luZGV4XSxcbiAgICAgICAgICAgIG5vZGVBID0gY2hpbGROb2RlQSwgLy8vXG4gICAgICAgICAgICBub2RlQiA9IGNoaWxkTm9kZUIsIC8vL1xuICAgICAgICAgICAgbm9kZVZlcmlmaWVkID0gdGhpcy52ZXJpZnlOb2RlKG5vZGVBLCBub2RlQiwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoKSA9PiB7XG4gICAgICAgICAgICAgIHJlbWFpbmluZ0FyZ3VtZW50cy5wdXNoKHZlcmlmeUFoZWFkKTsgLy8vXG5cbiAgICAgICAgICAgICAgY29uc3QgYWhlYWRJbmRleCA9IGluZGV4ICsgMSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGROb2Rlc1ZlcmlmeUFoZWFkID0gdGhpcy52ZXJpZnlDaGlsZE5vZGVzQWhlYWQoYWhlYWRJbmRleCwgY2hpbGROb2Rlc0EsIGNoaWxkTm9kZXNCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xuXG4gICAgICAgICAgICAgIHJldHVybiBjaGlsZE5vZGVzVmVyaWZ5QWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgY2hpbGROb2Rlc1ZlcmlmeSA9IG5vZGVWZXJpZmllZDsgIC8vL1xuICAgIH1cblxuICAgIHJldHVybiBjaGlsZE5vZGVzVmVyaWZ5O1xuICB9XG59XG4iXSwibmFtZXMiOlsiTm9kZXNWZXJpZmllciIsInZlcmlmeU5vZGUiLCJub2RlQSIsIm5vZGVCIiwicmVtYWluaW5nQXJndW1lbnRzIiwibm9kZVZlcmlmaWVkIiwibm9kZUFUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsIm5vZGVCVGVybWluYWxOb2RlIiwibm9kZUFOb25UZXJtaW5hbE5vZGUiLCJpc05vblRlcm1pbmFsTm9kZSIsIm5vZGVCTm9uVGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlQSIsInRlcm1pbmFsTm9kZUIiLCJ0ZXJtaW5hbE5vZGVWZXJpZmllZCIsInZlcmlmeVRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZnlDaGlsZE5vZGVzIiwiY2hpbGROb2Rlc0EiLCJjaGlsZE5vZGVzQiIsImNoaWxkTm9kZXNWZXJpZnkiLCJjaGlsZE5vZGVzQUxlbmd0aCIsImxlbmd0aCIsImNoaWxkTm9kZXNCTGVuZ3RoIiwiY2hpbGRUZXJtaW5hbE5vZGVNYXBBIiwidGVybWluYWxOb2RlTWFwRnJvbU5vZGVzIiwiY2hpbGRUZXJtaW5hbE5vZGVNYXBCIiwidGVybWluYWxOb2RlTWFwc0VxdWFsIiwiYXJlVGVybWluYWxOb2RlTWFwc0VxdWFsIiwiaW5kZXgiLCJjaGlsZE5vZGVzVmVyaWZ5QWhlYWQiLCJ2ZXJpZnlDaGlsZE5vZGVzQWhlYWQiLCJ2ZXJpZnlBaGVhZCIsInBvcCIsInZlcmlmaWVkQWhlYWQiLCJub25UZXJtaW5hbE5vZGVBUnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUJSdWxlTmFtZSIsIm5vblRlcm1pbmFsTm9kZUFDaGlsZE5vZGVzIiwiZ2V0Q2hpbGROb2RlcyIsIm5vblRlcm1pbmFsTm9kZUJDaGlsZE5vZGVzIiwiY2hpbGROb2RlQSIsImNoaWxkTm9kZUIiLCJwdXNoIiwiYWhlYWRJbmRleCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFJcUJBOzs7NkJBRjhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFcEQsSUFBQSxBQUFNQSw4QkFBRCxBQUFMO2FBQU1BO2dDQUFBQTs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVdDLEtBQUssRUFBRUMsS0FBSztnQkFBRSxJQUFBLElBQUEsT0FBQSxVQUFBLFFBQUEsQUFBR0MscUJBQUgsVUFBQSxPQUFBLElBQUEsT0FBQSxRQUFBLE9BQUEsR0FBQSxPQUFBLE1BQUE7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
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "default", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return verifyGivenVariable;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
function verifyGivenVariable(variableNode, variables, context, verifyAhead) {
|
|
12
|
+
var givenVariableVerified = false;
|
|
13
|
+
var variableString = context.nodeAsString(variableNode);
|
|
14
|
+
context.trace("Verifying the '".concat(variableString, "' given variable..."), variableNode);
|
|
15
|
+
var variable = context.findVariableByVariableNode(variableNode);
|
|
16
|
+
if (variable !== null) {
|
|
17
|
+
var verifiedAhead;
|
|
18
|
+
variables.push(variable);
|
|
19
|
+
verifiedAhead = verifyAhead();
|
|
20
|
+
if (!verifiedAhead) {
|
|
21
|
+
variables.pop();
|
|
22
|
+
}
|
|
23
|
+
givenVariableVerified = verifiedAhead; ///
|
|
24
|
+
}
|
|
25
|
+
if (givenVariableVerified) {
|
|
26
|
+
context.debug("...verified the '".concat(variableString, "' given variable."), variableNode);
|
|
27
|
+
}
|
|
28
|
+
return givenVariableVerified;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZ2l2ZW5WYXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5R2l2ZW5WYXJpYWJsZSh2YXJpYWJsZU5vZGUsIHZhcmlhYmxlcywgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IGdpdmVuVmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodmFyaWFibGVOb2RlKTtcblxuICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgZ2l2ZW4gdmFyaWFibGUuLi5gLCB2YXJpYWJsZU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgdmFyaWFibGVzLnB1c2godmFyaWFibGUpO1xuXG4gICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICBpZiAoIXZlcmlmaWVkQWhlYWQpIHtcbiAgICAgIHZhcmlhYmxlcy5wb3AoKTtcbiAgICB9XG5cbiAgICBnaXZlblZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAvLy9cbiAgfVxuXG4gIGlmIChnaXZlblZhcmlhYmxlVmVyaWZpZWQpIHtcbiAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyBnaXZlbiB2YXJpYWJsZS5gLCB2YXJpYWJsZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGdpdmVuVmFyaWFibGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlHaXZlblZhcmlhYmxlIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVzIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwiZ2l2ZW5WYXJpYWJsZVZlcmlmaWVkIiwidmFyaWFibGVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZhcmlhYmxlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUiLCJ2ZXJpZmllZEFoZWFkIiwicHVzaCIsInBvcCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFFQTs7O2VBQXdCQTs7O0FBQVQsU0FBU0Esb0JBQW9CQyxZQUFZLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQ3ZGLElBQUlDLHdCQUF3QjtJQUU1QixJQUFNQyxpQkFBaUJILFFBQVFJLFlBQVksQ0FBQ047SUFFNUNFLFFBQVFLLEtBQUssQ0FBQyxBQUFDLGtCQUFnQyxPQUFmRixnQkFBZSx3QkFBc0JMO0lBRXJFLElBQU1RLFdBQVdOLFFBQVFPLDBCQUEwQixDQUFDVDtJQUVwRCxJQUFJUSxhQUFhLE1BQU07UUFDckIsSUFBSUU7UUFFSlQsVUFBVVUsSUFBSSxDQUFDSDtRQUVmRSxnQkFBZ0JQO1FBRWhCLElBQUksQ0FBQ08sZUFBZTtZQUNsQlQsVUFBVVcsR0FBRztRQUNmO1FBRUFSLHdCQUF3Qk0sZUFBZSxHQUFHO0lBQzVDO0lBRUEsSUFBSU4sdUJBQXVCO1FBQ3pCRixRQUFRVyxLQUFLLENBQUMsQUFBQyxvQkFBa0MsT0FBZlIsZ0JBQWUsc0JBQW9CTDtJQUN2RTtJQUVBLE9BQU9JO0FBQ1QifQ==
|
package/lib/verify/term.js
CHANGED
|
@@ -18,13 +18,15 @@ _export(exports, {
|
|
|
18
18
|
});
|
|
19
19
|
var _term = /*#__PURE__*/ _interop_require_default(require("../term"));
|
|
20
20
|
var _term1 = /*#__PURE__*/ _interop_require_default(require("../verifier/nodes/term"));
|
|
21
|
-
var
|
|
21
|
+
var _givenVariable = /*#__PURE__*/ _interop_require_default(require("../verify/givenVariable"));
|
|
22
22
|
var _array = require("../utilities/array");
|
|
23
|
+
var _query = require("../utilities/query");
|
|
23
24
|
function _interop_require_default(obj) {
|
|
24
25
|
return obj && obj.__esModule ? obj : {
|
|
25
26
|
default: obj
|
|
26
27
|
};
|
|
27
28
|
}
|
|
29
|
+
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
28
30
|
function verifyTerm(termNode, terms, context, verifyAhead) {
|
|
29
31
|
var termVerified;
|
|
30
32
|
var termString = context.nodeAsString(termNode);
|
|
@@ -60,34 +62,40 @@ Object.assign(_term1.default, {
|
|
|
60
62
|
});
|
|
61
63
|
var _default = verifyTerm;
|
|
62
64
|
function verifyTermAsVariable(termNode, terms, context, verifyAhead) {
|
|
63
|
-
var termVerifiedAsVariable;
|
|
64
|
-
var
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
var
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
65
|
+
var termVerifiedAsVariable = false;
|
|
66
|
+
var variableNode = variableNodeQuery(termNode);
|
|
67
|
+
if (variableNode !== null) {
|
|
68
|
+
var termString = context.nodeAsString(termNode);
|
|
69
|
+
context.trace("Verifying the '".concat(termString, "' term as a variable..."), termNode);
|
|
70
|
+
var variables = [], givenVariableVerified = (0, _givenVariable.default)(variableNode, variables, context, function() {
|
|
71
|
+
var verifiedAhead;
|
|
72
|
+
var firstVariable = (0, _array.first)(variables), variable = firstVariable, type = variable.getType(), term = _term.default.fromTermNodeAndType(termNode, type);
|
|
73
|
+
terms.push(term);
|
|
74
|
+
verifiedAhead = verifyAhead();
|
|
75
|
+
if (!verifiedAhead) {
|
|
76
|
+
terms.pop();
|
|
77
|
+
}
|
|
78
|
+
return verifiedAhead;
|
|
79
|
+
});
|
|
80
|
+
termVerifiedAsVariable = givenVariableVerified; ///
|
|
81
|
+
if (termVerifiedAsVariable) {
|
|
82
|
+
context.debug("...verified the '".concat(termString, "' term as a variable."), termNode);
|
|
73
83
|
}
|
|
74
|
-
return verifiedAhead;
|
|
75
|
-
});
|
|
76
|
-
termVerifiedAsVariable = termVerifiedAsGivenVariable; ///
|
|
77
|
-
if (termVerifiedAsVariable) {
|
|
78
|
-
context.debug("...verified the '".concat(termString, "' term as a variable."), termNode);
|
|
79
84
|
}
|
|
80
85
|
return termVerifiedAsVariable;
|
|
81
86
|
}
|
|
82
87
|
function verifyTermAgainstConstructors(termNode, terms, context, verifyAhead) {
|
|
83
|
-
var termVerifiedAgainstConstructors;
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
var
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
var termVerifiedAgainstConstructors = false;
|
|
89
|
+
var variableNode = variableNodeQuery(termNode);
|
|
90
|
+
if (variableNode === null) {
|
|
91
|
+
var constructors = context.getConstructors();
|
|
92
|
+
termVerifiedAgainstConstructors = constructors.some(function(constructor) {
|
|
93
|
+
var termVerifiedAgainstConstructor = verifyTermAgainstConstructor(termNode, terms, constructor, context, verifyAhead);
|
|
94
|
+
if (termVerifiedAgainstConstructor) {
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
}
|
|
91
99
|
return termVerifiedAgainstConstructors;
|
|
92
100
|
}
|
|
93
101
|
function verifyTermAgainstConstructor(termNode, terms, constructor, context, verifyAhead) {
|
|
@@ -111,4 +119,4 @@ function verifyTermAgainstConstructor(termNode, terms, constructor, context, ver
|
|
|
111
119
|
return termVerifiedAgainstConstructor;
|
|
112
120
|
}
|
|
113
121
|
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRlcm0gZnJvbSBcIi4uL3Rlcm1cIjtcbmltcG9ydCB0ZXJtTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZXMvdGVybVwiO1xuaW1wb3J0IHZlcmlmeVRlcm1Bc0dpdmVuVmFyaWFibGUgZnJvbSBcIi4uL3ZlcmlmeS90ZXJtQXNHaXZlblZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0ZXJtcywgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZDtcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0uLi5gLCB0ZXJtTm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5VGVybUZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlUZXJtQXNWYXJpYWJsZSxcbiAgICB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9yc1xuICBdO1xuXG4gIHRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm1GdW5jdGlvbnMuc29tZSgodmVyaWZ5VGVybUZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybUZ1bmN0aW9uKHRlcm1Ob2RlLCB0ZXJtcywgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLmAsIHRlcm1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlTdGFuZGFsb25lVGVybSh0ZXJtTm9kZSwgZmlsZUNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGFuZGFsb25lVGVybVZlcmlmaWVkO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBmaWxlQ29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyBzdGFuZGFsb25lIHRlcm0uLi5gLCB0ZXJtTm9kZSk7XG5cbiAgY29uc3QgdGVybXMgPSBbXSxcbiAgICAgICAgY29udGV4dCA9IGZpbGVDb250ZXh0LCAgLy8vXG4gICAgICAgIHRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm0odGVybU5vZGUsIHRlcm1zLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgc3RhbmRhbG9uZVRlcm1WZXJpZmllZCA9IHRlcm1WZXJpZmllZDsgIC8vL1xuXG4gIGlmIChzdGFuZGFsb25lVGVybVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgc3RhbmRhbG9uZSB0ZXJtLmAsIHRlcm1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGFuZGFsb25lVGVybVZlcmlmaWVkO1xufVxuXG5PYmplY3QuYXNzaWduKHRlcm1Ob2Rlc1ZlcmlmaWVyLCB7XG4gIHZlcmlmeVRlcm1cbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlUZXJtO1xuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtQXNWYXJpYWJsZSh0ZXJtTm9kZSwgdGVybXMsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhcyBhIHZhcmlhYmxlLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICB0ZXJtVmVyaWZpZWRBc0dpdmVuVmFyaWFibGUgPSB2ZXJpZnlUZXJtQXNHaXZlblZhcmlhYmxlKHRlcm1Ob2RlLCB2YXJpYWJsZXMsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgICAgIGNvbnN0IGZpcnN0VmFyaWFibGUgPSBmaXJzdCh2YXJpYWJsZXMpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlID0gZmlyc3RWYXJpYWJsZSwgLy8vXG4gICAgICAgICAgICAgICAgdHlwZSA9IHZhcmlhYmxlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICB0ZXJtID0gVGVybS5mcm9tVGVybU5vZGVBbmRUeXBlKHRlcm1Ob2RlLCB0eXBlKTtcblxuICAgICAgICAgIHRlcm1zLnB1c2godGVybSk7XG5cbiAgICAgICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgICAgIGlmICghdmVyaWZpZWRBaGVhZCkge1xuICAgICAgICAgICAgdGVybXMucG9wKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgIH0pO1xuXG4gIHRlcm1WZXJpZmllZEFzVmFyaWFibGUgPSB0ZXJtVmVyaWZpZWRBc0dpdmVuVmFyaWFibGU7ICAvLy9cblxuICBpZiAodGVybVZlcmlmaWVkQXNWYXJpYWJsZSkge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhcyBhIHZhcmlhYmxlLmAsIHRlcm1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlUZXJtQWdhaW5zdENvbnN0cnVjdG9ycyh0ZXJtTm9kZSwgdGVybXMsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3JzO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9ycyA9IGNvbnRleHQuZ2V0Q29uc3RydWN0b3JzKCk7XG5cbiAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IGNvbnN0cnVjdG9ycy5zb21lKChjb25zdHJ1Y3RvcikgPT4ge1xuICAgIGNvbnN0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IodGVybU5vZGUsIHRlcm1zLCBjb25zdHJ1Y3RvciwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3Rvcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3Rvcih0ZXJtTm9kZSwgdGVybXMsIGNvbnN0cnVjdG9yLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yO1xuXG4gIGNvbnN0IHRlcm1TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0ZXJtTm9kZSksXG4gICAgICAgIGNvbnN0cnVjdG9yU3RyaW5nID0gY29uc3RydWN0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhZ2FpbnN0IHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IGNvbnN0cnVjdG9yVGVybU5vZGUgPSBjb25zdHJ1Y3Rvci5nZXRUZXJtTm9kZSgpLFxuICAgICAgICBub25UZXJtaW5hbE5OZGVBID0gdGVybU5vZGUsICAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IGNvbnN0cnVjdG9yVGVybU5vZGUsICAvLy9cbiAgICAgICAgbm9kZVZlcmlmaWVkID0gdGVybU5vZGVzVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTk5kZUEsIG5vblRlcm1pbmFsTm9kZUIsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgICAgIGNvbnN0IHR5cGUgPSBjb25zdHJ1Y3Rvci5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSk7XG5cbiAgICAgICAgICB0ZXJtcy5wdXNoKHRlcm0pO1xuXG4gICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICBpZiAoIXZlcmlmaWVkQWhlYWQpIHtcbiAgICAgICAgICAgIHRlcm1zLnBvcCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3IgPSBub2RlVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yKSB7XG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtIGFnYWluc3QgdGhlICcke2NvbnN0cnVjdG9yU3RyaW5nfScgY29uc3RydWN0b3IuYCwgdGVybU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3Rvcjtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlTdGFuZGFsb25lVGVybSIsInZlcmlmeVRlcm0iLCJ0ZXJtTm9kZSIsInRlcm1zIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVZlcmlmaWVkIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5VGVybUZ1bmN0aW9ucyIsInZlcmlmeVRlcm1Bc1ZhcmlhYmxlIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnMiLCJzb21lIiwidmVyaWZ5VGVybUZ1bmN0aW9uIiwiZGVidWciLCJmaWxlQ29udGV4dCIsInN0YW5kYWxvbmVUZXJtVmVyaWZpZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJ0ZXJtTm9kZXNWZXJpZmllciIsInRlcm1WZXJpZmllZEFzVmFyaWFibGUiLCJ2YXJpYWJsZXMiLCJ0ZXJtVmVyaWZpZWRBc0dpdmVuVmFyaWFibGUiLCJ2ZXJpZnlUZXJtQXNHaXZlblZhcmlhYmxlIiwidmVyaWZpZWRBaGVhZCIsImZpcnN0VmFyaWFibGUiLCJmaXJzdCIsInZhcmlhYmxlIiwidHlwZSIsImdldFR5cGUiLCJ0ZXJtIiwiVGVybSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJwdXNoIiwicG9wIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9yIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiY29uc3RydWN0b3JUZXJtTm9kZSIsImdldFRlcm1Ob2RlIiwibm9uVGVybWluYWxOTmRlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQTJEQSxPQUEwQjtlQUExQjs7SUF4QmdCQSxvQkFBb0I7ZUFBcEJBOzs7MkRBakNDOzREQUNhOzBFQUNRO3FCQUVoQjs7Ozs7O0FBRXRCLFNBQVNDLFdB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
|
|
122
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFRlcm0gZnJvbSBcIi4uL3Rlcm1cIjtcbmltcG9ydCB0ZXJtTm9kZXNWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZXMvdGVybVwiO1xuaW1wb3J0IHZlcmlmeUdpdmVuVmFyaWFibGUgZnJvbSBcIi4uL3ZlcmlmeS9naXZlblZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtVmVyaWZpZWQ7XG5cbiAgY29uc3QgdGVybVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeVRlcm1GdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5VGVybUFzVmFyaWFibGUsXG4gICAgdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnNcbiAgXTtcblxuICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtRnVuY3Rpb25zLnNvbWUoKHZlcmlmeVRlcm1GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IHRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm1GdW5jdGlvbih0ZXJtTm9kZSwgdGVybXMsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIGlmICh0ZXJtVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHRlcm1WZXJpZmllZCkge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybS5gLCB0ZXJtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdGVybVZlcmlmaWVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5U3RhbmRhbG9uZVRlcm0odGVybU5vZGUsIGZpbGVDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgc3RhbmRhbG9uZVRlcm1WZXJpZmllZDtcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0ZXJtU3RyaW5nfScgc3RhbmRhbG9uZSB0ZXJtLi4uYCwgdGVybU5vZGUpO1xuXG4gIGNvbnN0IHRlcm1zID0gW10sXG4gICAgICAgIGNvbnRleHQgPSBmaWxlQ29udGV4dCwgIC8vL1xuICAgICAgICB0ZXJtVmVyaWZpZWQgPSB2ZXJpZnlUZXJtKHRlcm1Ob2RlLCB0ZXJtcywgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gIHN0YW5kYWxvbmVUZXJtVmVyaWZpZWQgPSB0ZXJtVmVyaWZpZWQ7ICAvLy9cblxuICBpZiAoc3RhbmRhbG9uZVRlcm1WZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHN0YW5kYWxvbmUgdGVybS5gLCB0ZXJtTm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhbmRhbG9uZVRlcm1WZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih0ZXJtTm9kZXNWZXJpZmllciwge1xuICB2ZXJpZnlUZXJtXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgdmVyaWZ5VGVybTtcblxuZnVuY3Rpb24gdmVyaWZ5VGVybUFzVmFyaWFibGUodGVybU5vZGUsIHRlcm1zLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYXMgYSB2YXJpYWJsZS4uLmAsIHRlcm1Ob2RlKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlcyA9IFtdLFxuICAgICAgICAgIGdpdmVuVmFyaWFibGVWZXJpZmllZCA9IHZlcmlmeUdpdmVuVmFyaWFibGUodmFyaWFibGVOb2RlLCB2YXJpYWJsZXMsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICAgICAgICBjb25zdCBmaXJzdFZhcmlhYmxlID0gZmlyc3QodmFyaWFibGVzKSxcbiAgICAgICAgICAgICAgICAgIHZhcmlhYmxlID0gZmlyc3RWYXJpYWJsZSwgLy8vXG4gICAgICAgICAgICAgICAgICB0eXBlID0gdmFyaWFibGUuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICAgICAgdGVybSA9IFRlcm0uZnJvbVRlcm1Ob2RlQW5kVHlwZSh0ZXJtTm9kZSwgdHlwZSk7XG5cbiAgICAgICAgICAgIHRlcm1zLnB1c2godGVybSk7XG5cbiAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgICBpZiAoIXZlcmlmaWVkQWhlYWQpIHtcbiAgICAgICAgICAgICAgdGVybXMucG9wKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IGdpdmVuVmFyaWFibGVWZXJpZmllZDsgIC8vL1xuXG4gICAgaWYgKHRlcm1WZXJpZmllZEFzVmFyaWFibGUpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhcyBhIHZhcmlhYmxlLmAsIHRlcm1Ob2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGVybVZlcmlmaWVkQXNWYXJpYWJsZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnModGVybU5vZGUsIHRlcm1zLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyA9IGZhbHNlO1xuXG4gIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlID09PSBudWxsKSB7XG4gICAgY29uc3QgY29uc3RydWN0b3JzID0gY29udGV4dC5nZXRDb25zdHJ1Y3RvcnMoKTtcblxuICAgIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnMgPSBjb25zdHJ1Y3RvcnMuc29tZSgoY29uc3RydWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvciA9IHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IodGVybU5vZGUsIHRlcm1zLCBjb25zdHJ1Y3RvciwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgICBpZiAodGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcnM7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVRlcm1BZ2FpbnN0Q29uc3RydWN0b3IodGVybU5vZGUsIHRlcm1zLCBjb25zdHJ1Y3RvciwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3RvcjtcblxuICBjb25zdCB0ZXJtU3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcodGVybU5vZGUpLFxuICAgICAgICBjb25zdHJ1Y3RvclN0cmluZyA9IGNvbnN0cnVjdG9yLmdldFN0cmluZygpO1xuXG4gIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYWdhaW5zdCB0aGUgJyR7Y29uc3RydWN0b3JTdHJpbmd9JyBjb25zdHJ1Y3Rvci4uLmAsIHRlcm1Ob2RlKTtcblxuICBjb25zdCBjb25zdHJ1Y3RvclRlcm1Ob2RlID0gY29uc3RydWN0b3IuZ2V0VGVybU5vZGUoKSxcbiAgICAgICAgbm9uVGVybWluYWxOTmRlQSA9IHRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBjb25zdHJ1Y3RvclRlcm1Ob2RlLCAgLy8vXG4gICAgICAgIG5vZGVWZXJpZmllZCA9IHRlcm1Ob2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5OZGVBLCBub25UZXJtaW5hbE5vZGVCLCBjb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICAgICAgICBjb25zdCB0eXBlID0gY29uc3RydWN0b3IuZ2V0VHlwZSgpLFxuICAgICAgICAgICAgICAgIHRlcm0gPSBUZXJtLmZyb21UZXJtTm9kZUFuZFR5cGUodGVybU5vZGUsIHR5cGUpO1xuXG4gICAgICAgICAgdGVybXMucHVzaCh0ZXJtKTtcblxuICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgaWYgKCF2ZXJpZmllZEFoZWFkKSB7XG4gICAgICAgICAgICB0ZXJtcy5wb3AoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgfSk7XG5cbiAgdGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yID0gbm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgaWYgKHRlcm1WZXJpZmllZEFnYWluc3RDb25zdHJ1Y3Rvcikge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSBhZ2FpbnN0IHRoZSAnJHtjb25zdHJ1Y3RvclN0cmluZ30nIGNvbnN0cnVjdG9yLmAsIHRlcm1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtVmVyaWZpZWRBZ2FpbnN0Q29uc3RydWN0b3I7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5U3RhbmRhbG9uZVRlcm0iLCJ2YXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZlcmlmeVRlcm0iLCJ0ZXJtTm9kZSIsInRlcm1zIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybVZlcmlmaWVkIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5VGVybUZ1bmN0aW9ucyIsInZlcmlmeVRlcm1Bc1ZhcmlhYmxlIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvcnMiLCJzb21lIiwidmVyaWZ5VGVybUZ1bmN0aW9uIiwiZGVidWciLCJmaWxlQ29udGV4dCIsInN0YW5kYWxvbmVUZXJtVmVyaWZpZWQiLCJPYmplY3QiLCJhc3NpZ24iLCJ0ZXJtTm9kZXNWZXJpZmllciIsInRlcm1WZXJpZmllZEFzVmFyaWFibGUiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZXMiLCJnaXZlblZhcmlhYmxlVmVyaWZpZWQiLCJ2ZXJpZnlHaXZlblZhcmlhYmxlIiwidmVyaWZpZWRBaGVhZCIsImZpcnN0VmFyaWFibGUiLCJmaXJzdCIsInZhcmlhYmxlIiwidHlwZSIsImdldFR5cGUiLCJ0ZXJtIiwiVGVybSIsImZyb21UZXJtTm9kZUFuZFR5cGUiLCJwdXNoIiwicG9wIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9ycyIsImdldENvbnN0cnVjdG9ycyIsImNvbnN0cnVjdG9yIiwidGVybVZlcmlmaWVkQWdhaW5zdENvbnN0cnVjdG9yIiwidmVyaWZ5VGVybUFnYWluc3RDb25zdHJ1Y3RvciIsImNvbnN0cnVjdG9yU3RyaW5nIiwiZ2V0U3RyaW5nIiwiY29uc3RydWN0b3JUZXJtTm9kZSIsImdldFRlcm1Ob2RlIiwibm9uVGVybWluYWxOTmRlQSIsIm5vblRlcm1pbmFsTm9kZUIiLCJub2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQThEQSxPQUEwQjtlQUExQjs7SUF4QmdCQSxvQkFBb0I7ZUFBcEJBOzs7MkRBcENDOzREQUNhO29FQUNFO3FCQUVWO3FCQUNJOzs7Ozs7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXBDLFNBQVNDLFdBQVdDLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDdkQsSUFBSUM7SUFFSixJQUFNQyxhQUFhSCxRQUFRSSxZQUFZLENBQUNOO0lBRXhDRSxRQUFRSyxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEYsWUFBVyxjQUFZTDtJQUV2RCxJQUFNUSxzQkFBc0I7UUFDMUJDO1FBQ0FDO0tBQ0Q7SUFFRE4sZUFBZUksb0JBQW9CRyxJQUFJLENBQUMsU0FBQ0M7UUFDdkMsSUFBTVIsZUFBZVEsbUJBQW1CWixVQUFVQyxPQUFPQyxTQUFTQztRQUVsRSxJQUFJQyxjQUFjO1lBQ2hCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEsY0FBYztRQUNoQkYsUUFBUVcsS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhSLFlBQVcsWUFBVUw7SUFDekQ7SUFFQSxPQUFPSTtBQUNUO0FBRU8sU0FBU1IscUJBQXFCSSxRQUFRLEVBQUVjLFdBQVcsRUFBRVgsV0FBVztJQUNyRSxJQUFJWTtJQUVKLElBQU1WLGFBQWFTLFlBQVlSLFlBQVksQ0FBQ047SUFFNUNj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
|
package/package.json
CHANGED
package/src/ruleNames.js
CHANGED
|
@@ -3,11 +3,9 @@
|
|
|
3
3
|
export const TERM_RULE_NAME = "term";
|
|
4
4
|
export const TYPE_RULE_NAME = "type";
|
|
5
5
|
export const LABEL_RULE_NAME = "label";
|
|
6
|
-
export const VARIABLE_RULE_NAME = "variable";
|
|
7
6
|
export const ARGUMENT_RULE_NAME = "argument";
|
|
8
7
|
export const SUBPROOF_RULE_NAME = "subproof";
|
|
9
8
|
export const STATEMENT_RULE_NAME = "statement";
|
|
10
|
-
export const META_TYPE_RULE_NAME = "meta-type";
|
|
11
9
|
export const METAVARIABLE_RULE_NAME = "metavariable";
|
|
12
10
|
export const METASTATEMENT_RULE_NAME = "metastatement";
|
|
13
11
|
export const RULE_SUBPROOF_RULE_NAME = "ruleSubproof";
|
|
@@ -17,5 +15,4 @@ export const VARIABLE_DECLARATION_RULE_NAME = "variableDeclaration";
|
|
|
17
15
|
export const UNQUALIFIED_STATEMENT_RULE_NAME = "unqualifiedStatement";
|
|
18
16
|
export const CONSTRUCTOR_DECLARATION_RULE_NAME = "constructorDeclaration";
|
|
19
17
|
export const QUALIFIED_METASTATEMENT_RULE_NAME = "qualifiedMetastatement";
|
|
20
|
-
export const METAVARIABLE_DECLARATION_RULE_NAME = "metavariableDeclaration";
|
|
21
18
|
export const UNQUALIFIED_METASTATEMENT_RULE_NAME = "unqualifiedMetastatement";
|
package/src/utilities/array.js
CHANGED
|
@@ -73,3 +73,31 @@ export function rightDifference(arrayA, arrayB) {
|
|
|
73
73
|
}
|
|
74
74
|
});
|
|
75
75
|
}
|
|
76
|
+
|
|
77
|
+
export function areArraysEqual(arrayA, arrayB, callback) {
|
|
78
|
+
if (callback === undefined) {
|
|
79
|
+
callback = (elementA, elementB) => {
|
|
80
|
+
if (elementA === elementB) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
let arraysEqual = false;
|
|
87
|
+
|
|
88
|
+
const arrayALength = arrayA.length,
|
|
89
|
+
arrayBLength = arrayB.length;
|
|
90
|
+
|
|
91
|
+
if (arrayALength === arrayBLength) {
|
|
92
|
+
arraysEqual = arrayA.every((elementA, index) => {
|
|
93
|
+
const elementB = arrayB[index],
|
|
94
|
+
result = callback(elementA, elementB);
|
|
95
|
+
|
|
96
|
+
if (result) {
|
|
97
|
+
return true;
|
|
98
|
+
}
|
|
99
|
+
})
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return arraysEqual;
|
|
103
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { areArraysEqual } from "../utilities/array";
|
|
4
|
+
|
|
5
|
+
export function terminalNodeMapFromNodes(nodes) {
|
|
6
|
+
const terminalNodeMap = {};
|
|
7
|
+
|
|
8
|
+
nodes.forEach((node, index) => {
|
|
9
|
+
const nodeTerminalNode = node.isTerminalNode();
|
|
10
|
+
|
|
11
|
+
if (nodeTerminalNode) {
|
|
12
|
+
const terminalNode = node; //
|
|
13
|
+
|
|
14
|
+
terminalNodeMap[index] = terminalNode;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
return terminalNodeMap;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function areTerminalNodeMapsEqual(terminalNodeMapA, terminalNodeMapB) {
|
|
22
|
+
let terminalNodeMapsEqual = false;
|
|
23
|
+
|
|
24
|
+
const indexesA = Object.keys(terminalNodeMapA), ///
|
|
25
|
+
indexesB = Object.keys(terminalNodeMapB), ///
|
|
26
|
+
terminalNodeMapKeysEqual = areArraysEqual(indexesA, indexesB);
|
|
27
|
+
|
|
28
|
+
if (terminalNodeMapKeysEqual) {
|
|
29
|
+
const terminalNodesA = Object.keys(terminalNodeMapA), ///
|
|
30
|
+
terminalNodesB = Object.keys(terminalNodeMapB), ///
|
|
31
|
+
terminalNodeMapValuesEqual = areArraysEqual(terminalNodesA, terminalNodesB, (terminalNodeA, terminalNodeB) => {
|
|
32
|
+
const matches = terminalNodeA.match(terminalNodeB);
|
|
33
|
+
|
|
34
|
+
if (matches) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
terminalNodeMapsEqual = terminalNodeMapValuesEqual; ///
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return terminalNodeMapsEqual;
|
|
43
|
+
}
|
package/src/verifier/node.js
CHANGED
|
@@ -32,6 +32,28 @@ export default class NodeVerifier {
|
|
|
32
32
|
return childNodesVerify;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
+
verifyTerminalNode(terminalNode, ...remainingArguments) {
|
|
36
|
+
let terminalNodeVerified;
|
|
37
|
+
|
|
38
|
+
const verifyAhead = remainingArguments.pop(), ///
|
|
39
|
+
verifiedAhead = verifyAhead(); ///
|
|
40
|
+
|
|
41
|
+
terminalNodeVerified = verifiedAhead; ///
|
|
42
|
+
|
|
43
|
+
return terminalNodeVerified;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
verifyNonTerminalNode(nonTerminalNode, ...remainingArguments) {
|
|
47
|
+
let nonTerminalNodeVerified;
|
|
48
|
+
|
|
49
|
+
const childNodes = nonTerminalNode.getChildNodes(), ///
|
|
50
|
+
childNodesVerify = this.verifyChildNodes(childNodes, ...remainingArguments);
|
|
51
|
+
|
|
52
|
+
nonTerminalNodeVerified = childNodesVerify; ///
|
|
53
|
+
|
|
54
|
+
return nonTerminalNodeVerified;
|
|
55
|
+
}
|
|
56
|
+
|
|
35
57
|
verifyChildNodesAhead(index, childNodes, ...remainingArguments) {
|
|
36
58
|
let childNodesVerify;
|
|
37
59
|
|
|
@@ -46,11 +68,10 @@ export default class NodeVerifier {
|
|
|
46
68
|
const childNode = childNodes[index],
|
|
47
69
|
node = childNode, ///
|
|
48
70
|
nodeVerified = this.verifyNode(node, ...remainingArguments, () => {
|
|
49
|
-
index++;
|
|
50
|
-
|
|
51
71
|
remainingArguments.push(verifyAhead);
|
|
52
72
|
|
|
53
|
-
const
|
|
73
|
+
const aheadIndex = index + 1,
|
|
74
|
+
childNodesVerifyAhead = this.verifyChildNodesAhead(aheadIndex, childNodes, ...remainingArguments);
|
|
54
75
|
|
|
55
76
|
return childNodesVerifyAhead;
|
|
56
77
|
});
|
|
@@ -60,26 +81,4 @@ export default class NodeVerifier {
|
|
|
60
81
|
|
|
61
82
|
return childNodesVerify;
|
|
62
83
|
}
|
|
63
|
-
|
|
64
|
-
verifyTerminalNode(terminalNode, ...remainingArguments) {
|
|
65
|
-
let terminalNodeVerified;
|
|
66
|
-
|
|
67
|
-
const verifyAhead = remainingArguments.pop(), ///
|
|
68
|
-
verifiedAhead = verifyAhead(); ///
|
|
69
|
-
|
|
70
|
-
terminalNodeVerified = verifiedAhead; ///
|
|
71
|
-
|
|
72
|
-
return terminalNodeVerified;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
verifyNonTerminalNode(nonTerminalNode, ...remainingArguments) {
|
|
76
|
-
let nonTerminalNodeVerified;
|
|
77
|
-
|
|
78
|
-
const childNodes = nonTerminalNode.getChildNodes(), ///
|
|
79
|
-
childNodesVerify = this.verifyChildNodes(childNodes, ...remainingArguments);
|
|
80
|
-
|
|
81
|
-
nonTerminalNodeVerified = childNodesVerify; ///
|
|
82
|
-
|
|
83
|
-
return nonTerminalNodeVerified;
|
|
84
|
-
}
|
|
85
84
|
}
|
package/src/verifier/nodes.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { terminalNodeMapFromNodes, areTerminalNodeMapsEqual } from "../utilities/terminalNodes";
|
|
4
|
+
|
|
3
5
|
export default class NodesVerifier {
|
|
4
6
|
verifyNode(nodeA, nodeB, ...remainingArguments) {
|
|
5
7
|
let nodeVerified = false;
|
|
@@ -35,15 +37,51 @@ export default class NodesVerifier {
|
|
|
35
37
|
childNodesBLength = childNodesB.length;
|
|
36
38
|
|
|
37
39
|
if (childNodesALength === childNodesBLength) {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
+
const childTerminalNodeMapA = terminalNodeMapFromNodes(childNodesA),
|
|
41
|
+
childTerminalNodeMapB = terminalNodeMapFromNodes(childNodesB),
|
|
42
|
+
terminalNodeMapsEqual = areTerminalNodeMapsEqual(childTerminalNodeMapA, childTerminalNodeMapB);
|
|
43
|
+
|
|
44
|
+
if (terminalNodeMapsEqual) {
|
|
45
|
+
const index = 0,
|
|
46
|
+
childNodesVerifyAhead = this.verifyChildNodesAhead(index, childNodesA, childNodesB, ...remainingArguments);
|
|
40
47
|
|
|
41
|
-
|
|
48
|
+
childNodesVerify = childNodesVerifyAhead; ///
|
|
49
|
+
}
|
|
42
50
|
}
|
|
43
51
|
|
|
44
52
|
return childNodesVerify;
|
|
45
53
|
}
|
|
46
54
|
|
|
55
|
+
verifyTerminalNode(terminalNodeA, terminalNodeB, ...remainingArguments) { ///
|
|
56
|
+
let terminalNodeVerified;
|
|
57
|
+
|
|
58
|
+
const verifyAhead = remainingArguments.pop(),
|
|
59
|
+
verifiedAhead = verifyAhead();
|
|
60
|
+
|
|
61
|
+
terminalNodeVerified = verifiedAhead; ///
|
|
62
|
+
|
|
63
|
+
return terminalNodeVerified;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, ...remainingArguments) {
|
|
67
|
+
let nonTerminalNodeVerified = false;
|
|
68
|
+
|
|
69
|
+
const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), ///
|
|
70
|
+
nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
71
|
+
|
|
72
|
+
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
73
|
+
const nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
|
|
74
|
+
nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
|
|
75
|
+
childNodesA = nonTerminalNodeAChildNodes, ///
|
|
76
|
+
childNodesB = nonTerminalNodeBChildNodes, ///
|
|
77
|
+
childNodesVerify = this.verifyChildNodes(childNodesA, childNodesB, ...remainingArguments);
|
|
78
|
+
|
|
79
|
+
nonTerminalNodeVerified = childNodesVerify; ///
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
return nonTerminalNodeVerified;
|
|
83
|
+
}
|
|
84
|
+
|
|
47
85
|
verifyChildNodesAhead(index, childNodesA, childNodesB, ...remainingArguments) {
|
|
48
86
|
let childNodesVerify;
|
|
49
87
|
|
|
@@ -60,11 +98,10 @@ export default class NodesVerifier {
|
|
|
60
98
|
nodeA = childNodeA, ///
|
|
61
99
|
nodeB = childNodeB, ///
|
|
62
100
|
nodeVerified = this.verifyNode(nodeA, nodeB, ...remainingArguments, () => {
|
|
63
|
-
index++;
|
|
64
|
-
|
|
65
101
|
remainingArguments.push(verifyAhead); ///
|
|
66
102
|
|
|
67
|
-
const
|
|
103
|
+
const aheadIndex = index + 1,
|
|
104
|
+
childNodesVerifyAhead = this.verifyChildNodesAhead(aheadIndex, childNodesA, childNodesB, ...remainingArguments);
|
|
68
105
|
|
|
69
106
|
return childNodesVerifyAhead;
|
|
70
107
|
});
|
|
@@ -74,38 +111,4 @@ export default class NodesVerifier {
|
|
|
74
111
|
|
|
75
112
|
return childNodesVerify;
|
|
76
113
|
}
|
|
77
|
-
|
|
78
|
-
verifyTerminalNode(terminalNodeA, terminalNodeB, ...remainingArguments) {
|
|
79
|
-
let terminalNodeVerified = false;
|
|
80
|
-
|
|
81
|
-
const matches = terminalNodeA.match(terminalNodeB);
|
|
82
|
-
|
|
83
|
-
if (matches) {
|
|
84
|
-
const verifyAhead = remainingArguments.pop(),
|
|
85
|
-
verifiedAhead = verifyAhead();
|
|
86
|
-
|
|
87
|
-
terminalNodeVerified = verifiedAhead; ///
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return terminalNodeVerified;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, ...remainingArguments) {
|
|
94
|
-
let nonTerminalNodeVerified = false;
|
|
95
|
-
|
|
96
|
-
const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(), ///
|
|
97
|
-
nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(); ///
|
|
98
|
-
|
|
99
|
-
if (nonTerminalNodeARuleName === nonTerminalNodeBRuleName) {
|
|
100
|
-
const nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
|
|
101
|
-
nonTerminalNodeBChildNodes = nonTerminalNodeB.getChildNodes(),
|
|
102
|
-
childNodesA = nonTerminalNodeAChildNodes, ///
|
|
103
|
-
childNodesB = nonTerminalNodeBChildNodes, ///
|
|
104
|
-
childNodesVerify = this.verifyChildNodes(childNodesA, childNodesB, ...remainingArguments);
|
|
105
|
-
|
|
106
|
-
nonTerminalNodeVerified = childNodesVerify; ///
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
return nonTerminalNodeVerified;
|
|
110
|
-
}
|
|
111
114
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
export default function verifyGivenVariable(variableNode, variables, context, verifyAhead) {
|
|
4
|
+
let givenVariableVerified = false;
|
|
5
|
+
|
|
6
|
+
const variableString = context.nodeAsString(variableNode);
|
|
7
|
+
|
|
8
|
+
context.trace(`Verifying the '${variableString}' given variable...`, variableNode);
|
|
9
|
+
|
|
10
|
+
const variable = context.findVariableByVariableNode(variableNode);
|
|
11
|
+
|
|
12
|
+
if (variable !== null) {
|
|
13
|
+
let verifiedAhead;
|
|
14
|
+
|
|
15
|
+
variables.push(variable);
|
|
16
|
+
|
|
17
|
+
verifiedAhead = verifyAhead();
|
|
18
|
+
|
|
19
|
+
if (!verifiedAhead) {
|
|
20
|
+
variables.pop();
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
givenVariableVerified = verifiedAhead; ///
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
if (givenVariableVerified) {
|
|
27
|
+
context.debug(`...verified the '${variableString}' given variable.`, variableNode);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return givenVariableVerified;
|
|
31
|
+
}
|
package/src/verify/term.js
CHANGED
|
@@ -2,9 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
import Term from "../term";
|
|
4
4
|
import termNodesVerifier from "../verifier/nodes/term";
|
|
5
|
-
import
|
|
5
|
+
import verifyGivenVariable from "../verify/givenVariable";
|
|
6
6
|
|
|
7
7
|
import { first } from "../utilities/array";
|
|
8
|
+
import { nodeQuery } from "../utilities/query";
|
|
9
|
+
|
|
10
|
+
const variableNodeQuery = nodeQuery("/term/variable!");
|
|
8
11
|
|
|
9
12
|
function verifyTerm(termNode, terms, context, verifyAhead) {
|
|
10
13
|
let termVerified;
|
|
@@ -60,53 +63,61 @@ Object.assign(termNodesVerifier, {
|
|
|
60
63
|
export default verifyTerm;
|
|
61
64
|
|
|
62
65
|
function verifyTermAsVariable(termNode, terms, context, verifyAhead) {
|
|
63
|
-
let termVerifiedAsVariable;
|
|
66
|
+
let termVerifiedAsVariable = false;
|
|
64
67
|
|
|
65
|
-
const
|
|
68
|
+
const variableNode = variableNodeQuery(termNode);
|
|
66
69
|
|
|
67
|
-
|
|
70
|
+
if (variableNode !== null) {
|
|
71
|
+
const termString = context.nodeAsString(termNode);
|
|
68
72
|
|
|
69
|
-
|
|
70
|
-
termVerifiedAsGivenVariable = verifyTermAsGivenVariable(termNode, variables, context, () => {
|
|
71
|
-
let verifiedAhead;
|
|
73
|
+
context.trace(`Verifying the '${termString}' term as a variable...`, termNode);
|
|
72
74
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
term = Term.fromTermNodeAndType(termNode, type);
|
|
75
|
+
const variables = [],
|
|
76
|
+
givenVariableVerified = verifyGivenVariable(variableNode, variables, context, () => {
|
|
77
|
+
let verifiedAhead;
|
|
77
78
|
|
|
78
|
-
|
|
79
|
+
const firstVariable = first(variables),
|
|
80
|
+
variable = firstVariable, ///
|
|
81
|
+
type = variable.getType(),
|
|
82
|
+
term = Term.fromTermNodeAndType(termNode, type);
|
|
79
83
|
|
|
80
|
-
|
|
84
|
+
terms.push(term);
|
|
81
85
|
|
|
82
|
-
|
|
83
|
-
terms.pop();
|
|
84
|
-
}
|
|
86
|
+
verifiedAhead = verifyAhead();
|
|
85
87
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
+
if (!verifiedAhead) {
|
|
89
|
+
terms.pop();
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
return verifiedAhead;
|
|
93
|
+
});
|
|
88
94
|
|
|
89
|
-
|
|
95
|
+
termVerifiedAsVariable = givenVariableVerified; ///
|
|
90
96
|
|
|
91
|
-
|
|
92
|
-
|
|
97
|
+
if (termVerifiedAsVariable) {
|
|
98
|
+
context.debug(`...verified the '${termString}' term as a variable.`, termNode);
|
|
99
|
+
}
|
|
93
100
|
}
|
|
94
101
|
|
|
95
102
|
return termVerifiedAsVariable;
|
|
96
103
|
}
|
|
97
104
|
|
|
98
105
|
function verifyTermAgainstConstructors(termNode, terms, context, verifyAhead) {
|
|
99
|
-
let termVerifiedAgainstConstructors;
|
|
106
|
+
let termVerifiedAgainstConstructors = false;
|
|
100
107
|
|
|
101
|
-
const
|
|
108
|
+
const variableNode = variableNodeQuery(termNode);
|
|
102
109
|
|
|
103
|
-
|
|
104
|
-
const
|
|
110
|
+
if (variableNode === null) {
|
|
111
|
+
const constructors = context.getConstructors();
|
|
105
112
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
113
|
+
termVerifiedAgainstConstructors = constructors.some((constructor) => {
|
|
114
|
+
const termVerifiedAgainstConstructor = verifyTermAgainstConstructor(termNode, terms, constructor, context, verifyAhead);
|
|
115
|
+
|
|
116
|
+
if (termVerifiedAgainstConstructor) {
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
}
|
|
110
121
|
|
|
111
122
|
return termVerifiedAgainstConstructors;
|
|
112
123
|
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return verifyTermAsGivenVariable;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _query = require("../utilities/query");
|
|
12
|
-
var variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
13
|
-
function verifyTermAsGivenVariable(termNode, variables, context, verifyAhead) {
|
|
14
|
-
var termVerifiedAsVariable = false;
|
|
15
|
-
var variableNode = variableNodeQuery(termNode);
|
|
16
|
-
if (variableNode !== null) {
|
|
17
|
-
var termString = context.nodeAsString(termNode);
|
|
18
|
-
context.trace("Verifying the '".concat(termString, "' term as a given variable..."), termNode);
|
|
19
|
-
var variable = context.findVariableByVariableNode(variableNode);
|
|
20
|
-
if (variable !== null) {
|
|
21
|
-
var verifiedAhead;
|
|
22
|
-
variables.push(variable);
|
|
23
|
-
verifiedAhead = verifyAhead();
|
|
24
|
-
if (!verifiedAhead) {
|
|
25
|
-
variables.pop();
|
|
26
|
-
}
|
|
27
|
-
termVerifiedAsVariable = verifiedAhead; ///
|
|
28
|
-
}
|
|
29
|
-
if (termVerifiedAsVariable) {
|
|
30
|
-
context.debug("...verified the '".concat(termString, "' term as a given variable."), termNode);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
return termVerifiedAsVariable;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybUFzR2l2ZW5WYXJpYWJsZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90ZXJtL3ZhcmlhYmxlIVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VGVybUFzR2l2ZW5WYXJpYWJsZSh0ZXJtTm9kZSwgdmFyaWFibGVzLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICBpZiAodmFyaWFibGVOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGVybVN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHRlcm1Ob2RlKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYXMgYSBnaXZlbiB2YXJpYWJsZS4uLmAsIHRlcm1Ob2RlKTtcblxuICAgIGNvbnN0IHZhcmlhYmxlID0gY29udGV4dC5maW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpO1xuXG4gICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICBsZXQgdmVyaWZpZWRBaGVhZDtcblxuICAgICAgdmFyaWFibGVzLnB1c2godmFyaWFibGUpO1xuXG4gICAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgICAgaWYgKCF2ZXJpZmllZEFoZWFkKSB7XG4gICAgICAgIHZhcmlhYmxlcy5wb3AoKTtcbiAgICAgIH1cblxuICAgICAgdGVybVZlcmlmaWVkQXNWYXJpYWJsZSA9IHZlcmlmaWVkQWhlYWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dGVybVN0cmluZ30nIHRlcm0gYXMgYSBnaXZlbiB2YXJpYWJsZS5gLCB0ZXJtTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRlcm1WZXJpZmllZEFzVmFyaWFibGU7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VGVybUFzR2l2ZW5WYXJpYWJsZSIsInZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidGVybU5vZGUiLCJ2YXJpYWJsZXMiLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0ZXJtVmVyaWZpZWRBc1ZhcmlhYmxlIiwidmFyaWFibGVOb2RlIiwidGVybVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSIsInZlcmlmaWVkQWhlYWQiLCJwdXNoIiwicG9wIiwiZGVidWciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7cUJBSkU7QUFFMUIsSUFBTUMsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLFNBQVNGLDBCQUEwQkcsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsV0FBVztJQUN6RixJQUFJQyx5QkFBeUI7SUFFN0IsSUFBTUMsZUFBZVAsa0JBQWtCRTtJQUV2QyxJQUFJSyxpQkFBaUIsTUFBTTtRQUN6QixJQUFNQyxhQUFhSixRQUFRSyxZQUFZLENBQUNQO1FBRXhDRSxRQUFRTSxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEYsWUFBVyxrQ0FBZ0NOO1FBRTNFLElBQU1TLFdBQVdQLFFBQVFRLDBCQUEwQixDQUFDTDtRQUVwRCxJQUFJSSxhQUFhLE1BQU07WUFDckIsSUFBSUU7WUFFSlYsVUFBVVcsSUFBSSxDQUFDSDtZQUVmRSxnQkFBZ0JSO1lBRWhCLElBQUksQ0FBQ1EsZUFBZTtnQkFDbEJWLFVBQVVZLEdBQUc7WUFDZjtZQUVBVCx5QkFBeUJPLGVBQWUsR0FBRztRQUM3QztRQUVBLElBQUlQLHdCQUF3QjtZQUMxQkYsUUFBUVksS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhSLFlBQVcsZ0NBQThCTjtRQUM3RTtJQUNGO0lBRUEsT0FBT0k7QUFDVCJ9
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { nodeQuery } from "../utilities/query";
|
|
4
|
-
|
|
5
|
-
const variableNodeQuery = nodeQuery("/term/variable!");
|
|
6
|
-
|
|
7
|
-
export default function verifyTermAsGivenVariable(termNode, variables, context, verifyAhead) {
|
|
8
|
-
let termVerifiedAsVariable = false;
|
|
9
|
-
|
|
10
|
-
const variableNode = variableNodeQuery(termNode);
|
|
11
|
-
|
|
12
|
-
if (variableNode !== null) {
|
|
13
|
-
const termString = context.nodeAsString(termNode);
|
|
14
|
-
|
|
15
|
-
context.trace(`Verifying the '${termString}' term as a given variable...`, termNode);
|
|
16
|
-
|
|
17
|
-
const variable = context.findVariableByVariableNode(variableNode);
|
|
18
|
-
|
|
19
|
-
if (variable !== null) {
|
|
20
|
-
let verifiedAhead;
|
|
21
|
-
|
|
22
|
-
variables.push(variable);
|
|
23
|
-
|
|
24
|
-
verifiedAhead = verifyAhead();
|
|
25
|
-
|
|
26
|
-
if (!verifiedAhead) {
|
|
27
|
-
variables.pop();
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
termVerifiedAsVariable = verifiedAhead; ///
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
if (termVerifiedAsVariable) {
|
|
34
|
-
context.debug(`...verified the '${termString}' term as a given variable.`, termNode);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return termVerifiedAsVariable;
|
|
39
|
-
}
|