occam-verify-cli 0.0.844 → 0.0.846
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/assignment/equality.js +4 -4
- package/lib/assignment/variable.js +4 -4
- package/lib/conclusion.js +5 -5
- package/lib/context/local.js +14 -1
- package/lib/equality.js +5 -3
- package/lib/equivalence.js +17 -17
- package/lib/mixins/nodesVerifier/intrinsiclevel.js +2 -2
- package/lib/mixins/nodesVerifier/metaLevel.js +2 -2
- package/lib/premise.js +6 -5
- package/lib/substitution/statementForMetavariable.js +29 -9
- package/lib/substitution/termForVariable.js +8 -1
- package/lib/term.js +9 -9
- package/lib/utilities/array.js +1 -11
- package/lib/utilities/equivalences.js +14 -14
- package/lib/verifier/node/metastatement.js +5 -4
- package/lib/verifier/node/statementAsCombinator.js +6 -6
- package/lib/verifier/node/termAsConstructor.js +5 -5
- package/lib/verifier/nodes/metaLevel.js +7 -7
- package/lib/verifier/nodes/metaLevelToIntrinsicLevel.js +30 -31
- package/lib/verifier/nodes/statementAgainstCombinator.js +11 -11
- package/lib/verifier/nodes/substitution.js +223 -0
- package/lib/verifier/nodes/termAgainstConstructor.js +10 -10
- package/lib/verify/containment.js +29 -10
- package/lib/verify/defining.js +6 -6
- package/lib/verify/equality.js +17 -17
- package/lib/verify/givenType.js +6 -6
- package/lib/verify/givenVariable.js +6 -6
- package/lib/verify/metavariable.js +6 -6
- package/lib/verify/statement/qualified.js +13 -13
- package/lib/verify/statement/unqualified.js +2 -2
- package/lib/verify/statement.js +40 -40
- package/lib/verify/statementAsCombinator.js +2 -1
- package/lib/verify/term.js +30 -30
- package/lib/verify/termAndGivenType.js +7 -7
- package/lib/verify/termAsConstructor.js +3 -2
- package/lib/verify/terms.js +7 -7
- package/lib/verify/type.js +7 -7
- package/lib/verify/typeAssertion.js +19 -19
- package/lib/verify/variable.js +6 -6
- package/package.json +1 -1
- package/src/assignment/equality.js +5 -5
- package/src/assignment/variable.js +5 -5
- package/src/conclusion.js +6 -6
- package/src/context/local.js +12 -0
- package/src/equality.js +6 -4
- package/src/equivalence.js +16 -16
- package/src/mixins/nodesVerifier/intrinsiclevel.js +2 -2
- package/src/mixins/nodesVerifier/metaLevel.js +1 -1
- package/src/premise.js +9 -4
- package/src/substitution/statementForMetavariable.js +44 -12
- package/src/substitution/termForVariable.js +10 -0
- package/src/term.js +8 -8
- package/src/utilities/array.js +0 -6
- package/src/utilities/equivalences.js +13 -13
- package/src/verifier/node/metastatement.js +8 -9
- package/src/verifier/node/statementAsCombinator.js +8 -11
- package/src/verifier/node/termAsConstructor.js +6 -8
- package/src/verifier/nodes/metaLevel.js +6 -6
- package/src/verifier/nodes/metaLevelToIntrinsicLevel.js +37 -41
- package/src/verifier/nodes/statementAgainstCombinator.js +10 -10
- package/src/verifier/nodes/substitution.js +125 -0
- package/src/verifier/nodes/termAgainstConstructor.js +9 -9
- package/src/verify/containment.js +38 -12
- package/src/verify/defining.js +5 -5
- package/src/verify/equality.js +16 -16
- package/src/verify/givenType.js +5 -5
- package/src/verify/givenVariable.js +5 -5
- package/src/verify/metavariable.js +5 -5
- package/src/verify/statement/qualified.js +12 -13
- package/src/verify/statement/unqualified.js +1 -2
- package/src/verify/statement.js +39 -39
- package/src/verify/statementAsCombinator.js +1 -0
- package/src/verify/term.js +29 -29
- package/src/verify/termAndGivenType.js +7 -7
- package/src/verify/termAsConstructor.js +3 -1
- package/src/verify/terms.js +7 -7
- package/src/verify/type.js +6 -6
- package/src/verify/typeAssertion.js +18 -18
- package/src/verify/variable.js +5 -5
package/lib/verify/terms.js
CHANGED
|
@@ -15,13 +15,13 @@ function _interop_require_default(obj) {
|
|
|
15
15
|
default: obj
|
|
16
16
|
};
|
|
17
17
|
}
|
|
18
|
-
function verifyTerms(termNodes, terms,
|
|
18
|
+
function verifyTerms(termNodes, terms, localContext, verifyAhead) {
|
|
19
19
|
var termsVerified;
|
|
20
|
-
var firstTermNode = (0, _array.first)(termNodes), secondTermNode = (0, _array.second)(termNodes), firstTermString =
|
|
21
|
-
|
|
22
|
-
var firstTermVerified = (0, _term.default)(firstTermNode, terms,
|
|
20
|
+
var firstTermNode = (0, _array.first)(termNodes), secondTermNode = (0, _array.second)(termNodes), firstTermString = localContext.nodeAsString(firstTermNode), secondTermString = localContext.nodeAsString(secondTermNode);
|
|
21
|
+
localContext.trace("Verifying the '".concat(firstTermString, "' and '").concat(secondTermString, "' terms..."), firstTermNode);
|
|
22
|
+
var firstTermVerified = (0, _term.default)(firstTermNode, terms, localContext, function() {
|
|
23
23
|
var verifiedAhead;
|
|
24
|
-
var secondTermVerified = (0, _term.default)(secondTermNode, terms,
|
|
24
|
+
var secondTermVerified = (0, _term.default)(secondTermNode, terms, localContext, function() {
|
|
25
25
|
var verifiedAhead;
|
|
26
26
|
verifiedAhead = verifyAhead();
|
|
27
27
|
return verifiedAhead;
|
|
@@ -31,9 +31,9 @@ function verifyTerms(termNodes, terms, context, verifyAhead) {
|
|
|
31
31
|
});
|
|
32
32
|
termsVerified = firstTermVerified; ///
|
|
33
33
|
if (termsVerified) {
|
|
34
|
-
|
|
34
|
+
localContext.debug("...verified the '".concat(firstTermString, "' and '").concat(secondTermString, "' terms."), firstTermNode);
|
|
35
35
|
}
|
|
36
36
|
return termsVerified;
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdGVybXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlUZXJtIGZyb20gXCIuLi92ZXJpZnkvdGVybVwiO1xuXG5pbXBvcnQgeyBmaXJzdCwgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlUZXJtcyh0ZXJtTm9kZXMsIHRlcm1zLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0ZXJtc1ZlcmlmaWVkO1xuXG4gIGNvbnN0IGZpcnN0VGVybU5vZGUgPSBmaXJzdCh0ZXJtTm9kZXMpLFxuICAgICAgICBzZWNvbmRUZXJtTm9kZSA9IHNlY29uZCh0ZXJtTm9kZXMpLFxuICAgICAgICBmaXJzdFRlcm1TdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKGZpcnN0VGVybU5vZGUpLFxuICAgICAgICBzZWNvbmRUZXJtU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhzZWNvbmRUZXJtTm9kZSk7XG5cbiAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke2ZpcnN0VGVybVN0cmluZ30nIGFuZCAnJHtzZWNvbmRUZXJtU3RyaW5nfScgdGVybXMuLi5gLCBmaXJzdFRlcm1Ob2RlKTtcblxuICBjb25zdCBmaXJzdFRlcm1WZXJpZmllZCA9IHZlcmlmeVRlcm0oZmlyc3RUZXJtTm9kZSwgdGVybXMsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgICAgICAgY29uc3Qgc2Vjb25kVGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybShzZWNvbmRUZXJtTm9kZSwgdGVybXMsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQ7XG5cbiAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSBzZWNvbmRUZXJtVmVyaWZpZWQ7ICAvLy9cblxuICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICB9KTtcblxuICB0ZXJtc1ZlcmlmaWVkID0gZmlyc3RUZXJtVmVyaWZpZWQ7IC8vL1xuXG4gIGlmICh0ZXJtc1ZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7Zmlyc3RUZXJtU3RyaW5nfScgYW5kICcke3NlY29uZFRlcm1TdHJpbmd9JyB0ZXJtcy5gLCBmaXJzdFRlcm1Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0ZXJtc1ZlcmlmaWVkXG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VGVybXMiLCJ0ZXJtTm9kZXMiLCJ0ZXJtcyIsImxvY2FsQ29udGV4dCIsInZlcmlmeUFoZWFkIiwidGVybXNWZXJpZmllZCIsImZpcnN0VGVybU5vZGUiLCJmaXJzdCIsInNlY29uZFRlcm1Ob2RlIiwic2Vjb25kIiwiZmlyc3RUZXJtU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwic2Vjb25kVGVybVN0cmluZyIsInRyYWNlIiwiZmlyc3RUZXJtVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtIiwidmVyaWZpZWRBaGVhZCIsInNlY29uZFRlcm1WZXJpZmllZCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFNQTs7O2VBQXdCQTs7OzJEQUpEO3FCQUVPOzs7Ozs7QUFFZixTQUFTQSxZQUFZQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsWUFBWSxFQUFFQyxXQUFXO0lBQzdFLElBQUlDO0lBRUosSUFBTUMsZ0JBQWdCQyxJQUFBQSxZQUFLLEVBQUNOLFlBQ3RCTyxpQkFBaUJDLElBQUFBLGFBQU0sRUFBQ1IsWUFDeEJTLGtCQUFrQlAsYUFBYVEsWUFBWSxDQUFDTCxnQkFDNUNNLG1CQUFtQlQsYUFBYVEsWUFBWSxDQUFDSDtJQUVuREwsYUFBYVUsS0FBSyxDQUFDLEFBQUMsa0JBQTBDRCxPQUF6QkYsaUJBQWdCLFdBQTBCLE9BQWpCRSxrQkFBaUIsZUFBYU47SUFFNUYsSUFBTVEsb0JBQW9CQyxJQUFBQSxhQUFVLEVBQUNULGVBQWVKLE9BQU9DLGNBQWM7UUFDakUsSUFBSWE7UUFFSixJQUFNQyxxQkFBcUJGLElBQUFBLGFBQVUsRUFBQ1AsZ0JBQWdCTixPQUFPQyxjQUFjO1lBQ3pFLElBQUlhO1lBRUpBLGdCQUFnQlo7WUFFaEIsT0FBT1k7UUFDVDtRQUVBQSxnQkFBZ0JDLG9CQUFxQixHQUFHO1FBRXhDLE9BQU9EO0lBQ1Q7SUFFTlgsZ0JBQWdCUyxtQkFBbUIsR0FBRztJQUV0QyxJQUFJVCxlQUFlO1FBQ2pCRixhQUFhZSxLQUFLLENBQUMsQUFBQyxvQkFBNENOLE9BQXpCRixpQkFBZ0IsV0FBMEIsT0FBakJFLGtCQUFpQixhQUFXTjtJQUM5RjtJQUVBLE9BQU9EO0FBQ1QifQ==
|
package/lib/verify/type.js
CHANGED
|
@@ -53,21 +53,21 @@ function verifyType(typeNode, superTypeNode, fileContext) {
|
|
|
53
53
|
}
|
|
54
54
|
return typeVerified;
|
|
55
55
|
}
|
|
56
|
-
function verifyStandaloneType(typeNode,
|
|
56
|
+
function verifyStandaloneType(typeNode, fileContext, verifyAhead) {
|
|
57
57
|
var standaloneTypeVerified = false;
|
|
58
|
-
var typeString =
|
|
59
|
-
|
|
60
|
-
var typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent =
|
|
58
|
+
var typeString = fileContext.nodeAsString(typeNode);
|
|
59
|
+
fileContext.trace("Verifying the '".concat(typeString, "' standalone type..."), typeNode);
|
|
60
|
+
var typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent = fileContext.isTypePresentByTypeName(typeName);
|
|
61
61
|
if (!typePresent) {
|
|
62
|
-
|
|
62
|
+
fileContext.debug("The type '".concat(typeName, "' is not present."), typeNode);
|
|
63
63
|
} else {
|
|
64
64
|
var verifiedAhead = verifyAhead();
|
|
65
65
|
standaloneTypeVerified = verifiedAhead; ///
|
|
66
66
|
}
|
|
67
67
|
if (standaloneTypeVerified) {
|
|
68
|
-
|
|
68
|
+
fileContext.debug("...verified the '".concat(typeString, "' standalone type."), typeNode);
|
|
69
69
|
}
|
|
70
70
|
return standaloneTypeVerified;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdHlwZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFR5cGUgZnJvbSBcIi4uL3R5cGVcIjtcblxuaW1wb3J0IHsgdHlwZU5hbWVGcm9tVHlwZU5vZGUgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVR5cGUodHlwZU5vZGUsIHN1cGVyVHlwZU5vZGUsIGZpbGVDb250ZXh0KSB7XG4gIGxldCB0eXBlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCB0eXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHR5cGVOb2RlKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfScgdHlwZS4uLmAsIHR5cGVOb2RlKTtcblxuICBjb25zdCB0eXBlTmFtZSA9IHR5cGVOYW1lRnJvbVR5cGVOb2RlKHR5cGVOb2RlKSxcbiAgICAgICAgdHlwZVByZXNlbnQgPSBmaWxlQ29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgaWYgKHR5cGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgYWxyZWFkeSBwcmVzZW50LmAsIHR5cGVOb2RlKTtcbiAgfSBlbHNlIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGNvbnN0IHN1cGVyVHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZShzdXBlclR5cGVOb2RlKTtcblxuICAgIGlmIChzdXBlclR5cGVOYW1lID09PSBudWxsKSB7XG4gICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWUodHlwZU5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzdXBlclR5cGUgPSBmaWxlQ29udGV4dC5maW5kVHlwZUJ5VHlwZU5hbWUoc3VwZXJUeXBlTmFtZSk7XG5cbiAgICAgIGlmIChzdXBlclR5cGUgPT09IG51bGwpIHtcbiAgICAgICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSBzdXBlci10eXBlICcke3N1cGVyVHlwZU5hbWV9JyBpcyBub3QgcHJlc2VudC5gLCB0eXBlTm9kZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlID0gVHlwZS5mcm9tVHlwZU5hbWVBbmRTdXBlclR5cGUodHlwZU5hbWUsIHN1cGVyVHlwZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgIT09IG51bGwpIHtcbiAgICAgIGZpbGVDb250ZXh0LmFkZFR5cGUodHlwZSk7XG5cbiAgICAgIHR5cGVWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVWZXJpZmllZCkge1xuICAgIGZpbGVDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZVN0cmluZ30nIHR5cGUuYCwgdHlwZU5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVWZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVUeXBlKHR5cGVOb2RlLCBmaWxlQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IHN0YW5kYWxvbmVUeXBlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCB0eXBlU3RyaW5nID0gZmlsZUNvbnRleHQubm9kZUFzU3RyaW5nKHR5cGVOb2RlKTtcblxuICBmaWxlQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlU3RyaW5nfScgc3RhbmRhbG9uZSB0eXBlLi4uYCwgdHlwZU5vZGUpO1xuXG4gIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpLFxuICAgICAgICB0eXBlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzVHlwZVByZXNlbnRCeVR5cGVOYW1lKHR5cGVOYW1lKTtcblxuICBpZiAoIXR5cGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSB0eXBlICcke3R5cGVOYW1lfScgaXMgbm90IHByZXNlbnQuYCwgdHlwZU5vZGUpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgc3RhbmRhbG9uZVR5cGVWZXJpZmllZCA9IHZlcmlmaWVkQWhlYWQ7ICAvLy9cbiAgfVxuXG4gIGlmIChzdGFuZGFsb25lVHlwZVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlU3RyaW5nfScgc3RhbmRhbG9uZSB0eXBlLmAsIHR5cGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGFuZGFsb25lVHlwZVZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVR5cGUiLCJ2ZXJpZnlTdGFuZGFsb25lVHlwZSIsInR5cGVOb2RlIiwic3VwZXJUeXBlTm9kZSIsImZpbGVDb250ZXh0IiwidHlwZVZlcmlmaWVkIiwidHlwZVN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsInR5cGVQcmVzZW50IiwiaXNUeXBlUHJlc2VudEJ5VHlwZU5hbWUiLCJkZWJ1ZyIsInR5cGUiLCJzdXBlclR5cGVOYW1lIiwiVHlwZSIsImZyb21UeXBlTmFtZSIsInN1cGVyVHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsImZyb21UeXBlTmFtZUFuZFN1cGVyVHlwZSIsImFkZFR5cGUiLCJ2ZXJpZnlBaGVhZCIsInN0YW5kYWxvbmVUeXBlVmVyaWZpZWQiLCJ2ZXJpZmllZEFoZWFkIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFNQSxPQXlDQztlQXpDdUJBOztJQTJDUkMsb0JBQW9CO2VBQXBCQTs7OzJEQS9DQztxQkFFb0I7Ozs7OztBQUV0QixTQUFTRCxXQUFXRSxRQUFRLEVBQUVDLGFBQWEsRUFBRUMsV0FBVztJQUNyRSxJQUFJQyxlQUFlO0lBRW5CLElBQU1DLGFBQWFGLFlBQVlHLFlBQVksQ0FBQ0w7SUFFNUNFLFlBQVlJLEtBQUssQ0FBQyxBQUFDLGtCQUE0QixPQUFYRixZQUFXLGNBQVlKO0lBRTNELElBQU1PLFdBQVdDLElBQUFBLDJCQUFvQixFQUFDUixXQUNoQ1MsY0FBY1AsWUFBWVEsdUJBQXVCLENBQUNIO0lBRXhELElBQUlFLGFBQWE7UUFDZlAsWUFBWVMsS0FBSyxDQUFDLEFBQUMsYUFBcUIsT0FBVEosVUFBUywwQkFBd0JQO0lBQ2xFLE9BQU87UUFDTCxJQUFJWTtRQUVKLElBQU1DLGdCQUFnQkwsSUFBQUEsMkJBQW9CLEVBQUNQO1FBRTNDLElBQUlZLGtCQUFrQixNQUFNO1lBQzFCRCxPQUFPRSxhQUFJLENBQUNDLFlBQVksQ0FBQ1I7UUFDM0IsT0FBTztZQUNMLElBQU1TLFlBQVlkLFlBQVllLGtCQUFrQixDQUFDSjtZQUVqRCxJQUFJRyxjQUFjLE1BQU07Z0JBQ3RCZCxZQUFZUyxLQUFLLENBQUMsQUFBQyxtQkFBZ0MsT0FBZEUsZUFBYyxzQkFBb0JiO1lBQ3pFLE9BQU87Z0JBQ0xZLE9BQU9FLGFBQUksQ0FBQ0ksd0JBQXdCLENBQUNYLFVBQVVTO1lBQ2pEO1FBQ0Y7UUFFQSxJQUFJSixTQUFTLE1BQU07WUFDakJWLFlBQVlpQixPQUFPLENBQUNQO1lBRXBCVCxlQUFlO1FBQ2pCO0lBQ0Y7SUFFQSxJQUFJQSxjQUFjO1FBQ2hCRCxZQUFZUyxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFAsWUFBVyxZQUFVSjtJQUM3RDtJQUVBLE9BQU9HO0FBQ1Q7QUFFTyxTQUFTSixxQkFBcUJDLFFBQVEsRUFBRUUsV0FBVyxFQUFFa0IsV0FBVztJQUNyRSxJQUFJQyx5QkFBeUI7SUFFN0IsSUFBTWpCLGFBQWFGLFlBQVlHLFlBQVksQ0FBQ0w7SUFFNUNFLFlBQVlJLEtBQUssQ0FBQyxBQUFDLGtCQUE0QixPQUFYRixZQUFXLHlCQUF1Qko7SUFFdEUsSUFBTU8sV0FBV0MsSUFBQUEsMkJBQW9CLEVBQUNSLFdBQ2hDUyxjQUFjUCxZQUFZUSx1QkFBdUIsQ0FBQ0g7SUFFeEQsSUFBSSxDQUFDRSxhQUFhO1FBQ2hCUCxZQUFZUyxLQUFLLENBQUMsQUFBQyxhQUFxQixPQUFUSixVQUFTLHNCQUFvQlA7SUFDOUQsT0FBTztRQUNMLElBQU1zQixnQkFBZ0JGO1FBRXRCQyx5QkFBeUJDLGVBQWdCLEdBQUc7SUFDOUM7SUFFQSxJQUFJRCx3QkFBd0I7UUFDMUJuQixZQUFZUyxLQUFLLENBQUMsQUFBQyxvQkFBOEIsT0FBWFAsWUFBVyx1QkFBcUJKO0lBQ3hFO0lBRUEsT0FBT3FCO0FBQ1QifQ==
|
|
@@ -20,39 +20,39 @@ function _interop_require_default(obj) {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
var termNodeQuery = (0, _query.nodeQuery)("/typeAssertion/term!"), typeNodeQuery = (0, _query.nodeQuery)("/typeAssertion/type!"), variableNodeQuery = (0, _query.nodeQuery)("/term/variable!");
|
|
23
|
-
function verifyTypeAssertion(typeAssertionNode, assignments, derived,
|
|
23
|
+
function verifyTypeAssertion(typeAssertionNode, assignments, derived, localContext, verifyAhead) {
|
|
24
24
|
var typeAssertionVerified;
|
|
25
|
-
var typeAssertionString =
|
|
26
|
-
|
|
25
|
+
var typeAssertionString = localContext.nodeAsString(typeAssertionNode);
|
|
26
|
+
localContext.trace("Verifying the '".concat(typeAssertionString, "' type assertion..."), typeAssertionNode);
|
|
27
27
|
var verifyTypeAssertionFunctions = [
|
|
28
28
|
verifyDerivedTypeAssertion,
|
|
29
29
|
verifyGivenTypeAssertion
|
|
30
30
|
];
|
|
31
31
|
typeAssertionVerified = verifyTypeAssertionFunctions.some(function(verifyTypeAssertionFunction) {
|
|
32
|
-
var typeAssertionVerified = verifyTypeAssertionFunction(typeAssertionNode, assignments, derived,
|
|
32
|
+
var typeAssertionVerified = verifyTypeAssertionFunction(typeAssertionNode, assignments, derived, localContext, verifyAhead);
|
|
33
33
|
if (typeAssertionVerified) {
|
|
34
34
|
return true;
|
|
35
35
|
}
|
|
36
36
|
});
|
|
37
37
|
if (typeAssertionVerified) {
|
|
38
|
-
|
|
38
|
+
localContext.debug("...verified the '".concat(typeAssertionString, "' type assertion."), typeAssertionNode);
|
|
39
39
|
}
|
|
40
40
|
return typeAssertionVerified;
|
|
41
41
|
}
|
|
42
|
-
function verifyDerivedTypeAssertion(typeAssertionNode, assignments, derived,
|
|
42
|
+
function verifyDerivedTypeAssertion(typeAssertionNode, assignments, derived, localContext, verifyAhead) {
|
|
43
43
|
var derivedTypeAssertionVerified = false;
|
|
44
44
|
if (derived) {
|
|
45
|
-
var typeAssertionString =
|
|
46
|
-
|
|
47
|
-
var terms = [], types = [], termNode = termNodeQuery(typeAssertionNode), typeNode = typeNodeQuery(typeAssertionNode), termAndGivenTypeVerified = (0, _termAndGivenType.default)(termNode, typeNode, terms, types,
|
|
45
|
+
var typeAssertionString = localContext.nodeAsString(typeAssertionNode);
|
|
46
|
+
localContext.trace("Verifying the '".concat(typeAssertionString, "' derived type assertion..."), typeAssertionNode);
|
|
47
|
+
var terms = [], types = [], termNode = termNodeQuery(typeAssertionNode), typeNode = typeNodeQuery(typeAssertionNode), termAndGivenTypeVerified = (0, _termAndGivenType.default)(termNode, typeNode, terms, types, localContext, function() {
|
|
48
48
|
var verifiedAhead = false;
|
|
49
|
-
var firstTerm = (0, _array.first)(terms), firstType = (0, _array.first)(types), term = firstTerm, type = firstType, termType =
|
|
49
|
+
var firstTerm = (0, _array.first)(terms), firstType = (0, _array.first)(types), term = firstTerm, type = firstType, termType = localContext.getTermType(term), typeEqualToOrSuperTypeOfTermType = type.isEqualToOrSuperTypeOf(termType);
|
|
50
50
|
if (typeEqualToOrSuperTypeOfTermType) {
|
|
51
51
|
var variableNode = variableNodeQuery(termNode);
|
|
52
52
|
if (variableNode === null) {
|
|
53
53
|
verifiedAhead = verifyAhead();
|
|
54
54
|
} else {
|
|
55
|
-
var variable =
|
|
55
|
+
var variable = localContext.findVariableByVariableNode(variableNode);
|
|
56
56
|
variable = _variable.default.fromVariableAndType(variable, type);
|
|
57
57
|
var variableAssignment = _variable1.default.fromVariable(variable), assignment = variableAssignment; ///
|
|
58
58
|
assignments.push(assignment);
|
|
@@ -66,17 +66,17 @@ function verifyDerivedTypeAssertion(typeAssertionNode, assignments, derived, con
|
|
|
66
66
|
});
|
|
67
67
|
derivedTypeAssertionVerified = termAndGivenTypeVerified; ///
|
|
68
68
|
if (derivedTypeAssertionVerified) {
|
|
69
|
-
|
|
69
|
+
localContext.trace("...verified the '".concat(typeAssertionString, "' derived type assertion."), typeAssertionNode);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
return derivedTypeAssertionVerified;
|
|
73
73
|
}
|
|
74
|
-
function verifyGivenTypeAssertion(typeAssertionNode, assignments, derived,
|
|
74
|
+
function verifyGivenTypeAssertion(typeAssertionNode, assignments, derived, localContext, verifyAhead) {
|
|
75
75
|
var givenTypeAssertionVerified = false;
|
|
76
76
|
if (!derived) {
|
|
77
|
-
var typeAssertionString =
|
|
78
|
-
|
|
79
|
-
var terms = [], types = [], termNode = termNodeQuery(typeAssertionNode), typeNode = typeNodeQuery(typeAssertionNode), termAndGivenTypeVerified = (0, _termAndGivenType.default)(termNode, typeNode, terms, types,
|
|
77
|
+
var typeAssertionString = localContext.nodeAsString(typeAssertionNode);
|
|
78
|
+
localContext.trace("Verifying the '".concat(typeAssertionString, "' given type assertion..."), typeAssertionNode);
|
|
79
|
+
var terms = [], types = [], termNode = termNodeQuery(typeAssertionNode), typeNode = typeNodeQuery(typeAssertionNode), termAndGivenTypeVerified = (0, _termAndGivenType.default)(termNode, typeNode, terms, types, localContext, function() {
|
|
80
80
|
var verifiedAhead = false;
|
|
81
81
|
var firstTerm = (0, _array.first)(terms), firstType = (0, _array.first)(types), term = firstTerm, type = firstType, termType = term.getType(), typeEqualToOrSubTypeOfTermType = type.isEqualToOrSubTypeOf(termType);
|
|
82
82
|
if (typeEqualToOrSubTypeOfTermType) {
|
|
@@ -84,7 +84,7 @@ function verifyGivenTypeAssertion(typeAssertionNode, assignments, derived, conte
|
|
|
84
84
|
if (variableNode === null) {
|
|
85
85
|
verifiedAhead = verifyAhead();
|
|
86
86
|
} else {
|
|
87
|
-
var variable =
|
|
87
|
+
var variable = localContext.findVariableByVariableNode(variableNode);
|
|
88
88
|
variable = _variable.default.fromVariableAndType(variable, type);
|
|
89
89
|
var variableAssignment = _variable1.default.fromVariable(variable), assignment = variableAssignment; ///
|
|
90
90
|
assignments.push(assignment);
|
|
@@ -98,10 +98,10 @@ function verifyGivenTypeAssertion(typeAssertionNode, assignments, derived, conte
|
|
|
98
98
|
});
|
|
99
99
|
givenTypeAssertionVerified = termAndGivenTypeVerified; ///
|
|
100
100
|
if (givenTypeAssertionVerified) {
|
|
101
|
-
|
|
101
|
+
localContext.trace("...verified the '".concat(typeAssertionString, "' given type assertion."), typeAssertionNode);
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
return givenTypeAssertionVerified;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdHlwZUFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuLi92YXJpYWJsZVwiO1xuaW1wb3J0IFZhcmlhYmxlQXNzaWdubWVudCBmcm9tIFwiLi4vYXNzaWdubWVudC92YXJpYWJsZVwiO1xuaW1wb3J0IHZlcmlmeVRlcm1BbmRHaXZlblR5cGUgZnJvbSBcIi4uL3ZlcmlmeS90ZXJtQW5kR2l2ZW5UeXBlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmVyaWZ5VGVybUFzR2l2ZW5WYXJpYWJsZSB9IGZyb20gXCIuL3Rlcm1cIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3Rlcm0hXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3R5cGUhXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgdHlwZUFzc2VydGlvblZlcmlmaWVkO1xuXG4gIGNvbnN0IHR5cGVBc3NlcnRpb25TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgY29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgdHlwZSBhc3NlcnRpb24uLi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5VHlwZUFzc2VydGlvbkZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkVHlwZUFzc2VydGlvbixcbiAgICB2ZXJpZnlHaXZlblR5cGVBc3NlcnRpb25cbiAgXTtcblxuICB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlQXNzZXJ0aW9uRnVuY3Rpb25zLnNvbWUoKHZlcmlmeVR5cGVBc3NlcnRpb25GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeVR5cGVBc3NlcnRpb25GdW5jdGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKTtcblxuICAgIGlmICh0eXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgaWYgKHR5cGVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgIGNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgdHlwZSBhc3NlcnRpb24uYCwgdHlwZUFzc2VydGlvbk5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHR5cGVBc3NlcnRpb25WZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZFR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBjb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgZGVyaXZlZFR5cGVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGNvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIGRlcml2ZWQgdHlwZSBhc3NlcnRpb24uLi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb25zdCB0ZXJtcyA9IFtdLFxuICAgICAgICAgIHR5cGVzID0gW10sXG4gICAgICAgICAgdGVybU5vZGUgPSB0ZXJtTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB0eXBlTm9kZSA9IHR5cGVOb2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIHRlcm1BbmRHaXZlblR5cGVWZXJpZmllZCA9IHZlcmlmeVRlcm1BbmRHaXZlblR5cGUodGVybU5vZGUsIHR5cGVOb2RlLCB0ZXJtcywgdHlwZXMsIGNvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpcnN0VGVybSA9IGZpcnN0KHRlcm1zKSxcbiAgICAgICAgICAgICAgICAgIGZpcnN0VHlwZSA9IGZpcnN0KHR5cGVzKSxcbiAgICAgICAgICAgICAgICAgIHRlcm0gPSBmaXJzdFRlcm0sIC8vL1xuICAgICAgICAgICAgICAgICAgdHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4gICAgICAgICAgICAgICAgICB0ZXJtVHlwZSA9IGNvbnRleHQuZ2V0VGVybVR5cGUodGVybSksXG4gICAgICAgICAgICAgICAgICB0eXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZSA9IHR5cGUuaXNFcXVhbFRvT3JTdXBlclR5cGVPZih0ZXJtVHlwZSk7XG5cbiAgICAgICAgICAgIGlmICh0eXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZSkge1xuICAgICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhcmlhYmxlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCB2YXJpYWJsZSA9IGNvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgICAgICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVZhcmlhYmxlQW5kVHlwZSh2YXJpYWJsZSwgdHlwZSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnQgPSBWYXJpYWJsZUFzc2lnbm1lbnQuZnJvbVZhcmlhYmxlKHZhcmlhYmxlKSxcbiAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25tZW50ID0gdmFyaWFibGVBc3NpZ25tZW50OyAgLy8vXG5cbiAgICAgICAgICAgICAgICBhc3NpZ25tZW50cy5wdXNoKGFzc2lnbm1lbnQpO1xuXG4gICAgICAgICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXZlcmlmaWVkQWhlYWQpIHtcbiAgICAgICAgICAgICAgICAgIGFzc2lnbm1lbnRzLnBvcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgIGRlcml2ZWRUeXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB0ZXJtQW5kR2l2ZW5UeXBlVmVyaWZpZWQ7IC8vL1xuXG4gICAgaWYgKGRlcml2ZWRUeXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGNvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCB0eXBlIGFzc2VydGlvbi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRUeXBlQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUdpdmVuVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBnaXZlblR5cGVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmICghZGVyaXZlZCkge1xuICAgIGNvbnN0IHR5cGVBc3NlcnRpb25TdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyh0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyBnaXZlbiB0eXBlIGFzc2VydGlvbi4uLmAsIHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGNvbnN0IHRlcm1zID0gW10sXG4gICAgICAgICAgdHlwZXMgPSBbXSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdGVybUFuZEdpdmVuVHlwZVZlcmlmaWVkID0gdmVyaWZ5VGVybUFuZEdpdmVuVHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIHRlcm1zLCB0eXBlcywgY29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgbGV0IHZlcmlmaWVkQWhlYWQgPSBmYWxzZTtcblxuICAgICAgICAgICAgY29uc3QgZmlyc3RUZXJtID0gZmlyc3QodGVybXMpLFxuICAgICAgICAgICAgICAgICAgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgICAgICAgICAgdGVybSA9IGZpcnN0VGVybSwgLy8vXG4gICAgICAgICAgICAgICAgICB0eXBlID0gZmlyc3RUeXBlLCAvLy9cbiAgICAgICAgICAgICAgICAgIHRlcm1UeXBlID0gdGVybS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgICAgICB0eXBlRXF1YWxUb09yU3ViVHlwZU9mVGVybVR5cGUgPSB0eXBlLmlzRXF1YWxUb09yU3ViVHlwZU9mKHRlcm1UeXBlKTtcblxuICAgICAgICAgICAgaWYgKHR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUZXJtVHlwZSkge1xuICAgICAgICAgICAgICBjb25zdCB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZU5vZGVRdWVyeSh0ZXJtTm9kZSk7XG5cbiAgICAgICAgICAgICAgaWYgKHZhcmlhYmxlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxldCB2YXJpYWJsZSA9IGNvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgICAgICAgICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVZhcmlhYmxlQW5kVHlwZSh2YXJpYWJsZSwgdHlwZSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnQgPSBWYXJpYWJsZUFzc2lnbm1lbnQuZnJvbVZhcmlhYmxlKHZhcmlhYmxlKSxcbiAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25tZW50ID0gdmFyaWFibGVBc3NpZ25tZW50OyAgLy8vXG5cbiAgICAgICAgICAgICAgICBhc3NpZ25tZW50cy5wdXNoKGFzc2lnbm1lbnQpO1xuXG4gICAgICAgICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoIXZlcmlmaWVkQWhlYWQpIHtcbiAgICAgICAgICAgICAgICAgIGFzc2lnbm1lbnRzLnBvcCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICB9KTtcblxuICAgIGdpdmVuVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdGVybUFuZEdpdmVuVHlwZVZlcmlmaWVkOyAvLy9cblxuICAgIGlmIChnaXZlblR5cGVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgY29udGV4dC50cmFjZShgLi4udmVyaWZpZWQgdGhlICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyBnaXZlbiB0eXBlIGFzc2VydGlvbi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGdpdmVuVHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVR5cGVBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZVF1ZXJ5IiwidHlwZUFzc2VydGlvbk5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJjb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJ0eXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ0eXBlQXNzZXJ0aW9uU3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJ2ZXJpZnlUeXBlQXNzZXJ0aW9uRnVuY3Rpb25zIiwidmVyaWZ5RGVyaXZlZFR5cGVBc3NlcnRpb24iLCJ2ZXJpZnlHaXZlblR5cGVBc3NlcnRpb24iLCJzb21lIiwidmVyaWZ5VHlwZUFzc2VydGlvbkZ1bmN0aW9uIiwiZGVidWciLCJkZXJpdmVkVHlwZUFzc2VydGlvblZlcmlmaWVkIiwidGVybXMiLCJ0eXBlcyIsInRlcm1Ob2RlIiwidHlwZU5vZGUiLCJ0ZXJtQW5kR2l2ZW5UeXBlVmVyaWZpZWQiLCJ2ZXJpZnlUZXJtQW5kR2l2ZW5UeXBlIiwidmVyaWZpZWRBaGVhZCIsImZpcnN0VGVybSIsImZpcnN0IiwiZmlyc3RUeXBlIiwidGVybSIsInR5cGUiLCJ0ZXJtVHlwZSIsImdldFRlcm1UeXBlIiwidHlwZUVxdWFsVG9PclN1cGVyVHlwZU9mVGVybVR5cGUiLCJpc0VxdWFsVG9PclN1cGVyVHlwZU9mIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTm9kZSIsIlZhcmlhYmxlIiwiZnJvbVZhcmlhYmxlQW5kVHlwZSIsInZhcmlhYmxlQXNzaWdubWVudCIsIlZhcmlhYmxlQXNzaWdubWVudCIsImZyb21WYXJpYWJsZSIsImFzc2lnbm1lbnQiLCJwdXNoIiwicG9wIiwiZ2l2ZW5UeXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJnZXRUeXBlIiwidHlwZUVxdWFsVG9PclN1YlR5cGVPZlRlcm1UeXBlIiwiaXNFcXVhbFRvT3JTdWJUeXBlT2YiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBd0JBOzs7K0RBWkg7Z0VBQ1U7dUVBQ0k7cUJBRWI7cUJBQ0k7b0JBQ2dCOzs7Ozs7QUFFMUMsSUFBTUMsZ0JBQWdCQyxJQUFBQSxnQkFBUyxFQUFDLHlCQUMxQkMsZ0JBQWdCRCxJQUFBQSxnQkFBUyxFQUFDLHlCQUMxQkUsb0JBQW9CRixJQUFBQSxnQkFBUyxFQUFDO0FBRXJCLFNBQVNGLG9CQUFvQkssaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDdkcsSUFBSUM7SUFFSixJQUFNQyxzQkFBc0JILFFBQVFJLFlBQVksQ0FBQ1A7SUFFakRHLFFBQVFLLEtBQUssQ0FBQyxBQUFDLGtCQUFxQyxPQUFwQkYscUJBQW9CLHdCQUFzQk47SUFFMUUsSUFBTVMsK0JBQStCO1FBQ25DQztRQUNBQztLQUNEO0lBRUROLHdCQUF3QkksNkJBQTZCRyxJQUFJLENBQUMsU0FBQ0M7UUFDekQsSUFBTVIsd0JBQXdCUSw0QkFBNEJiLG1CQUFtQkMsYUFBYUMsU0FBU0MsU0FBU0M7UUFFNUcsSUFBSUMsdUJBQXVCO1lBQ3pCLE9BQU87UUFDVDtJQUNGO0lBRUEsSUFBSUEsdUJBQXVCO1FBQ3pCRixRQUFRVyxLQUFLLENBQUMsQUFBQyxvQkFBdUMsT0FBcEJSLHFCQUFvQixzQkFBb0JOO0lBQzVFO0lBRUEsT0FBT0s7QUFDVDtBQUVBLFNBQVNLLDJCQUEyQlYsaUJBQWlCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxPQUFPLEVBQUVDLFdBQVc7SUFDL0YsSUFBSVcsK0JBQStCO0lBRW5DLElBQUliLFNBQVM7UUFDWCxJQUFNSSxzQkFBc0JILFFBQVFJLFlBQVksQ0FBQ1A7UUFFakRHLFFBQVFLLEtBQUssQ0FBQyxBQUFDLGtCQUFxQyxPQUFwQkYscUJBQW9CLGdDQUE4Qk47UUFFbEYsSUFBTWdCLFFBQVEsRUFBRSxFQUNWQyxRQUFRLEVBQUUsRUFDVkMsV0FBV3RCLGNBQWNJLG9CQUN6Qm1CLFdBQVdyQixjQUFjRSxvQkFDekJvQiwyQkFBMkJDLElBQUFBLHlCQUFzQixFQUFDSCxVQUFVQyxVQUFVSCxPQUFPQyxPQUFPZCxTQUFTO1lBQzNGLElBQUltQixnQkFBZ0I7WUFFcEIsSUFBTUMsWUFBWUMsSUFBQUEsWUFBSyxFQUFDUixRQUNsQlMsWUFBWUQsSUFBQUEsWUFBSyxFQUFDUCxRQUNsQlMsT0FBT0gsV0FDUEksT0FBT0YsV0FDUEcsV0FBV3pCLFFBQVEwQixXQUFXLENBQUNILE9BQy9CSSxtQ0FBbUNILEtBQUtJLHNCQUFzQixDQUFDSDtZQUVyRSxJQUFJRSxrQ0FBa0M7Z0JBQ3BDLElBQU1FLGVBQWVqQyxrQkFBa0JtQjtnQkFFdkMsSUFBSWMsaUJBQWlCLE1BQU07b0JBQ3pCVixnQkFBZ0JsQjtnQkFDbEIsT0FBTztvQkFDTCxJQUFJNkIsV0FBVzlCLFFBQVErQiwwQkFBMEIsQ0FBQ0Y7b0JBRWxEQyxXQUFXRSxpQkFBUSxDQUFDQyxtQkFBbUIsQ0FBQ0gsVUFBVU47b0JBRWxELElBQU1VLHFCQUFxQkMsa0JBQWtCLENBQUNDLFlBQVksQ0FBQ04sV0FDckRPLGFBQWFILG9CQUFxQixHQUFHO29CQUUzQ3BDLFlBQVl3QyxJQUFJLENBQUNEO29CQUVqQmxCLGdCQUFnQmxCO29CQUVoQixJQUFJLENBQUNrQixlQUFlO3dCQUNsQnJCLFlBQVl5QyxHQUFHO29CQUNqQjtnQkFDRjtZQUNGO1lBRUEsT0FBT3BCO1FBQ1Q7UUFFTlAsK0JBQStCSywwQkFBMEIsR0FBRztRQUU1RCxJQUFJTCw4QkFBOEI7WUFDaENaLFFBQVFLLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQkYscUJBQW9CLDhCQUE0Qk47UUFDcEY7SUFDRjtJQUVBLE9BQU9lO0FBQ1Q7QUFFQSxTQUFTSix5QkFBeUJYLGlCQUFpQixFQUFFQyxXQUFXLEVBQUVDLE9BQU8sRUFBRUMsT0FBTyxFQUFFQyxXQUFXO0lBQzdGLElBQUl1Qyw2QkFBNkI7SUFFakMsSUFBSSxDQUFDekMsU0FBUztRQUNaLElBQU1JLHNCQUFzQkgsUUFBUUksWUFBWSxDQUFDUDtRQUVqREcsUUFBUUssS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0IsOEJBQTRCTjtRQUVoRixJQUFNZ0IsUUFBUSxFQUFFLEVBQ1ZDLFFBQVEsRUFBRSxFQUNWQyxXQUFXdEIsY0FBY0ksb0JBQ3pCbUIsV0FBV3JCLGNBQWNFLG9CQUN6Qm9CLDJCQUEyQkMsSUFBQUEseUJBQXNCLEVBQUNILFVBQVVDLFVBQVVILE9BQU9DLE9BQU9kLFNBQVM7WUFDM0YsSUFBSW1CLGdCQUFnQjtZQUVwQixJQUFNQyxZQUFZQyxJQUFBQSxZQUFLLEVBQUNSLFFBQ2xCUyxZQUFZRCxJQUFBQSxZQUFLLEVBQUNQLFFBQ2xCUyxPQUFPSCxXQUNQSSxPQUFPRixXQUNQRyxXQUFXRixLQUFLa0IsT0FBTyxJQUN2QkMsaUNBQWlDbEIsS0FBS21CLG9CQUFvQixDQUFDbEI7WUFFakUsSUFBSWlCLGdDQUFnQztnQkFDbEMsSUFBTWIsZUFBZWpDLGtCQUFrQm1CO2dCQUV2QyxJQUFJYyxpQkFBaUIsTUFBTTtvQkFDekJWLGdCQUFnQmxCO2dCQUNsQixPQUFPO29CQUNMLElBQUk2QixXQUFXOUIsUUFBUStCLDBCQUEwQixDQUFDRjtvQkFFbERDLFdBQVdFLGlCQUFRLENBQUNDLG1CQUFtQixDQUFDSCxVQUFVTjtvQkFFbEQsSUFBTVUscUJBQXFCQyxrQkFBa0IsQ0FBQ0MsWUFBWSxDQUFDTixXQUNyRE8sYUFBYUgsb0JBQXFCLEdBQUc7b0JBRTNDcEMsWUFBWXdDLElBQUksQ0FBQ0Q7b0JBRWpCbEIsZ0JBQWdCbEI7b0JBRWhCLElBQUksQ0FBQ2tCLGVBQWU7d0JBQ2xCckIsWUFBWXlDLEdBQUc7b0JBQ2pCO2dCQUNGO1lBQ0Y7WUFFQSxPQUFPcEI7UUFDVDtRQUVOcUIsNkJBQTZCdkIsMEJBQTBCLEdBQUc7UUFFMUQsSUFBSXVCLDRCQUE0QjtZQUM5QnhDLFFBQVFLLEtBQUssQ0FBQyxBQUFDLG9CQUF1QyxPQUFwQkYscUJBQW9CLDRCQUEwQk47UUFDbEY7SUFDRjtJQUVBLE9BQU8yQztBQUNUIn0=
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdHlwZUFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IFZhcmlhYmxlIGZyb20gXCIuLi92YXJpYWJsZVwiO1xuaW1wb3J0IFZhcmlhYmxlQXNzaWdubWVudCBmcm9tIFwiLi4vYXNzaWdubWVudC92YXJpYWJsZVwiO1xuaW1wb3J0IHZlcmlmeVRlcm1BbmRHaXZlblR5cGUgZnJvbSBcIi4uL3ZlcmlmeS90ZXJtQW5kR2l2ZW5UeXBlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgdmVyaWZ5VGVybUFzR2l2ZW5WYXJpYWJsZSB9IGZyb20gXCIuL3Rlcm1cIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3Rlcm0hXCIpLFxuICAgICAgdHlwZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3R5cGUhXCIpLFxuICAgICAgdmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdGVybS92YXJpYWJsZSFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVR5cGVBc3NlcnRpb24odHlwZUFzc2VydGlvbk5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQ7XG5cbiAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgdHlwZSBhc3NlcnRpb24uLi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5VHlwZUFzc2VydGlvbkZ1bmN0aW9ucyA9IFtcbiAgICB2ZXJpZnlEZXJpdmVkVHlwZUFzc2VydGlvbixcbiAgICB2ZXJpZnlHaXZlblR5cGVBc3NlcnRpb25cbiAgXTtcblxuICB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB2ZXJpZnlUeXBlQXNzZXJ0aW9uRnVuY3Rpb25zLnNvbWUoKHZlcmlmeVR5cGVBc3NlcnRpb25GdW5jdGlvbikgPT4ge1xuICAgIGNvbnN0IHR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHZlcmlmeVR5cGVBc3NlcnRpb25GdW5jdGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpO1xuXG4gICAgaWYgKHR5cGVBc3NlcnRpb25WZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAodHlwZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7dHlwZUFzc2VydGlvblN0cmluZ30nIHR5cGUgYXNzZXJ0aW9uLmAsIHR5cGVBc3NlcnRpb25Ob2RlKTtcbiAgfVxuXG4gIHJldHVybiB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeURlcml2ZWRUeXBlQXNzZXJ0aW9uKHR5cGVBc3NlcnRpb25Ob2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0LCB2ZXJpZnlBaGVhZCkge1xuICBsZXQgZGVyaXZlZFR5cGVBc3NlcnRpb25WZXJpZmllZCA9IGZhbHNlO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyBkZXJpdmVkIHR5cGUgYXNzZXJ0aW9uLi4uYCwgdHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gICAgY29uc3QgdGVybXMgPSBbXSxcbiAgICAgICAgICB0eXBlcyA9IFtdLFxuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgICB0ZXJtQW5kR2l2ZW5UeXBlVmVyaWZpZWQgPSB2ZXJpZnlUZXJtQW5kR2l2ZW5UeXBlKHRlcm1Ob2RlLCB0eXBlTm9kZSwgdGVybXMsIHR5cGVzLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgIGxldCB2ZXJpZmllZEFoZWFkID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGNvbnN0IGZpcnN0VGVybSA9IGZpcnN0KHRlcm1zKSxcbiAgICAgICAgICAgICAgICAgIGZpcnN0VHlwZSA9IGZpcnN0KHR5cGVzKSxcbiAgICAgICAgICAgICAgICAgIHRlcm0gPSBmaXJzdFRlcm0sIC8vL1xuICAgICAgICAgICAgICAgICAgdHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4gICAgICAgICAgICAgICAgICB0ZXJtVHlwZSA9IGxvY2FsQ29udGV4dC5nZXRUZXJtVHlwZSh0ZXJtKSxcbiAgICAgICAgICAgICAgICAgIHR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlID0gdHlwZS5pc0VxdWFsVG9PclN1cGVyVHlwZU9mKHRlcm1UeXBlKTtcblxuICAgICAgICAgICAgaWYgKHR5cGVFcXVhbFRvT3JTdXBlclR5cGVPZlRlcm1UeXBlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IHZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21WYXJpYWJsZUFuZFR5cGUodmFyaWFibGUsIHR5cGUpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50ID0gVmFyaWFibGVBc3NpZ25tZW50LmZyb21WYXJpYWJsZSh2YXJpYWJsZSksXG4gICAgICAgICAgICAgICAgICAgICAgYXNzaWdubWVudCA9IHZhcmlhYmxlQXNzaWdubWVudDsgIC8vL1xuXG4gICAgICAgICAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcblxuICAgICAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF2ZXJpZmllZEFoZWFkKSB7XG4gICAgICAgICAgICAgICAgICBhc3NpZ25tZW50cy5wb3AoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBkZXJpdmVkVHlwZUFzc2VydGlvblZlcmlmaWVkID0gdGVybUFuZEdpdmVuVHlwZVZlcmlmaWVkOyAvLy9cblxuICAgIGlmIChkZXJpdmVkVHlwZUFzc2VydGlvblZlcmlmaWVkKSB7XG4gICAgICBsb2NhbENvbnRleHQudHJhY2UoYC4uLnZlcmlmaWVkIHRoZSAnJHt0eXBlQXNzZXJ0aW9uU3RyaW5nfScgZGVyaXZlZCB0eXBlIGFzc2VydGlvbi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGRlcml2ZWRUeXBlQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG5cbmZ1bmN0aW9uIHZlcmlmeUdpdmVuVHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IGdpdmVuVHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgaWYgKCFkZXJpdmVkKSB7XG4gICAgY29uc3QgdHlwZUFzc2VydGlvblN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcodHlwZUFzc2VydGlvbk5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyBnaXZlbiB0eXBlIGFzc2VydGlvbi4uLmAsIHR5cGVBc3NlcnRpb25Ob2RlKTtcblxuICAgIGNvbnN0IHRlcm1zID0gW10sXG4gICAgICAgICAgdHlwZXMgPSBbXSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgIHR5cGVOb2RlID0gdHlwZU5vZGVRdWVyeSh0eXBlQXNzZXJ0aW9uTm9kZSksXG4gICAgICAgICAgdGVybUFuZEdpdmVuVHlwZVZlcmlmaWVkID0gdmVyaWZ5VGVybUFuZEdpdmVuVHlwZSh0ZXJtTm9kZSwgdHlwZU5vZGUsIHRlcm1zLCB0eXBlcywgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICBsZXQgdmVyaWZpZWRBaGVhZCA9IGZhbHNlO1xuXG4gICAgICAgICAgICBjb25zdCBmaXJzdFRlcm0gPSBmaXJzdCh0ZXJtcyksXG4gICAgICAgICAgICAgICAgICBmaXJzdFR5cGUgPSBmaXJzdCh0eXBlcyksXG4gICAgICAgICAgICAgICAgICB0ZXJtID0gZmlyc3RUZXJtLCAvLy9cbiAgICAgICAgICAgICAgICAgIHR5cGUgPSBmaXJzdFR5cGUsIC8vL1xuICAgICAgICAgICAgICAgICAgdGVybVR5cGUgPSB0ZXJtLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgICAgIHR5cGVFcXVhbFRvT3JTdWJUeXBlT2ZUZXJtVHlwZSA9IHR5cGUuaXNFcXVhbFRvT3JTdWJUeXBlT2YodGVybVR5cGUpO1xuXG4gICAgICAgICAgICBpZiAodHlwZUVxdWFsVG9PclN1YlR5cGVPZlRlcm1UeXBlKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KHRlcm1Ob2RlKTtcblxuICAgICAgICAgICAgICBpZiAodmFyaWFibGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdmVyaWZpZWRBaGVhZCA9IHZlcmlmeUFoZWFkKCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbGV0IHZhcmlhYmxlID0gbG9jYWxDb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSk7XG5cbiAgICAgICAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21WYXJpYWJsZUFuZFR5cGUodmFyaWFibGUsIHR5cGUpO1xuXG4gICAgICAgICAgICAgICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50ID0gVmFyaWFibGVBc3NpZ25tZW50LmZyb21WYXJpYWJsZSh2YXJpYWJsZSksXG4gICAgICAgICAgICAgICAgICAgICAgYXNzaWdubWVudCA9IHZhcmlhYmxlQXNzaWdubWVudDsgIC8vL1xuXG4gICAgICAgICAgICAgICAgYXNzaWdubWVudHMucHVzaChhc3NpZ25tZW50KTtcblxuICAgICAgICAgICAgICAgIHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICAgICAgICAgICAgaWYgKCF2ZXJpZmllZEFoZWFkKSB7XG4gICAgICAgICAgICAgICAgICBhc3NpZ25tZW50cy5wb3AoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgfSk7XG5cbiAgICBnaXZlblR5cGVBc3NlcnRpb25WZXJpZmllZCA9IHRlcm1BbmRHaXZlblR5cGVWZXJpZmllZDsgLy8vXG5cbiAgICBpZiAoZ2l2ZW5UeXBlQXNzZXJ0aW9uVmVyaWZpZWQpIHtcbiAgICAgIGxvY2FsQ29udGV4dC50cmFjZShgLi4udmVyaWZpZWQgdGhlICcke3R5cGVBc3NlcnRpb25TdHJpbmd9JyBnaXZlbiB0eXBlIGFzc2VydGlvbi5gLCB0eXBlQXNzZXJ0aW9uTm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGdpdmVuVHlwZUFzc2VydGlvblZlcmlmaWVkO1xufVxuIl0sIm5hbWVzIjpbInZlcmlmeVR5cGVBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidHlwZU5vZGVRdWVyeSIsInZhcmlhYmxlTm9kZVF1ZXJ5IiwidHlwZUFzc2VydGlvbk5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJ2ZXJpZnlBaGVhZCIsInR5cGVBc3NlcnRpb25WZXJpZmllZCIsInR5cGVBc3NlcnRpb25TdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZlcmlmeVR5cGVBc3NlcnRpb25GdW5jdGlvbnMiLCJ2ZXJpZnlEZXJpdmVkVHlwZUFzc2VydGlvbiIsInZlcmlmeUdpdmVuVHlwZUFzc2VydGlvbiIsInNvbWUiLCJ2ZXJpZnlUeXBlQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRUeXBlQXNzZXJ0aW9uVmVyaWZpZWQiLCJ0ZXJtcyIsInR5cGVzIiwidGVybU5vZGUiLCJ0eXBlTm9kZSIsInRlcm1BbmRHaXZlblR5cGVWZXJpZmllZCIsInZlcmlmeVRlcm1BbmRHaXZlblR5cGUiLCJ2ZXJpZmllZEFoZWFkIiwiZmlyc3RUZXJtIiwiZmlyc3QiLCJmaXJzdFR5cGUiLCJ0ZXJtIiwidHlwZSIsInRlcm1UeXBlIiwiZ2V0VGVybVR5cGUiLCJ0eXBlRXF1YWxUb09yU3VwZXJUeXBlT2ZUZXJtVHlwZSIsImlzRXF1YWxUb09yU3VwZXJUeXBlT2YiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOb2RlIiwiVmFyaWFibGUiLCJmcm9tVmFyaWFibGVBbmRUeXBlIiwidmFyaWFibGVBc3NpZ25tZW50IiwiVmFyaWFibGVBc3NpZ25tZW50IiwiZnJvbVZhcmlhYmxlIiwiYXNzaWdubWVudCIsInB1c2giLCJwb3AiLCJnaXZlblR5cGVBc3NlcnRpb25WZXJpZmllZCIsImdldFR5cGUiLCJ0eXBlRXF1YWxUb09yU3ViVHlwZU9mVGVybVR5cGUiLCJpc0VxdWFsVG9PclN1YlR5cGVPZiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBY0E7OztlQUF3QkE7OzsrREFaSDtnRUFDVTt1RUFDSTtxQkFFYjtxQkFDSTtvQkFDZ0I7Ozs7OztBQUUxQyxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMseUJBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUMseUJBQzFCRSxvQkFBb0JGLElBQUFBLGdCQUFTLEVBQUM7QUFFckIsU0FBU0Ysb0JBQW9CSyxpQkFBaUIsRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLFlBQVksRUFBRUMsV0FBVztJQUM1RyxJQUFJQztJQUVKLElBQU1DLHNCQUFzQkgsYUFBYUksWUFBWSxDQUFDUDtJQUV0REcsYUFBYUssS0FBSyxDQUFDLEFBQUMsa0JBQXFDLE9BQXBCRixxQkFBb0Isd0JBQXNCTjtJQUUvRSxJQUFNUywrQkFBK0I7UUFDbkNDO1FBQ0FDO0tBQ0Q7SUFFRE4sd0JBQXdCSSw2QkFBNkJHLElBQUksQ0FBQyxTQUFDQztRQUN6RCxJQUFNUix3QkFBd0JRLDRCQUE0QmIsbUJBQW1CQyxhQUFhQyxTQUFTQyxjQUFjQztRQUVqSCxJQUFJQyx1QkFBdUI7WUFDekIsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSx1QkFBdUI7UUFD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
|
package/lib/verify/variable.js
CHANGED
|
@@ -58,19 +58,19 @@ function verifyVariable(variableNode, typeNode, fileContext) {
|
|
|
58
58
|
}
|
|
59
59
|
return variableVerified;
|
|
60
60
|
}
|
|
61
|
-
function verifyStandaloneVariable(variableNode,
|
|
61
|
+
function verifyStandaloneVariable(variableNode, localMetaContext, verifyAhead) {
|
|
62
62
|
var standaloneVariableVerified = false;
|
|
63
|
-
var variableString =
|
|
64
|
-
|
|
65
|
-
var variablePresent =
|
|
63
|
+
var variableString = localMetaContext.nodeAsString(variableNode);
|
|
64
|
+
localMetaContext.trace("Verifying the '".concat(variableString, "' standalone variable..."), variableNode);
|
|
65
|
+
var variablePresent = localMetaContext.isVariablePresentByVariableNode(variableNode);
|
|
66
66
|
if (variablePresent) {
|
|
67
67
|
var verifiedAhead = verifyAhead();
|
|
68
68
|
standaloneVariableVerified = verifiedAhead; ///
|
|
69
69
|
}
|
|
70
70
|
if (standaloneVariableVerified) {
|
|
71
|
-
|
|
71
|
+
localMetaContext.debug("...verified the '".concat(variableString, "' standalone variable."), variableNode);
|
|
72
72
|
}
|
|
73
73
|
return standaloneVariableVerified;
|
|
74
74
|
}
|
|
75
75
|
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vdmFyaWFibGVcIjtcbmltcG9ydCBWYXJpYWJsZUFzc2lnbm1lbnQgZnJvbSBcIi4uL2Fzc2lnbm1lbnQvdmFyaWFibGVcIjtcblxuaW1wb3J0IHsgb2JqZWN0VHlwZSB9IGZyb20gXCIuLi90eXBlXCI7XG5pbXBvcnQgeyB0eXBlTmFtZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VmFyaWFibGUodmFyaWFibGVOb2RlLCB0eXBlTm9kZSwgZmlsZUNvbnRleHQpIHtcbiAgbGV0IHZhcmlhYmxlVmVyaWZpZWQgPSBmYWxzZTtcblxuICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IGZpbGVDb250ZXh0Lm5vZGVBc1N0cmluZyh2YXJpYWJsZU5vZGUpO1xuXG4gIGZpbGVDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuLi5gLCB2YXJpYWJsZU5vZGUpO1xuXG4gIGNvbnN0IHZhcmlhYmxlUHJlc2VudCA9IGZpbGVDb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICBpZiAodmFyaWFibGVQcmVzZW50KSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYFRoZSB2YXJpYWJsZSAnJHt2YXJpYWJsZVN0cmluZ30nIGlzIGFscmVhZHkgcHJlc2VudC5gLCB2YXJpYWJsZU5vZGUpO1xuICB9IGVsc2Uge1xuICAgIGxldCB2YXJpYWJsZTtcblxuICAgIGNvbnN0IHR5cGVOYW1lID0gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpO1xuICAgIFxuICAgIGlmICh0eXBlTmFtZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgdHlwZSA9IG9iamVjdFR5cGU7XG5cbiAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUodmFyaWFibGVOb2RlLCB0eXBlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZSA9IGZpbGVDb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgICAgIGlmICh0eXBlID09PSBudWxsKSB7XG4gICAgICAgIGZpbGVDb250ZXh0LmRlYnVnKGBUaGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZSdzICcke3R5cGVOYW1lfScgdHlwZSBpcyBub3QgcHJlc2VudC5gLCB2YXJpYWJsZU5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVmFyaWFibGVOb2RlQW5kVHlwZSh2YXJpYWJsZU5vZGUsIHR5cGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh2YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50ID0gVmFyaWFibGVBc3NpZ25tZW50LmZyb21WYXJpYWJsZSh2YXJpYWJsZSksXG4gICAgICAgICAgICB2YXJpYWJsZUFzc2lnbmVkID0gdmFyaWFibGVBc3NpZ25tZW50LmFzc2lnbihmaWxlQ29udGV4dCk7XG5cbiAgICAgIGlmICh2YXJpYWJsZUFzc2lnbmVkKSB7XG4gICAgICAgIHZhcmlhYmxlVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmICh2YXJpYWJsZVZlcmlmaWVkKSB7XG4gICAgZmlsZUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLmAsIHZhcmlhYmxlTm9kZSk7XG4gIH1cblxuICByZXR1cm4gdmFyaWFibGVWZXJpZmllZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVN0YW5kYWxvbmVWYXJpYWJsZSh2YXJpYWJsZU5vZGUsIGxvY2FsTWV0YUNvbnRleHQsIHZlcmlmeUFoZWFkKSB7XG4gIGxldCBzdGFuZGFsb25lVmFyaWFibGVWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gbG9jYWxNZXRhQ29udGV4dC5ub2RlQXNTdHJpbmcodmFyaWFibGVOb2RlKTtcblxuICBsb2NhbE1ldGFDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgc3RhbmRhbG9uZSB2YXJpYWJsZS4uLmAsIHZhcmlhYmxlTm9kZSk7XG5cbiAgY29uc3QgdmFyaWFibGVQcmVzZW50ID0gbG9jYWxNZXRhQ29udGV4dC5pc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKHZhcmlhYmxlUHJlc2VudCkge1xuICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgc3RhbmRhbG9uZVZhcmlhYmxlVmVyaWZpZWQgPSB2ZXJpZmllZEFoZWFkOyAvLy9cbiAgfVxuXG4gIGlmIChzdGFuZGFsb25lVmFyaWFibGVWZXJpZmllZCkge1xuICAgIGxvY2FsTWV0YUNvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHN0YW5kYWxvbmUgdmFyaWFibGUuYCwgdmFyaWFibGVOb2RlKTtcbiAgfVxuXG4gIHJldHVybiBzdGFuZGFsb25lVmFyaWFibGVWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlWYXJpYWJsZSIsInZlcmlmeVN0YW5kYWxvbmVWYXJpYWJsZSIsInZhcmlhYmxlTm9kZSIsInR5cGVOb2RlIiwiZmlsZUNvbnRleHQiLCJ2YXJpYWJsZVZlcmlmaWVkIiwidmFyaWFibGVTdHJpbmciLCJub2RlQXNTdHJpbmciLCJ0cmFjZSIsInZhcmlhYmxlUHJlc2VudCIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5vZGUiLCJkZWJ1ZyIsInZhcmlhYmxlIiwidHlwZU5hbWUiLCJ0eXBlTmFtZUZyb21UeXBlTm9kZSIsInR5cGUiLCJvYmplY3RUeXBlIiwiVmFyaWFibGUiLCJmcm9tVmFyaWFibGVOb2RlQW5kVHlwZSIsImZpbmRUeXBlQnlUeXBlTmFtZSIsInZhcmlhYmxlQXNzaWdubWVudCIsIlZhcmlhYmxlQXNzaWdubWVudCIsImZyb21WYXJpYWJsZSIsInZhcmlhYmxlQXNzaWduZWQiLCJhc3NpZ24iLCJsb2NhbE1ldGFDb250ZXh0IiwidmVyaWZ5QWhlYWQiLCJzdGFuZGFsb25lVmFyaWFibGVWZXJpZmllZCIsInZlcmlmaWVkQWhlYWQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVFBLE9BNkNDO2VBN0N1QkE7O0lBK0NSQyx3QkFBd0I7ZUFBeEJBOzs7K0RBckRLO2dFQUNVO29CQUVKO3FCQUNVOzs7Ozs7QUFFdEIsU0FBU0QsZUFBZUUsWUFBWSxFQUFFQyxRQUFRLEVBQUVDLFdBQVc7SUFDeEUsSUFBSUMsbUJBQW1CO0lBRXZCLElBQU1DLGlCQUFpQkYsWUFBWUcsWUFBWSxDQUFDTDtJQUVoREUsWUFBWUksS0FBSyxDQUFDLEFBQUMsa0JBQWdDLE9BQWZGLGdCQUFlLGtCQUFnQko7SUFFbkUsSUFBTU8sa0JBQWtCTCxZQUFZTSwrQkFBK0IsQ0FBQ1I7SUFFcEUsSUFBSU8saUJBQWlCO1FBQ25CTCxZQUFZTyxLQUFLLENBQUMsQUFBQyxpQkFBK0IsT0FBZkwsZ0JBQWUsMEJBQXdCSjtJQUM1RSxPQUFPO1FBQ0wsSUFBSVU7UUFFSixJQUFNQyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ1g7UUFFdEMsSUFBSVUsYUFBYSxNQUFNO1lBQ3JCLElBQU1FLE9BQU9DLGdCQUFVO1lBRXZCSixXQUFXSyxpQkFBUSxDQUFDQyx1QkFBdUIsQ0FBQ2hCLGNBQWNhO1FBQzVELE9BQU87WUFDTCxJQUFNQSxRQUFPWCxZQUFZZSxrQkFBa0IsQ0FBQ047WUFFNUMsSUFBSUUsVUFBUyxNQUFNO2dCQUNqQlgsWUFBWU8sS0FBSyxDQUFDLEFBQUMsUUFBc0NFLE9BQS9CUCxnQkFBZSxrQkFBeUIsT0FBVE8sVUFBUywyQkFBeUJYO1lBQzdGLE9BQU87Z0JBQ0xVLFdBQVdLLGlCQUFRLENBQUNDLHVCQUF1QixDQUFDaEIsY0FBY2E7WUFDNUQ7UUFDRjtRQUVBLElBQUlILGFBQWEsTUFBTTtZQUNyQixJQUFNUSxxQkFBcUJDLGtCQUFrQixDQUFDQyxZQUFZLENBQUNWLFdBQ3JEVyxtQkFBbUJILG1CQUFtQkksTUFBTSxDQUFDcEI7WUFFbkQsSUFBSW1CLGtCQUFrQjtnQkFDcEJsQixtQkFBbUI7WUFDckI7UUFDRjtJQUNGO0lBRUEsSUFBSUEsa0JBQWtCO1FBQ3BCRCxZQUFZTyxLQUFLLENBQUMsQUFBQyxvQkFBa0MsT0FBZkwsZ0JBQWUsZ0JBQWNKO0lBQ3JFO0lBRUEsT0FBT0c7QUFDVDtBQUVPLFNBQVNKLHlCQUF5QkMsWUFBWSxFQUFFdUIsZ0JBQWdCLEVBQUVDLFdBQVc7SUFDbEYsSUFBSUMsNkJBQTZCO0lBRWpDLElBQU1yQixpQkFBaUJtQixpQkFBaUJsQixZQUFZLENBQUNMO0lBRXJEdUIsaUJBQWlCakIsS0FBSyxDQUFDLEFBQUMsa0JBQWdDLE9BQWZGLGdCQUFlLDZCQUEyQko7SUFFbkYsSUFBTU8sa0JBQWtCZ0IsaUJBQWlCZiwrQkFBK0IsQ0FBQ1I7SUFFekUsSUFBSU8saUJBQWlCO1FBQ25CLElBQU1tQixnQkFBZ0JGO1FBRXRCQyw2QkFBNkJDLGVBQWUsR0FBRztJQUNqRDtJQUVBLElBQUlELDRCQUE0QjtRQUM5QkYsaUJBQWlCZCxLQUFLLENBQUMsQUFBQyxvQkFBa0MsT0FBZkwsZ0JBQWUsMkJBQXlCSjtJQUNyRjtJQUVBLE9BQU95QjtBQUNUIn0=
|
package/package.json
CHANGED
|
@@ -9,15 +9,15 @@ export default class EqualityAssignment {
|
|
|
9
9
|
return this.equality;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
assign(
|
|
13
|
-
const equalityAdded =
|
|
12
|
+
assign(localContext) {
|
|
13
|
+
const equalityAdded = localContext.addEquality(this.equality),
|
|
14
14
|
equalityNode = this.equality.getNode(),
|
|
15
|
-
equalityString =
|
|
15
|
+
equalityString = localContext.nodeAsString(equalityNode),
|
|
16
16
|
equalityAssigned = equalityAdded; ///
|
|
17
17
|
|
|
18
18
|
equalityAssigned ?
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
localContext.trace(`Assigned the '${equalityString}' equality.`, equalityNode) :
|
|
20
|
+
localContext.debug(`Unable to assign the '${equalityString}' equality.`, equalityNode);
|
|
21
21
|
|
|
22
22
|
return equalityAssigned;
|
|
23
23
|
}
|
|
@@ -9,17 +9,17 @@ export default class VariableAssignment {
|
|
|
9
9
|
return this.variable;
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
assign(
|
|
13
|
-
const variableAdded =
|
|
12
|
+
assign(localContext) {
|
|
13
|
+
const variableAdded = localContext.addVariable(this.variable),
|
|
14
14
|
variableNode = this.variable.getNode(),
|
|
15
15
|
variableType = this.variable.getType(),
|
|
16
|
-
variableString =
|
|
16
|
+
variableString = localContext.nodeAsString(variableNode),
|
|
17
17
|
variableTypeName = variableType.getName(),
|
|
18
18
|
variableAssigned = variableAdded; ///
|
|
19
19
|
|
|
20
20
|
variableAssigned ?
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
localContext.trace(`Assigned the '${variableString}' variable with type '${variableTypeName}'.`, variableNode) :
|
|
22
|
+
localContext.debug(`Unable to assign the '${variableString}' variable with type '${variableTypeName}'.`, variableNode);
|
|
23
23
|
|
|
24
24
|
return variableAssigned;
|
|
25
25
|
}
|
package/src/conclusion.js
CHANGED
|
@@ -15,12 +15,12 @@ export default class Conclusion {
|
|
|
15
15
|
return this.metastatementNode;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
matchStatementNode(statementNode, substitutions,
|
|
18
|
+
matchStatementNode(statementNode, substitutions, localContext, statementLocalContext) {
|
|
19
19
|
const nonTerminalNodeA = this.metastatementNode, ///
|
|
20
20
|
nonTerminalNodeB = statementNode, ///
|
|
21
|
-
|
|
21
|
+
localContextA = localContext, ///
|
|
22
22
|
localContextB = statementLocalContext, ///
|
|
23
|
-
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions,
|
|
23
|
+
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
24
24
|
const verifyAhead = true;
|
|
25
25
|
|
|
26
26
|
return verifyAhead;
|
|
@@ -30,12 +30,12 @@ export default class Conclusion {
|
|
|
30
30
|
return statementNodeMatches;
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
matchMetastatementNode(metastatementNode, substitutions,
|
|
33
|
+
matchMetastatementNode(metastatementNode, substitutions, localContext, metastatementLocalMetaContext) {
|
|
34
34
|
const nonTerminalNodeA = this.metastatementNode, ///
|
|
35
35
|
nonTerminalNodeB = metastatementNode, ///
|
|
36
|
-
|
|
36
|
+
localContextA = localContext, ///
|
|
37
37
|
localMetaContextB = metastatementLocalMetaContext, ///
|
|
38
|
-
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions,
|
|
38
|
+
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localMetaContextB, () => {
|
|
39
39
|
const verifiedAhead = true;
|
|
40
40
|
|
|
41
41
|
return verifiedAhead;
|
package/src/context/local.js
CHANGED
|
@@ -253,6 +253,8 @@ class LocalContext {
|
|
|
253
253
|
return variable;
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
+
findMetaTypeByMetaTypeName(metaTypeName) { return this.context.findMetaTypeByMetaTypeName(metaTypeName); }
|
|
257
|
+
|
|
256
258
|
isVariablePresentByVariableNode(variableNode) {
|
|
257
259
|
const variable = this.findVariableByVariableNode(variableNode),
|
|
258
260
|
variablePresent = (variable !== null);
|
|
@@ -296,6 +298,16 @@ class LocalContext {
|
|
|
296
298
|
return localContext;
|
|
297
299
|
}
|
|
298
300
|
|
|
301
|
+
static fromLocalMetaContext(localMetaContext) {
|
|
302
|
+
const context = localMetaContext, ///
|
|
303
|
+
variables = [],
|
|
304
|
+
proofSteps = [],
|
|
305
|
+
equivalences = [],
|
|
306
|
+
localContext = new LocalContext(context, variables, proofSteps, equivalences);
|
|
307
|
+
|
|
308
|
+
return localContext;
|
|
309
|
+
}
|
|
310
|
+
|
|
299
311
|
static fromJSONAndFileContext(json, fileContext) {
|
|
300
312
|
let { variables } = json;
|
|
301
313
|
|
package/src/equality.js
CHANGED
|
@@ -28,16 +28,18 @@ export default class Equality {
|
|
|
28
28
|
return reflexive;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
isEqual(
|
|
31
|
+
isEqual(localContext) {
|
|
32
32
|
const leftTerm = this.getLeftTerm(),
|
|
33
33
|
rightTerm = this.getRightTerm(),
|
|
34
34
|
leftTermNode = leftTerm.getNode(),
|
|
35
35
|
rightTermNode = rightTerm.getNode(),
|
|
36
36
|
nonTerminalNodeA = leftTermNode, ///
|
|
37
37
|
nonTerminalNodeB = rightTermNode, ///
|
|
38
|
-
equivalences =
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
equivalences = localContext.getEquivalences();
|
|
39
|
+
|
|
40
|
+
localContext = this; ///
|
|
41
|
+
|
|
42
|
+
const nonTerminalNodeVerified = equalityNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, equivalences, localContext, () => {
|
|
41
43
|
const verifiedAhead = true;
|
|
42
44
|
|
|
43
45
|
return verifiedAhead;
|
package/src/equivalence.js
CHANGED
|
@@ -21,9 +21,9 @@ export default class Equivalence {
|
|
|
21
21
|
this.terms.push(term);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
getType(
|
|
24
|
+
getType(localContext) {
|
|
25
25
|
const type = this.terms.reduce((type, term) => {
|
|
26
|
-
const termType = termTypeFromTerm(term,
|
|
26
|
+
const termType = termTypeFromTerm(term, localContext);
|
|
27
27
|
|
|
28
28
|
if (type === null) {
|
|
29
29
|
type = termType; ///
|
|
@@ -41,10 +41,10 @@ export default class Equivalence {
|
|
|
41
41
|
return type;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
matchType(type,
|
|
44
|
+
matchType(type, localContext) {
|
|
45
45
|
const typeA = type; ///
|
|
46
46
|
|
|
47
|
-
type = this.getType(
|
|
47
|
+
type = this.getType(localContext);
|
|
48
48
|
|
|
49
49
|
const typeB = type; ///
|
|
50
50
|
|
|
@@ -107,9 +107,9 @@ export default class Equivalence {
|
|
|
107
107
|
return termNodesMatch;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
getGroundedTerms(definedVariables, groundedTerms,
|
|
110
|
+
getGroundedTerms(definedVariables, groundedTerms, localContext) {
|
|
111
111
|
this.terms.forEach((term) => {
|
|
112
|
-
const termGrounded = term.isGrounded(definedVariables,
|
|
112
|
+
const termGrounded = term.isGrounded(definedVariables, localContext);
|
|
113
113
|
|
|
114
114
|
if (termGrounded) {
|
|
115
115
|
const termMatchesGroundedTerm = groundedTerms.some((groundedTerm) => {
|
|
@@ -129,25 +129,25 @@ export default class Equivalence {
|
|
|
129
129
|
});
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
isInitiallyGrounded(
|
|
133
|
-
const initiallyGroundedTerms = this.getInitiallyGroundedTerms(
|
|
132
|
+
isInitiallyGrounded(localContext) {
|
|
133
|
+
const initiallyGroundedTerms = this.getInitiallyGroundedTerms(localContext),
|
|
134
134
|
initiallyGroundedTermsLength = initiallyGroundedTerms.length,
|
|
135
135
|
initiallyGrounded = (initiallyGroundedTermsLength > 0);
|
|
136
136
|
|
|
137
137
|
return initiallyGrounded;
|
|
138
138
|
}
|
|
139
139
|
|
|
140
|
-
isImplicitlyGrounded(definedVariables,
|
|
141
|
-
const implicitlyGroundedTerms = this.getImplicitlyGroundedTerms(definedVariables,
|
|
140
|
+
isImplicitlyGrounded(definedVariables, localContext) {
|
|
141
|
+
const implicitlyGroundedTerms = this.getImplicitlyGroundedTerms(definedVariables, localContext),
|
|
142
142
|
implicitlyGroundedTermsLength = implicitlyGroundedTerms.length,
|
|
143
143
|
implicitlyGrounded = (implicitlyGroundedTermsLength > 0);
|
|
144
144
|
|
|
145
145
|
return implicitlyGrounded;
|
|
146
146
|
}
|
|
147
147
|
|
|
148
|
-
getInitiallyGroundedTerms(
|
|
148
|
+
getInitiallyGroundedTerms(localContext) {
|
|
149
149
|
const initiallyGroundedTerms = this.terms.reduce((initiallyGroundedTerms, term) => {
|
|
150
|
-
const termInitiallyGrounded = term.isInitiallyGrounded(
|
|
150
|
+
const termInitiallyGrounded = term.isInitiallyGrounded(localContext);
|
|
151
151
|
|
|
152
152
|
if (termInitiallyGrounded) {
|
|
153
153
|
const initiallyGroundedTerm = term; ///
|
|
@@ -161,9 +161,9 @@ export default class Equivalence {
|
|
|
161
161
|
return initiallyGroundedTerms;
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
-
getImplicitlyGroundedTerms(definedVariables,
|
|
164
|
+
getImplicitlyGroundedTerms(definedVariables, localContext) {
|
|
165
165
|
const implicitlyGroundedTerms = this.terms.reduce((implicitlyGroundedTerms, term) => {
|
|
166
|
-
const termImplicitlyGrounded = term.isImplicitlyGrounded(definedVariables,
|
|
166
|
+
const termImplicitlyGrounded = term.isImplicitlyGrounded(definedVariables, localContext);
|
|
167
167
|
|
|
168
168
|
if (termImplicitlyGrounded) {
|
|
169
169
|
const implicitlyGroundedTerm = term; ///
|
|
@@ -200,14 +200,14 @@ export default class Equivalence {
|
|
|
200
200
|
}
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
function termTypeFromTerm(term,
|
|
203
|
+
function termTypeFromTerm(term, localContext) {
|
|
204
204
|
let termType;
|
|
205
205
|
|
|
206
206
|
const termNode = term.getNode(),
|
|
207
207
|
variableNode = variableNodeQuery(termNode);
|
|
208
208
|
|
|
209
209
|
if (variableNode !== null) {
|
|
210
|
-
const variable =
|
|
210
|
+
const variable = localContext.findVariableByVariableNode(variableNode),
|
|
211
211
|
variableType = variable.getType();
|
|
212
212
|
|
|
213
213
|
termType = variableType; ///
|
|
@@ -32,9 +32,9 @@ function verifyVariableNode(variableNodeA, termNodeB, substitutions, localContex
|
|
|
32
32
|
|
|
33
33
|
if (variable !== null) {
|
|
34
34
|
const terms = [],
|
|
35
|
-
context = localContextB, ///
|
|
36
35
|
termNode = termNodeB, ///
|
|
37
|
-
|
|
36
|
+
localContext = localContextB, ///
|
|
37
|
+
termVerified = verifyTerm(termNode, terms, localContext, () => {
|
|
38
38
|
let verifiedAhead = false;
|
|
39
39
|
|
|
40
40
|
const firstTerm = first(terms),
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import MetastatementForMetavariableSubstitution from "../../substitution/metastatementForMetavariable";
|
|
4
4
|
|
|
5
|
-
function verifyMetavariableNode(metavariableNodeA, metastatementNodeB, substitutions,
|
|
5
|
+
function verifyMetavariableNode(metavariableNodeA, metastatementNodeB, substitutions, localContextA, localMetaContextB, verifyAhead) {
|
|
6
6
|
let metavariableNodeVerified;
|
|
7
7
|
|
|
8
8
|
const substitution = substitutions.find((substitution) => {
|
package/src/premise.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import LocalContext from "./context/local";
|
|
3
4
|
import metaLevelNodesVerifier from "./verifier/nodes/metaLevel";
|
|
4
5
|
import metaLevelToIntrinsicLevelNodesVerifier from "./verifier/nodes/metaLevelToIntrinsicLevel";
|
|
5
6
|
|
|
@@ -45,8 +46,9 @@ export default class Premise {
|
|
|
45
46
|
const nonTerminalNodeA = ruleSubproofAssertionMetastatementNode, ///
|
|
46
47
|
nonTerminalNodeB = subproofStatementNode, ///
|
|
47
48
|
fileContextA = fileContext, ///
|
|
49
|
+
localContextA = LocalContext.fromFileContext(fileContextA),
|
|
48
50
|
localContextB = statementLocalContext, ///
|
|
49
|
-
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions,
|
|
51
|
+
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
50
52
|
const verifiedAhead = true;
|
|
51
53
|
|
|
52
54
|
return verifiedAhead;
|
|
@@ -66,8 +68,9 @@ export default class Premise {
|
|
|
66
68
|
const nonTerminalNodeA = this.metastatementNode, ///
|
|
67
69
|
nonTerminalNodeB = statementNode, ///
|
|
68
70
|
fileContextA = fileContext, ///
|
|
71
|
+
localContextA = LocalContext.fromFileContext(fileContextA),
|
|
69
72
|
localContextB = statementLocalContext, ///
|
|
70
|
-
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions,
|
|
73
|
+
nonTerminalNodeVerified = metaLevelToIntrinsicLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localContextB, () => {
|
|
71
74
|
const verifiedAhead = true;
|
|
72
75
|
|
|
73
76
|
return verifiedAhead;
|
|
@@ -98,8 +101,9 @@ export default class Premise {
|
|
|
98
101
|
const nonTerminalNodeA = ruleSubproofAssertionMetastatementNode, ///
|
|
99
102
|
nonTerminalNodeB = ruleSubproofMetastatementNode, ///
|
|
100
103
|
fileContextA = fileContext, ///
|
|
104
|
+
localContextA = LocalContext.fromFileContext(fileContextA),
|
|
101
105
|
localMetaContextB = metastatementLocalMetaContext, ///
|
|
102
|
-
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions,
|
|
106
|
+
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localMetaContextB, () => {
|
|
103
107
|
const verifiedAhead = true;
|
|
104
108
|
|
|
105
109
|
return verifiedAhead;
|
|
@@ -119,8 +123,9 @@ export default class Premise {
|
|
|
119
123
|
const nonTerminalNodeA = this.metastatementNode, ///
|
|
120
124
|
nonTerminalNodeB = metastatementNode, ///
|
|
121
125
|
fileContextA = fileContext, ///
|
|
126
|
+
localContextA = LocalContext.fromFileContext(fileContextA),
|
|
122
127
|
localMetaContextB = metastatementLocalMetaContext, ///
|
|
123
|
-
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions,
|
|
128
|
+
nonTerminalNodeVerified = metaLevelNodesVerifier.verifyNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions, localContextA, localMetaContextB, () => {
|
|
124
129
|
const verifiedAhead = true;
|
|
125
130
|
|
|
126
131
|
return verifiedAhead;
|