occam-verify-cli 0.0.921 → 0.0.923
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/axiomLemmaTheoremConjecture.js +3 -4
- package/lib/conclusion.js +13 -43
- package/lib/constants.js +1 -5
- package/lib/context/local.js +386 -0
- package/lib/declaration.js +15 -15
- package/lib/metaLemmaMetatheorem.js +59 -59
- package/lib/mixins/context.js +17 -13
- package/lib/mixins/nodesVerifier/metaLevel.js +6 -6
- package/lib/premise.js +16 -94
- package/lib/{step/proof.js → proofStep.js} +1 -1
- package/lib/rule.js +1 -45
- package/lib/ruleNames.js +1 -9
- package/lib/substitution/statementForMetavariable.js +9 -1
- package/lib/substitution.js +1 -8
- package/lib/supposition.js +55 -1
- package/lib/utilities/customGrammar.js +2 -2
- package/lib/utilities/match.js +13 -50
- package/lib/utilities/node.js +2 -27
- package/lib/utilities/tokens.js +1 -8
- package/lib/utilities/verify.js +8 -24
- package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +29 -29
- package/lib/verifier/nodes/metaLevel.js +13 -13
- package/lib/verify/axiom.js +3 -3
- package/lib/verify/conclusion.js +10 -11
- package/lib/verify/conjecture.js +3 -3
- package/lib/verify/declaration.js +6 -6
- package/lib/verify/lemma.js +3 -3
- package/lib/verify/metaLemma.js +13 -13
- package/lib/verify/metastatement.js +64 -64
- package/lib/verify/metatheorem.js +13 -13
- package/lib/verify/premise.js +11 -30
- package/lib/verify/proof.js +3 -4
- package/lib/verify/proofStep.js +5 -5
- package/lib/verify/rule.js +11 -11
- package/lib/verify/statement/qualified.js +35 -9
- package/lib/verify/statement/unqualified.js +1 -1
- package/lib/verify/subproof.js +3 -4
- package/lib/verify/supposition.js +3 -3
- package/lib/verify/termAsConstructor.js +3 -3
- package/lib/verify/theorem.js +3 -3
- package/package.json +4 -4
- package/src/axiomLemmaTheoremConjecture.js +2 -4
- package/src/conclusion.js +15 -54
- package/src/constants.js +0 -1
- package/src/context/{local/intrinsicLevel.js → local.js} +182 -97
- package/src/declaration.js +19 -19
- package/src/metaLemmaMetatheorem.js +58 -58
- package/src/mixins/context.js +12 -9
- package/src/mixins/nodesVerifier/metaLevel.js +8 -8
- package/src/premise.js +25 -143
- package/src/rule.js +0 -67
- package/src/ruleNames.js +0 -2
- package/src/substitution/statementForMetavariable.js +14 -0
- package/src/substitution.js +0 -6
- package/src/supposition.js +46 -0
- package/src/utilities/customGrammar.js +1 -2
- package/src/utilities/match.js +13 -60
- package/src/utilities/node.js +3 -32
- package/src/utilities/tokens.js +0 -8
- package/src/utilities/verify.js +4 -20
- package/src/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +36 -37
- package/src/verifier/nodes/metaLevel.js +17 -17
- package/src/verify/axiom.js +3 -4
- package/src/verify/conclusion.js +9 -13
- package/src/verify/conjecture.js +3 -4
- package/src/verify/declaration.js +7 -7
- package/src/verify/lemma.js +3 -4
- package/src/verify/metaLemma.js +24 -25
- package/src/verify/metastatement.js +64 -64
- package/src/verify/metatheorem.js +23 -24
- package/src/verify/premise.js +14 -46
- package/src/verify/proof.js +2 -4
- package/src/verify/proofStep.js +1 -1
- package/src/verify/rule.js +11 -12
- package/src/verify/statement/qualified.js +43 -9
- package/src/verify/statement/unqualified.js +1 -1
- package/src/verify/subproof.js +2 -4
- package/src/verify/supposition.js +1 -1
- package/src/verify/termAsConstructor.js +3 -4
- package/src/verify/theorem.js +3 -4
- package/lib/context/local/intrinsicLevel.js +0 -326
- package/lib/context/local/metaLevel.js +0 -282
- package/lib/metaConsequent.js +0 -108
- package/lib/metaSupposition.js +0 -160
- package/lib/node/metastatement/bracketed.js +0 -16
- package/lib/step/metaproof.js +0 -106
- package/lib/substitution/metastatementForMetavariable.js +0 -173
- package/lib/verify/metaConsequent.js +0 -50
- package/lib/verify/metaDerivation.js +0 -31
- package/lib/verify/metaSubDerivation.js +0 -25
- package/lib/verify/metaSubproof.js +0 -35
- package/lib/verify/metaSupposition.js +0 -61
- package/lib/verify/metaSuppositions.js +0 -28
- package/lib/verify/metaproof.js +0 -32
- package/lib/verify/metaproofStep.js +0 -98
- package/lib/verify/metastatement/qualified.js +0 -95
- package/lib/verify/metastatement/unqualified.js +0 -37
- package/lib/verify/metastatementAsContainedAssertion.js +0 -109
- package/lib/verify/metastatementAsDefinedAssertion.js +0 -132
- package/lib/verify/metavariableAgainstMetastatement.js +0 -44
- package/src/context/local/metaLevel.js +0 -191
- package/src/metaConsequent.js +0 -83
- package/src/metaSupposition.js +0 -127
- package/src/node/metastatement/bracketed.js +0 -9
- package/src/step/metaproof.js +0 -73
- package/src/substitution/metastatementForMetavariable.js +0 -90
- package/src/verify/metaConsequent.js +0 -61
- package/src/verify/metaDerivation.js +0 -23
- package/src/verify/metaSubDerivation.js +0 -22
- package/src/verify/metaSubproof.js +0 -34
- package/src/verify/metaSupposition.js +0 -78
- package/src/verify/metaSuppositions.js +0 -17
- package/src/verify/metaproof.js +0 -30
- package/src/verify/metaproofStep.js +0 -137
- package/src/verify/metastatement/qualified.js +0 -130
- package/src/verify/metastatement/unqualified.js +0 -34
- package/src/verify/metastatementAsContainedAssertion.js +0 -127
- package/src/verify/metastatementAsDefinedAssertion.js +0 -156
- package/src/verify/metavariableAgainstMetastatement.js +0 -42
- /package/src/{step/proof.js → proofStep.js} +0 -0
package/lib/supposition.js
CHANGED
|
@@ -8,9 +8,21 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return Supposition;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
+
var _local = /*#__PURE__*/ _interop_require_default(require("./context/local"));
|
|
12
|
+
var _metaLevel = /*#__PURE__*/ _interop_require_default(require("./verifier/nodes/metaLevel"));
|
|
11
13
|
var _intrinsicLevel = /*#__PURE__*/ _interop_require_default(require("./verifier/nodes/intrinsicLevel"));
|
|
14
|
+
var _array = require("./utilities/array");
|
|
12
15
|
var _string = require("./utilities/string");
|
|
13
16
|
var _node = require("./utilities/node");
|
|
17
|
+
var _query = require("./utilities/query");
|
|
18
|
+
function _array_like_to_array(arr, len) {
|
|
19
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
20
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
21
|
+
return arr2;
|
|
22
|
+
}
|
|
23
|
+
function _array_without_holes(arr) {
|
|
24
|
+
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
25
|
+
}
|
|
14
26
|
function _class_call_check(instance, Constructor) {
|
|
15
27
|
if (!(instance instanceof Constructor)) {
|
|
16
28
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -35,6 +47,24 @@ function _interop_require_default(obj) {
|
|
|
35
47
|
default: obj
|
|
36
48
|
};
|
|
37
49
|
}
|
|
50
|
+
function _iterable_to_array(iter) {
|
|
51
|
+
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
52
|
+
}
|
|
53
|
+
function _non_iterable_spread() {
|
|
54
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
55
|
+
}
|
|
56
|
+
function _to_consumable_array(arr) {
|
|
57
|
+
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
58
|
+
}
|
|
59
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
60
|
+
if (!o) return;
|
|
61
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
62
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
63
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
64
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
65
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
66
|
+
}
|
|
67
|
+
var subproofAssertionNodeQuery = (0, _query.nodeQuery)("/statement/subproofAssertion!"), subproofAssertionStatementNodesQuery = (0, _query.nodesQuery)("/subproofAssertion/statement"), subproofSuppositionStatementNodesQuery = (0, _query.nodesQuery)("/subproof/supposition/unqualifiedStatement/statement!"), subproofLastProofStepStatementNodeQuery = (0, _query.nodeQuery)("/subproof/subDerivation/lastProofStep/unqualifiedStatement|qualifiedStatement/statement!");
|
|
38
68
|
var Supposition = /*#__PURE__*/ function() {
|
|
39
69
|
function Supposition(statementNode) {
|
|
40
70
|
_class_call_check(this, Supposition);
|
|
@@ -57,6 +87,30 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
57
87
|
return matchesStatementNode;
|
|
58
88
|
}
|
|
59
89
|
},
|
|
90
|
+
{
|
|
91
|
+
key: "matchSubproofNode",
|
|
92
|
+
value: function matchSubproofNode(subproofNode, substitutions, fileContext, localContext) {
|
|
93
|
+
var matchesSubproofNode = false;
|
|
94
|
+
if (this.statementNode !== null) {
|
|
95
|
+
var subproofAssertionNode = subproofAssertionNodeQuery(this.statementNode);
|
|
96
|
+
if (subproofAssertionNode !== null) {
|
|
97
|
+
var subproofSuppositionStatementNodes = subproofSuppositionStatementNodesQuery(subproofNode), subproofLastProofStepStatementNode = subproofLastProofStepStatementNodeQuery(subproofNode), subproofStatementNodes = _to_consumable_array(subproofSuppositionStatementNodes).concat([
|
|
98
|
+
subproofLastProofStepStatementNode
|
|
99
|
+
]), subproofAssertionStatementNodes = subproofAssertionStatementNodesQuery(subproofAssertionNode);
|
|
100
|
+
matchesSubproofNode = (0, _array.match)(subproofAssertionStatementNodes, subproofStatementNodes, function(subproofAssertionStatementNode, ruleSubproofStatementNode) {
|
|
101
|
+
var fileContextA = fileContext, nonTerminalNodeA = subproofAssertionStatementNode, nonTerminalNodeB = ruleSubproofStatementNode, localContextA = _local.default.fromFileContext(fileContextA), localContextB = localContext, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, function() {
|
|
102
|
+
var verifiedAhead = true;
|
|
103
|
+
return verifiedAhead;
|
|
104
|
+
});
|
|
105
|
+
if (nonTerminalNodeVerified) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return matchesSubproofNode;
|
|
112
|
+
}
|
|
113
|
+
},
|
|
60
114
|
{
|
|
61
115
|
key: "toJSON",
|
|
62
116
|
value: function toJSON(tokens) {
|
|
@@ -85,4 +139,4 @@ var Supposition = /*#__PURE__*/ function() {
|
|
|
85
139
|
return Supposition;
|
|
86
140
|
}();
|
|
87
141
|
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9zdXBwb3NpdGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IExvY2FsQ29udGV4dCBmcm9tIFwiLi9jb250ZXh0L2xvY2FsXCI7XG5pbXBvcnQgbWV0YUxldmVsTm9kZXNWZXJpZmllciBmcm9tIFwiLi92ZXJpZmllci9ub2Rlcy9tZXRhTGV2ZWxcIjtcbmltcG9ydCBpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIgZnJvbSBcIi4vdmVyaWZpZXIvbm9kZXMvaW50cmluc2ljTGV2ZWxcIjtcblxuaW1wb3J0IHsgbWF0Y2ggfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG5vZGVBc1N0cmluZyB9IGZyb20gXCIuL3V0aWxpdGllcy9zdHJpbmdcIjtcbmltcG9ydCB7IHN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4vdXRpbGl0aWVzL25vZGVcIjtcbmltcG9ydCB7bm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5fSBmcm9tIFwiLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3Qgc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3N1YnByb29mQXNzZXJ0aW9uIVwiKSxcbiAgICAgIHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvc3VicHJvb2ZBc3NlcnRpb24vc3RhdGVtZW50XCIpLFxuICAgICAgc3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL3N1YnByb29mL3N1cHBvc2l0aW9uL3VucXVhbGlmaWVkU3RhdGVtZW50L3N0YXRlbWVudCFcIiksXG4gICAgICBzdWJwcm9vZkxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3VicHJvb2Yvc3ViRGVyaXZhdGlvbi9sYXN0UHJvb2ZTdGVwL3VucXVhbGlmaWVkU3RhdGVtZW50fHF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdXBwb3NpdGlvbiB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlbWVudE5vZGUpIHtcbiAgICB0aGlzLnN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgZ2V0U3RhdGVtZW50Tm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZW1lbnROb2RlO1xuICB9XG5cbiAgbWF0Y2hTdGF0ZW1lbnROb2RlKHN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCwgc3RhdGVtZW50TG9jYWxDb250ZXh0KSB7XG4gICAgY29uc3Qgbm9uVGVybWluYWxOb2RlQSA9IHRoaXMuc3RhdGVtZW50Tm9kZSwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUIgPSBzdGF0ZW1lbnROb2RlLCAgLy8vXG4gICAgICAgICAgbG9jYWxDb250ZXh0QSA9IGxvY2FsQ29udGV4dCwgLy8vXG4gICAgICAgICAgbG9jYWxDb250ZXh0QiA9IHN0YXRlbWVudExvY2FsQ29udGV4dCwgIC8vL1xuICAgICAgICAgIG5vblRlcm1pbmFsTm9kZVZlcmlmaWVkID0gaW50cmluc2ljTGV2ZWxOb2Rlc1ZlcmlmaWVyLnZlcmlmeU5vblRlcm1pbmFsTm9kZShub25UZXJtaW5hbE5vZGVBLCBub25UZXJtaW5hbE5vZGVCLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHRBLCBsb2NhbENvbnRleHRCLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSksXG4gICAgICAgICAgbWF0Y2hlc1N0YXRlbWVudE5vZGUgPSBub25UZXJtaW5hbE5vZGVWZXJpZmllZDsgLy8vXG5cbiAgICByZXR1cm4gbWF0Y2hlc1N0YXRlbWVudE5vZGU7XG4gIH1cblxuICBtYXRjaFN1YnByb29mTm9kZShzdWJwcm9vZk5vZGUsIHN1YnN0aXR1dGlvbnMsIGZpbGVDb250ZXh0LCBsb2NhbENvbnRleHQpIHtcbiAgICBsZXQgbWF0Y2hlc1N1YnByb29mTm9kZSA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3VicHJvb2ZBc3NlcnRpb25Ob2RlID0gc3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkodGhpcy5zdGF0ZW1lbnROb2RlKTtcblxuICAgICAgaWYgKHN1YnByb29mQXNzZXJ0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXMgPSBzdWJwcm9vZlN1cHBvc2l0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZk5vZGUpLFxuICAgICAgICAgICAgICBzdWJwcm9vZkxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnROb2RlID0gc3VicHJvb2ZMYXN0UHJvb2ZTdGVwU3RhdGVtZW50Tm9kZVF1ZXJ5KHN1YnByb29mTm9kZSksXG4gICAgICAgICAgICAgIHN1YnByb29mU3RhdGVtZW50Tm9kZXMgPSBbXG4gICAgICAgICAgICAgICAgLi4uc3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzLFxuICAgICAgICAgICAgICAgIHN1YnByb29mTGFzdFByb29mU3RlcFN0YXRlbWVudE5vZGVcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlcyA9IHN1YnByb29mQXNzZXJ0aW9uU3RhdGVtZW50Tm9kZXNRdWVyeShzdWJwcm9vZkFzc2VydGlvbk5vZGUpO1xuXG4gICAgICAgIG1hdGNoZXNTdWJwcm9vZk5vZGUgPSBtYXRjaChzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzLCBzdWJwcm9vZlN0YXRlbWVudE5vZGVzLCAoc3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlLCBydWxlU3VicHJvb2ZTdGF0ZW1lbnROb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlsZUNvbnRleHRBID0gZmlsZUNvbnRleHQsIC8vL1xuICAgICAgICAgICAgICAgIG5vblRlcm1pbmFsTm9kZUEgPSBzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGUsICAvLy9cbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVCID0gcnVsZVN1YnByb29mU3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICAgICAgbG9jYWxDb250ZXh0QSA9IExvY2FsQ29udGV4dC5mcm9tRmlsZUNvbnRleHQoZmlsZUNvbnRleHRBKSwgIC8vL1xuICAgICAgICAgICAgICAgIGxvY2FsQ29udGV4dEIgPSBsb2NhbENvbnRleHQsICAvLy9cbiAgICAgICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFMZXZlbE5vZGVzVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZUEsIG5vblRlcm1pbmFsTm9kZUIsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dEEsIGxvY2FsQ29udGV4dEIsICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChub25UZXJtaW5hbE5vZGVWZXJpZmllZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWF0Y2hlc1N1YnByb29mTm9kZTtcbiAgfVxuXG4gIHRvSlNPTih0b2tlbnMpIHtcbiAgICBjb25zdCBzdGF0ZW1lbnRTdHJpbmcgPSBub2RlQXNTdHJpbmcodGhpcy5zdGF0ZW1lbnROb2RlLCB0b2tlbnMpLFxuICAgICAgICAgIHN0YXRlbWVudCA9IHN0YXRlbWVudFN0cmluZywgLy8vXG4gICAgICAgICAganNvbiA9IHtcbiAgICAgICAgICAgIHN0YXRlbWVudFxuICAgICAgICAgIH07XG5cbiAgICByZXR1cm4ganNvbjtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSB7XG4gICAgY29uc3Qgc3VwcG9zaXRpb24gPSBuZXcgU3VwcG9zaXRpb24oc3RhdGVtZW50Tm9kZSk7XG5cbiAgICByZXR1cm4gc3VwcG9zaXRpb247XG4gIH1cblxuICBzdGF0aWMgZnJvbUpTT05BbmRGaWxlQ29udGV4dChqc29uLCBmaWxlQ29udGV4dCkge1xuICAgIGNvbnN0IHsgc3RhdGVtZW50IH0gPSBqc29uLFxuICAgICAgICAgIHN0YXRlbWVudFN0cmluZyA9IHN0YXRlbWVudCwgIC8vL1xuICAgICAgICAgIGxleGVyID0gZmlsZUNvbnRleHQuZ2V0TGV4ZXIoKSxcbiAgICAgICAgICBwYXJzZXIgPSBmaWxlQ29udGV4dC5nZXRQYXJzZXIoKSxcbiAgICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCBsZXhlciwgcGFyc2VyKSxcbiAgICAgICAgICBzdXBwb3NpdGlvbiA9IG5ldyBTdXBwb3NpdGlvbihzdGF0ZW1lbnROb2RlKTtcblxuICAgIHJldHVybiBzdXBwb3NpdGlvbjtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIlN1cHBvc2l0aW9uIiwic3VicHJvb2ZBc3NlcnRpb25Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdWJwcm9vZkFzc2VydGlvblN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5Iiwic3VicHJvb2ZTdXBwb3NpdGlvblN0YXRlbWVudE5vZGVzUXVlcnkiLCJzdWJwcm9vZkxhc3RQcm9vZlN0ZXBTdGF0ZW1lbnROb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlIiwiZ2V0U3RhdGVtZW50Tm9kZSIsIm1hdGNoU3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJsb2NhbENvbnRleHQiLCJzdGF0ZW1lbnRMb2NhbENvbnRleHQiLCJub25UZXJtaW5hbE5vZGVBIiwibm9uVGVybWluYWxOb2RlQiIsImxvY2FsQ29udGV4dEEiLCJsb2NhbENvbnRleHRCIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJpbnRyaW5zaWNMZXZlbE5vZGVzVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZmllZEFoZWFkIiwibWF0Y2hlc1N0YXRlbWVudE5vZGUiLCJtYXRjaFN1YnByb29mTm9kZSIsInN1YnByb29mTm9kZSIsImZpbGVDb250ZXh0IiwibWF0Y2hlc1N1YnByb29mTm9kZSIsInN1YnByb29mQXNzZXJ0aW9uTm9kZSIsInN1YnByb29mU3VwcG9zaXRpb25TdGF0ZW1lbnROb2RlcyIsInN1YnByb29mTGFzdFByb29mU3RlcFN0YXRlbWVudE5vZGUiLCJzdWJwcm9vZlN0YXRlbWVudE5vZGVzIiwic3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlcyIsIm1hdGNoIiwic3VicHJvb2ZBc3NlcnRpb25TdGF0ZW1lbnROb2RlIiwicnVsZVN1YnByb29mU3RhdGVtZW50Tm9kZSIsImZpbGVDb250ZXh0QSIsIkxvY2FsQ29udGV4dCIsImZyb21GaWxlQ29udGV4dCIsIm1ldGFMZXZlbE5vZGVzVmVyaWZpZXIiLCJ0b0pTT04iLCJ0b2tlbnMiLCJzdGF0ZW1lbnRTdHJpbmciLCJub2RlQXNTdHJpbmciLCJzdGF0ZW1lbnQiLCJqc29uIiwiZnJvbVN0YXRlbWVudE5vZGUiLCJzdXBwb3NpdGlvbiIsImZyb21KU09OQW5kRmlsZUNvbnRleHQiLCJsZXhlciIsImdldExleGVyIiwicGFyc2VyIiwiZ2V0UGFyc2VyIiwic3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBZ0JxQkE7Ozs0REFkSTtnRUFD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
|
|
@@ -24,7 +24,7 @@ _export(exports, {
|
|
|
24
24
|
});
|
|
25
25
|
var _occamcustomgrammars = require("occam-custom-grammars");
|
|
26
26
|
function customGrammarFromNameAndEntries(name, entries) {
|
|
27
|
-
var termBNF = entries.getTermBNF(), statementBNF = entries.getStatementBNF(),
|
|
27
|
+
var termBNF = entries.getTermBNF(), statementBNF = entries.getStatementBNF(), typePattern = entries.getTypePattern(), symbolPattern = entries.getSymbolPattern(), operatorPattern = entries.getOperatorPattern(), customGrammar = _occamcustomgrammars.CustomGrammar.fromNameTermBNFStatementBNFTypePatternSymbolPatternAndOperatorPattern(name, termBNF, statementBNF, typePattern, symbolPattern, operatorPattern);
|
|
28
28
|
return customGrammar;
|
|
29
29
|
}
|
|
30
30
|
function combinedCustomGrammarFromNothing() {
|
|
@@ -46,4 +46,4 @@ var _default = {
|
|
|
46
46
|
combinedCustomGrammarFromReleaseContexts: combinedCustomGrammarFromReleaseContexts
|
|
47
47
|
};
|
|
48
48
|
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3VzdG9tR3JhbW1hci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQ3VzdG9tR3JhbW1hciwgQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gZnJvbSBcIm9jY2FtLWN1c3RvbS1ncmFtbWFyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gY3VzdG9tR3JhbW1hckZyb21OYW1lQW5kRW50cmllcyhuYW1lLCBlbnRyaWVzKSB7XG4gIGNvbnN0IHRlcm1CTkYgPSBlbnRyaWVzLmdldFRlcm1CTkYoKSxcbiAgICAgICAgc3RhdGVtZW50Qk5GID0gZW50cmllcy5nZXRTdGF0ZW1lbnRCTkYoKSxcbiAgICAgICAgdHlwZVBhdHRlcm4gPSBlbnRyaWVzLmdldFR5cGVQYXR0ZXJuKCksXG4gICAgICAgIHN5bWJvbFBhdHRlcm4gPSBlbnRyaWVzLmdldFN5bWJvbFBhdHRlcm4oKSxcbiAgICAgICAgb3BlcmF0b3JQYXR0ZXJuID0gZW50cmllcy5nZXRPcGVyYXRvclBhdHRlcm4oKSxcbiAgICAgICAgY3VzdG9tR3JhbW1hciA9IEN1c3RvbUdyYW1tYXIuZnJvbU5hbWVUZXJtQk5GU3RhdGVtZW50Qk5GVHlwZVBhdHRlcm5TeW1ib2xQYXR0ZXJuQW5kT3BlcmF0b3JQYXR0ZXJuKG5hbWUsIHRlcm1CTkYsIHN0YXRlbWVudEJORiwgdHlwZVBhdHRlcm4sIHN5bWJvbFBhdHRlcm4sIG9wZXJhdG9yUGF0dGVybik7XG5cbiAgcmV0dXJuIGN1c3RvbUdyYW1tYXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZygpIHtcbiAgY29uc3QgY3VzdG9tR3JhbW1hcnMgPSBbXSxcbiAgICAgICAgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyk7XG5cbiAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21SZWxlYXNlQ29udGV4dHMocmVsZWFzZUNvbnRleHRzKSB7XG4gIGNvbnN0IGN1c3RvbUdyYW1tYXJzID0gcmVsZWFzZUNvbnRleHRzLm1hcCgocmVsZWFzZUNvbnRleHQpID0+IHtcbiAgICAgICAgICBjb25zdCBjdXN0b21HcmFtbWFyID0gcmVsZWFzZUNvbnRleHQuZ2V0Q3VzdG9tR3JhbW1hcigpO1xuXG4gICAgICAgICAgcmV0dXJuIGN1c3RvbUdyYW1tYXI7XG4gICAgICAgIH0pO1xuXG4gIGN1c3RvbUdyYW1tYXJzLnJldmVyc2UoKTsgLy8vXG5cbiAgY29uc3QgY29tYmluZWRDdXN0b21HcmFtbWFyID0gQ29tYmluZWRDdXN0b21HcmFtbWFyLmZyb21DdXN0b21HcmFtbWFycyhjdXN0b21HcmFtbWFycyk7XG5cbiAgcmV0dXJuIGNvbWJpbmVkQ3VzdG9tR3JhbW1hcjtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBjdXN0b21HcmFtbWFyRnJvbU5hbWVBbmRFbnRyaWVzLFxuICBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyxcbiAgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbVJlbGVhc2VDb250ZXh0c1xufTtcbiJdLCJuYW1lcyI6WyJjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21SZWxlYXNlQ29udGV4dHMiLCJjdXN0b21HcmFtbWFyRnJvbU5hbWVBbmRFbnRyaWVzIiwibmFtZSIsImVudHJpZXMiLCJ0ZXJtQk5GIiwiZ2V0VGVybUJORiIsInN0YXRlbWVudEJORiIsImdldFN0YXRlbWVudEJORiIsInR5cGVQYXR0ZXJuIiwiZ2V0VHlwZVBhdHRlcm4iLCJzeW1ib2xQYXR0ZXJuIiwiZ2V0U3ltYm9sUGF0dGVybiIsIm9wZXJhdG9yUGF0dGVybiIsImdldE9wZXJhdG9yUGF0dGVybiIsImN1c3RvbUdyYW1tYXIiLCJDdXN0b21HcmFtbWFyIiwiZnJvbU5hbWVUZXJtQk5GU3RhdGVtZW50Qk5GVHlwZVBhdHRlcm5TeW1ib2xQYXR0ZXJuQW5kT3BlcmF0b3JQYXR0ZXJuIiwiY3VzdG9tR3JhbW1hcnMiLCJjb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJDb21iaW5lZEN1c3RvbUdyYW1tYXIiLCJmcm9tQ3VzdG9tR3JhbW1hcnMiLCJyZWxlYXNlQ29udGV4dHMiLCJtYXAiLCJyZWxlYXNlQ29udGV4dCIsImdldEN1c3RvbUdyYW1tYXIiLCJyZXZlcnNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFlZ0JBLGdDQUFnQztlQUFoQ0E7O0lBT0FDLHdDQUF3QztlQUF4Q0E7O0lBbEJBQywrQkFBK0I7ZUFBL0JBOztJQWdDaEIsT0FJRTtlQUpGOzs7bUNBbENxRDtBQUU5QyxTQUFTQSxnQ0FBZ0NDLElBQUksRUFBRUMsT0FBTztJQUMzRCxJQUFNQyxVQUFVRCxRQUFRRSxVQUFVLElBQzVCQyxlQUFlSCxRQUFRSSxlQUFlLElBQ3RDQyxjQUFjTCxRQUFRTSxjQUFjLElBQ3BDQyxnQkFBZ0JQLFFBQVFRLGdCQUFnQixJQUN4Q0Msa0JBQWtCVCxRQUFRVSxrQkFBa0IsSUFDNUNDLGdCQUFnQkMsa0NBQWEsQ0FBQ0MscUVBQXFFLENBQUNkLE1BQU1FLFNBQVNFLGNBQWNFLGFBQWFFLGVBQWVFO0lBRW5LLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTZjtJQUNkLElBQU1rQixpQkFBaUIsRUFBRSxFQUNuQkMsd0JBQXdCQywwQ0FBcUIsQ0FBQ0Msa0JBQWtCLENBQUNIO0lBRXZFLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTbEIseUNBQXlDcUIsZUFBZTtJQUN0RSxJQUFNSixpQkFBaUJJLGdCQUFnQkMsR0FBRyxDQUFDLFNBQUNDO1FBQ3BDLElBQU1ULGdCQUFnQlMsZUFBZUMsZ0JBQWdCO1FBRXJELE9BQU9WO0lBQ1Q7SUFFTkcsZUFBZVEsT0FBTyxJQUFJLEdBQUc7SUFFN0IsSUFBTVAsd0JBQXdCQywwQ0FBcUIsQ0FBQ0Msa0JBQWtCLENBQUNIO0lBRXZFLE9BQU9DO0FBQ1Q7SUFFQSxXQUFlO0lBQ2JqQixpQ0FBQUE7SUFDQUYsa0NBQUFBO0lBQ0FDLDBDQUFBQTtBQUNGIn0=
|
package/lib/utilities/match.js
CHANGED
|
@@ -9,21 +9,14 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
bracketedMetastatementChildNodeFromMetastatementNode: function() {
|
|
13
|
-
return bracketedMetastatementChildNodeFromMetastatementNode;
|
|
14
|
-
},
|
|
15
12
|
bracketedStatementChildNodeFromStatementNode: function() {
|
|
16
13
|
return bracketedStatementChildNodeFromStatementNode;
|
|
17
14
|
},
|
|
18
|
-
matchMetastatementModuloBrackets: function() {
|
|
19
|
-
return matchMetastatementModuloBrackets;
|
|
20
|
-
},
|
|
21
15
|
matchStatementModuloBrackets: function() {
|
|
22
16
|
return matchStatementModuloBrackets;
|
|
23
17
|
}
|
|
24
18
|
});
|
|
25
19
|
var _bracketed = /*#__PURE__*/ _interop_require_default(require("../node/statement/bracketed"));
|
|
26
|
-
var _bracketed1 = /*#__PURE__*/ _interop_require_default(require("../node/metastatement/bracketed"));
|
|
27
20
|
var _query = require("../utilities/query");
|
|
28
21
|
var _constants = require("../constants");
|
|
29
22
|
function _interop_require_default(obj) {
|
|
@@ -31,50 +24,28 @@ function _interop_require_default(obj) {
|
|
|
31
24
|
default: obj
|
|
32
25
|
};
|
|
33
26
|
}
|
|
34
|
-
var bracketedStatementChildNodeQuery = (0, _query.nodeQuery)("/statement/
|
|
27
|
+
var bracketedStatementChildNodeQuery = (0, _query.nodeQuery)("/statement/statement!");
|
|
35
28
|
function matchStatementModuloBrackets(statementNodeA, statementNodeB) {
|
|
36
|
-
var
|
|
37
|
-
if (!
|
|
38
|
-
var
|
|
39
|
-
|
|
29
|
+
var statementMatches = false;
|
|
30
|
+
if (!statementMatches) {
|
|
31
|
+
var statementNodeMatches = statementNodeA.match(statementNodeB);
|
|
32
|
+
statementMatches = statementNodeMatches; ///
|
|
40
33
|
}
|
|
41
|
-
if (!
|
|
34
|
+
if (!statementMatches) {
|
|
42
35
|
var bracketedStatementChildNodeA = bracketedStatementChildNodeFromStatementNode(statementNodeA);
|
|
43
36
|
if (bracketedStatementChildNodeA !== null) {
|
|
44
|
-
var
|
|
45
|
-
|
|
37
|
+
var bracketedStatementChildNodeAMatchesStatementNodeB = bracketedStatementChildNodeA.match(statementNodeB);
|
|
38
|
+
statementMatches = bracketedStatementChildNodeAMatchesStatementNodeB; ///
|
|
46
39
|
}
|
|
47
40
|
}
|
|
48
|
-
if (!
|
|
41
|
+
if (!statementMatches) {
|
|
49
42
|
var bracketedStatementChildNodeB = bracketedStatementChildNodeFromStatementNode(statementNodeB);
|
|
50
43
|
if (bracketedStatementChildNodeB !== null) {
|
|
51
|
-
var
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return statementMatchesModuloBrackets;
|
|
56
|
-
}
|
|
57
|
-
function matchMetastatementModuloBrackets(metastatementNodeA, metastatementNodeB) {
|
|
58
|
-
var metastatementMatches = false;
|
|
59
|
-
if (!metastatementMatches) {
|
|
60
|
-
var metastatementNodeMatches = metastatementNodeA.match(metastatementNodeB);
|
|
61
|
-
metastatementMatches = metastatementNodeMatches; ///
|
|
62
|
-
}
|
|
63
|
-
if (!metastatementMatches) {
|
|
64
|
-
var bracketedMetastatementChildNodeA = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeA);
|
|
65
|
-
if (bracketedMetastatementChildNodeA !== null) {
|
|
66
|
-
var bracketedMetastatementChildNodeAMatchesMetastatementNodeB = bracketedMetastatementChildNodeA.match(metastatementNodeB);
|
|
67
|
-
metastatementMatches = bracketedMetastatementChildNodeAMatchesMetastatementNodeB; ///
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
if (!metastatementMatches) {
|
|
71
|
-
var bracketedMetastatementChildNodeB = bracketedMetastatementChildNodeFromMetastatementNode(metastatementNodeB);
|
|
72
|
-
if (bracketedMetastatementChildNodeB !== null) {
|
|
73
|
-
var metastatementNodeAMatchesBracketedMetastatementChildNodeB = metastatementNodeA.match(bracketedMetastatementChildNodeB);
|
|
74
|
-
metastatementMatches = metastatementNodeAMatchesBracketedMetastatementChildNodeB; ///
|
|
44
|
+
var statementNodeAMatchesBracketedStatementChildNodeB = statementNodeA.match(bracketedStatementChildNodeB);
|
|
45
|
+
statementMatches = statementNodeAMatchesBracketedStatementChildNodeB; ///
|
|
75
46
|
}
|
|
76
47
|
}
|
|
77
|
-
return
|
|
48
|
+
return statementMatches;
|
|
78
49
|
}
|
|
79
50
|
function bracketedStatementChildNodeFromStatementNode(statementNode) {
|
|
80
51
|
var bracketedStatementChildNode = null;
|
|
@@ -84,13 +55,5 @@ function bracketedStatementChildNodeFromStatementNode(statementNode) {
|
|
|
84
55
|
}
|
|
85
56
|
return bracketedStatementChildNode;
|
|
86
57
|
}
|
|
87
|
-
function bracketedMetastatementChildNodeFromMetastatementNode(metastatementNode) {
|
|
88
|
-
var bracketedMetastatementChildNode = null;
|
|
89
|
-
var depth = _constants.BRACKETED_METASTATEMENT_DEPTH, metastatementNodeMatchesBracketedMetastatementNode = metastatementNode.match(_bracketed1.default, depth);
|
|
90
|
-
if (metastatementNodeMatchesBracketedMetastatementNode) {
|
|
91
|
-
bracketedMetastatementChildNode = bracketedMetastatementChildNodeQuery(metastatementNode);
|
|
92
|
-
}
|
|
93
|
-
return bracketedMetastatementChildNode;
|
|
94
|
-
}
|
|
95
58
|
|
|
96
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWF0Y2guanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBicmFja2V0ZWRTdGF0ZW1lbnROb2RlIGZyb20gXCIuLi9ub2RlL3N0YXRlbWVudC9icmFja2V0ZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgQlJBQ0tFVEVEX1NUQVRFTUVOVF9ERVBUSCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcblxuY29uc3QgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc3RhdGVtZW50L3N0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXRjaFN0YXRlbWVudE1vZHVsb0JyYWNrZXRzKHN0YXRlbWVudE5vZGVBLCBzdGF0ZW1lbnROb2RlQikge1xuICBsZXQgc3RhdGVtZW50TWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGlmICghc3RhdGVtZW50TWF0Y2hlcykge1xuICAgIGNvbnN0IHN0YXRlbWVudE5vZGVNYXRjaGVzID0gc3RhdGVtZW50Tm9kZUEubWF0Y2goc3RhdGVtZW50Tm9kZUIpO1xuXG4gICAgc3RhdGVtZW50TWF0Y2hlcyA9IHN0YXRlbWVudE5vZGVNYXRjaGVzOyAgLy8vXG4gIH1cblxuICBpZiAoIXN0YXRlbWVudE1hdGNoZXMpIHtcbiAgICBjb25zdCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVBID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlRnJvbVN0YXRlbWVudE5vZGUoc3RhdGVtZW50Tm9kZUEpO1xuXG4gICAgaWYgKGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUEgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUFNYXRjaGVzU3RhdGVtZW50Tm9kZUIgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVBLm1hdGNoKHN0YXRlbWVudE5vZGVCKTtcblxuICAgICAgc3RhdGVtZW50TWF0Y2hlcyA9IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUFNYXRjaGVzU3RhdGVtZW50Tm9kZUI7IC8vL1xuICAgIH1cbiAgfVxuXG4gIGlmICghc3RhdGVtZW50TWF0Y2hlcykge1xuICAgIGNvbnN0IGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUIgPSBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlQik7XG5cbiAgICBpZiAoYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQiAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgc3RhdGVtZW50Tm9kZUFNYXRjaGVzQnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQiA9IHN0YXRlbWVudE5vZGVBLm1hdGNoKGJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUIpO1xuXG4gICAgICBzdGF0ZW1lbnRNYXRjaGVzID0gc3RhdGVtZW50Tm9kZUFNYXRjaGVzQnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQjsgLy8vXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0YXRlbWVudE1hdGNoZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVGcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKSB7XG4gIGxldCBicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUgPSBudWxsO1xuXG4gIGNvbnN0IGRlcHRoID0gQlJBQ0tFVEVEX1NUQVRFTUVOVF9ERVBUSCxcbiAgICAgICAgc3RhdGVtZW50Tm9kZU1hdGNoQnJhY2tldGVkU3RhdGVtZW50Tm9kZSA9IHN0YXRlbWVudE5vZGUubWF0Y2goYnJhY2tldGVkU3RhdGVtZW50Tm9kZSwgZGVwdGgpO1xuXG4gIGlmIChzdGF0ZW1lbnROb2RlTWF0Y2hCcmFja2V0ZWRTdGF0ZW1lbnROb2RlKSB7XG4gICAgYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlID0gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlUXVlcnkoc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlO1xufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUZyb21TdGF0ZW1lbnROb2RlIiwibWF0Y2hTdGF0ZW1lbnRNb2R1bG9CcmFja2V0cyIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RhdGVtZW50Tm9kZUEiLCJzdGF0ZW1lbnROb2RlQiIsInN0YXRlbWVudE1hdGNoZXMiLCJzdGF0ZW1lbnROb2RlTWF0Y2hlcyIsIm1hdGNoIiwiYnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQSIsImJyYWNrZXRlZFN0YXRlbWVudENoaWxkTm9kZUFNYXRjaGVzU3RhdGVtZW50Tm9kZUIiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGVCIiwic3RhdGVtZW50Tm9kZUFNYXRjaGVzQnJhY2tldGVkU3RhdGVtZW50Q2hpbGROb2RlQiIsInN0YXRlbWVudE5vZGUiLCJicmFja2V0ZWRTdGF0ZW1lbnRDaGlsZE5vZGUiLCJkZXB0aCIsIkJSQUNLRVRFRF9TVEFURU1FTlRfREVQVEgiLCJzdGF0ZW1lbnROb2RlTWF0Y2hCcmFja2V0ZWRTdGF0ZW1lbnROb2RlIiwiYnJhY2tldGVkU3RhdGVtZW50Tm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBeUNnQkEsNENBQTRDO2VBQTVDQTs7SUFoQ0FDLDRCQUE0QjtlQUE1QkE7OztnRUFQbUI7cUJBRVQ7eUJBQ2dCOzs7Ozs7QUFFMUMsSUFBTUMsbUNBQW1DQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTVDLFNBQVNGLDZCQUE2QkcsY0FBYyxFQUFFQyxjQUFjO0lBQ3pFLElBQUlDLG1CQUFtQjtJQUV2QixJQUFJLENBQUNBLGtCQUFrQjtRQUNyQixJQUFNQyx1QkFBdUJILGVBQWVJLEtBQUssQ0FBQ0g7UUFFbERDLG1CQUFtQkMsc0JBQXVCLEdBQUc7SUFDL0M7SUFFQSxJQUFJLENBQUNELGtCQUFrQjtRQUNyQixJQUFNRywrQkFBK0JULDZDQUE2Q0k7UUFFbEYsSUFBSUssaUNBQWlDLE1BQU07WUFDekMsSUFBTUMsb0RBQW9ERCw2QkFBNkJELEtBQUssQ0FBQ0g7WUFFN0ZDLG1CQUFtQkksbURBQW1ELEdBQUc7UUFDM0U7SUFDRjtJQUVBLElBQUksQ0FBQ0osa0JBQWtCO1FBQ3JCLElBQU1LLCtCQUErQlgsNkNBQTZDSztRQUVsRixJQUFJTSxpQ0FBaUMsTUFBTTtZQUN6QyxJQUFNQyxvREFBb0RSLGVBQWVJLEtBQUssQ0FBQ0c7WUFFL0VMLG1CQUFtQk0sbURBQW1ELEdBQUc7UUFDM0U7SUFDRjtJQUVBLE9BQU9OO0FBQ1Q7QUFFTyxTQUFTTiw2Q0FBNkNhLGFBQWE7SUFDeEUsSUFBSUMsOEJBQThCO0lBRWxDLElBQU1DLFFBQVFDLG9DQUF5QixFQUNqQ0MsMkNBQTJDSixjQUFjTCxLQUFLLENBQUNVLGtCQUFzQixFQUFFSDtJQUU3RixJQUFJRSwwQ0FBMEM7UUFDNUNILDhCQUE4QlosaUNBQWlDVztJQUNqRTtJQUVBLE9BQU9DO0FBQ1QifQ==
|
package/lib/utilities/node.js
CHANGED
|
@@ -12,12 +12,6 @@ _export(exports, {
|
|
|
12
12
|
constructorDeclarationNodeFromConstructorDeclarationTokens: function() {
|
|
13
13
|
return constructorDeclarationNodeFromConstructorDeclarationTokens;
|
|
14
14
|
},
|
|
15
|
-
metastatementNodeFromMetastatementString: function() {
|
|
16
|
-
return metastatementNodeFromMetastatementString;
|
|
17
|
-
},
|
|
18
|
-
metastatementNodeFromUnqualifiedMetastatementTokens: function() {
|
|
19
|
-
return metastatementNodeFromUnqualifiedMetastatementTokens;
|
|
20
|
-
},
|
|
21
15
|
metavariableNodeFromMetavariableString: function() {
|
|
22
16
|
return metavariableNodeFromMetavariableString;
|
|
23
17
|
},
|
|
@@ -33,9 +27,6 @@ _export(exports, {
|
|
|
33
27
|
termNodeFromConstructorDeclarationTokens: function() {
|
|
34
28
|
return termNodeFromConstructorDeclarationTokens;
|
|
35
29
|
},
|
|
36
|
-
unqualifiedMetastatementNodeFromUnqualifiedMetastatementTokens: function() {
|
|
37
|
-
return unqualifiedMetastatementNodeFromUnqualifiedMetastatementTokens;
|
|
38
|
-
},
|
|
39
30
|
unqualifiedStatementNodeFromUnqualifiedStatementTokens: function() {
|
|
40
31
|
return unqualifiedStatementNodeFromUnqualifiedStatementTokens;
|
|
41
32
|
},
|
|
@@ -56,7 +47,7 @@ var _ruleNames = require("../ruleNames");
|
|
|
56
47
|
var _tokens = require("../utilities/tokens");
|
|
57
48
|
var florenceParserFromCombinedCustomGrammar = _occamcustomgrammars.parsersUtilities.florenceParserFromCombinedCustomGrammar;
|
|
58
49
|
var combinedCustomGrammar = (0, _customGrammar.combinedCustomGrammarFromNothing)(), florenceParser = florenceParserFromCombinedCustomGrammar(combinedCustomGrammar);
|
|
59
|
-
var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term!"), variableNodeQuery = (0, _query.nodeQuery)("/variableDeclaration/variable!"), statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!")
|
|
50
|
+
var termNodeQuery = (0, _query.nodeQuery)("/constructorDeclaration/term!"), variableNodeQuery = (0, _query.nodeQuery)("/variableDeclaration/variable!"), statementNodeQuery = (0, _query.nodeQuery)("/unqualifiedStatement/statement!");
|
|
60
51
|
function variableNodeFromVariableString(variableString, lexer, parser) {
|
|
61
52
|
var variableTDeclarationTokens = (0, _tokens.variableDeclarationTokensFromVariableString)(variableString, lexer), variableNode = variableNodeFromVariableVariableTDeclarationTokens(variableTDeclarationTokens, parser);
|
|
62
53
|
return variableNode;
|
|
@@ -69,10 +60,6 @@ function metavariableNodeFromMetavariableString(metavariableString, lexer, parse
|
|
|
69
60
|
var metavariableTokens = (0, _tokens.metavariableTokensFromMetavariableString)(metavariableString, lexer), metavariableNode = metavariableNodeFromMetavariableTokens(metavariableTokens, parser);
|
|
70
61
|
return metavariableNode;
|
|
71
62
|
}
|
|
72
|
-
function metastatementNodeFromMetastatementString(metastatementString, lexer, parser) {
|
|
73
|
-
var unqualifiedMetastatementTokens = (0, _tokens.unqualifiedMetastatementTokensFromMetastatementString)(metastatementString, lexer), metastatementNode = metastatementNodeFromUnqualifiedMetastatementTokens(unqualifiedMetastatementTokens, parser);
|
|
74
|
-
return metastatementNode;
|
|
75
|
-
}
|
|
76
63
|
function termNodeFromConstructorDeclarationTokens(constructorDeclarationTokens, parser) {
|
|
77
64
|
var termNode = null;
|
|
78
65
|
var constructorDeclarationNode = constructorDeclarationNodeFromConstructorDeclarationTokens(constructorDeclarationTokens, parser);
|
|
@@ -97,14 +84,6 @@ function variableNodeFromVariableVariableTDeclarationTokens(variableTDeclaration
|
|
|
97
84
|
}
|
|
98
85
|
return variableNode;
|
|
99
86
|
}
|
|
100
|
-
function metastatementNodeFromUnqualifiedMetastatementTokens(unqualifiedMetastatementTokens, parser) {
|
|
101
|
-
var metastatementNode = null;
|
|
102
|
-
var unqualifiedMetastatementNode = unqualifiedMetastatementNodeFromUnqualifiedMetastatementTokens(unqualifiedMetastatementTokens, parser);
|
|
103
|
-
if (unqualifiedMetastatementNode !== null) {
|
|
104
|
-
metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode);
|
|
105
|
-
}
|
|
106
|
-
return metastatementNode;
|
|
107
|
-
}
|
|
108
87
|
function metavariableNodeFromMetavariableTokens(metavariableTokens, parser) {
|
|
109
88
|
var ruleName = _ruleNames.METAVARIABLE_RULE_NAME, metavariableNode = nodeFromTokensRuleNameAndParser(metavariableTokens, ruleName, parser);
|
|
110
89
|
return metavariableNode;
|
|
@@ -121,14 +100,10 @@ function constructorDeclarationNodeFromConstructorDeclarationTokens(constructorD
|
|
|
121
100
|
var ruleName = _ruleNames.CONSTRUCTOR_DECLARATION_RULE_NAME, constructorDeclarationNode = nodeFromTokensRuleNameAndParser(constructorDeclarationTokens, ruleName, parser);
|
|
122
101
|
return constructorDeclarationNode;
|
|
123
102
|
}
|
|
124
|
-
function unqualifiedMetastatementNodeFromUnqualifiedMetastatementTokens(unqualifiedMetastatementTokens, parser) {
|
|
125
|
-
var ruleName = _ruleNames.UNQUALIFIED_METASTATEMENT_RULE_NAME, unqualifiedMetastatementNode = nodeFromTokensRuleNameAndParser(unqualifiedMetastatementTokens, ruleName, parser);
|
|
126
|
-
return unqualifiedMetastatementNode;
|
|
127
|
-
}
|
|
128
103
|
function nodeFromTokensRuleNameAndParser(tokens, ruleName) {
|
|
129
104
|
var parser = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : florenceParser;
|
|
130
105
|
var ruleMap = parser.getRuleMap(), rule = ruleMap[ruleName], node = parser.parse(tokens, rule);
|
|
131
106
|
return node;
|
|
132
107
|
}
|
|
133
108
|
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICAgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgIFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgbWV0YXZhcmlhYmxlVG9rZW5zRnJvbU1ldGF2YXJpYWJsZVN0cmluZyxcbiAgICAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25Ub2tlbnNGcm9tVmFyaWFibGVTdHJpbmcsXG4gICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vuc0Zyb21TdGF0ZW1lbnRTdHJpbmcsXG4gICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRUb2tlbnNGcm9tTWV0YXN0YXRlbWVudFN0cmluZyB9IGZyb20gXCIuLi91dGlsaXRpZXMvdG9rZW5zXCI7XG5cbmNvbnN0IHsgZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBwYXJzZXJzVXRpbGl0aWVzO1xuXG5jb25zdCBjb21iaW5lZEN1c3RvbUdyYW1tYXIgPSBjb21iaW5lZEN1c3RvbUdyYW1tYXJGcm9tTm90aGluZygpLFxuICAgICAgZmxvcmVuY2VQYXJzZXIgPSBmbG9yZW5jZVBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb25zdHJ1Y3RvckRlY2xhcmF0aW9uL3Rlcm0hXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVEZWNsYXJhdGlvbi92YXJpYWJsZSFcIiksXG4gICAgICBzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRTdGF0ZW1lbnQvc3RhdGVtZW50IVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlU3RyaW5nKHZhcmlhYmxlU3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zID0gdmFyaWFibGVEZWNsYXJhdGlvblRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVWYXJpYWJsZVREZWNsYXJhdGlvblRva2Vucyh2YXJpYWJsZVREZWNsYXJhdGlvblRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIpLFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlU3RyaW5nKG1ldGF2YXJpYWJsZVN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCBtZXRhdmFyaWFibGVUb2tlbnMgPSBtZXRhdmFyaWFibGVUb2tlbnNGcm9tTWV0YXZhcmlhYmxlU3RyaW5nKG1ldGF2YXJpYWJsZVN0cmluZywgbGV4ZXIpLFxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVUb2tlbnMobWV0YXZhcmlhYmxlVG9rZW5zLCBwYXJzZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyhtZXRhc3RhdGVtZW50U3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2VucyA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2Vuc0Zyb21NZXRhc3RhdGVtZW50U3RyaW5nKG1ldGFzdGF0ZW1lbnRTdHJpbmcsIGxleGVyKSxcbiAgICAgICAgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRUb2tlbnModW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VG9rZW5zLCBwYXJzZXIpO1xuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRlcm1Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGxldCB0ZXJtTm9kZSA9IG51bGw7XG5cbiAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgPSBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMsIHBhcnNlcik7XG5cbiAgaWYgKGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlICE9PSBudWxsKSB7XG4gICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnModW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMsIHBhcnNlcikge1xuICBsZXQgc3RhdGVtZW50Tm9kZSA9IG51bGw7XG5cbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zLCBwYXJzZXIpO1xuXG4gIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgIT09IG51bGwpIHtcbiAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zKHZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpIHtcbiAgbGV0IHZhcmlhYmxlTm9kZSA9IG51bGw7XG5cbiAgY29uc3QgdmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgPSB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZUZyb21WYXJpYWJsZVREZWNsYXJhdGlvblRva2Vucyh2YXJpYWJsZVREZWNsYXJhdGlvblRva2VucywgcGFyc2VyKTtcblxuICBpZiAodmFyaWFibGVEZWNsYXJhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWV0YXN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2VucywgcGFyc2VyKSB7XG4gIGxldCBtZXRhc3RhdGVtZW50Tm9kZSA9IG51bGw7XG5cbiAgY29uc3QgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2VucywgcGFyc2VyKTtcblxuICBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlVG9rZW5zKG1ldGF2YXJpYWJsZVRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gTUVUQVZBUklBQkxFX1JVTEVfTkFNRSxcbiAgICAgICAgbWV0YXZhcmlhYmxlTm9kZSA9IG5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIobWV0YXZhcmlhYmxlVG9rZW5zLCBydWxlTmFtZSwgcGFyc2VyKTtcblxuICByZXR1cm4gbWV0YXZhcmlhYmxlTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlRnJvbVZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zKHZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gICAgICAgIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih2YXJpYWJsZVREZWNsYXJhdGlvblRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zKHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zLCBydWxlTmFtZSwgcGFyc2VyKTtcblxuICByZXR1cm4gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGVGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucyhjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpIHtcbiAgY29uc3QgcnVsZU5hbWUgPSBDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUsXG4gICAgICAgIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcihjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zLCBydWxlTmFtZSwgcGFyc2VyKTtcblxuICByZXR1cm4gY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRUb2tlbnMsIHBhcnNlcikge1xuICBjb25zdCBydWxlTmFtZSA9IFVOUVVBTElGSUVEX01FVEFTVEFURU1FTlRfUlVMRV9OQU1FLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRUb2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlO1xufVxuXG5mdW5jdGlvbiBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHRva2VucywgcnVsZU5hbWUsIHBhcnNlciA9IGZsb3JlbmNlUGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlID0gcnVsZU1hcFtydWxlTmFtZV0sXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBydWxlKTtcblxuICByZXR1cm4gbm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwibWV0YXN0YXRlbWVudE5vZGVGcm9tTWV0YXN0YXRlbWVudFN0cmluZyIsIm1ldGFzdGF0ZW1lbnROb2RlRnJvbVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2VucyIsIm1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVUb2tlbnMiLCJzdGF0ZW1lbnROb2RlRnJvbVN0YXRlbWVudFN0cmluZyIsInN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ0ZXJtTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRUb2tlbnMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZUZyb21WYXJpYWJsZVREZWNsYXJhdGlvblRva2VucyIsInZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVN0cmluZyIsInZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zIiwiZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2Vyc1V0aWxpdGllcyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIiwiZmxvcmVuY2VQYXJzZXIiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwidmFyaWFibGVTdHJpbmciLCJsZXhlciIsInBhcnNlciIsInZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zIiwidmFyaWFibGVEZWNsYXJhdGlvblRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyIsInZhcmlhYmxlTm9kZSIsInN0YXRlbWVudFN0cmluZyIsInVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nIiwic3RhdGVtZW50Tm9kZSIsIm1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZVRva2VucyIsIm1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOb2RlIiwibWV0YXN0YXRlbWVudFN0cmluZyIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2VucyIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFRva2Vuc0Zyb21NZXRhc3RhdGVtZW50U3RyaW5nIiwibWV0YXN0YXRlbWVudE5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwidGVybU5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSIsInJ1bGVOYW1lIiwiTUVUQVZBUklBQkxFX1JVTEVfTkFNRSIsIm5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIiLCJWQVJJQUJMRV9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJVTlFVQUxJRklFRF9TVEFURU1FTlRfUlVMRV9OQU1FIiwiQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FIiwiVU5RVUFMSUZJRURfTUVUQVNUQVRFTUVOVF9SVUxFX05BTUUiLCJ0b2tlbnMiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInJ1bGUiLCJub2RlIiwicGFyc2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQTJIZ0JBLDBEQUEwRDtlQUExREE7O0lBNUVBQyx3Q0FBd0M7ZUFBeENBOztJQTJDQUMsbURBQW1EO2VBQW5EQTs7SUFsREFDLHNDQUFzQztlQUF0Q0E7O0lBOERBQyxzQ0FBc0M7ZUFBdENBOztJQXJFQUMsZ0NBQWdDO2VBQWhDQTs7SUFpQ0FDLDJDQUEyQztlQUEzQ0E7O0lBWkFDLHdDQUF3QztlQUF4Q0E7O0lBNEVBQyw4REFBOEQ7ZUFBOURBOztJQWRBQyxzREFBc0Q7ZUFBdERBOztJQVBBQyxxREFBcUQ7ZUFBckRBOztJQW5GQUMsOEJBQThCO2VBQTlCQTs7SUFvREFDLGtEQUFrRDtlQUFsREE7OzttQ0E1RWlCO3FCQUVQOzZCQUN1Qjt5QkFLRztzQkFJa0I7QUFFdEUsSUFBTSxBQUFFQywwQ0FBNENDLHFDQUFnQixDQUE1REQ7QUFFUixJQUFNRSx3QkFBd0JDLElBQUFBLCtDQUFnQyxLQUN4REMsaUJBQWlCSix3Q0FBd0NFO0FBRS9ELElBQU1HLGdCQUFnQkMsSUFBQUEsZ0JBQVMsRUFBQyxrQ0FDMUJDLG9CQUFvQkQsSUFBQUEsZ0JBQVMsRUFBQyxtQ0FDOUJFLHFCQUFxQkYsSUFBQUEsZ0JBQVMsRUFBQyxxQ0FDL0JHLHlCQUF5QkgsSUFBQUEsZ0JBQVMsRUFBQztBQUVsQyxTQUFTUiwrQkFBK0JZLGNBQWMsRUFBRUMsS0FBSyxFQUFFQyxNQUFNO0lBQzFFLElBQU1DLDZCQUE2QkMsSUFBQUEsbURBQTJDLEVBQUNKLGdCQUFnQkMsUUFDekZJLGVBQWVoQixtREFBbURjLDRCQUE0QkQ7SUFFcEcsT0FBT0c7QUFDVDtBQUVPLFNBQVN2QixpQ0FBaUN3QixlQUFlLEVBQUVMLEtBQUssRUFBRUMsTUFBTTtJQUM3RSxJQUFNSyw2QkFBNkJDLElBQUFBLHFEQUE2QyxFQUFDRixpQkFBaUJMLFFBQzVGUSxnQkFBZ0IxQiw0Q0FBNEN3Qiw0QkFBNEJMO0lBRTlGLE9BQU9PO0FBQ1Q7QUFFTyxTQUFTN0IsdUNBQXVDOEIsa0JBQWtCLEVBQUVULEtBQUssRUFBRUMsTUFBTTtJQUN0RixJQUFNUyxxQkFBcUJDLElBQUFBLGdEQUF3QyxFQUFDRixvQkFBb0JULFFBQ2xGWSxtQkFBbUJoQyx1Q0FBdUM4QixvQkFBb0JUO0lBRXBGLE9BQU9XO0FBQ1Q7QUFFTyxTQUFTbkMseUNBQXlDb0MsbUJBQW1CLEVBQUViLEtBQUssRUFBRUMsTUFBTTtJQUN6RixJQUFNYSxpQ0FBaUNDLElBQUFBLDZEQUFxRCxFQUFDRixxQkFBcUJiLFFBQzVHZ0Isb0JBQW9CdEMsb0RBQW9Eb0MsZ0NBQWdDYjtJQUU5RyxPQUFPZTtBQUNUO0FBRU8sU0FBU2pDLHlDQUF5Q2tDLDRCQUE0QixFQUFFaEIsTUFBTTtJQUMzRixJQUFJaUIsV0FBVztJQUVmLElBQU1DLDZCQUE2QjNDLDJEQUEyRHlDLDhCQUE4QmhCO0lBRTVILElBQUlrQiwrQkFBK0IsTUFBTTtRQUN2Q0QsV0FBV3hCLGNBQWN5QjtJQUMzQjtJQUVBLE9BQU9EO0FBQ1Q7QUFFTyxTQUFTcEMsNENBQTRDd0IsMEJBQTBCLEVBQUVMLE1BQU07SUFDNUYsSUFBSU8sZ0JBQWdCO0lBRXBCLElBQU1ZLDJCQUEyQm5DLHVEQUF1RHFCLDRCQUE0Qkw7SUFFcEgsSUFBSW1CLDZCQUE2QixNQUFNO1FBQ3JDWixnQkFBZ0JYLG1CQUFtQnVCO0lBQ3JDO0lBRUEsT0FBT1o7QUFDVDtBQUVPLFNBQVNwQixtREFBbURjLDBCQUEwQixFQUFFRCxNQUFNO0lBQ25HLElBQUlHLGVBQWU7SUFFbkIsSUFBTWlCLDBCQUEwQm5DLHNEQUFzRGdCLDRCQUE0QkQ7SUFFbEgsSUFBSW9CLDRCQUE0QixNQUFNO1FBQ3BDakIsZUFBZVIsa0JBQWtCeUI7SUFDbkM7SUFFQSxPQUFPakI7QUFDVDtBQUVPLFNBQVMxQixvREFBb0RvQyw4QkFBOEIsRUFBRWIsTUFBTTtJQUN4RyxJQUFJZSxvQkFBb0I7SUFFeEIsSUFBTU0sK0JBQStCdEMsK0RBQStEOEIsZ0NBQWdDYjtJQUVwSSxJQUFJcUIsaUNBQWlDLE1BQU07UUFDekNOLG9CQUFvQmxCLHVCQUF1QndCO0lBQzdDO0lBRUEsT0FBT047QUFDVDtBQUVPLFNBQVNwQyx1Q0FBdUM4QixrQkFBa0IsRUFBRVQsTUFBTTtJQUMvRSxJQUFNc0IsV0FBV0MsaUNBQXNCLEVBQ2pDWixtQkFBbUJhLGdDQUFnQ2Ysb0JBQW9CYSxVQUFVdEI7SUFFdkYsT0FBT1c7QUFDVDtBQUVPLFNBQVMxQixzREFBc0RnQiwwQkFBMEIsRUFBRUQsTUFBTTtJQUN0RyxJQUFNc0IsV0FBV0cseUNBQThCLEVBQ3pDTCwwQkFBMEJJLGdDQUFnQ3ZCLDRCQUE0QnFCLFVBQVV0QjtJQUV0RyxPQUFPb0I7QUFDVDtBQUVPLFNBQVNwQyx1REFBdURxQiwwQkFBMEIsRUFBRUwsTUFBTTtJQUN2RyxJQUFNc0IsV0FBV0ksMENBQStCLEVBQzFDUCwyQkFBMkJLLGdDQUFnQ25CLDRCQUE0QmlCLFVBQVV0QjtJQUV2RyxPQUFPbUI7QUFDVDtBQUVPLFNBQVM1QywyREFBMkR5Qyw0QkFBNEIsRUFBRWhCLE1BQU07SUFDN0csSUFBTXNCLFdBQVdLLDRDQUFpQyxFQUM1Q1QsNkJBQTZCTSxnQ0FBZ0NSLDhCQUE4Qk0sVUFBVXRCO0lBRTNHLE9BQU9rQjtBQUNUO0FBRU8sU0FBU25DLCtEQUErRDhCLDhCQUE4QixFQUFFYixNQUFNO0lBQ25ILElBQU1zQixXQUFXTSw4Q0FBbUMsRUFDOUNQLCtCQUErQkcsZ0NBQWdDWCxnQ0FBZ0NTLFVBQVV0QjtJQUUvRyxPQUFPcUI7QUFDVDtBQUVBLFNBQVNHLGdDQUFnQ0ssTUFBTSxFQUFFUCxRQUFRO1FBQUV0QixTQUFBQSxpRUFBU1I7SUFDbEUsSUFBTXNDLFVBQVU5QixPQUFPK0IsVUFBVSxJQUMzQkMsT0FBT0YsT0FBTyxDQUFDUixTQUFTLEVBQ3hCVyxPQUFPakMsT0FBT2tDLEtBQUssQ0FBQ0wsUUFBUUc7SUFFbEMsT0FBT0M7QUFDVCJ9
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgcGFyc2Vyc1V0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1jdXN0b20tZ3JhbW1hcnNcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmcgfSBmcm9tIFwiLi9jdXN0b21HcmFtbWFyXCI7XG5pbXBvcnQgeyBNRVRBVkFSSUFCTEVfUlVMRV9OQU1FLFxuICAgICAgICAgVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICAgVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgIENPTlNUUlVDVE9SX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IG1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmcsXG4gICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zRnJvbVZhcmlhYmxlU3RyaW5nLFxuICAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nIH0gZnJvbSBcIi4uL3V0aWxpdGllcy90b2tlbnNcIjtcblxuY29uc3QgeyBmbG9yZW5jZVBhcnNlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIgfSA9IHBhcnNlcnNVdGlsaXRpZXM7XG5cbmNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICBmbG9yZW5jZVBhcnNlciA9IGZsb3JlbmNlUGFyc2VyRnJvbUNvbWJpbmVkQ3VzdG9tR3JhbW1hcihjb21iaW5lZEN1c3RvbUdyYW1tYXIpO1xuXG5jb25zdCB0ZXJtTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbnN0cnVjdG9yRGVjbGFyYXRpb24vdGVybSFcIiksXG4gICAgICB2YXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZURlY2xhcmF0aW9uL3ZhcmlhYmxlIVwiKSxcbiAgICAgIHN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZFN0YXRlbWVudC9zdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlU3RyaW5nKHZhcmlhYmxlU3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zID0gdmFyaWFibGVEZWNsYXJhdGlvblRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyh2YXJpYWJsZVN0cmluZywgbGV4ZXIpLFxuICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVGcm9tVmFyaWFibGVWYXJpYWJsZVREZWNsYXJhdGlvblRva2Vucyh2YXJpYWJsZVREZWNsYXJhdGlvblRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50Tm9kZUZyb21TdGF0ZW1lbnRTdHJpbmcoc3RhdGVtZW50U3RyaW5nLCBsZXhlciwgcGFyc2VyKSB7XG4gIGNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIpLFxuICAgICAgICBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKTtcblxuICByZXR1cm4gc3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZU5vZGVGcm9tTWV0YXZhcmlhYmxlU3RyaW5nKG1ldGF2YXJpYWJsZVN0cmluZywgbGV4ZXIsIHBhcnNlcikge1xuICBjb25zdCBtZXRhdmFyaWFibGVUb2tlbnMgPSBtZXRhdmFyaWFibGVUb2tlbnNGcm9tTWV0YXZhcmlhYmxlU3RyaW5nKG1ldGF2YXJpYWJsZVN0cmluZywgbGV4ZXIpLFxuICAgICAgICBtZXRhdmFyaWFibGVOb2RlID0gbWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVUb2tlbnMobWV0YXZhcmlhYmxlVG9rZW5zLCBwYXJzZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVOb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdGVybU5vZGVGcm9tQ29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucyhjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpIHtcbiAgbGV0IHRlcm1Ob2RlID0gbnVsbDtcblxuICBjb25zdCBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSA9IGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKTtcblxuICBpZiAoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUgIT09IG51bGwpIHtcbiAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkoY29uc3RydWN0b3JEZWNsYXJhdGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHRlcm1Ob2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKSB7XG4gIGxldCBzdGF0ZW1lbnROb2RlID0gbnVsbDtcblxuICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnModW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMsIHBhcnNlcik7XG5cbiAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGF0ZW1lbnROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmFyaWFibGVOb2RlRnJvbVZhcmlhYmxlVmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnModmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnMsIHBhcnNlcikge1xuICBsZXQgdmFyaWFibGVOb2RlID0gbnVsbDtcblxuICBjb25zdCB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSA9IHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlRnJvbVZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zKHZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zLCBwYXJzZXIpO1xuXG4gIGlmICh2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSAhPT0gbnVsbCkge1xuICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB2YXJpYWJsZU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVRva2VucyhtZXRhdmFyaWFibGVUb2tlbnMsIHBhcnNlcikge1xuICBjb25zdCBydWxlTmFtZSA9IE1FVEFWQVJJQUJMRV9SVUxFX05BTUUsXG4gICAgICAgIG1ldGF2YXJpYWJsZU5vZGUgPSBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKG1ldGF2YXJpYWJsZVRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZU5vZGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZUZyb21WYXJpYWJsZVREZWNsYXJhdGlvblRva2Vucyh2YXJpYWJsZVREZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVkFSSUFCTEVfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZSA9IG5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIodmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnMsIHJ1bGVOYW1lLCBwYXJzZXIpO1xuXG4gIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uTm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2Vucyh1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gVU5RVUFMSUZJRURfU1RBVEVNRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gbm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlcih1bnF1YWxpZmllZFN0YXRlbWVudFRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVOYW1lID0gQ09OU1RSVUNUT1JfREVDTEFSQVRJT05fUlVMRV9OQU1FLFxuICAgICAgICBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSA9IG5vZGVGcm9tVG9rZW5zUnVsZU5hbWVBbmRQYXJzZXIoY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucywgcnVsZU5hbWUsIHBhcnNlcik7XG5cbiAgcmV0dXJuIGNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ob2RlO1xufVxuXG5mdW5jdGlvbiBub2RlRnJvbVRva2Vuc1J1bGVOYW1lQW5kUGFyc2VyKHRva2VucywgcnVsZU5hbWUsIHBhcnNlciA9IGZsb3JlbmNlUGFyc2VyKSB7XG4gIGNvbnN0IHJ1bGVNYXAgPSBwYXJzZXIuZ2V0UnVsZU1hcCgpLFxuICAgICAgICBydWxlID0gcnVsZU1hcFtydWxlTmFtZV0sXG4gICAgICAgIG5vZGUgPSBwYXJzZXIucGFyc2UodG9rZW5zLCBydWxlKTtcblxuICByZXR1cm4gbm9kZTtcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZUZyb21Db25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwibWV0YXZhcmlhYmxlTm9kZUZyb21NZXRhdmFyaWFibGVTdHJpbmciLCJtZXRhdmFyaWFibGVOb2RlRnJvbU1ldGF2YXJpYWJsZVRva2VucyIsInN0YXRlbWVudE5vZGVGcm9tU3RhdGVtZW50U3RyaW5nIiwic3RhdGVtZW50Tm9kZUZyb21VbnF1YWxpZmllZFN0YXRlbWVudFRva2VucyIsInRlcm1Ob2RlRnJvbUNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVGcm9tVW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uTm9kZUZyb21WYXJpYWJsZVREZWNsYXJhdGlvblRva2VucyIsInZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVN0cmluZyIsInZhcmlhYmxlTm9kZUZyb21WYXJpYWJsZVZhcmlhYmxlVERlY2xhcmF0aW9uVG9rZW5zIiwiZmxvcmVuY2VQYXJzZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwicGFyc2Vyc1V0aWxpdGllcyIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hciIsImNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIiwiZmxvcmVuY2VQYXJzZXIiLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJzdGF0ZW1lbnROb2RlUXVlcnkiLCJ2YXJpYWJsZVN0cmluZyIsImxleGVyIiwicGFyc2VyIiwidmFyaWFibGVURGVjbGFyYXRpb25Ub2tlbnMiLCJ2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zRnJvbVZhcmlhYmxlU3RyaW5nIiwidmFyaWFibGVOb2RlIiwic3RhdGVtZW50U3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMiLCJ1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vuc0Zyb21TdGF0ZW1lbnRTdHJpbmciLCJzdGF0ZW1lbnROb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibWV0YXZhcmlhYmxlVG9rZW5zIiwibWV0YXZhcmlhYmxlVG9rZW5zRnJvbU1ldGF2YXJpYWJsZVN0cmluZyIsIm1ldGF2YXJpYWJsZU5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zIiwidGVybU5vZGUiLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uTm9kZSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSIsInZhcmlhYmxlRGVjbGFyYXRpb25Ob2RlIiwicnVsZU5hbWUiLCJNRVRBVkFSSUFCTEVfUlVMRV9OQU1FIiwibm9kZUZyb21Ub2tlbnNSdWxlTmFtZUFuZFBhcnNlciIsIlZBUklBQkxFX0RFQ0xBUkFUSU9OX1JVTEVfTkFNRSIsIlVOUVVBTElGSUVEX1NUQVRFTUVOVF9SVUxFX05BTUUiLCJDT05TVFJVQ1RPUl9ERUNMQVJBVElPTl9SVUxFX05BTUUiLCJ0b2tlbnMiLCJydWxlTWFwIiwiZ2V0UnVsZU1hcCIsInJ1bGUiLCJub2RlIiwicGFyc2UiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQXFHZ0JBLDBEQUEwRDtlQUExREE7O0lBaEVBQyxzQ0FBc0M7ZUFBdENBOztJQTJDQUMsc0NBQXNDO2VBQXRDQTs7SUFsREFDLGdDQUFnQztlQUFoQ0E7O0lBMEJBQywyQ0FBMkM7ZUFBM0NBOztJQVpBQyx3Q0FB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
|
package/lib/utilities/tokens.js
CHANGED
|
@@ -15,9 +15,6 @@ _export(exports, {
|
|
|
15
15
|
metavariableTokensFromMetavariableString: function() {
|
|
16
16
|
return metavariableTokensFromMetavariableString;
|
|
17
17
|
},
|
|
18
|
-
unqualifiedMetastatementTokensFromMetastatementString: function() {
|
|
19
|
-
return unqualifiedMetastatementTokensFromMetastatementString;
|
|
20
|
-
},
|
|
21
18
|
unqualifiedStatementTokensFromStatementString: function() {
|
|
22
19
|
return unqualifiedStatementTokensFromStatementString;
|
|
23
20
|
},
|
|
@@ -45,14 +42,10 @@ function unqualifiedStatementTokensFromStatementString(statementString, lexer) {
|
|
|
45
42
|
var unqualifiedStatementContent = "".concat(statementString, "\n"), unqualifiedStatementTokens = tokensFromContentAndLexer(unqualifiedStatementContent, lexer);
|
|
46
43
|
return unqualifiedStatementTokens;
|
|
47
44
|
}
|
|
48
|
-
function unqualifiedMetastatementTokensFromMetastatementString(metastatementString, lexer) {
|
|
49
|
-
var unqualifiedMetastatementContent = "".concat(metastatementString, "\n"), unqualifiedMetastatementTokens = tokensFromContentAndLexer(unqualifiedMetastatementContent, lexer);
|
|
50
|
-
return unqualifiedMetastatementTokens;
|
|
51
|
-
}
|
|
52
45
|
function tokensFromContentAndLexer(content) {
|
|
53
46
|
var lexer = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : florenceLexer;
|
|
54
47
|
var tokens = lexer.tokenise(content);
|
|
55
48
|
return tokens;
|
|
56
49
|
}
|
|
57
50
|
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdG9rZW5zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBsZXhlcnNVdGlsaXRpZXMgfSBmcm9tIFwib2NjYW0tY3VzdG9tLWdyYW1tYXJzXCI7XG5cbmltcG9ydCB7IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nIH0gZnJvbSBcIi4vY3VzdG9tR3JhbW1hclwiO1xuXG5jb25zdCB7IGZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIH0gPSBsZXhlcnNVdGlsaXRpZXM7XG5cbmNvbnN0IGNvbWJpbmVkQ3VzdG9tR3JhbW1hciA9IGNvbWJpbmVkQ3VzdG9tR3JhbW1hckZyb21Ob3RoaW5nKCksXG4gICAgICBmbG9yZW5jZUxleGVyID0gZmxvcmVuY2VMZXhlckZyb21Db21iaW5lZEN1c3RvbUdyYW1tYXIoY29tYmluZWRDdXN0b21HcmFtbWFyKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZVRva2Vuc0Zyb21NZXRhdmFyaWFibGVTdHJpbmcobWV0YXZhcmlhYmxlU3RyaW5nLCBsZXhlcikge1xuICBjb25zdCBtZXRhdmFyaWFibGVDb250ZW50ID0gYCR7bWV0YXZhcmlhYmxlU3RyaW5nfWAsXG4gICAgICAgIG1ldGF2YXJpYWJsZVRva2VucyA9IHRva2Vuc0Zyb21Db250ZW50QW5kTGV4ZXIobWV0YXZhcmlhYmxlQ29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiBtZXRhdmFyaWFibGVUb2tlbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbVRlcm1TdHJpbmcodGVybVN0cmluZywgbGV4ZXIpIHtcbiAgY29uc3QgY29uc3RydWN0b3JEZWNsYXJhdGlvbkNvbnRlbnQgPSBgQ29uc3RydWN0b3IgJHt0ZXJtU3RyaW5nfVxuYCxcbiAgICAgICAgY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2VucyA9IHRva2Vuc0Zyb21Db250ZW50QW5kTGV4ZXIoY29uc3RydWN0b3JEZWNsYXJhdGlvbkNvbnRlbnQsIGxleGVyKTtcblxuICByZXR1cm4gY29uc3RydWN0b3JEZWNsYXJhdGlvblRva2Vucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlRGVjbGFyYXRpb25Ub2tlbnNGcm9tVmFyaWFibGVTdHJpbmcodmFyaWFibGVTdHJpbmcsIGxleGVyKSB7XG4gIGNvbnN0IHZhcmlhYmxlRGVjbGFyYXRpb25Db250ZW50ID0gYFZhcmlhYmxlICR7dmFyaWFibGVTdHJpbmd9XG5gLFxuICAgICAgICB2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zID0gdG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlcih2YXJpYWJsZURlY2xhcmF0aW9uQ29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiB2YXJpYWJsZURlY2xhcmF0aW9uVG9rZW5zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nKHN0YXRlbWVudFN0cmluZywgbGV4ZXIpIHtcbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnRDb250ZW50ID0gYCR7c3RhdGVtZW50U3RyaW5nfVxuYCxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnMgPSB0b2tlbnNGcm9tQ29udGVudEFuZExleGVyKHVucXVhbGlmaWVkU3RhdGVtZW50Q29udGVudCwgbGV4ZXIpO1xuXG4gIHJldHVybiB1bnF1YWxpZmllZFN0YXRlbWVudFRva2Vucztcbn1cblxuZnVuY3Rpb24gdG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlcihjb250ZW50LCBsZXhlciA9IGZsb3JlbmNlTGV4ZXIpIHtcbiAgY29uc3QgdG9rZW5zID0gbGV4ZXIudG9rZW5pc2UoY29udGVudCk7XG5cbiAgcmV0dXJuIHRva2Vucztcbn1cbiJdLCJuYW1lcyI6WyJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uVG9rZW5zRnJvbVRlcm1TdHJpbmciLCJtZXRhdmFyaWFibGVUb2tlbnNGcm9tTWV0YXZhcmlhYmxlU3RyaW5nIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRUb2tlbnNGcm9tU3RhdGVtZW50U3RyaW5nIiwidmFyaWFibGVEZWNsYXJhdGlvblRva2Vuc0Zyb21WYXJpYWJsZVN0cmluZyIsImZsb3JlbmNlTGV4ZXJGcm9tQ29tYmluZWRDdXN0b21HcmFtbWFyIiwibGV4ZXJzVXRpbGl0aWVzIiwiY29tYmluZWRDdXN0b21HcmFtbWFyIiwiY29tYmluZWRDdXN0b21HcmFtbWFyRnJvbU5vdGhpbmciLCJmbG9yZW5jZUxleGVyIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwibGV4ZXIiLCJtZXRhdmFyaWFibGVDb250ZW50IiwibWV0YXZhcmlhYmxlVG9rZW5zIiwidG9rZW5zRnJvbUNvbnRlbnRBbmRMZXhlciIsInRlcm1TdHJpbmciLCJjb25zdHJ1Y3RvckRlY2xhcmF0aW9uQ29udGVudCIsImNvbnN0cnVjdG9yRGVjbGFyYXRpb25Ub2tlbnMiLCJ2YXJpYWJsZVN0cmluZyIsInZhcmlhYmxlRGVjbGFyYXRpb25Db250ZW50IiwidmFyaWFibGVEZWNsYXJhdGlvblRva2VucyIsInN0YXRlbWVudFN0cmluZyIsInVucXVhbGlmaWVkU3RhdGVtZW50Q29udGVudCIsInVucXVhbGlmaWVkU3RhdGVtZW50VG9rZW5zIiwiY29udGVudCIsInRva2VucyIsInRva2VuaXNlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFrQmdCQSwwQ0FBMEM7ZUFBMUNBOztJQVBBQyx3Q0FBd0M7ZUFBeENBOztJQXVCQUMsNkNBQTZDO2VBQTdDQTs7SUFSQUMsMkNBQTJDO2VBQTNDQTs7O21DQXhCZ0I7NkJBRWlCO0FBRWpELElBQU0sQUFBRUMseUNBQTJDQyxvQ0FBZSxDQUExREQ7QUFFUixJQUFNRSx3QkFBd0JDLElBQUFBLCtDQUFnQyxLQUN4REMsZ0JBQWdCSix1Q0FBdUNFO0FBRXRELFNBQVNMLHlDQUF5Q1Esa0JBQWtCLEVBQUVDLEtBQUs7SUFDaEYsSUFBTUMsc0JBQXNCLEFBQUMsR0FBcUIsT0FBbkJGLHFCQUN6QkcscUJBQXFCQywwQkFBMEJGLHFCQUFxQkQ7SUFFMUUsT0FBT0U7QUFDVDtBQUVPLFNBQVNaLDJDQUEyQ2MsVUFBVSxFQUFFSixLQUFLO0lBQzFFLElBQU1LLGdDQUFnQyxBQUFDLGVBQXlCLE9BQVhELFlBQVcsT0FFMURFLCtCQUErQkgsMEJBQTBCRSwrQkFBK0JMO0lBRTlGLE9BQU9NO0FBQ1Q7QUFFTyxTQUFTYiw0Q0FBNENjLGNBQWMsRUFBRVAsS0FBSztJQUMvRSxJQUFNUSw2QkFBNkIsQUFBQyxZQUEwQixPQUFmRCxnQkFBZSxPQUV4REUsNEJBQTRCTiwwQkFBMEJLLDRCQUE0QlI7SUFFeEYsT0FBT1M7QUFDVDtBQUVPLFNBQVNqQiw4Q0FBOENrQixlQUFlLEVBQUVWLEtBQUs7SUFDbEYsSUFBTVcsOEJBQThCLEFBQUMsR0FBa0IsT0FBaEJELGlCQUFnQixPQUVqREUsNkJBQTZCVCwwQkFBMEJRLDZCQUE2Qlg7SUFFMUYsT0FBT1k7QUFDVDtBQUVBLFNBQVNULDBCQUEwQlUsT0FBTztRQUFFYixRQUFBQSxpRUFBUUY7SUFDbEQsSUFBTWdCLFNBQVNkLE1BQU1lLFFBQVEsQ0FBQ0Y7SUFFOUIsT0FBT0M7QUFDVCJ9
|
package/lib/utilities/verify.js
CHANGED
|
@@ -2,34 +2,18 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", {
|
|
3
3
|
value: true
|
|
4
4
|
});
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
_export(exports, {
|
|
12
|
-
isMetastatementNegated: function() {
|
|
13
|
-
return isMetastatementNegated;
|
|
14
|
-
},
|
|
15
|
-
isStatementNegated: function() {
|
|
16
|
-
return isStatementNegated;
|
|
5
|
+
Object.defineProperty(exports, "isAssertionNegated", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return isAssertionNegated;
|
|
17
9
|
}
|
|
18
10
|
});
|
|
19
11
|
var _constants = require("../constants");
|
|
20
12
|
var _query = require("../utilities/query");
|
|
21
13
|
var secondOperatorTerminalNodeQuery = (0, _query.nodeQuery)("/*/@operator[1]");
|
|
22
|
-
function
|
|
23
|
-
var
|
|
24
|
-
return
|
|
25
|
-
}
|
|
26
|
-
function isMetastatementNegated(metastatementNode) {
|
|
27
|
-
var node = metastatementNode, negated = isNegated(node), statementNegated = negated; ///
|
|
28
|
-
return statementNegated;
|
|
29
|
-
}
|
|
30
|
-
function isNegated(node) {
|
|
31
|
-
var secondOperatorTerminalNode = secondOperatorTerminalNodeQuery(node), content = secondOperatorTerminalNode.getContent(), negated = content === _constants.NOT;
|
|
32
|
-
return negated;
|
|
14
|
+
function isAssertionNegated(assertionNode) {
|
|
15
|
+
var secondOperatorTerminalNode = secondOperatorTerminalNodeQuery(assertionNode), content = secondOperatorTerminalNode.getContent(), assertionNegated = content === _constants.NOT;
|
|
16
|
+
return assertionNegated;
|
|
33
17
|
}
|
|
34
18
|
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyaWZ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBOT1QgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHNlY29uZE9wZXJhdG9yVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvKi9Ab3BlcmF0b3JbMV1cIik7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Fzc2VydGlvbk5lZ2F0ZWQoYXNzZXJ0aW9uTm9kZSkge1xuICBjb25zdCBzZWNvbmRPcGVyYXRvclRlcm1pbmFsTm9kZSA9IHNlY29uZE9wZXJhdG9yVGVybWluYWxOb2RlUXVlcnkoYXNzZXJ0aW9uTm9kZSksXG4gICAgICAgIGNvbnRlbnQgPSBzZWNvbmRPcGVyYXRvclRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGFzc2VydGlvbk5lZ2F0ZWQgPSAoY29udGVudCA9PT0gTk9UKTtcblxuICByZXR1cm4gYXNzZXJ0aW9uTmVnYXRlZDtcbn1cbiJdLCJuYW1lcyI6WyJpc0Fzc2VydGlvbk5lZ2F0ZWQiLCJzZWNvbmRPcGVyYXRvclRlcm1pbmFsTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwiYXNzZXJ0aW9uTm9kZSIsInNlY29uZE9wZXJhdG9yVGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJhc3NlcnRpb25OZWdhdGVkIiwiTk9UIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFPZ0JBOzs7ZUFBQUE7Ozt5QkFMSTtxQkFDTTtBQUUxQixJQUFNQyxrQ0FBa0NDLElBQUFBLGdCQUFTLEVBQUM7QUFFM0MsU0FBU0YsbUJBQW1CRyxhQUFhO0lBQzlDLElBQU1DLDZCQUE2QkgsZ0NBQWdDRSxnQkFDN0RFLFVBQVVELDJCQUEyQkUsVUFBVSxJQUMvQ0MsbUJBQW9CRixZQUFZRyxjQUFHO0lBRXpDLE9BQU9EO0FBQ1QifQ==
|