occam-verify-cli 0.0.680 → 0.0.682
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/constants.js +1 -5
- package/lib/equality.js +20 -23
- package/lib/verify/equality.js +64 -0
- package/lib/verify/statement.js +7 -42
- package/lib/verify/type.js +2 -2
- package/package.json +7 -7
- package/src/constants.js +0 -1
- package/src/equality.js +21 -23
- package/src/verify/equality.js +76 -0
- package/src/verify/statement.js +7 -59
- package/src/verify/type.js +1 -1
- package/lib/node/statement/equality.js +0 -16
- package/src/node/statement/equality.js +0 -9
package/lib/constants.js
CHANGED
|
@@ -21,9 +21,6 @@ _export(exports, {
|
|
|
21
21
|
EMPTY_STRING: function() {
|
|
22
22
|
return EMPTY_STRING;
|
|
23
23
|
},
|
|
24
|
-
EQUALITY_DEPTH: function() {
|
|
25
|
-
return EQUALITY_DEPTH;
|
|
26
|
-
},
|
|
27
24
|
MAXIMUM_INDEXES_LENGTH: function() {
|
|
28
25
|
return MAXIMUM_INDEXES_LENGTH;
|
|
29
26
|
},
|
|
@@ -33,10 +30,9 @@ _export(exports, {
|
|
|
33
30
|
});
|
|
34
31
|
var COMMA = ",";
|
|
35
32
|
var EMPTY_STRING = "";
|
|
36
|
-
var EQUALITY_DEPTH = 2;
|
|
37
33
|
var MAXIMUM_INDEXES_LENGTH = 10;
|
|
38
34
|
var BRACKETED_STATEMENT_DEPTH = 2;
|
|
39
35
|
var MAXIMUM_PERMUTATION_LENGTH = 5;
|
|
40
36
|
var BRACKETED_METASTATEMENT_DEPTH = 1;
|
|
41
37
|
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDT01NQSA9ICcsJztcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IE1BWElNVU1fSU5ERVhFU19MRU5HVEggPSAxMDtcbmV4cG9ydCBjb25zdCBCUkFDS0VURURfU1RBVEVNRU5UX0RFUFRIID0gMjtcbmV4cG9ydCBjb25zdCBNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCA9IDU7XG5leHBvcnQgY29uc3QgQlJBQ0tFVEVEX01FVEFTVEFURU1FTlRfREVQVEggPSAxO1xuIl0sIm5hbWVzIjpbIkJSQUNLRVRFRF9NRVRBU1RBVEVNRU5UX0RFUFRIIiwiQlJBQ0tFVEVEX1NUQVRFTUVOVF9ERVBUSCIsIkNPTU1BIiwiRU1QVFlfU1RSSU5HIiwiTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCIsIk1BWElNVU1fUEVSTVVUQVRJT05fTEVOR1RIIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFPYUEsNkJBQTZCO2VBQTdCQTs7SUFGQUMseUJBQXlCO2VBQXpCQTs7SUFIQUMsS0FBSztlQUFMQTs7SUFDQUMsWUFBWTtlQUFaQTs7SUFDQUMsc0JBQXNCO2VBQXRCQTs7SUFFQUMsMEJBQTBCO2VBQTFCQTs7O0FBSk4sSUFBTUgsUUFBUTtBQUNkLElBQU1DLGVBQWU7QUFDckIsSUFBTUMseUJBQXlCO0FBQy9CLElBQU1ILDRCQUE0QjtBQUNsQyxJQUFNSSw2QkFBNkI7QUFDbkMsSUFBTUwsZ0NBQWdDIn0=
|
package/lib/equality.js
CHANGED
|
@@ -8,10 +8,8 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Equality;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _equality = /*#__PURE__*/ _interop_require_default(require("./
|
|
12
|
-
var _equality1 = /*#__PURE__*/ _interop_require_default(require("./verifier/nodes/equality"));
|
|
11
|
+
var _equality = /*#__PURE__*/ _interop_require_default(require("./verifier/nodes/equality"));
|
|
13
12
|
var _query = require("./utilities/query");
|
|
14
|
-
var _constants = require("./constants");
|
|
15
13
|
function _class_call_check(instance, Constructor) {
|
|
16
14
|
if (!(instance instanceof Constructor)) {
|
|
17
15
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -36,7 +34,7 @@ function _interop_require_default(obj) {
|
|
|
36
34
|
default: obj
|
|
37
35
|
};
|
|
38
36
|
}
|
|
39
|
-
var
|
|
37
|
+
var equalityNodeQuery = (0, _query.nodeQuery)("/statement/equality!"), leftTermNodeQuery = (0, _query.nodeQuery)("/equality/argument[0]/term!"), rightTermNodeQuery = (0, _query.nodeQuery)("/equality/argument[1]/term!");
|
|
40
38
|
var Equality = /*#__PURE__*/ function() {
|
|
41
39
|
function Equality(leftTermNode, rightTermNode) {
|
|
42
40
|
_class_call_check(this, Equality);
|
|
@@ -59,16 +57,16 @@ var Equality = /*#__PURE__*/ function() {
|
|
|
59
57
|
{
|
|
60
58
|
key: "matchTermNodes",
|
|
61
59
|
value: function matchTermNodes(leftTermNode, rightTermNode, reversed, equalities, context) {
|
|
62
|
-
var
|
|
63
|
-
if (
|
|
64
|
-
var leftNonTerminalNode = reversed ? this.rightTermNode : this.leftTermNode, rightNonTerminalNode = leftTermNode, nonTerminalNodeVerified =
|
|
65
|
-
|
|
60
|
+
var termNodesMatch = true;
|
|
61
|
+
if (termNodesMatch) {
|
|
62
|
+
var leftNonTerminalNode = reversed ? this.rightTermNode : this.leftTermNode, rightNonTerminalNode = leftTermNode, nonTerminalNodeVerified = _equality.default.verifyNonTerminalNode(leftNonTerminalNode, rightNonTerminalNode, equalities, context);
|
|
63
|
+
termNodesMatch = nonTerminalNodeVerified; ///
|
|
66
64
|
}
|
|
67
|
-
if (
|
|
68
|
-
var leftNonTerminalNode1 = reversed ? this.leftTermNode : this.rightTermNode, rightNonTerminalNode1 = rightTermNode, nonTerminalNodeVerified1 =
|
|
69
|
-
|
|
65
|
+
if (termNodesMatch) {
|
|
66
|
+
var leftNonTerminalNode1 = reversed ? this.leftTermNode : this.rightTermNode, rightNonTerminalNode1 = rightTermNode, nonTerminalNodeVerified1 = _equality.default.verifyNonTerminalNode(leftNonTerminalNode1, rightNonTerminalNode1, equalities, context);
|
|
67
|
+
termNodesMatch = nonTerminalNodeVerified1; ///
|
|
70
68
|
}
|
|
71
|
-
return
|
|
69
|
+
return termNodesMatch;
|
|
72
70
|
}
|
|
73
71
|
},
|
|
74
72
|
{
|
|
@@ -91,7 +89,7 @@ var Equality = /*#__PURE__*/ function() {
|
|
|
91
89
|
{
|
|
92
90
|
key: "verify",
|
|
93
91
|
value: function verify(equalities, context, verifyAhead) {
|
|
94
|
-
var leftNonTerminalNode = this.leftTermNode, rightNonTerminalNode = this.rightTermNode, nonTerminalNodeVerified =
|
|
92
|
+
var leftNonTerminalNode = this.leftTermNode, rightNonTerminalNode = this.rightTermNode, nonTerminalNodeVerified = _equality.default.verifyNonTerminalNode(leftNonTerminalNode, rightNonTerminalNode, equalities, context, verifyAhead), verified = nonTerminalNodeVerified; ///
|
|
95
93
|
return verified;
|
|
96
94
|
}
|
|
97
95
|
}
|
|
@@ -102,20 +100,19 @@ var Equality = /*#__PURE__*/ function() {
|
|
|
102
100
|
var equality = null;
|
|
103
101
|
var statementNode = proofStep.getStatementNode();
|
|
104
102
|
if (statementNode !== null) {
|
|
105
|
-
|
|
103
|
+
var equalityNode = equalityNodeQuery(statementNode);
|
|
104
|
+
if (equalityNode !== null) {
|
|
105
|
+
var leftTermNode = leftTermNodeQuery(statementNode), rightTermNode = rightTermNodeQuery(statementNode);
|
|
106
|
+
equality = new Equality(leftTermNode, rightTermNode);
|
|
107
|
+
}
|
|
106
108
|
}
|
|
107
109
|
return equality;
|
|
108
110
|
}
|
|
109
111
|
},
|
|
110
112
|
{
|
|
111
|
-
key: "
|
|
112
|
-
value: function
|
|
113
|
-
var equality =
|
|
114
|
-
var depth = _constants.EQUALITY_DEPTH, statementNodeMatchesEqualityStatementNode = statementNode.match(_equality.default, depth);
|
|
115
|
-
if (statementNodeMatchesEqualityStatementNode) {
|
|
116
|
-
var leftTermNode = leftTermNodeQuery(statementNode), rightTermNode = rightTermNodeQuery(statementNode);
|
|
117
|
-
equality = new Equality(leftTermNode, rightTermNode);
|
|
118
|
-
}
|
|
113
|
+
key: "fromEqualityNode",
|
|
114
|
+
value: function fromEqualityNode(equalityNode) {
|
|
115
|
+
var leftTermNode = leftTermNodeQuery(equalityNode), rightTermNode = rightTermNodeQuery(equalityNode), equality = new Equality(leftTermNode, rightTermNode);
|
|
119
116
|
return equality;
|
|
120
117
|
}
|
|
121
118
|
},
|
|
@@ -140,4 +137,4 @@ function filterEqualities(equalities, equality) {
|
|
|
140
137
|
return equalities;
|
|
141
138
|
}
|
|
142
139
|
|
|
143
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
140
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lcXVhbGl0eS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGVxdWFsaXR5Tm9kZXNWZXJpZmllciBmcm9tIFwiLi92ZXJpZmllci9ub2Rlcy9lcXVhbGl0eVwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgZXF1YWxpdHlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L2VxdWFsaXR5IVwiKSxcbiAgICAgIGxlZnRUZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2VxdWFsaXR5L2FyZ3VtZW50WzBdL3Rlcm0hXCIpLFxuICAgICAgcmlnaHRUZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2VxdWFsaXR5L2FyZ3VtZW50WzFdL3Rlcm0hXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFcXVhbGl0eSB7XG4gIGNvbnN0cnVjdG9yKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSkge1xuICAgIHRoaXMubGVmdFRlcm1Ob2RlID0gbGVmdFRlcm1Ob2RlO1xuICAgIHRoaXMucmlnaHRUZXJtTm9kZSA9IHJpZ2h0VGVybU5vZGU7XG4gIH1cblxuICBnZXRMZWZ0VGVybU5vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdFRlcm1Ob2RlO1xuICB9XG5cbiAgZ2V0UmlnaHRUZXJtTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5yaWdodFRlcm1Ob2RlO1xuICB9XG5cbiAgbWF0Y2hUZXJtTm9kZXMobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCByZXZlcnNlZCwgZXF1YWxpdGllcywgY29udGV4dCkge1xuICAgIGxldCB0ZXJtTm9kZXNNYXRjaCA9IHRydWU7XG5cbiAgICBpZiAodGVybU5vZGVzTWF0Y2gpIHtcbiAgICAgIGNvbnN0IGxlZnROb25UZXJtaW5hbE5vZGUgPSByZXZlcnNlZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0VGVybU5vZGUgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmxlZnRUZXJtTm9kZSwgIC8vL1xuICAgICAgICAgICAgcmlnaHROb25UZXJtaW5hbE5vZGUgPSBsZWZ0VGVybU5vZGUsICAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZXF1YWxpdHlOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShsZWZ0Tm9uVGVybWluYWxOb2RlLCByaWdodE5vblRlcm1pbmFsTm9kZSwgZXF1YWxpdGllcywgY29udGV4dCk7XG5cbiAgICAgIHRlcm1Ob2Rlc01hdGNoID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh0ZXJtTm9kZXNNYXRjaCkge1xuICAgICAgY29uc3QgbGVmdE5vblRlcm1pbmFsTm9kZSA9IHJldmVyc2VkID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubGVmdFRlcm1Ob2RlIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yaWdodFRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgICByaWdodE5vblRlcm1pbmFsTm9kZSA9IHJpZ2h0VGVybU5vZGUsICAvLy9cbiAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gZXF1YWxpdHlOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShsZWZ0Tm9uVGVybWluYWxOb2RlLCByaWdodE5vblRlcm1pbmFsTm9kZSwgZXF1YWxpdGllcywgY29udGV4dCk7XG5cbiAgICAgIHRlcm1Ob2Rlc01hdGNoID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJtTm9kZXNNYXRjaDtcbiAgfVxuXG4gIG1hdGNoKGVxdWFsaXR5LCBlcXVhbGl0aWVzLCBjb250ZXh0KSB7XG4gICAgbGV0IG1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnN0IGxlZnRUZXJtTm9kZSA9IGVxdWFsaXR5LmdldExlZnRUZXJtTm9kZSgpLFxuICAgICAgICAgIHJpZ2h0VGVybU5vZGUgPSBlcXVhbGl0eS5nZXRSaWdodFRlcm1Ob2RlKCk7XG5cbiAgICBlcXVhbGl0aWVzID0gZmlsdGVyRXF1YWxpdGllcyhlcXVhbGl0aWVzLCBlcXVhbGl0eSk7ICAvLy9cblxuICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgY29uc3QgcmV2ZXJzZWQgPSBmYWxzZSxcbiAgICAgICAgICAgIGxlZnRUZXJtTm9kZUFuZFJpZ2h0VGVybU5vZGVNYXRjaCA9IHRoaXMubWF0Y2hUZXJtTm9kZXMobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCByZXZlcnNlZCwgZXF1YWxpdGllcywgY29udGV4dCk7XG5cbiAgICAgIG1hdGNoZXMgPSBsZWZ0VGVybU5vZGVBbmRSaWdodFRlcm1Ob2RlTWF0Y2g7ICAvLy9cbiAgICB9XG5cbiAgICBpZiAoIW1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHJldmVyc2VkID0gdHJ1ZSxcbiAgICAgICAgICAgIGxlZnRUZXJtTm9kZUFuZFJpZ2h0VGVybU5vZGVNYXRjaCA9IHRoaXMubWF0Y2hUZXJtTm9kZXMobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCByZXZlcnNlZCwgZXF1YWxpdGllcywgY29udGV4dCk7XG5cbiAgICAgIG1hdGNoZXMgPSBsZWZ0VGVybU5vZGVBbmRSaWdodFRlcm1Ob2RlTWF0Y2g7ICAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuXG4gIHZlcmlmeShlcXVhbGl0aWVzLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICAgIGNvbnN0IGxlZnROb25UZXJtaW5hbE5vZGUgPSB0aGlzLmxlZnRUZXJtTm9kZSwgIC8vL1xuICAgICAgICAgIHJpZ2h0Tm9uVGVybWluYWxOb2RlID0gdGhpcy5yaWdodFRlcm1Ob2RlLCAgLy8vXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBlcXVhbGl0eU5vZGVzVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKGxlZnROb25UZXJtaW5hbE5vZGUsIHJpZ2h0Tm9uVGVybWluYWxOb2RlLCBlcXVhbGl0aWVzLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCksXG4gICAgICAgICAgdmVyaWZpZWQgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICByZXR1cm4gdmVyaWZpZWQ7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByb29mU3RlcChwcm9vZlN0ZXApIHtcbiAgICBsZXQgZXF1YWxpdHkgPSBudWxsO1xuXG4gICAgY29uc3Qgc3RhdGVtZW50Tm9kZSA9IHByb29mU3RlcC5nZXRTdGF0ZW1lbnROb2RlKCk7XG5cbiAgICBpZiAoc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZXF1YWxpdHlOb2RlID0gZXF1YWxpdHlOb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgIGlmIChlcXVhbGl0eU5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgbGVmdFRlcm1Ob2RlID0gbGVmdFRlcm1Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICAgIHJpZ2h0VGVybU5vZGUgPSByaWdodFRlcm1Ob2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICAgICAgZXF1YWxpdHkgPSBuZXcgRXF1YWxpdHkobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZXF1YWxpdHk7XG4gIH1cblxuICBzdGF0aWMgZnJvbUVxdWFsaXR5Tm9kZShlcXVhbGl0eU5vZGUpIHtcbiAgICBjb25zdCBsZWZ0VGVybU5vZGUgPSBsZWZ0VGVybU5vZGVRdWVyeShlcXVhbGl0eU5vZGUpLFxuICAgICAgICAgIHJpZ2h0VGVybU5vZGUgPSByaWdodFRlcm1Ob2RlUXVlcnkoZXF1YWxpdHlOb2RlKSxcbiAgICAgICAgICBlcXVhbGl0eSA9IG5ldyBFcXVhbGl0eShsZWZ0VGVybU5vZGUsIHJpZ2h0VGVybU5vZGUpO1xuXG4gICAgcmV0dXJuIGVxdWFsaXR5O1xuICB9XG5cbiAgc3RhdGljIGZyb21MZWZ0VGVybU5vZGVBbmRSaWdodFRlcm1Ob2RlKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSkge1xuICAgIGNvbnN0IGVxdWFsaXR5ID0gbmV3IEVxdWFsaXR5KGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSk7XG5cbiAgICByZXR1cm4gZXF1YWxpdHk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmlsdGVyRXF1YWxpdGllcyhlcXVhbGl0aWVzLCBlcXVhbGl0eSkge1xuICBjb25zdCBlcXVhbGl0eUEgPSBlcXVhbGl0eTsgLy8vXG5cbiAgZXF1YWxpdGllcyA9IGVxdWFsaXRpZXMuZmlsdGVyKChlcXVhbGl0eSkgPT4ge1xuICAgIGNvbnN0IGVxdWFsaXR5QiA9IGVxdWFsaXR5OyAvLy9cblxuICAgIGlmIChlcXVhbGl0eUEgIT09IGVxdWFsaXR5Qikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZXF1YWxpdGllcztcbn1cbiJdLCJuYW1lcyI6WyJFcXVhbGl0eSIsImVxdWFsaXR5Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibGVmdFRlcm1Ob2RlUXVlcnkiLCJyaWdodFRlcm1Ob2RlUXVlcnkiLCJsZWZ0VGVybU5vZGUiLCJyaWdodFRlcm1Ob2RlIiwiZ2V0TGVmdFRlcm1Ob2RlIiwiZ2V0UmlnaHRUZXJtTm9kZSIsIm1hdGNoVGVybU5vZGVzIiwicmV2ZXJzZWQiLCJlcXVhbGl0aWVzIiwiY29udGV4dCIsInRlcm1Ob2Rlc01hdGNoIiwibGVmdE5vblRlcm1pbmFsTm9kZSIsInJpZ2h0Tm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJlcXVhbGl0eU5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJtYXRjaCIsImVxdWFsaXR5IiwibWF0Y2hlcyIsImZpbHRlckVxdWFsaXRpZXMiLCJsZWZ0VGVybU5vZGVBbmRSaWdodFRlcm1Ob2RlTWF0Y2giLCJ2ZXJpZnkiLCJ2ZXJpZnlBaGVhZCIsInZlcmlmaWVkIiwiZnJvbVByb29mU3RlcCIsInByb29mU3RlcCIsInN0YXRlbWVudE5vZGUiLCJnZXRTdGF0ZW1lbnROb2RlIiwiZXF1YWxpdHlOb2RlIiwiZnJvbUVxdWFsaXR5Tm9kZSIsImZyb21MZWZ0VGVybU5vZGVBbmRSaWdodFRlcm1Ob2RlIiwiZXF1YWxpdHlBIiwiZmlsdGVyIiwiZXF1YWxpdHlCIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQVVxQkE7OzsrREFSYTtxQkFFUjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMseUJBQzlCQyxvQkFBb0JELElBQUFBLGdCQUFTLEVBQUMsZ0NBQzlCRSxxQkFBcUJGLElBQUFBLGdCQUFTLEVBQUM7QUFFdEIsSUFBQSxBQUFNRix5QkE0R2xCLEFBNUdZO2FBQU1BLFNBQ1BLLFlBQVksRUFBRUMsYUFBYTtnQ0FEcEJOO1FBRWpCLElBQUksQ0FBQ0ssWUFBWSxHQUFHQTtRQUNwQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7O2tCQUhKTjs7WUFNbkJPLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsWUFBWTtZQUMxQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsYUFBYTtZQUMzQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxlQUFlSixZQUFZLEVBQUVDLGFBQWEsRUFBRUksUUFBUSxFQUFFQyxVQUFVLEVBQUVDLE9BQU87Z0JBQ3ZFLElBQUlDLGlCQUFpQjtnQkFFckIsSUFBSUEsZ0JBQWdCO29CQUNsQixJQUFNQyxzQkFBc0JKLFdBQ0UsSUFBSSxDQUFDSixhQUFhLEdBQ2hCLElBQUksQ0FBQ0QsWUFBWSxFQUMzQ1UsdUJBQXVCVixjQUN2QlcsMEJBQTBCQyxpQkFBcUIsQ0FBQ0MscUJBQXFCLENBQUNKLHFCQUFxQkMsc0JBQXNCSixZQUFZQztvQkFFbklDLGlCQUFpQkcseUJBQXlCLEdBQUc7Z0JBQy9DO2dCQUVBLElBQUlILGdCQUFnQjtvQkFDbEIsSUFBTUMsdUJBQXNCSixXQUNFLElBQUksQ0FBQ0wsWUFBWSxHQUNmLElBQUksQ0FBQ0MsYUFBYSxFQUM1Q1Msd0JBQXVCVCxlQUN2QlUsMkJBQTBCQyxpQkFBcUIsQ0FBQ0MscUJBQXFCLENBQUNKLHNCQUFxQkMsdUJBQXNCSixZQUFZQztvQkFFbklDLGlCQUFpQkcsMEJBQXlCLEdBQUc7Z0JBQy9DO2dCQUVBLE9BQU9IO1lBQ1Q7OztZQUVBTSxLQUFBQTttQkFBQUEsU0FBQUEsTUFBTUMsUUFBUSxFQUFFVCxVQUFVLEVBQUVDLE9BQU87Z0JBQ2pDLElBQUlTLFVBQVU7Z0JBRWQsSUFBTWhCLGVBQWVlLFNBQVNiLGVBQWUsSUFDdkNELGdCQUFnQmMsU0FBU1osZ0JBQWdCO2dCQUUvQ0csYUFBYVcsaUJBQWlCWCxZQUFZUyxXQUFZLEdBQUc7Z0JBRXpELElBQUksQ0FBQ0MsU0FBUztvQkFDWixJQUFNWCxXQUFXLE9BQ1hhLG9DQUFvQyxJQUFJLENBQUNkLGNBQWMsQ0FBQ0osY0FBY0MsZUFBZUksVUFBVUMsWUFBWUM7b0JBRWpIUyxVQUFVRSxtQ0FBb0MsR0FBRztnQkFDbkQ7Z0JBRUEsSUFBSSxDQUFDRixTQUFTO29CQUNaLElBQU1YLFlBQVcsTUFDWGEscUNBQW9DLElBQUksQ0FBQ2QsY0FBYyxDQUFDSixjQUFjQyxlQUFlSSxXQUFVQyxZQUFZQztvQkFFakhTLFVBQVVFLG9DQUFvQyxHQUFHO2dCQUNuRDtnQkFFQSxPQUFPRjtZQUNUOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLE9BQU9iLFVBQVUsRUFBRUMsT0FBTyxFQUFFYSxXQUFXO2dCQUNyQyxJQUFNWCxzQkFBc0IsSUFBSSxDQUFDVCxZQUFZLEVBQ3ZDVSx1QkFBdUIsSUFBSSxDQUFDVCxhQUFhLEVBQ3pDVSwwQkFBMEJDLGlCQUFxQixDQUFDQyxxQkFBcUIsQ0FBQ0oscUJBQXFCQyxzQkFBc0JKLFlBQVlDLFNBQVNhLGNBQ3RJQyxXQUFXVix5QkFBeUIsR0FBRztnQkFFN0MsT0FBT1U7WUFDVDs7OztZQUVPQyxLQUFBQTttQkFBUCxTQUFPQSxjQUFjQyxTQUFTO2dCQUM1QixJQUFJUixXQUFXO2dCQUVmLElBQU1TLGdCQUFnQkQsVUFBVUUsZ0JBQWdCO2dCQUVoRCxJQUFJRCxrQkFBa0IsTUFBTTtvQkFDMUIsSUFBTUUsZUFBZTlCLGtCQUFrQjRCO29CQUV2QyxJQUFJRSxpQkFBaUIsTUFBTTt3QkFDekIsSUFBTTFCLGVBQWVGLGtCQUFrQjBCLGdCQUNqQ3ZCLGdCQUFnQkYsbUJBQW1CeUI7d0JBRXpDVCxXQUFXLElBdEZFcEIsU0FzRldLLGNBQWNDO29CQUN4QztnQkFDRjtnQkFFQSxPQUFPYztZQUNUOzs7WUFFT1ksS0FBQUE7bUJBQVAsU0FBT0EsaUJBQWlCRCxZQUFZO2dCQUNsQyxJQUFNMUIsZUFBZUYsa0JBQWtCNEIsZUFDakN6QixnQkFBZ0JGLG1CQUFtQjJCLGVBQ25DWCxXQUFXLElBaEdBcEIsU0FnR2FLLGNBQWNDO2dCQUU1QyxPQUFPYztZQUNUOzs7WUFFT2EsS0FBQUE7bUJBQVAsU0FBT0EsaUNBQWlDNUIsWUFBWSxFQUFFQyxhQUFhO2dCQUNqRSxJQUFNYyxXQUFXLElBdEdBcEIsU0FzR2FLLGNBQWNDO2dCQUU1QyxPQUFPYztZQUNUOzs7V0F6R21CcEI7O0FBNEdyQixTQUFTc0IsaUJBQWlCWCxVQUFVLEVBQUVTLFFBQVE7SUFDNUMsSUFBTWMsWUFBWWQsVUFBVSxHQUFHO0lBRS9CVCxhQUFhQSxXQUFXd0IsTUFBTSxDQUFDLFNBQUNmO1FBQzlCLElBQU1nQixZQUFZaEIsVUFBVSxHQUFHO1FBRS9CLElBQUljLGNBQWNFLFdBQVc7WUFDM0IsT0FBTztRQUNUO0lBQ0Y7SUFFQSxPQUFPekI7QUFDVCJ9
|
|
@@ -0,0 +1,64 @@
|
|
|
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 verifyEquality;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
var _equality = /*#__PURE__*/ _interop_require_default(require("../equality"));
|
|
12
|
+
var _terms = /*#__PURE__*/ _interop_require_default(require("../verify/terms"));
|
|
13
|
+
function _interop_require_default(obj) {
|
|
14
|
+
return obj && obj.__esModule ? obj : {
|
|
15
|
+
default: obj
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
function verifyEquality(equalityNode, assignments, derived, context, verifyAhead) {
|
|
19
|
+
var equalityVerified;
|
|
20
|
+
var equalityString = context.nodeAsString(equalityNode);
|
|
21
|
+
context.trace("Verifying the '".concat(equalityString, "' equality..."), equalityNode);
|
|
22
|
+
var verifyStatementAsEqualityFunctions = [
|
|
23
|
+
verifyDerivedEquality,
|
|
24
|
+
verifyStandaloneEquality
|
|
25
|
+
];
|
|
26
|
+
equalityVerified = verifyStatementAsEqualityFunctions.some(function(verifyStatementAsEqualityFunction) {
|
|
27
|
+
var statementVerified = verifyStatementAsEqualityFunction(equalityNode, derived, context, verifyAhead);
|
|
28
|
+
if (statementVerified) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
if (equalityVerified) {
|
|
33
|
+
context.debug("...verified the '".concat(equalityString, "' equality."), equalityNode);
|
|
34
|
+
}
|
|
35
|
+
return equalityVerified;
|
|
36
|
+
}
|
|
37
|
+
function verifyDerivedEquality(equalityNode, derived, context, verifyAhead) {
|
|
38
|
+
var verifiedStatementAsDerivedEquality = false;
|
|
39
|
+
if (derived) {
|
|
40
|
+
var equalityString = context.nodeAsString(equalityNode);
|
|
41
|
+
context.trace("Verifying the '".concat(equalityString, "' derived equality..."), equalityNode);
|
|
42
|
+
var equality = _equality.default.fromEqualityNode(equalityNode), equalities = context.getEqualities(), equalityVerified = equality.verify(equalities, context, verifyAhead);
|
|
43
|
+
verifiedStatementAsDerivedEquality = equalityVerified; ///
|
|
44
|
+
if (verifiedStatementAsDerivedEquality) {
|
|
45
|
+
context.debug("...verified the '".concat(equalityString, "' derived equality."), equalityNode);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return verifiedStatementAsDerivedEquality;
|
|
49
|
+
}
|
|
50
|
+
function verifyStandaloneEquality(equalityNode, derived, context, verifyAhead) {
|
|
51
|
+
var statementVerifiedAsStandaloneEquality = false;
|
|
52
|
+
if (!derived) {
|
|
53
|
+
var equalityString = context.nodeAsString(equalityNode);
|
|
54
|
+
context.trace("Verifying the '".concat(equalityString, "' standalone equality..."), equalityNode);
|
|
55
|
+
var equality = _equality.default.fromEqualityNode(equalityNode), leftTermNode = equality.getLeftTermNode(), rightTermNode = equality.getRightTermNode(), termsVerified = (0, _terms.default)(leftTermNode, rightTermNode, context, verifyAhead);
|
|
56
|
+
statementVerifiedAsStandaloneEquality = termsVerified; ///
|
|
57
|
+
if (statementVerifiedAsStandaloneEquality) {
|
|
58
|
+
context.trace("...verified the '".concat(equalityString, "' standalone equality."), equalityNode);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return statementVerifiedAsStandaloneEquality;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvZXF1YWxpdHkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBFcXVhbGl0eSBmcm9tIFwiLi4vZXF1YWxpdHlcIjtcbmltcG9ydCB2ZXJpZnlUZXJtcyBmcm9tIFwiLi4vdmVyaWZ5L3Rlcm1zXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBlcXVhbGl0eVZlcmlmaWVkO1xuXG4gIGNvbnN0IGVxdWFsaXR5U3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoZXF1YWxpdHlOb2RlKTtcblxuICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2VxdWFsaXR5U3RyaW5nfScgZXF1YWxpdHkuLi5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gIGNvbnN0IHZlcmlmeVN0YXRlbWVudEFzRXF1YWxpdHlGdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5RGVyaXZlZEVxdWFsaXR5LFxuICAgIHZlcmlmeVN0YW5kYWxvbmVFcXVhbGl0eVxuICBdO1xuXG4gIGVxdWFsaXR5VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEFzRXF1YWxpdHlGdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eUZ1bmN0aW9uKGVxdWFsaXR5Tm9kZSwgZGVyaXZlZCwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChlcXVhbGl0eVZlcmlmaWVkKSB7XG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke2VxdWFsaXR5U3RyaW5nfScgZXF1YWxpdHkuYCwgZXF1YWxpdHlOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBlcXVhbGl0eVZlcmlmaWVkO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlEZXJpdmVkRXF1YWxpdHkoZXF1YWxpdHlOb2RlLCBkZXJpdmVkLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdmVyaWZpZWRTdGF0ZW1lbnRBc0Rlcml2ZWRFcXVhbGl0eSA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgZXF1YWxpdHlTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIGRlcml2ZWQgZXF1YWxpdHkuLi5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHkgPSBFcXVhbGl0eS5mcm9tRXF1YWxpdHlOb2RlKGVxdWFsaXR5Tm9kZSksXG4gICAgICAgICAgZXF1YWxpdGllcyA9IGNvbnRleHQuZ2V0RXF1YWxpdGllcygpLFxuICAgICAgICAgIGVxdWFsaXR5VmVyaWZpZWQgPSBlcXVhbGl0eS52ZXJpZnkoZXF1YWxpdGllcywgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgdmVyaWZpZWRTdGF0ZW1lbnRBc0Rlcml2ZWRFcXVhbGl0eSA9IGVxdWFsaXR5VmVyaWZpZWQ7ICAvLy9cblxuICAgIGlmICh2ZXJpZmllZFN0YXRlbWVudEFzRGVyaXZlZEVxdWFsaXR5KSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7ZXF1YWxpdHlTdHJpbmd9JyBkZXJpdmVkIGVxdWFsaXR5LmAsIGVxdWFsaXR5Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZlcmlmaWVkU3RhdGVtZW50QXNEZXJpdmVkRXF1YWxpdHk7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVFcXVhbGl0eShlcXVhbGl0eU5vZGUsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzU3RhbmRhbG9uZUVxdWFsaXR5ID0gZmFsc2U7XG5cbiAgaWYgKCFkZXJpdmVkKSB7XG4gICAgY29uc3QgZXF1YWxpdHlTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtlcXVhbGl0eVN0cmluZ30nIHN0YW5kYWxvbmUgZXF1YWxpdHkuLi5gLCBlcXVhbGl0eU5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHkgPSBFcXVhbGl0eS5mcm9tRXF1YWxpdHlOb2RlKGVxdWFsaXR5Tm9kZSksXG4gICAgICAgICAgbGVmdFRlcm1Ob2RlID0gZXF1YWxpdHkuZ2V0TGVmdFRlcm1Ob2RlKCksXG4gICAgICAgICAgcmlnaHRUZXJtTm9kZSA9IGVxdWFsaXR5LmdldFJpZ2h0VGVybU5vZGUoKSxcbiAgICAgICAgICB0ZXJtc1ZlcmlmaWVkID0gdmVyaWZ5VGVybXMobGVmdFRlcm1Ob2RlLCByaWdodFRlcm1Ob2RlLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzU3RhbmRhbG9uZUVxdWFsaXR5ID0gdGVybXNWZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1N0YW5kYWxvbmVFcXVhbGl0eSkge1xuICAgICAgY29udGV4dC50cmFjZShgLi4udmVyaWZpZWQgdGhlICcke2VxdWFsaXR5U3RyaW5nfScgc3RhbmRhbG9uZSBlcXVhbGl0eS5gLCBlcXVhbGl0eU5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzU3RhbmRhbG9uZUVxdWFsaXR5O1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeUVxdWFsaXR5IiwiZXF1YWxpdHlOb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwiZXF1YWxpdHlWZXJpZmllZCIsImVxdWFsaXR5U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5RnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZEVxdWFsaXR5IiwidmVyaWZ5U3RhbmRhbG9uZUVxdWFsaXR5Iiwic29tZSIsInZlcmlmeVN0YXRlbWVudEFzRXF1YWxpdHlGdW5jdGlvbiIsInN0YXRlbWVudFZlcmlmaWVkIiwiZGVidWciLCJ2ZXJpZmllZFN0YXRlbWVudEFzRGVyaXZlZEVxdWFsaXR5IiwiZXF1YWxpdHkiLCJFcXVhbGl0eSIsImZyb21FcXVhbGl0eU5vZGUiLCJlcXVhbGl0aWVzIiwiZ2V0RXF1YWxpdGllcyIsInZlcmlmeSIsInN0YXRlbWVudFZlcmlmaWVkQXNTdGFuZGFsb25lRXF1YWxpdHkiLCJsZWZ0VGVybU5vZGUiLCJnZXRMZWZ0VGVybU5vZGUiLCJyaWdodFRlcm1Ob2RlIiwiZ2V0UmlnaHRUZXJtTm9kZSIsInRlcm1zVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBS0E7OztlQUF3QkE7OzsrREFISDs0REFDRzs7Ozs7O0FBRVQsU0FBU0EsZUFBZUMsWUFBWSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQzdGLElBQUlDO0lBRUosSUFBTUMsaUJBQWlCSCxRQUFRSSxZQUFZLENBQUNQO0lBRTVDRyxRQUFRSyxLQUFLLENBQUMsQUFBQyxrQkFBZ0MsT0FBZkYsZ0JBQWUsa0JBQWdCTjtJQUUvRCxJQUFNUyxxQ0FBcUM7UUFDekNDO1FBQ0FDO0tBQ0Q7SUFFRE4sbUJBQW1CSSxtQ0FBbUNHLElBQUksQ0FBQyxTQUFDQztRQUMxRCxJQUFNQyxvQkFBb0JELGtDQUFrQ2IsY0FBY0UsU0FBU0MsU0FBU0M7UUFFNUYsSUFBSVUsbUJBQW1CO1lBQ3JCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSVQsa0JBQWtCO1FBQ3BCRixRQUFRWSxLQUFLLENBQUMsQUFBQyxvQkFBa0MsT0FBZlQsZ0JBQWUsZ0JBQWNOO0lBQ2pFO0lBRUEsT0FBT0s7QUFDVDtBQUVBLFNBQVNLLHNCQUFzQlYsWUFBWSxFQUFFRSxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsV0FBVztJQUN4RSxJQUFJWSxxQ0FBcUM7SUFFekMsSUFBSWQsU0FBUztRQUNYLElBQU1JLGlCQUFpQkgsUUFBUUksWUFBWSxDQUFDUDtRQUU1Q0csUUFBUUssS0FBSyxDQUFDLEFBQUMsa0JBQWdDLE9BQWZGLGdCQUFlLDBCQUF3Qk47UUFFdkUsSUFBTWlCLFdBQVdDLGlCQUFRLENBQUNDLGdCQUFnQixDQUFDbkIsZUFDckNvQixhQUFhakIsUUFBUWtCLGFBQWEsSUFDbENoQixtQkFBbUJZLFNBQVNLLE1BQU0sQ0FBQ0YsWUFBWWpCLFNBQVNDO1FBRTlEWSxxQ0FBcUNYLGtCQUFtQixHQUFHO1FBRTNELElBQUlXLG9DQUFvQztZQUN0Q2IsUUFBUVksS0FBSyxDQUFDLEFBQUMsb0JBQWtDLE9BQWZULGdCQUFlLHdCQUFzQk47UUFDekU7SUFDRjtJQUVBLE9BQU9nQjtBQUNUO0FBRUEsU0FBU0wseUJBQXlCWCxZQUFZLEVBQUVFLE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQzNFLElBQUltQix3Q0FBd0M7SUFFNUMsSUFBSSxDQUFDckIsU0FBUztRQUNaLElBQU1JLGlCQUFpQkgsUUFBUUksWUFBWSxDQUFDUDtRQUU1Q0csUUFBUUssS0FBSyxDQUFDLEFBQUMsa0JBQWdDLE9BQWZGLGdCQUFlLDZCQUEyQk47UUFFMUUsSUFBTWlCLFdBQVdDLGlCQUFRLENBQUNDLGdCQUFnQixDQUFDbkIsZUFDckN3QixlQUFlUCxTQUFTUSxlQUFlLElBQ3ZDQyxnQkFBZ0JULFNBQVNVLGdCQUFnQixJQUN6Q0MsZ0JBQWdCQyxJQUFBQSxjQUFXLEVBQUNMLGNBQWNFLGVBQWV2QixTQUFTQztRQUV4RW1CLHdDQUF3Q0ssZUFBZSxHQUFHO1FBRTFELElBQUlMLHVDQUF1QztZQUN6Q3BCLFFBQVFLLEtBQUssQ0FBQyxBQUFDLG9CQUFrQyxPQUFmRixnQkFBZSwyQkFBeUJOO1FBQzVFO0lBQ0Y7SUFFQSxPQUFPdUI7QUFDVCJ9
|
package/lib/verify/statement.js
CHANGED
|
@@ -16,8 +16,7 @@ _export(exports, {
|
|
|
16
16
|
return verifyStatementAgainstCombinators;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
var _equality = /*#__PURE__*/ _interop_require_default(require("../equality"));
|
|
20
|
-
var _terms = /*#__PURE__*/ _interop_require_default(require("../verify/terms"));
|
|
19
|
+
var _equality = /*#__PURE__*/ _interop_require_default(require("../verify/equality"));
|
|
21
20
|
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../ocmbinator/bracketed"));
|
|
22
21
|
var _typeAssertion = /*#__PURE__*/ _interop_require_default(require("../verify/typeAssertion"));
|
|
23
22
|
var _statement = /*#__PURE__*/ _interop_require_default(require("../verifier/nodes/statement"));
|
|
@@ -52,7 +51,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
52
51
|
if (n === "Map" || n === "Set") return Array.from(n);
|
|
53
52
|
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
54
53
|
}
|
|
55
|
-
var typeAssertionNodeQuery = (0, _query.nodeQuery)("/statement/typeAssertion!");
|
|
54
|
+
var equalityNodeQuery = (0, _query.nodeQuery)("/statement/equality!"), typeAssertionNodeQuery = (0, _query.nodeQuery)("/statement/typeAssertion!");
|
|
56
55
|
function verifyStatement(statementNode, assignments, derived, context, verifyAhead) {
|
|
57
56
|
var statementVerified;
|
|
58
57
|
var statementString = context.nodeAsString(statementNode);
|
|
@@ -118,51 +117,17 @@ function verifyStatementAsTypeAssertion(statementNode, assignments, derived, con
|
|
|
118
117
|
}
|
|
119
118
|
function verifyStatementAsEquality(statementNode, assignments, derived, context, verifyAhead) {
|
|
120
119
|
var statementVerifiedAsEquality = false;
|
|
121
|
-
var
|
|
122
|
-
if (
|
|
120
|
+
var equalityNode = equalityNodeQuery(statementNode);
|
|
121
|
+
if (equalityNode !== null) {
|
|
123
122
|
var statementString = context.nodeAsString(statementNode);
|
|
124
123
|
context.trace("Verifying the '".concat(statementString, "' statement as an equality..."), statementNode);
|
|
125
|
-
var
|
|
126
|
-
|
|
127
|
-
verifyStatementAsStandaloneEquality
|
|
128
|
-
];
|
|
129
|
-
statementVerifiedAsEquality = verifyStatementAsEqualityFunctions.some(function(verifyStatementAsEqualityFunction) {
|
|
130
|
-
var statementVerified = verifyStatementAsEqualityFunction(statementNode, equality, derived, context, verifyAhead);
|
|
131
|
-
if (statementVerified) {
|
|
132
|
-
return true;
|
|
133
|
-
}
|
|
134
|
-
});
|
|
124
|
+
var equalityVerified = (0, _equality.default)(equalityNode, assignments, derived, context, verifyAhead);
|
|
125
|
+
statementVerifiedAsEquality = equalityVerified; ///
|
|
135
126
|
if (statementVerifiedAsEquality) {
|
|
136
127
|
context.debug("...verified the '".concat(statementString, "' statement as an equality."), statementNode);
|
|
137
128
|
}
|
|
138
129
|
}
|
|
139
130
|
return statementVerifiedAsEquality;
|
|
140
131
|
}
|
|
141
|
-
function verifyStatementAsDerivedEquality(statementNode, equality, derived, context, verifyAhead) {
|
|
142
|
-
var verifiedStatementAsDerivedEquality = false;
|
|
143
|
-
if (derived) {
|
|
144
|
-
var statementString = context.nodeAsString(statementNode);
|
|
145
|
-
context.trace("Verifying the '".concat(statementString, "' derived equality..."), statementNode);
|
|
146
|
-
var equalities = context.getEqualities(), equalityVerified = equality.verify(equalities, context, verifyAhead);
|
|
147
|
-
verifiedStatementAsDerivedEquality = equalityVerified; ///
|
|
148
|
-
if (verifiedStatementAsDerivedEquality) {
|
|
149
|
-
context.debug("...verified the '".concat(statementString, "' derived equality."), statementNode);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return verifiedStatementAsDerivedEquality;
|
|
153
|
-
}
|
|
154
|
-
function verifyStatementAsStandaloneEquality(statementNode, equality, derived, context, verifyAhead) {
|
|
155
|
-
var statementVerifiedAsStandaloneEquality = false;
|
|
156
|
-
if (!derived) {
|
|
157
|
-
var statementString = context.nodeAsString(statementNode);
|
|
158
|
-
context.trace("Verifying the '".concat(statementString, "' statement as a standalone equality..."), statementNode);
|
|
159
|
-
var leftTermNode = equality.getLeftTermNode(), rightTermNode = equality.getRightTermNode(), termsVerified = (0, _terms.default)(leftTermNode, rightTermNode, context, verifyAhead);
|
|
160
|
-
statementVerifiedAsStandaloneEquality = termsVerified; ///
|
|
161
|
-
if (statementVerifiedAsStandaloneEquality) {
|
|
162
|
-
context.trace("...verified the '".concat(statementString, "' statement as a standalone equality."), statementNode);
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
return statementVerifiedAsStandaloneEquality;
|
|
166
|
-
}
|
|
167
132
|
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgRXF1YWxpdHkgZnJvbSBcIi4uL2VxdWFsaXR5XCI7XG5pbXBvcnQgdmVyaWZ5VGVybXMgZnJvbSBcIi4uL3ZlcmlmeS90ZXJtc1wiO1xuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgdmVyaWZ5VHlwZUFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3R5cGVBc3NlcnRpb25cIjtcbmltcG9ydCBzdGF0ZW1lbnROb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2Rlcy9zdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0YXRlbWVudC90eXBlQXNzZXJ0aW9uIVwiKTtcblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50KHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSxcbiAgICB2ZXJpZnlTdGF0ZW1lbnRBc1R5cGVBc3NlcnRpb24sXG4gICAgdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3JzXG4gIF07XG5cbiAgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbnMuc29tZSgodmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24pID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudC5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih2ZXJpZnlTdGF0ZW1lbnQsIHtcbiAgc3RhdGVtZW50Tm9kZXNWZXJpZmllclxufSk7XG5cbmV4cG9ydCBkZWZhdWx0IHZlcmlmeVN0YXRlbWVudDtcblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9ycyhzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3JzO1xuXG4gIGxldCBjb21iaW5hdG9ycyA9IGNvbnRleHQuZ2V0Q29tYmluYXRvcnMoKTtcblxuICBjb21iaW5hdG9ycyA9IFsgLy8vXG4gICAgYnJhY2tldGVkQ29tYmluYXRvcixcbiAgICAuLi5jb21iaW5hdG9yc1xuICBdO1xuXG4gIHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3JzID0gY29tYmluYXRvcnMuc29tZSgoY29tYmluYXRvcikgPT4ge1xuICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IgPSB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBjb21iaW5hdG9yLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcnM7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yKHN0YXRlbWVudE5vZGUsIGNvbWJpbmF0b3IsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpLFxuICAgICAgICBjb21iaW5hdG9yU3RyaW5nID0gY29tYmluYXRvci5nZXRTdHJpbmcoKTtcblxuICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnN0IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlID0gY29tYmluYXRvci5nZXRTdGF0ZW1lbnROb2RlKCksXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUEgPSBzdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlQiA9IGNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlLCAvLy9cbiAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBzdGF0ZW1lbnROb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvciA9IG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkOyAgLy8vXG5cbiAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IpIHtcbiAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFnYWluc3QgdGhlICcke2NvbWJpbmF0b3JTdHJpbmd9JyBjb21iaW5hdG9yLmAsIHN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3I7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvbk5vZGUgPSB0eXBlQXNzZXJ0aW9uTm9kZVF1ZXJ5KHN0YXRlbWVudE5vZGUpO1xuXG4gIGlmICh0eXBlQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSB0eXBlIGFzc2VydGlvbi4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gdmVyaWZ5VHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkQXNUeXBlQXNzZXJ0aW9uID0gdHlwZUFzc2VydGlvblZlcmlmaWVkOyAvLy9cblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbikge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHR5cGUgYXNzZXJ0aW9uLmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eShzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSA9IGZhbHNlO1xuXG4gIGNvbnN0IGVxdWFsaXR5ID0gRXF1YWxpdHkuZnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKGVxdWFsaXR5ICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhbiBlcXVhbGl0eS4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eUZ1bmN0aW9ucyA9IFtcbiAgICAgIHZlcmlmeVN0YXRlbWVudEFzRGVyaXZlZEVxdWFsaXR5LFxuICAgICAgdmVyaWZ5U3RhdGVtZW50QXNTdGFuZGFsb25lRXF1YWxpdHlcbiAgICBdO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5ID0gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eUZ1bmN0aW9ucy5zb21lKCh2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5RnVuY3Rpb24pID0+IHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eUZ1bmN0aW9uKHN0YXRlbWVudE5vZGUsIGVxdWFsaXR5LCBkZXJpdmVkLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHkpIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYW4gZXF1YWxpdHkuYCwgc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNEZXJpdmVkRXF1YWxpdHkoc3RhdGVtZW50Tm9kZSwgZXF1YWxpdHksIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB2ZXJpZmllZFN0YXRlbWVudEFzRGVyaXZlZEVxdWFsaXR5ID0gZmFsc2U7XG5cbiAgaWYgKGRlcml2ZWQpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgZGVyaXZlZCBlcXVhbGl0eS4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdGllcyA9IGNvbnRleHQuZ2V0RXF1YWxpdGllcygpLFxuICAgICAgICAgIGVxdWFsaXR5VmVyaWZpZWQgPSBlcXVhbGl0eS52ZXJpZnkoZXF1YWxpdGllcywgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgdmVyaWZpZWRTdGF0ZW1lbnRBc0Rlcml2ZWRFcXVhbGl0eSA9IGVxdWFsaXR5VmVyaWZpZWQ7ICAvLy9cblxuICAgIGlmICh2ZXJpZmllZFN0YXRlbWVudEFzRGVyaXZlZEVxdWFsaXR5KSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgZGVyaXZlZCBlcXVhbGl0eS5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmVyaWZpZWRTdGF0ZW1lbnRBc0Rlcml2ZWRFcXVhbGl0eTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5U3RhdGVtZW50QXNTdGFuZGFsb25lRXF1YWxpdHkoc3RhdGVtZW50Tm9kZSwgZXF1YWxpdHksIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzU3RhbmRhbG9uZUVxdWFsaXR5ID0gZmFsc2U7XG5cbiAgaWYgKCFkZXJpdmVkKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhIHN0YW5kYWxvbmUgZXF1YWxpdHkuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGxlZnRUZXJtTm9kZSA9IGVxdWFsaXR5LmdldExlZnRUZXJtTm9kZSgpLFxuICAgICAgICAgIHJpZ2h0VGVybU5vZGUgPSBlcXVhbGl0eS5nZXRSaWdodFRlcm1Ob2RlKCksXG4gICAgICAgICAgdGVybXNWZXJpZmllZCA9IHZlcmlmeVRlcm1zKGxlZnRUZXJtTm9kZSwgcmlnaHRUZXJtTm9kZSwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgc3RhdGVtZW50VmVyaWZpZWRBc1N0YW5kYWxvbmVFcXVhbGl0eSA9IHRlcm1zVmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNTdGFuZGFsb25lRXF1YWxpdHkpIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSBzdGFuZGFsb25lIGVxdWFsaXR5LmAsIHN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFzU3RhbmRhbG9uZUVxdWFsaXR5O1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9ycyIsInR5cGVBc3NlcnRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ2ZXJpZnlTdGF0ZW1lbnQiLCJzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwiY29udGV4dCIsInZlcmlmeUFoZWFkIiwic3RhdGVtZW50VmVyaWZpZWQiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVN0YXRlbWVudEFzRXF1YWxpdHkiLCJ2ZXJpZnlTdGF0ZW1lbnRBc1R5cGVBc3NlcnRpb24iLCJzb21lIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24iLCJkZWJ1ZyIsIk9iamVjdCIsImFzc2lnbiIsInN0YXRlbWVudE5vZGVzVmVyaWZpZXIiLCJzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycyIsImNvbWJpbmF0b3JzIiwiZ2V0Q29tYmluYXRvcnMiLCJicmFja2V0ZWRDb21iaW5hdG9yIiwiY29tYmluYXRvciIsInN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IiLCJ2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvciIsImNvbWJpbmF0b3JTdHJpbmciLCJnZXRTdHJpbmciLCJjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSIsImdldFN0YXRlbWVudE5vZGUiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwic3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb24iLCJ0eXBlQXNzZXJ0aW9uTm9kZSIsInR5cGVBc3NlcnRpb25WZXJpZmllZCIsInZlcmlmeVR5cGVBc3NlcnRpb24iLCJzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHkiLCJlcXVhbGl0eSIsIkVxdWFsaXR5IiwiZnJvbVN0YXRlbWVudE5vZGUiLCJ2ZXJpZnlTdGF0ZW1lbnRBc0VxdWFsaXR5RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50QXNEZXJpdmVkRXF1YWxpdHkiLCJ2ZXJpZnlTdGF0ZW1lbnRBc1N0YW5kYWxvbmVFcXVhbGl0eSIsInZlcmlmeVN0YXRlbWVudEFzRXF1YWxpdHlGdW5jdGlvbiIsInZlcmlmaWVkU3RhdGVtZW50QXNEZXJpdmVkRXF1YWxpdHkiLCJlcXVhbGl0aWVzIiwiZ2V0RXF1YWxpdGllcyIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnkiLCJzdGF0ZW1lbnRWZXJpZmllZEFzU3RhbmRhbG9uZUVxdWFsaXR5IiwibGVmdFRlcm1Ob2RlIiwiZ2V0TGVmdFRlcm1Ob2RlIiwicmlnaHRUZXJtTm9kZSIsImdldFJpZ2h0VGVybU5vZGUiLCJ0ZXJtc1ZlcmlmaWVkIiwidmVyaWZ5VGVybXMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQTRDQSxPQUErQjtlQUEvQjs7SUFFZ0JBLGlDQUFpQztlQUFqQ0E7OzsrREE1Q0s7NERBQ0c7Z0VBQ1E7b0VBQ0E7Z0VBQ0c7cUJBRVQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFMUIsSUFBTUMseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRXpDLFNBQVNDLGdCQUFnQkMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLE9B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
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvc3RhdGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5RXF1YWxpdHkgZnJvbSBcIi4uL3ZlcmlmeS9lcXVhbGl0eVwiO1xuaW1wb3J0IGJyYWNrZXRlZENvbWJpbmF0b3IgZnJvbSBcIi4uL29jbWJpbmF0b3IvYnJhY2tldGVkXCI7XG5pbXBvcnQgdmVyaWZ5VHlwZUFzc2VydGlvbiBmcm9tIFwiLi4vdmVyaWZ5L3R5cGVBc3NlcnRpb25cIjtcbmltcG9ydCBzdGF0ZW1lbnROb2Rlc1ZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2Rlcy9zdGF0ZW1lbnRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuXG5jb25zdCBlcXVhbGl0eU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvZXF1YWxpdHkhXCIpLFxuICAgICAgdHlwZUFzc2VydGlvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGF0ZW1lbnQvdHlwZUFzc2VydGlvbiFcIik7XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudChzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgY29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IHN0YXRlbWVudFN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHN0YXRlbWVudE5vZGUpO1xuXG4gIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50Li4uYCwgc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zID0gW1xuICAgIHZlcmlmeVN0YXRlbWVudEFzRXF1YWxpdHksXG4gICAgdmVyaWZ5U3RhdGVtZW50QXNUeXBlQXNzZXJ0aW9uLFxuICAgIHZlcmlmeVN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yc1xuICBdO1xuXG4gIHN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3Qgc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbihzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQuYCwgc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWQ7XG59XG5cbk9iamVjdC5hc3NpZ24odmVyaWZ5U3RhdGVtZW50LCB7XG4gIHN0YXRlbWVudE5vZGVzVmVyaWZpZXJcbn0pO1xuXG5leHBvcnQgZGVmYXVsdCB2ZXJpZnlTdGF0ZW1lbnQ7XG5cbmV4cG9ydCBmdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcnMoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycztcblxuICBsZXQgY29tYmluYXRvcnMgPSBjb250ZXh0LmdldENvbWJpbmF0b3JzKCk7XG5cbiAgY29tYmluYXRvcnMgPSBbIC8vL1xuICAgIGJyYWNrZXRlZENvbWJpbmF0b3IsXG4gICAgLi4uY29tYmluYXRvcnNcbiAgXTtcblxuICBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9ycyA9IGNvbWJpbmF0b3JzLnNvbWUoKGNvbWJpbmF0b3IpID0+IHtcbiAgICBjb25zdCBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yID0gdmVyaWZ5U3RhdGVtZW50QWdhaW5zdENvbWJpbmF0b3Ioc3RhdGVtZW50Tm9kZSwgY29tYmluYXRvciwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3JzO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBZ2FpbnN0Q29tYmluYXRvcihzdGF0ZW1lbnROb2RlLCBjb21iaW5hdG9yLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvcjtcblxuICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgY29tYmluYXRvclN0cmluZyA9IGNvbWJpbmF0b3IuZ2V0U3RyaW5nKCk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7Y29tYmluYXRvclN0cmluZ30nIGNvbWJpbmF0b3IuLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICBjb25zdCBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSA9IGNvbWJpbmF0b3IuZ2V0U3RhdGVtZW50Tm9kZSgpLFxuICAgICAgICBub25UZXJtaW5hbE5vZGVBID0gc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBjb21iaW5hdG9yU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gc3RhdGVtZW50Tm9kZXNWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlQSwgbm9uVGVybWluYWxOb2RlQiwgY29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gIHN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3IgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgIC8vL1xuXG4gIGlmIChzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yKSB7XG4gICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHtjb21iaW5hdG9yU3RyaW5nfScgY29tYmluYXRvci5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RDb21iaW5hdG9yO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZW1lbnRBc1R5cGVBc3NlcnRpb24oc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IHR5cGVBc3NlcnRpb25Ob2RlID0gdHlwZUFzc2VydGlvbk5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAodHlwZUFzc2VydGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7c3RhdGVtZW50U3RyaW5nfScgc3RhdGVtZW50IGFzIGEgdHlwZSBhc3NlcnRpb24uLi5gLCBzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCk7XG5cbiAgICBzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiA9IHR5cGVBc3NlcnRpb25WZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb24pIHtcbiAgICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtzdGF0ZW1lbnRTdHJpbmd9JyBzdGF0ZW1lbnQgYXMgYSB0eXBlIGFzc2VydGlvbi5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc1R5cGVBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeVN0YXRlbWVudEFzRXF1YWxpdHkoc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGF0ZW1lbnRWZXJpZmllZEFzRXF1YWxpdHkgPSBmYWxzZTtcblxuICBjb25zdCBlcXVhbGl0eU5vZGUgPSBlcXVhbGl0eU5vZGVRdWVyeShzdGF0ZW1lbnROb2RlKTtcblxuICBpZiAoZXF1YWxpdHlOb2RlICE9PSBudWxsKSB7XG4gICAgY29uc3Qgc3RhdGVtZW50U3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcoc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhbiBlcXVhbGl0eS4uLmAsIHN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgZXF1YWxpdHlWZXJpZmllZCA9IHZlcmlmeUVxdWFsaXR5KGVxdWFsaXR5Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIHN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSA9IGVxdWFsaXR5VmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKHN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSkge1xuICAgICAgY29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3N0YXRlbWVudFN0cmluZ30nIHN0YXRlbWVudCBhcyBhbiBlcXVhbGl0eS5gLCBzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50VmVyaWZpZWRBc0VxdWFsaXR5O1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9ycyIsImVxdWFsaXR5Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZUFzc2VydGlvbk5vZGVRdWVyeSIsInZlcmlmeVN0YXRlbWVudCIsInN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJzdGF0ZW1lbnRWZXJpZmllZCIsInN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidmVyaWZ5U3RhdGVtZW50RnVuY3Rpb25zIiwidmVyaWZ5U3RhdGVtZW50QXNFcXVhbGl0eSIsInZlcmlmeVN0YXRlbWVudEFzVHlwZUFzc2VydGlvbiIsInNvbWUiLCJ2ZXJpZnlTdGF0ZW1lbnRGdW5jdGlvbiIsImRlYnVnIiwiT2JqZWN0IiwiYXNzaWduIiwic3RhdGVtZW50Tm9kZXNWZXJpZmllciIsInN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdENvbWJpbmF0b3JzIiwiY29tYmluYXRvcnMiLCJnZXRDb21iaW5hdG9ycyIsImJyYWNrZXRlZENvbWJpbmF0b3IiLCJjb21iaW5hdG9yIiwic3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0Q29tYmluYXRvciIsInZlcmlmeVN0YXRlbWVudEFnYWluc3RDb21iaW5hdG9yIiwiY29tYmluYXRvclN0cmluZyIsImdldFN0cmluZyIsImNvbWJpbmF0b3JTdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsIm5vblRlcm1pbmFsTm9kZUEiLCJub25UZXJtaW5hbE5vZGVCIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJzdGF0ZW1lbnRWZXJpZmllZEFzVHlwZUFzc2VydGlvbiIsInR5cGVBc3NlcnRpb25Ob2RlIiwidHlwZUFzc2VydGlvblZlcmlmaWVkIiwidmVyaWZ5VHlwZUFzc2VydGlvbiIsInN0YXRlbWVudFZlcmlmaWVkQXNFcXVhbGl0eSIsImVxdWFsaXR5Tm9kZSIsImVxdWFsaXR5VmVyaWZpZWQiLCJ2ZXJpZnlFcXVhbGl0eSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBNENBLE9BQStCO2VBQS9COztJQUVnQkEsaUNBQWlDO2VBQWpDQTs7OytEQTVDVztnRUFDSztvRUFDQTtnRUFDRztxQkFFVDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUxQixJQUFNQyxvQkFBb0JDLElBQUFBLGdCQUFTLEVBQUMseUJBQzlCQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFekMsU0FBU0UsZ0JBQWdCQyxhQUFhLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDaEYsSUFBSUM7SUFFSixJQUFNQyxrQkFBa0JILFFBQVFJLFlBQVksQ0FBQ1A7SUFFN0NHLFFBQVFLLEtBQUssQ0FBQyxBQUFDLGtCQUFpQyxPQUFoQkYsaUJBQWdCLG1CQUFpQk47SUFFakUsSUFBTVMsMkJBQTJCO1FBQy9CQztRQUNBQztRQUNBaEI7S0FDRDtJQUVEVSxvQkFBb0JJLHlCQUF5QkcsSUFBSSxDQUFDLFNBQUNDO1FBQ2pELElBQU1SLG9CQUFvQlEsd0JBQXdCYixlQUFlQyxhQUFhQyxTQUFTQyxTQUFTQztRQUVoRyxJQUFJQyxtQkFBbUI7WUFDckIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSxtQkFBbUI7UUFDckJGLFFBQVFXLEtBQUssQ0FBQyxBQUFDLG9CQUFtQyxPQUFoQlIsaUJBQWdCLGlCQUFlTjtJQUNuRTtJQUVB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
|
package/lib/verify/type.js
CHANGED
|
@@ -18,7 +18,7 @@ function _interop_require_default(obj) {
|
|
|
18
18
|
function verifyType(typeNode, superTypeNode, fileContext) {
|
|
19
19
|
var typeVerified = false;
|
|
20
20
|
var typeString = fileContext.nodeAsString(typeNode);
|
|
21
|
-
fileContext.trace("Verifying the '".concat(typeString, "' type."));
|
|
21
|
+
fileContext.trace("Verifying the '".concat(typeString, "' type."), typeNode);
|
|
22
22
|
var typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
23
23
|
if (typePresent) {
|
|
24
24
|
fileContext.debug("The type '".concat(typeName, "' is already present."), typeNode);
|
|
@@ -46,4 +46,4 @@ function verifyType(typeNode, superTypeNode, fileContext) {
|
|
|
46
46
|
return typeVerified;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uL3R5cGVcIjtcblxuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVR5cGUodHlwZU5vZGUsIHN1cGVyVHlwZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0eXBlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCB0eXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHR5cGVOb2RlKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZS5gLCB0eXBlTm9kZSk7XG5cbiAgY29uc3QgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgIHR5cGVQcmVzZW50ID0gZmlsZUNvbnRleHQuaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUodHlwZU5hbWUpO1xuXG4gIGlmICh0eXBlUHJlc2VudCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgdHlwZSAnJHt0eXBlTmFtZX0nIGlzIGFscmVhZHkgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBjb25zdCBzdXBlclR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUoc3VwZXJUeXBlTm9kZSk7XG5cbiAgICBpZiAoc3VwZXJUeXBlTmFtZSA9PT0gbnVsbCkge1xuICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVOYW1lKHR5cGVOYW1lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc3VwZXJUeXBlID0gZmlsZUNvbnRleHQuZmluZFR5cGVCeVR5cGVOYW1lKHN1cGVyVHlwZU5hbWUpO1xuXG4gICAgICBpZiAoc3VwZXJUeXBlID09PSBudWxsKSB7XG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgc3VwZXItdHlwZSAnJHtzdXBlclR5cGVOYW1lfScgaXMgbm90IHByZXNlbnQuYCwgdHlwZU5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IFR5cGUuZnJvbVR5cGVOYW1lQW5kU3VwZXJUeXBlKHR5cGVOYW1lLCBzdXBlclR5cGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0eXBlICE9PSBudWxsKSB7XG4gICAgICBmaWxlQ29udGV4dC5hZGRUeXBlKHR5cGUpO1xuXG4gICAgICB0eXBlVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlVmVyaWZpZWQpIHtcbiAgICBmaWxlQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3R5cGVTdHJpbmd9JyB0eXBlLmAsIHR5cGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiB0eXBlVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VHlwZSIsInR5cGVOb2RlIiwic3VwZXJUeXBlTm9kZSIsImZpbGVDb250ZXh0IiwidHlwZVZlcmlmaWVkIiwidHlwZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJkZWJ1ZyIsInR5cGUiLCJzdXBlclR5cGVOYW1lIiwiVHlwZSIsImZyb21UeXBlTmFtZSIsInN1cGVyVHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSIsImFkZFR5cGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQU1BOzs7ZUFBd0JBOzs7MkRBSlA7cUJBRW9COzs7Ozs7QUFFdEIsU0FBU0EsV0FBV0MsUUFBUSxFQUFFQyxhQUFhLEVBQUVDLFdBQVc7SUFDckUsSUFBSUMsZUFBZTtJQUVuQixJQUFNQyxhQUFhRixZQUFZRyxZQUFZLENBQUNMO0lBRTVDRSxZQUFZSSxLQUFLLENBQUMsQUFBQyxrQkFBNEIsT0FBWEYsWUFBVyxZQUFVSjtJQUV6RCxJQUFNTyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ1IsV0FDaENTLGNBQWNQLFlBQVlRLHVCQUF1QixDQUFDSDtJQUV4RCxJQUFJRSxhQUFhO1FBQ2ZQLFlBQVlTLEtBQUssQ0FBQyxBQUFDLGFBQXFCLE9BQVRKLFVBQVMsMEJBQXdCUDtJQUNsRSxPQUFPO1FBQ0wsSUFBSVk7UUFFSixJQUFNQyxnQkFBZ0JMLElBQUFBLDJCQUFvQixFQUFDUDtRQUUzQyxJQUFJWSxrQkFBa0IsTUFBTTtZQUMxQkQsT0FBT0UsYUFBSSxDQUFDQyxZQUFZLENBQUNSO1FBQzNCLE9BQU87WUFDTCxJQUFNUyxZQUFZZCxZQUFZZSxrQkFBa0IsQ0FBQ0o7WUFFakQsSUFBSUcsY0FBYyxNQUFNO2dCQUN0QmQsWUFBWVMsS0FBSyxDQUFDLEFBQUMsbUJBQWdDLE9BQWRFLGVBQWMsc0JBQW9CYjtZQUN6RSxPQUFPO2dCQUNMWSxPQUFPRSxhQUFJLENBQUNJLHdCQUF3QixDQUFDWCxVQUFVUztZQUNqRDtRQUNGO1FBRUEsSUFBSUosU0FBUyxNQUFNO1lBQ2pCVixZQUFZaUIsT0FBTyxDQUFDUDtZQUVwQlQsZUFBZTtRQUNqQjtJQUNGO0lBRUEsSUFBSUEsY0FBYztRQUNoQkQsWUFBWVMsS0FBSyxDQUFDLEFBQUMsb0JBQThCLE9BQVhQLFlBQVcsWUFBVUo7SUFDN0Q7SUFFQSxPQUFPRztBQUNUIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-verify-cli",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.682",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-verify-cli",
|
|
7
7
|
"description": "Occam's Verifier",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"argumentative": "^2.0.21",
|
|
14
|
-
"necessary": "^12.
|
|
15
|
-
"occam-custom-grammars": "^5.0.
|
|
16
|
-
"occam-dom": "^3.1.
|
|
17
|
-
"occam-entities": "^1.0.
|
|
18
|
-
"occam-file-system": "^6.0.
|
|
19
|
-
"occam-grammar-utilities": "^8.0.
|
|
14
|
+
"necessary": "^12.1.3",
|
|
15
|
+
"occam-custom-grammars": "^5.0.540",
|
|
16
|
+
"occam-dom": "^3.1.83",
|
|
17
|
+
"occam-entities": "^1.0.18",
|
|
18
|
+
"occam-file-system": "^6.0.63",
|
|
19
|
+
"occam-grammar-utilities": "^8.0.52"
|
|
20
20
|
},
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@swc/core": "^1.2.51",
|
package/src/constants.js
CHANGED
package/src/equality.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import equalityStatementNode from "./node/statement/equality";
|
|
4
3
|
import equalityNodesVerifier from "./verifier/nodes/equality";
|
|
5
4
|
|
|
6
5
|
import { nodeQuery } from "./utilities/query";
|
|
7
|
-
import { EQUALITY_DEPTH } from "./constants";
|
|
8
6
|
|
|
9
|
-
const
|
|
10
|
-
|
|
7
|
+
const equalityNodeQuery = nodeQuery("/statement/equality!"),
|
|
8
|
+
leftTermNodeQuery = nodeQuery("/equality/argument[0]/term!"),
|
|
9
|
+
rightTermNodeQuery = nodeQuery("/equality/argument[1]/term!");
|
|
11
10
|
|
|
12
11
|
export default class Equality {
|
|
13
12
|
constructor(leftTermNode, rightTermNode) {
|
|
@@ -24,29 +23,29 @@ export default class Equality {
|
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
matchTermNodes(leftTermNode, rightTermNode, reversed, equalities, context) {
|
|
27
|
-
let
|
|
26
|
+
let termNodesMatch = true;
|
|
28
27
|
|
|
29
|
-
if (
|
|
28
|
+
if (termNodesMatch) {
|
|
30
29
|
const leftNonTerminalNode = reversed ?
|
|
31
30
|
this.rightTermNode :
|
|
32
31
|
this.leftTermNode, ///
|
|
33
32
|
rightNonTerminalNode = leftTermNode, ///
|
|
34
33
|
nonTerminalNodeVerified = equalityNodesVerifier.verifyNonTerminalNode(leftNonTerminalNode, rightNonTerminalNode, equalities, context);
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
termNodesMatch = nonTerminalNodeVerified; ///
|
|
37
36
|
}
|
|
38
37
|
|
|
39
|
-
if (
|
|
38
|
+
if (termNodesMatch) {
|
|
40
39
|
const leftNonTerminalNode = reversed ?
|
|
41
40
|
this.leftTermNode :
|
|
42
41
|
this.rightTermNode, ///
|
|
43
42
|
rightNonTerminalNode = rightTermNode, ///
|
|
44
43
|
nonTerminalNodeVerified = equalityNodesVerifier.verifyNonTerminalNode(leftNonTerminalNode, rightNonTerminalNode, equalities, context);
|
|
45
44
|
|
|
46
|
-
|
|
45
|
+
termNodesMatch = nonTerminalNodeVerified; ///
|
|
47
46
|
}
|
|
48
47
|
|
|
49
|
-
return
|
|
48
|
+
return termNodesMatch;
|
|
50
49
|
}
|
|
51
50
|
|
|
52
51
|
match(equality, equalities, context) {
|
|
@@ -89,24 +88,23 @@ export default class Equality {
|
|
|
89
88
|
const statementNode = proofStep.getStatementNode();
|
|
90
89
|
|
|
91
90
|
if (statementNode !== null) {
|
|
92
|
-
|
|
91
|
+
const equalityNode = equalityNodeQuery(statementNode);
|
|
92
|
+
|
|
93
|
+
if (equalityNode !== null) {
|
|
94
|
+
const leftTermNode = leftTermNodeQuery(statementNode),
|
|
95
|
+
rightTermNode = rightTermNodeQuery(statementNode);
|
|
96
|
+
|
|
97
|
+
equality = new Equality(leftTermNode, rightTermNode);
|
|
98
|
+
}
|
|
93
99
|
}
|
|
94
100
|
|
|
95
101
|
return equality;
|
|
96
102
|
}
|
|
97
103
|
|
|
98
|
-
static
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
statementNodeMatchesEqualityStatementNode = statementNode.match(equalityStatementNode, depth);
|
|
103
|
-
|
|
104
|
-
if (statementNodeMatchesEqualityStatementNode) {
|
|
105
|
-
const leftTermNode = leftTermNodeQuery(statementNode),
|
|
106
|
-
rightTermNode = rightTermNodeQuery(statementNode);
|
|
107
|
-
|
|
108
|
-
equality = new Equality(leftTermNode, rightTermNode);
|
|
109
|
-
}
|
|
104
|
+
static fromEqualityNode(equalityNode) {
|
|
105
|
+
const leftTermNode = leftTermNodeQuery(equalityNode),
|
|
106
|
+
rightTermNode = rightTermNodeQuery(equalityNode),
|
|
107
|
+
equality = new Equality(leftTermNode, rightTermNode);
|
|
110
108
|
|
|
111
109
|
return equality;
|
|
112
110
|
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import Equality from "../equality";
|
|
4
|
+
import verifyTerms from "../verify/terms";
|
|
5
|
+
|
|
6
|
+
export default function verifyEquality(equalityNode, assignments, derived, context, verifyAhead) {
|
|
7
|
+
let equalityVerified;
|
|
8
|
+
|
|
9
|
+
const equalityString = context.nodeAsString(equalityNode);
|
|
10
|
+
|
|
11
|
+
context.trace(`Verifying the '${equalityString}' equality...`, equalityNode);
|
|
12
|
+
|
|
13
|
+
const verifyStatementAsEqualityFunctions = [
|
|
14
|
+
verifyDerivedEquality,
|
|
15
|
+
verifyStandaloneEquality
|
|
16
|
+
];
|
|
17
|
+
|
|
18
|
+
equalityVerified = verifyStatementAsEqualityFunctions.some((verifyStatementAsEqualityFunction) => {
|
|
19
|
+
const statementVerified = verifyStatementAsEqualityFunction(equalityNode, derived, context, verifyAhead);
|
|
20
|
+
|
|
21
|
+
if (statementVerified) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
|
|
26
|
+
if (equalityVerified) {
|
|
27
|
+
context.debug(`...verified the '${equalityString}' equality.`, equalityNode);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return equalityVerified;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function verifyDerivedEquality(equalityNode, derived, context, verifyAhead) {
|
|
34
|
+
let verifiedStatementAsDerivedEquality = false;
|
|
35
|
+
|
|
36
|
+
if (derived) {
|
|
37
|
+
const equalityString = context.nodeAsString(equalityNode);
|
|
38
|
+
|
|
39
|
+
context.trace(`Verifying the '${equalityString}' derived equality...`, equalityNode);
|
|
40
|
+
|
|
41
|
+
const equality = Equality.fromEqualityNode(equalityNode),
|
|
42
|
+
equalities = context.getEqualities(),
|
|
43
|
+
equalityVerified = equality.verify(equalities, context, verifyAhead);
|
|
44
|
+
|
|
45
|
+
verifiedStatementAsDerivedEquality = equalityVerified; ///
|
|
46
|
+
|
|
47
|
+
if (verifiedStatementAsDerivedEquality) {
|
|
48
|
+
context.debug(`...verified the '${equalityString}' derived equality.`, equalityNode);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
return verifiedStatementAsDerivedEquality;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
function verifyStandaloneEquality(equalityNode, derived, context, verifyAhead) {
|
|
56
|
+
let statementVerifiedAsStandaloneEquality = false;
|
|
57
|
+
|
|
58
|
+
if (!derived) {
|
|
59
|
+
const equalityString = context.nodeAsString(equalityNode);
|
|
60
|
+
|
|
61
|
+
context.trace(`Verifying the '${equalityString}' standalone equality...`, equalityNode);
|
|
62
|
+
|
|
63
|
+
const equality = Equality.fromEqualityNode(equalityNode),
|
|
64
|
+
leftTermNode = equality.getLeftTermNode(),
|
|
65
|
+
rightTermNode = equality.getRightTermNode(),
|
|
66
|
+
termsVerified = verifyTerms(leftTermNode, rightTermNode, context, verifyAhead);
|
|
67
|
+
|
|
68
|
+
statementVerifiedAsStandaloneEquality = termsVerified; ///
|
|
69
|
+
|
|
70
|
+
if (statementVerifiedAsStandaloneEquality) {
|
|
71
|
+
context.trace(`...verified the '${equalityString}' standalone equality.`, equalityNode);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return statementVerifiedAsStandaloneEquality;
|
|
76
|
+
}
|
package/src/verify/statement.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import verifyTerms from "../verify/terms";
|
|
3
|
+
import verifyEquality from "../verify/equality";
|
|
5
4
|
import bracketedCombinator from "../ocmbinator/bracketed";
|
|
6
5
|
import verifyTypeAssertion from "../verify/typeAssertion";
|
|
7
6
|
import statementNodesVerifier from "../verifier/nodes/statement";
|
|
8
7
|
|
|
9
8
|
import { nodeQuery } from "../utilities/query";
|
|
10
9
|
|
|
11
|
-
const
|
|
10
|
+
const equalityNodeQuery = nodeQuery("/statement/equality!"),
|
|
11
|
+
typeAssertionNodeQuery = nodeQuery("/statement/typeAssertion!");
|
|
12
12
|
|
|
13
13
|
function verifyStatement(statementNode, assignments, derived, context, verifyAhead) {
|
|
14
14
|
let statementVerified;
|
|
@@ -112,25 +112,16 @@ function verifyStatementAsTypeAssertion(statementNode, assignments, derived, con
|
|
|
112
112
|
function verifyStatementAsEquality(statementNode, assignments, derived, context, verifyAhead) {
|
|
113
113
|
let statementVerifiedAsEquality = false;
|
|
114
114
|
|
|
115
|
-
const
|
|
115
|
+
const equalityNode = equalityNodeQuery(statementNode);
|
|
116
116
|
|
|
117
|
-
if (
|
|
117
|
+
if (equalityNode !== null) {
|
|
118
118
|
const statementString = context.nodeAsString(statementNode);
|
|
119
119
|
|
|
120
120
|
context.trace(`Verifying the '${statementString}' statement as an equality...`, statementNode);
|
|
121
121
|
|
|
122
|
-
const
|
|
123
|
-
verifyStatementAsDerivedEquality,
|
|
124
|
-
verifyStatementAsStandaloneEquality
|
|
125
|
-
];
|
|
122
|
+
const equalityVerified = verifyEquality(equalityNode, assignments, derived, context, verifyAhead);
|
|
126
123
|
|
|
127
|
-
statementVerifiedAsEquality =
|
|
128
|
-
const statementVerified = verifyStatementAsEqualityFunction(statementNode, equality, derived, context, verifyAhead);
|
|
129
|
-
|
|
130
|
-
if (statementVerified) {
|
|
131
|
-
return true;
|
|
132
|
-
}
|
|
133
|
-
});
|
|
124
|
+
statementVerifiedAsEquality = equalityVerified; ///
|
|
134
125
|
|
|
135
126
|
if (statementVerifiedAsEquality) {
|
|
136
127
|
context.debug(`...verified the '${statementString}' statement as an equality.`, statementNode);
|
|
@@ -139,46 +130,3 @@ function verifyStatementAsEquality(statementNode, assignments, derived, context,
|
|
|
139
130
|
|
|
140
131
|
return statementVerifiedAsEquality;
|
|
141
132
|
}
|
|
142
|
-
|
|
143
|
-
function verifyStatementAsDerivedEquality(statementNode, equality, derived, context, verifyAhead) {
|
|
144
|
-
let verifiedStatementAsDerivedEquality = false;
|
|
145
|
-
|
|
146
|
-
if (derived) {
|
|
147
|
-
const statementString = context.nodeAsString(statementNode);
|
|
148
|
-
|
|
149
|
-
context.trace(`Verifying the '${statementString}' derived equality...`, statementNode);
|
|
150
|
-
|
|
151
|
-
const equalities = context.getEqualities(),
|
|
152
|
-
equalityVerified = equality.verify(equalities, context, verifyAhead);
|
|
153
|
-
|
|
154
|
-
verifiedStatementAsDerivedEquality = equalityVerified; ///
|
|
155
|
-
|
|
156
|
-
if (verifiedStatementAsDerivedEquality) {
|
|
157
|
-
context.debug(`...verified the '${statementString}' derived equality.`, statementNode);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
return verifiedStatementAsDerivedEquality;
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
function verifyStatementAsStandaloneEquality(statementNode, equality, derived, context, verifyAhead) {
|
|
165
|
-
let statementVerifiedAsStandaloneEquality = false;
|
|
166
|
-
|
|
167
|
-
if (!derived) {
|
|
168
|
-
const statementString = context.nodeAsString(statementNode);
|
|
169
|
-
|
|
170
|
-
context.trace(`Verifying the '${statementString}' statement as a standalone equality...`, statementNode);
|
|
171
|
-
|
|
172
|
-
const leftTermNode = equality.getLeftTermNode(),
|
|
173
|
-
rightTermNode = equality.getRightTermNode(),
|
|
174
|
-
termsVerified = verifyTerms(leftTermNode, rightTermNode, context, verifyAhead);
|
|
175
|
-
|
|
176
|
-
statementVerifiedAsStandaloneEquality = termsVerified; ///
|
|
177
|
-
|
|
178
|
-
if (statementVerifiedAsStandaloneEquality) {
|
|
179
|
-
context.trace(`...verified the '${statementString}' statement as a standalone equality.`, statementNode);
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
return statementVerifiedAsStandaloneEquality;
|
|
184
|
-
}
|
package/src/verify/type.js
CHANGED
|
@@ -9,7 +9,7 @@ export default function verifyType(typeNode, superTypeNode, fileContext) {
|
|
|
9
9
|
|
|
10
10
|
const typeString = fileContext.nodeAsString(typeNode);
|
|
11
11
|
|
|
12
|
-
fileContext.trace(`Verifying the '${typeString}' type
|
|
12
|
+
fileContext.trace(`Verifying the '${typeString}' type.`, typeNode);
|
|
13
13
|
|
|
14
14
|
const typeName = typeNameFromTypeNode(typeNode),
|
|
15
15
|
typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
@@ -1,16 +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 _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
var _node = require("../../utilities/node");
|
|
12
|
-
var equalityStatementString = "n=m";
|
|
13
|
-
var equalityStatementNode = (0, _node.statementNodeFromStatementString)(equalityStatementString);
|
|
14
|
-
var _default = equalityStatementNode;
|
|
15
|
-
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL3N0YXRlbWVudC9lcXVhbGl0eS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL25vZGVcIjtcblxuY29uc3QgZXF1YWxpdHlTdGF0ZW1lbnRTdHJpbmcgPSBcIm49bVwiO1xuXG5jb25zdCBlcXVhbGl0eVN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyhlcXVhbGl0eVN0YXRlbWVudFN0cmluZyk7XG5cbmV4cG9ydCBkZWZhdWx0IGVxdWFsaXR5U3RhdGVtZW50Tm9kZTtcbiJdLCJuYW1lcyI6WyJlcXVhbGl0eVN0YXRlbWVudFN0cmluZyIsImVxdWFsaXR5U3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OztvQkFOaUQ7QUFFakQsSUFBTUEsMEJBQTBCO0FBRWhDLElBQU1DLHdCQUF3QkMsSUFBQUEsc0NBQWdDLEVBQUNGO0lBRS9ELFdBQWVDIn0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import { statementNodeFromStatementString } from "../../utilities/node";
|
|
4
|
-
|
|
5
|
-
const equalityStatementString = "n=m";
|
|
6
|
-
|
|
7
|
-
const equalityStatementNode = statementNodeFromStatementString(equalityStatementString);
|
|
8
|
-
|
|
9
|
-
export default equalityStatementNode;
|