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.
Files changed (120) hide show
  1. package/lib/axiomLemmaTheoremConjecture.js +3 -4
  2. package/lib/conclusion.js +13 -43
  3. package/lib/constants.js +1 -5
  4. package/lib/context/local.js +386 -0
  5. package/lib/declaration.js +15 -15
  6. package/lib/metaLemmaMetatheorem.js +59 -59
  7. package/lib/mixins/context.js +17 -13
  8. package/lib/mixins/nodesVerifier/metaLevel.js +6 -6
  9. package/lib/premise.js +16 -94
  10. package/lib/{step/proof.js → proofStep.js} +1 -1
  11. package/lib/rule.js +1 -45
  12. package/lib/ruleNames.js +1 -9
  13. package/lib/substitution/statementForMetavariable.js +9 -1
  14. package/lib/substitution.js +1 -8
  15. package/lib/supposition.js +55 -1
  16. package/lib/utilities/customGrammar.js +2 -2
  17. package/lib/utilities/match.js +13 -50
  18. package/lib/utilities/node.js +2 -27
  19. package/lib/utilities/tokens.js +1 -8
  20. package/lib/utilities/verify.js +8 -24
  21. package/lib/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +29 -29
  22. package/lib/verifier/nodes/metaLevel.js +13 -13
  23. package/lib/verify/axiom.js +3 -3
  24. package/lib/verify/conclusion.js +10 -11
  25. package/lib/verify/conjecture.js +3 -3
  26. package/lib/verify/declaration.js +6 -6
  27. package/lib/verify/lemma.js +3 -3
  28. package/lib/verify/metaLemma.js +13 -13
  29. package/lib/verify/metastatement.js +64 -64
  30. package/lib/verify/metatheorem.js +13 -13
  31. package/lib/verify/premise.js +11 -30
  32. package/lib/verify/proof.js +3 -4
  33. package/lib/verify/proofStep.js +5 -5
  34. package/lib/verify/rule.js +11 -11
  35. package/lib/verify/statement/qualified.js +35 -9
  36. package/lib/verify/statement/unqualified.js +1 -1
  37. package/lib/verify/subproof.js +3 -4
  38. package/lib/verify/supposition.js +3 -3
  39. package/lib/verify/termAsConstructor.js +3 -3
  40. package/lib/verify/theorem.js +3 -3
  41. package/package.json +4 -4
  42. package/src/axiomLemmaTheoremConjecture.js +2 -4
  43. package/src/conclusion.js +15 -54
  44. package/src/constants.js +0 -1
  45. package/src/context/{local/intrinsicLevel.js → local.js} +182 -97
  46. package/src/declaration.js +19 -19
  47. package/src/metaLemmaMetatheorem.js +58 -58
  48. package/src/mixins/context.js +12 -9
  49. package/src/mixins/nodesVerifier/metaLevel.js +8 -8
  50. package/src/premise.js +25 -143
  51. package/src/rule.js +0 -67
  52. package/src/ruleNames.js +0 -2
  53. package/src/substitution/statementForMetavariable.js +14 -0
  54. package/src/substitution.js +0 -6
  55. package/src/supposition.js +46 -0
  56. package/src/utilities/customGrammar.js +1 -2
  57. package/src/utilities/match.js +13 -60
  58. package/src/utilities/node.js +3 -32
  59. package/src/utilities/tokens.js +0 -8
  60. package/src/utilities/verify.js +4 -20
  61. package/src/verifier/nodes/intrinsicLevelAgainstMetaLevel.js +36 -37
  62. package/src/verifier/nodes/metaLevel.js +17 -17
  63. package/src/verify/axiom.js +3 -4
  64. package/src/verify/conclusion.js +9 -13
  65. package/src/verify/conjecture.js +3 -4
  66. package/src/verify/declaration.js +7 -7
  67. package/src/verify/lemma.js +3 -4
  68. package/src/verify/metaLemma.js +24 -25
  69. package/src/verify/metastatement.js +64 -64
  70. package/src/verify/metatheorem.js +23 -24
  71. package/src/verify/premise.js +14 -46
  72. package/src/verify/proof.js +2 -4
  73. package/src/verify/proofStep.js +1 -1
  74. package/src/verify/rule.js +11 -12
  75. package/src/verify/statement/qualified.js +43 -9
  76. package/src/verify/statement/unqualified.js +1 -1
  77. package/src/verify/subproof.js +2 -4
  78. package/src/verify/supposition.js +1 -1
  79. package/src/verify/termAsConstructor.js +3 -4
  80. package/src/verify/theorem.js +3 -4
  81. package/lib/context/local/intrinsicLevel.js +0 -326
  82. package/lib/context/local/metaLevel.js +0 -282
  83. package/lib/metaConsequent.js +0 -108
  84. package/lib/metaSupposition.js +0 -160
  85. package/lib/node/metastatement/bracketed.js +0 -16
  86. package/lib/step/metaproof.js +0 -106
  87. package/lib/substitution/metastatementForMetavariable.js +0 -173
  88. package/lib/verify/metaConsequent.js +0 -50
  89. package/lib/verify/metaDerivation.js +0 -31
  90. package/lib/verify/metaSubDerivation.js +0 -25
  91. package/lib/verify/metaSubproof.js +0 -35
  92. package/lib/verify/metaSupposition.js +0 -61
  93. package/lib/verify/metaSuppositions.js +0 -28
  94. package/lib/verify/metaproof.js +0 -32
  95. package/lib/verify/metaproofStep.js +0 -98
  96. package/lib/verify/metastatement/qualified.js +0 -95
  97. package/lib/verify/metastatement/unqualified.js +0 -37
  98. package/lib/verify/metastatementAsContainedAssertion.js +0 -109
  99. package/lib/verify/metastatementAsDefinedAssertion.js +0 -132
  100. package/lib/verify/metavariableAgainstMetastatement.js +0 -44
  101. package/src/context/local/metaLevel.js +0 -191
  102. package/src/metaConsequent.js +0 -83
  103. package/src/metaSupposition.js +0 -127
  104. package/src/node/metastatement/bracketed.js +0 -9
  105. package/src/step/metaproof.js +0 -73
  106. package/src/substitution/metastatementForMetavariable.js +0 -90
  107. package/src/verify/metaConsequent.js +0 -61
  108. package/src/verify/metaDerivation.js +0 -23
  109. package/src/verify/metaSubDerivation.js +0 -22
  110. package/src/verify/metaSubproof.js +0 -34
  111. package/src/verify/metaSupposition.js +0 -78
  112. package/src/verify/metaSuppositions.js +0 -17
  113. package/src/verify/metaproof.js +0 -30
  114. package/src/verify/metaproofStep.js +0 -137
  115. package/src/verify/metastatement/qualified.js +0 -130
  116. package/src/verify/metastatement/unqualified.js +0 -34
  117. package/src/verify/metastatementAsContainedAssertion.js +0 -127
  118. package/src/verify/metastatementAsDefinedAssertion.js +0 -156
  119. package/src/verify/metavariableAgainstMetastatement.js +0 -42
  120. /package/src/{step/proof.js → proofStep.js} +0 -0
@@ -1,98 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyMetaproofStep;
9
- }
10
- });
11
- var _metaproof = /*#__PURE__*/ _interop_require_default(require("../step/metaproof"));
12
- var _metaSubproof = /*#__PURE__*/ _interop_require_default(require("../verify/metaSubproof"));
13
- var _metaSubDerivation = /*#__PURE__*/ _interop_require_default(require("../verify/metaSubDerivation"));
14
- var _qualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/qualified"));
15
- var _unqualified = /*#__PURE__*/ _interop_require_default(require("../verify/statement/unqualified"));
16
- var _qualified1 = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/qualified"));
17
- var _unqualified1 = /*#__PURE__*/ _interop_require_default(require("../verify/metastatement/unqualified"));
18
- var _query = require("../utilities/query");
19
- var _assignments = require("../utilities/assignments");
20
- function _interop_require_default(obj) {
21
- return obj && obj.__esModule ? obj : {
22
- default: obj
23
- };
24
- }
25
- var metaSubproofNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/metaSubproof!"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement|unqualifiedMetastatement/metastatement!"), qualifiedStatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/qualifiedStatement!"), unqualifiedStatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/unqualifiedStatement!"), qualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/qualifiedMetastatement!"), unqualifiedMetastatementNodeQuery = (0, _query.nodeQuery)("/metaproofStep|lastMetaproofStep/unqualifiedMetastatement!");
26
- function verifyMetaproofStep(metaproofStepNode, substitutions, localContext) {
27
- var metaproofStepVerified = false;
28
- var metaSubproofNode = metaSubproofNodeQuery(metaproofStepNode), qualifiedStatementNode = qualifiedStatementNodeQuery(metaproofStepNode), unqualifiedStatementNode = unqualifiedStatementNodeQuery(metaproofStepNode), qualifiedMetastatementNode = qualifiedMetastatementNodeQuery(metaproofStepNode), unqualifiedMetastatementNode = unqualifiedMetastatementNodeQuery(metaproofStepNode);
29
- if (false) {
30
- ///
31
- } else if (metaSubproofNode !== null) {
32
- var metaSubproofVerified;
33
- metaSubproofVerified = (0, _metaSubproof.default)(metaSubproofNode, substitutions, localContext);
34
- if (metaSubproofVerified) {
35
- var metaproofStep = _metaproof.default.fromMetaSubproofNode(metaSubproofNode);
36
- localContext.addMetaproofStep(metaproofStep);
37
- metaproofStepVerified = true;
38
- }
39
- } else if (qualifiedStatementNode !== null) {
40
- var qualifiedStatementVerified;
41
- var assignments = []; ///
42
- qualifiedStatementVerified = (0, _qualified.default)(qualifiedStatementNode, assignments, localContext);
43
- if (qualifiedStatementVerified) {
44
- var assignmentAssigned = (0, _assignments.assignAssignment)(assignments, localContext);
45
- qualifiedStatementVerified = assignmentAssigned; ///
46
- }
47
- if (qualifiedStatementVerified) {
48
- var statementNode = statementNodeQuery(qualifiedStatementNode), metaproofStep1 = _metaproof.default.fromStatementNode(statementNode);
49
- localContext.addMetaproofStep(metaproofStep1);
50
- metaproofStepVerified = true;
51
- }
52
- } else if (unqualifiedStatementNode !== null) {
53
- var unqualifiedStatementVerified;
54
- var derived = true, assignments1 = [];
55
- unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, assignments1, derived, localContext);
56
- if (unqualifiedStatementVerified) {
57
- var assignmentAssigned1 = (0, _assignments.assignAssignment)(assignments1, localContext);
58
- unqualifiedStatementVerified = assignmentAssigned1; ///
59
- }
60
- if (unqualifiedStatementVerified) {
61
- var statementNode1 = statementNodeQuery(unqualifiedStatementNode), metaproofStep2 = _metaproof.default.fromStatementNode(statementNode1);
62
- localContext.addMetaproofStep(metaproofStep2);
63
- metaproofStepVerified = unqualifiedStatementVerified; ///
64
- }
65
- } else if (qualifiedMetastatementNode !== null) {
66
- var qualifiedMetastatementVerified;
67
- var assignments2 = [];
68
- qualifiedMetastatementVerified = (0, _qualified1.default)(qualifiedMetastatementNode, substitutions, assignments2, localContext);
69
- if (qualifiedMetastatementVerified) {
70
- var assignmentAssigned2 = (0, _assignments.assignAssignment)(assignments2, localContext);
71
- qualifiedMetastatementVerified = assignmentAssigned2; ///
72
- }
73
- if (qualifiedMetastatementVerified) {
74
- var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metaproofStep3 = _metaproof.default.fromMetastatementNode(metastatementNode);
75
- localContext.addMetaproofStep(metaproofStep3);
76
- metaproofStepVerified = qualifiedMetastatementVerified; ///
77
- }
78
- } else if (unqualifiedMetastatementNode !== null) {
79
- var unqualifiedMetastatementVerified;
80
- var derived1 = true, assignments3 = [];
81
- unqualifiedMetastatementVerified = (0, _unqualified1.default)(unqualifiedMetastatementNode, assignments3, derived1, localContext);
82
- if (unqualifiedMetastatementVerified) {
83
- var assignmentAssigned3 = (0, _assignments.assignAssignment)(assignments3, localContext);
84
- unqualifiedMetastatementVerified = assignmentAssigned3; ///
85
- }
86
- if (unqualifiedMetastatementVerified) {
87
- var metastatementNode1 = metastatementNodeQuery(unqualifiedMetastatementNode), metaproofStep4 = _metaproof.default.fromMetastatementNode(metastatementNode1);
88
- localContext.addMetaproofStep(metaproofStep4);
89
- metaproofStepVerified = true;
90
- }
91
- }
92
- return metaproofStepVerified;
93
- }
94
- Object.assign(_metaSubDerivation.default, {
95
- verifyMetaproofStep: verifyMetaproofStep
96
- });
97
-
98
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXByb29mU3RlcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IE1ldGFwcm9vZlN0ZXAgZnJvbSBcIi4uL3N0ZXAvbWV0YXByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YnByb29mIGZyb20gXCIuLi92ZXJpZnkvbWV0YVN1YnByb29mXCI7XG5pbXBvcnQgdmVyaWZ5TWV0YVN1YkRlcml2YXRpb24gZnJvbSBcIi4uL3ZlcmlmeS9tZXRhU3ViRGVyaXZhdGlvblwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC9xdWFsaWZpZWRcIjtcbmltcG9ydCB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L3N0YXRlbWVudC91bnF1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3F1YWxpZmllZFwiO1xuaW1wb3J0IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vdmVyaWZ5L21ldGFzdGF0ZW1lbnQvdW5xdWFsaWZpZWRcIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgYXNzaWduQXNzaWdubWVudCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXNzaWdubWVudHNcIjtcblxuY29uc3QgbWV0YVN1YnByb29mTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvbWV0YVN1YnByb29mIVwiKSxcbiAgICAgIG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcXVhbGlmaWVkTWV0YXN0YXRlbWVudHx1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC9xdWFsaWZpZWRTdGF0ZW1lbnQhXCIpLFxuICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZFN0YXRlbWVudCFcIiksXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFwcm9vZlN0ZXB8bGFzdE1ldGFwcm9vZlN0ZXAvcXVhbGlmaWVkTWV0YXN0YXRlbWVudCFcIiksXG4gICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXByb29mU3RlcHxsYXN0TWV0YXByb29mU3RlcC91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXBOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFTdWJwcm9vZk5vZGUgPSBtZXRhU3VicHJvb2ZOb2RlUXVlcnkobWV0YXByb29mU3RlcE5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gcXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mU3RlcE5vZGUpLFxuICAgICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSA9IHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlUXVlcnkobWV0YXByb29mU3RlcE5vZGUpLFxuICAgICAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlID0gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KG1ldGFwcm9vZlN0ZXBOb2RlKTtcblxuICBpZiAoZmFsc2UpIHtcbiAgICAvLy9cbiAgfSBlbHNlIGlmIChtZXRhU3VicHJvb2ZOb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IG1ldGFTdWJwcm9vZlZlcmlmaWVkO1xuXG4gICAgbWV0YVN1YnByb29mVmVyaWZpZWQgPSB2ZXJpZnlNZXRhU3VicHJvb2YobWV0YVN1YnByb29mTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmIChtZXRhU3VicHJvb2ZWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFTdWJwcm9vZk5vZGUobWV0YVN1YnByb29mTm9kZSk7XG5cbiAgICAgIGxvY2FsQ29udGV4dC5hZGRNZXRhcHJvb2ZTdGVwKG1ldGFwcm9vZlN0ZXApO1xuXG4gICAgICBtZXRhcHJvb2ZTdGVwVmVyaWZpZWQgPSB0cnVlO1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRTdGF0ZW1lbnROb2RlICE9PSBudWxsKSB7XG4gICAgbGV0IHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgYXNzaWdubWVudHMgPSBbXTsgIC8vL1xuXG4gICAgcXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gYXNzaWdubWVudEFzc2lnbmVkOyAvLy9cbiAgICB9XG5cbiAgICBpZiAocXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IHN0YXRlbWVudE5vZGUgPSBzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9IGVsc2UgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkO1xuXG4gICAgY29uc3QgZGVyaXZlZCA9IHRydWUsXG4gICAgICAgICAgYXNzaWdubWVudHMgPSBbXTtcblxuICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IGFzc2lnbm1lbnRBc3NpZ25lZCA9IGFzc2lnbkFzc2lnbm1lbnQoYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICAgIHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBzdGF0ZW1lbnROb2RlID0gc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tU3RhdGVtZW50Tm9kZShzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHVucXVhbGlmaWVkU3RhdGVtZW50VmVyaWZpZWQ7IC8vL1xuICAgIH1cbiAgfSBlbHNlIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgICBjb25zdCBhc3NpZ25tZW50cyA9IFtdO1xuXG4gICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudChxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgYXNzaWdubWVudHMsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICBjb25zdCBhc3NpZ25tZW50QXNzaWduZWQgPSBhc3NpZ25Bc3NpZ25tZW50KGFzc2lnbm1lbnRzLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhcHJvb2ZTdGVwID0gTWV0YXByb29mU3RlcC5mcm9tTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgICBsb2NhbENvbnRleHQuYWRkTWV0YXByb29mU3RlcChtZXRhcHJvb2ZTdGVwKTtcblxuICAgICAgbWV0YXByb29mU3RlcFZlcmlmaWVkID0gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgICB9XG4gIH0gZWxzZSBpZiAodW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcblxuICAgIGNvbnN0IGRlcml2ZWQgPSB0cnVlLFxuICAgICAgICAgIGFzc2lnbm1lbnRzID0gW107XG5cbiAgICB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgYXNzaWdubWVudEFzc2lnbmVkID0gYXNzaWduQXNzaWdubWVudChhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KTtcblxuICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBhc3NpZ25tZW50QXNzaWduZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5KHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgICAgbWV0YXByb29mU3RlcCA9IE1ldGFwcm9vZlN0ZXAuZnJvbU1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgICAgbG9jYWxDb250ZXh0LmFkZE1ldGFwcm9vZlN0ZXAobWV0YXByb29mU3RlcCk7XG5cbiAgICAgIG1ldGFwcm9vZlN0ZXBWZXJpZmllZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFwcm9vZlN0ZXBWZXJpZmllZDtcbn1cblxuT2JqZWN0LmFzc2lnbih2ZXJpZnlNZXRhU3ViRGVyaXZhdGlvbiwge1xuICB2ZXJpZnlNZXRhcHJvb2ZTdGVwXG59KTtcbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhcHJvb2ZTdGVwIiwibWV0YVN1YnByb29mTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInF1YWxpZmllZFN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm1ldGFwcm9vZlN0ZXBOb2RlIiwic3Vic3RpdHV0aW9ucyIsImxvY2FsQ29udGV4dCIsIm1ldGFwcm9vZlN0ZXBWZXJpZmllZCIsIm1ldGFTdWJwcm9vZk5vZGUiLCJxdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YVN1YnByb29mVmVyaWZpZWQiLCJ2ZXJpZnlNZXRhU3VicHJvb2YiLCJtZXRhcHJvb2ZTdGVwIiwiTWV0YXByb29mU3RlcCIsImZyb21NZXRhU3VicHJvb2ZOb2RlIiwiYWRkTWV0YXByb29mU3RlcCIsInF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkIiwiYXNzaWdubWVudHMiLCJ2ZXJpZnlRdWFsaWZpZWRTdGF0ZW1lbnQiLCJhc3NpZ25tZW50QXNzaWduZWQiLCJhc3NpZ25Bc3NpZ25tZW50Iiwic3RhdGVtZW50Tm9kZSIsInN0YXRlbWVudE5vZGVRdWVyeSIsImZyb21TdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsImRlcml2ZWQiLCJ2ZXJpZnlVbnF1YWxpZmllZFN0YXRlbWVudCIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImZyb21NZXRhc3RhdGVtZW50Tm9kZSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwiT2JqZWN0IiwiYXNzaWduIiwidmVyaWZ5TWV0YVN1YkRlcml2YXRpb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQW9CQTs7O2VBQXdCQTs7O2dFQWxCRTttRUFDSzt3RUFDSztnRUFDQztrRUFDRTtpRUFDRTttRUFDRTtxQkFFakI7MkJBQ087Ozs7OztBQUVqQyxJQUFNQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMsbURBQ2xDQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUMsb0VBQ25DRSw4QkFBOEJGLElBQUFBLGdCQUFTLEVBQUMseURBQ3hDRyxnQ0FBZ0NILElBQUFBLGdCQUFTLEVBQUMsMkRBQzFDSSxrQ0FBa0NKLElBQUFBLGdCQUFTLEVBQUMsNkRBQzVDSyxvQ0FBb0NMLElBQUFBLGdCQUFTLEVBQUM7QUFFckMsU0FBU0Ysb0JBQW9CUSxpQkFBaUIsRUFBRUMsYUFBYSxFQUFFQyxZQUFZO0lBQ3hGLElBQUlDLHdCQUF3QjtJQUU1QixJQUFNQyxtQkFBbUJYLHNCQUFzQk8sb0JBQ3pDSyx5QkFBeUJULDRCQUE0Qkksb0JBQ3JETSwyQkFBMkJULDhCQUE4Qkcsb0JBQ3pETyw2QkFBNkJULGdDQUFnQ0Usb0JBQzdEUSwrQkFBK0JULGtDQUFrQ0M7SUFFdkUsSUFBSSxPQUFPO0lBQ1QsR0FBRztJQUNMLE9BQU8sSUFBSUkscUJBQXFCLE1BQU07UUFDcEMsSUFBSUs7UUFFSkEsdUJBQXVCQyxJQUFBQSxxQkFBa0IsRUFBQ04sa0JBQWtC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
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyQualifiedMetastatement;
9
- }
10
- });
11
- var _metavariableAgainstMetastatement = /*#__PURE__*/ _interop_require_default(require("../../verify/metavariableAgainstMetastatement"));
12
- var _query = require("../../utilities/query");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- var metavariableNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/reference!/metavariable!"), metastatementNodeQuery = (0, _query.nodeQuery)("/qualifiedMetastatement/metastatement!");
19
- function verifyQualifiedMetastatement(qualifiedMetastatementNode, substitutions, assignments, localContext) {
20
- var qualifiedMetastatementVerified;
21
- var qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
22
- localContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement..."), qualifiedMetastatementNode);
23
- var metavariableNode = metavariableNodeQuery(qualifiedMetastatementNode), verifyQualifiedMetastatementFunctions = [
24
- verifyQualifiedMetastatementAAgainstRule,
25
- verifyQualifiedMetastatementAAgainstReference
26
- ];
27
- qualifiedMetastatementVerified = verifyQualifiedMetastatementFunctions.some(function(verifyQualifiedMetastatementFunction) {
28
- var qualifiedMetastatementVerified = verifyQualifiedMetastatementFunction(qualifiedMetastatementNode, metavariableNode, substitutions, localContext);
29
- if (qualifiedMetastatementVerified) {
30
- return true;
31
- }
32
- });
33
- if (qualifiedMetastatementVerified) {
34
- var derived = false, metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metastatementVerified = verifyMetastatement(metastatementNode, assignments, derived, localContext, function() {
35
- var verifiedAhead = true;
36
- return verifiedAhead;
37
- });
38
- qualifiedMetastatementVerified = metastatementVerified; ///
39
- }
40
- if (qualifiedMetastatementVerified) {
41
- localContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement."), qualifiedMetastatementNode);
42
- }
43
- return qualifiedMetastatementVerified;
44
- }
45
- function verifyQualifiedMetastatementAAgainstRule(qualifiedMetastatementNode, metavariableNode, substitutions, localContext) {
46
- var qualifiedMetastatementVerifiedAgainstRule = false;
47
- var rule = localContext.findRuleByMetavariableNode(metavariableNode);
48
- if (rule !== null) {
49
- var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metavariableString = localContext.nodeAsString(metavariableNode), qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
50
- localContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' rule..."), qualifiedMetastatementNode);
51
- var ruleMatchesMetastatement = rule.matchMetastatement(metastatementNode, localContext);
52
- qualifiedMetastatementVerifiedAgainstRule = ruleMatchesMetastatement; ///
53
- if (qualifiedMetastatementVerifiedAgainstRule) {
54
- localContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' rule."), qualifiedMetastatementNode);
55
- }
56
- }
57
- return qualifiedMetastatementVerifiedAgainstRule;
58
- }
59
- function verifyQualifiedMetastatementAAgainstReference(qualifiedMetastatementNode, metavariableNode, substitutions, localContext) {
60
- var qualifiedMetastatementVerifiedAgainstReference = false;
61
- if (substitutions !== null) {
62
- var metavariableString = localContext.nodeAsString(metavariableNode), metavariablePresent = localContext.isMetavariablePresentByMetavariableNode(metavariableNode, localContext), qualifiedMetastatementString = localContext.nodeAsString(qualifiedMetastatementNode);
63
- localContext.trace("Verifying the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' reference..."), qualifiedMetastatementNode);
64
- if (metavariablePresent) {
65
- var metastatementNode = metastatementNodeQuery(qualifiedMetastatementNode), metavariableVerifiedAgainstMetastatement = (0, _metavariableAgainstMetastatement.default)(metavariableNode, metastatementNode, substitutions, function() {
66
- var verifiedAhead = true;
67
- return verifiedAhead;
68
- });
69
- qualifiedMetastatementVerifiedAgainstReference = metavariableVerifiedAgainstMetastatement; ///
70
- }
71
- if (qualifiedMetastatementVerifiedAgainstReference) {
72
- localContext.debug("...verified the '".concat(qualifiedMetastatementString, "' qualified metastatement against the '").concat(metavariableString, "' reference."), qualifiedMetastatementNode);
73
- }
74
- }
75
- return qualifiedMetastatementVerifiedAgainstReference;
76
- }
77
- function verifyMetastatement(metastatementNode, assignments, derived, localContext) {
78
- var metastatementVerified;
79
- var metastatementString = localContext.nodeAsString(metastatementNode);
80
- localContext.trace("Verifying the '".concat(metastatementString, "' metastatement..."), metastatementNode);
81
- var verifyMetaStatementFunctions = [];
82
- verifyMetaStatementFunctions.some(function(verifyStatementFunction) {
83
- var metastatementVerified = verifyStatementFunction(metastatementNode, assignments, derived, localContext);
84
- if (metastatementVerified) {
85
- return true;
86
- }
87
- });
88
- metastatementVerified = true; ///
89
- if (metastatementVerified) {
90
- localContext.debug("...verified the '".concat(metastatementString, "' metastatement."), metastatementNode);
91
- }
92
- return metastatementVerified;
93
- }
94
-
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC9xdWFsaWZpZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCBmcm9tIFwiLi4vLi4vdmVyaWZ5L21ldGF2YXJpYWJsZUFnYWluc3RNZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3F1YWxpZmllZE1ldGFzdGF0ZW1lbnQvcmVmZXJlbmNlIS9tZXRhdmFyaWFibGUhXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9xdWFsaWZpZWRNZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQhXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50KHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBzdWJzdGl0dXRpb25zLCBhc3NpZ25tZW50cywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG5cbiAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuLi5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgbWV0YXZhcmlhYmxlTm9kZSA9IG1ldGF2YXJpYWJsZU5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbnMgPSBbXG4gICAgICAgICAgdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZSxcbiAgICAgICAgICB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2VcbiAgICAgICAgXTtcblxuICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRGdW5jdGlvbikgPT4geyAgLy8vXG4gICAgY29uc3QgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9uKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBtZXRhdmFyaWFibGVOb2RlLCBzdWJzdGl0dXRpb25zLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBpZiAocXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgY29uc3QgZGVyaXZlZCA9IGZhbHNlLFxuICAgICAgICAgIG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgIH0pO1xuXG4gICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEFBZ2FpbnN0UnVsZShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSwgbWV0YXZhcmlhYmxlTm9kZSwgc3Vic3RpdHV0aW9ucywgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZSA9IGZhbHNlO1xuXG4gIGNvbnN0IHJ1bGUgPSBsb2NhbENvbnRleHQuZmluZFJ1bGVCeU1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgaWYgKHJ1bGUgIT09IG51bGwpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50Tm9kZSA9IG1ldGFzdGF0ZW1lbnROb2RlUXVlcnkocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIG1ldGF2YXJpYWJsZVN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke3F1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmd9JyBxdWFsaWZpZWQgbWV0YXN0YXRlbWVudCBhZ2FpbnN0IHRoZSAnJHttZXRhdmFyaWFibGVTdHJpbmd9JyBydWxlLi4uYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgcnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50ID0gcnVsZS5tYXRjaE1ldGFzdGF0ZW1lbnQobWV0YXN0YXRlbWVudE5vZGUsIGxvY2FsQ29udGV4dCk7XG5cbiAgICBxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UnVsZSA9IHJ1bGVNYXRjaGVzTWV0YXN0YXRlbWVudDsgIC8vL1xuXG4gICAgaWYgKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcnVsZS5gLCBxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2UocXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUsIG1ldGF2YXJpYWJsZU5vZGUsIHN1YnN0aXR1dGlvbnMsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSA9IGZhbHNlO1xuXG4gIGlmIChzdWJzdGl0dXRpb25zICE9PSBudWxsKSB7XG4gICAgY29uc3QgbWV0YXZhcmlhYmxlU3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhdmFyaWFibGVOb2RlKSxcbiAgICAgICAgICBtZXRhdmFyaWFibGVQcmVzZW50ID0gbG9jYWxDb250ZXh0LmlzTWV0YXZhcmlhYmxlUHJlc2VudEJ5TWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlLCBsb2NhbENvbnRleHQpLFxuICAgICAgICAgIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcmVmZXJlbmNlLi4uYCwgcXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKG1ldGF2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeShxdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50ID0gdmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQobWV0YXZhcmlhYmxlTm9kZSwgbWV0YXN0YXRlbWVudE5vZGUsIHN1YnN0aXR1dGlvbnMsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSA9IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBZ2FpbnN0UmVmZXJlbmNlKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSAnJHtxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgcXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQgYWdhaW5zdCB0aGUgJyR7bWV0YXZhcmlhYmxlU3RyaW5nfScgcmVmZXJlbmNlLmAsIHF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZTtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5TWV0YXN0YXRlbWVudChtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgY29uc3QgdmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICAvLy9cbiAgXTtcblxuICB2ZXJpZnlNZXRhU3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKHZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uKSA9PiB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5U3RhdGVtZW50RnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuICBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB0cnVlOyAvLy9cblxuICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZDtcbn1cblxuIl0sIm5hbWVzIjpbInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnQiLCJtZXRhdmFyaWFibGVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZVF1ZXJ5IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJzdWJzdGl0dXRpb25zIiwiYXNzaWdubWVudHMiLCJsb2NhbENvbnRleHQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQiLCJxdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtZXRhdmFyaWFibGVOb2RlIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVF1YWxpZmllZE1ldGFzdGF0ZW1lbnRBQWdhaW5zdFJ1bGUiLCJ2ZXJpZnlRdWFsaWZpZWRNZXRhc3RhdGVtZW50QUFnYWluc3RSZWZlcmVuY2UiLCJzb21lIiwidmVyaWZ5UXVhbGlmaWVkTWV0YXN0YXRlbWVudEZ1bmN0aW9uIiwiZGVyaXZlZCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsInZlcmlmaWVkQWhlYWQiLCJkZWJ1ZyIsInF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFnYWluc3RSdWxlIiwicnVsZSIsImZpbmRSdWxlQnlNZXRhdmFyaWFibGVOb2RlIiwibWV0YXZhcmlhYmxlU3RyaW5nIiwicnVsZU1hdGNoZXNNZXRhc3RhdGVtZW50IiwibWF0Y2hNZXRhc3RhdGVtZW50IiwicXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQWdhaW5zdFJlZmVyZW5jZSIsIm1ldGF2YXJpYWJsZVByZXNlbnQiLCJpc01ldGF2YXJpYWJsZVByZXNlbnRCeU1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50IiwidmVyaWZ5TWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQiLCJtZXRhc3RhdGVtZW50U3RyaW5nIiwidmVyaWZ5TWV0YVN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeVN0YXRlbWVudEZ1bmN0aW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQXdCQTs7O3VGQVAyQjtxQkFFekI7Ozs7OztBQUUxQixJQUFNQyx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMscURBQ2xDQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUM7QUFFMUIsU0FBU0YsNkJBQTZCSSwwQkFBMEIsRUFBRUMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLFlBQVk7SUFDdkgsSUFBSUM7SUFFSixJQUFNQywrQkFBK0JGLGFBQWFHLFlBQVksQ0FBQ047SUFFL0RHLGFBQWFJLEtBQUssQ0FBQyxBQUFDLGtCQUE4QyxPQUE3QkYsOEJBQTZCLGlDQUErQkw7SUFFakcsSUFBTVEsbUJBQW1CWCxzQkFBc0JHLDZCQUN6Q1Msd0NBQXdDO1FBQ3RDQztRQUNBQztLQUNEO0lBRVBQLGlDQUFpQ0ssc0NBQXNDRyxJQUFJLENBQUMsU0FBQ0M7UUFDM0UsSUFBTVQsaUNBQWlDUyxxQ0FBcUNiLDRCQUE0QlEsa0JBQWtCUCxlQUFlRTtRQUV6SSxJQUFJQyxnQ0FBZ0M7WUFDbEMsT0FBTztRQUNUO0lBQ0Y7SUFFQSxJQUFJQSxnQ0FBZ0M7UUFDbEMsSUFBTVUsVUFBVSxPQUNWQyxvQkFBb0JoQix1QkFBdUJD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
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyUnqualifiedMetastatement;
9
- }
10
- });
11
- var _metastatement = /*#__PURE__*/ _interop_require_default(require("../../verify/metastatement"));
12
- var _query = require("../../utilities/query");
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- var metastatementNodeQuery = (0, _query.nodeQuery)("/unqualifiedMetastatement/metastatement!");
19
- function verifyUnqualifiedMetastatement(unqualifiedMetastatementNode, assignments, derived, localContext) {
20
- var unqualifiedMetastatementVerified = false;
21
- var metastatementNode = metastatementNodeQuery(unqualifiedMetastatementNode), unqualifiedMetastatementString = localContext.nodeAsString(unqualifiedMetastatementNode);
22
- localContext.trace("Verifying the '".concat(unqualifiedMetastatementString, "' unqualified metastatement..."), unqualifiedMetastatementNode);
23
- if (derived) {
24
- var matchesMetastatementNode = localContext.matchMetastatementNode(metastatementNode);
25
- unqualifiedMetastatementVerified = matchesMetastatementNode; ///
26
- }
27
- if (!unqualifiedMetastatementVerified) {
28
- var metastatementVerified = (0, _metastatement.default)(metastatementNode, assignments, derived, localContext);
29
- unqualifiedMetastatementVerified = metastatementVerified; ///
30
- }
31
- if (unqualifiedMetastatementVerified) {
32
- localContext.debug("...verified the '".concat(unqualifiedMetastatementString, "' unqualified metastatement."), unqualifiedMetastatementNode);
33
- }
34
- return unqualifiedMetastatementVerified;
35
- }
36
-
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudC91bnF1YWxpZmllZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeU1ldGFzdGF0ZW1lbnQgZnJvbSBcIi4uLy4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50XCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgbWV0YXN0YXRlbWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi91bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnQvbWV0YXN0YXRlbWVudCFcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeVVucXVhbGlmaWVkTWV0YXN0YXRlbWVudCh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCB1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlID0gbWV0YXN0YXRlbWVudE5vZGVRdWVyeSh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7dW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nfScgdW5xdWFsaWZpZWQgbWV0YXN0YXRlbWVudC4uLmAsIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gIGlmIChkZXJpdmVkKSB7XG4gICAgY29uc3QgbWF0Y2hlc01ldGFzdGF0ZW1lbnROb2RlID0gbG9jYWxDb250ZXh0Lm1hdGNoTWV0YXN0YXRlbWVudE5vZGUobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQgPSBtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGU7ICAvLy9cbiAgfVxuXG4gIGlmICghdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWQgPSB2ZXJpZnlNZXRhc3RhdGVtZW50KG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KTtcblxuICAgIHVucXVhbGlmaWVkTWV0YXN0YXRlbWVudFZlcmlmaWVkID0gbWV0YXN0YXRlbWVudFZlcmlmaWVkOyAvLy9cbiAgfVxuXG4gIGlmICh1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCkge1xuICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke3VucXVhbGlmaWVkTWV0YXN0YXRlbWVudFN0cmluZ30nIHVucXVhbGlmaWVkIG1ldGFzdGF0ZW1lbnQuYCwgdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50Tm9kZSk7XG4gIH1cblxuICByZXR1cm4gdW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50VmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50IiwibWV0YXN0YXRlbWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInVucXVhbGlmaWVkTWV0YXN0YXRlbWVudE5vZGUiLCJhc3NpZ25tZW50cyIsImRlcml2ZWQiLCJsb2NhbENvbnRleHQiLCJ1bnF1YWxpZmllZE1ldGFzdGF0ZW1lbnRWZXJpZmllZCIsIm1ldGFzdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRNZXRhc3RhdGVtZW50U3RyaW5nIiwibm9kZUFzU3RyaW5nIiwidHJhY2UiLCJtYXRjaGVzTWV0YXN0YXRlbWVudE5vZGUiLCJtYXRjaE1ldGFzdGF0ZW1lbnROb2RlIiwibWV0YXN0YXRlbWVudFZlcmlmaWVkIiwidmVyaWZ5TWV0YXN0YXRlbWVudCIsImRlYnVnIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O29FQU5RO3FCQUVOOzs7Ozs7QUFFMUIsSUFBTUMseUJBQXlCQyxJQUFBQSxnQkFBUyxFQUFDO0FBRTFCLFNBQVNGLCtCQUErQkcsNEJBQTRCLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxFQUFFQyxZQUFZO0lBQ3JILElBQUlDLG1DQUFtQztJQUV2QyxJQUFNQyxvQkFBb0JQLHVCQUF1QkUsK0JBQzNDTSxpQ0FBaUNILGFBQWFJLFlBQVksQ0FBQ1A7SUFFakVHLGFBQWFLLEtBQUssQ0FBQyxBQUFDLGtCQUFnRCxPQUEvQkYsZ0NBQStCLG1DQUFpQ047SUFFckcsSUFBSUUsU0FBUztRQUNYLElBQU1PLDJCQUEyQk4sYUFBYU8sc0JBQXNCLENBQUNMO1FBRXJFRCxtQ0FBbUNLLDBCQUEyQixHQUFHO0lBQ25FO0lBRUEsSUFBSSxDQUFDTCxrQ0FBa0M7UUFDckMsSUFBTU8sd0JBQXdCQyxJQUFBQSxzQkFBbUIsRUFBQ1AsbUJBQW1CSixhQUFhQyxTQUFTQztRQUUzRkMsbUNBQW1DTyx1QkFBdUIsR0FBRztJQUMvRDtJQUVBLElBQUlQLGtDQUFrQztRQUNwQ0QsYUFBYVUsS0FBSyxDQUFDLEFBQUMsb0JBQWtELE9BQS9CUCxnQ0FBK0IsaUNBQStCTjtJQUN2RztJQUVBLE9BQU9JO0FBQ1QifQ==
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- default: function() {
13
- return verifyMetastatementAsContainedAssertion;
14
- },
15
- isMetastatementContainedAssertion: function() {
16
- return isMetastatementContainedAssertion;
17
- }
18
- });
19
- var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
20
- var _constants = require("../constants");
21
- var _query = require("../utilities/query");
22
- var _verify = require("../utilities/verify");
23
- function _interop_require_default(obj) {
24
- return obj && obj.__esModule ? obj : {
25
- default: obj
26
- };
27
- }
28
- var termNodeQuery = (0, _query.nodeQuery)("/metastatement/term!"), operatorTerminalNodesQuery = (0, _query.nodesQuery)("/metastatement/@operator"), metastatementTermNodesQuery = (0, _query.nodesQuery)("/metastatement/metastatement//term");
29
- function verifyMetastatementAsContainedAssertion(metastatementNode, assignments, derived, localContext) {
30
- var metastatementVerifiedAsContainedAssertion;
31
- var metastatementContainedAssertion = isMetastatementContainedAssertion(metastatementNode);
32
- if (metastatementContainedAssertion) {
33
- var metastatementString = localContext.nodeAsString(metastatementNode);
34
- localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a contained assertion..."), metastatementNode);
35
- var metastatementFunctions = [
36
- verifyMetastatementAsDerivedContainedAssertion,
37
- verifyMetastatementAsStatedContainedAssertion
38
- ];
39
- metastatementVerifiedAsContainedAssertion = metastatementFunctions.some(function(metastatementFunction) {
40
- var metastatementVerifiedAsContainedAssertion = metastatementFunction(metastatementNode, assignments, derived, localContext);
41
- if (metastatementVerifiedAsContainedAssertion) {
42
- return true;
43
- }
44
- });
45
- if (metastatementVerifiedAsContainedAssertion) {
46
- localContext.debug("...verified the '".concat(metastatementString, "' metastatement as a contained assertion."), metastatementNode);
47
- }
48
- }
49
- return metastatementVerifiedAsContainedAssertion;
50
- }
51
- function verifyMetastatementAsDerivedContainedAssertion(metastatementNode, assignments, derived, localContext) {
52
- var metastatementVerifiedAsDefinedContainedAssertion = false;
53
- if (derived) {
54
- var metastatementString = localContext.nodeAsString(metastatementNode);
55
- localContext.trace("Verifying the derived '".concat(metastatementString, "' metastatement as a contained assertion..."), metastatementNode);
56
- var metastatementNegated = (0, _verify.isMetastatementNegated)(metastatementNode), negated = metastatementNegated, termNode = termNodeQuery(metastatementNode), metastatementTermNodes = metastatementTermNodesQuery(metastatementNode), termNodeMatchesMetaArgumentTermNode = metastatementTermNodes.some(function(metastatementTermNode) {
57
- var termNodeMatchesMetaArgumentTermNode = termNode.match(metastatementTermNode);
58
- if (termNodeMatchesMetaArgumentTermNode) {
59
- return true;
60
- }
61
- });
62
- if (!negated) {
63
- if (termNodeMatchesMetaArgumentTermNode) {
64
- metastatementVerifiedAsDefinedContainedAssertion = true;
65
- }
66
- }
67
- if (negated) {
68
- if (!termNodeMatchesMetaArgumentTermNode) {
69
- metastatementVerifiedAsDefinedContainedAssertion = true;
70
- }
71
- }
72
- if (metastatementVerifiedAsDefinedContainedAssertion) {
73
- localContext.debug("...verified the derived '".concat(metastatementString, "' metastatement as a contained assertion."), metastatementNode);
74
- }
75
- }
76
- return metastatementVerifiedAsDefinedContainedAssertion;
77
- }
78
- function verifyMetastatementAsStatedContainedAssertion(metastatementNode, assignments, derived, localContext) {
79
- var metastatementVerifiedAsStatedContainedAssertion = false;
80
- if (!derived) {
81
- var metastatementString = localContext.nodeAsString(metastatementNode);
82
- localContext.trace("Verifying the stated '".concat(metastatementString, "' metastatement as a contained assertion..."), metastatementNode);
83
- var intrinsicLevel = localContext.isIntrinsicLevel();
84
- if (intrinsicLevel) {
85
- localContext.debug("The stated '".concat(metastatementString, "' metastatement as a contained assertion cannot be verified at intrinsic level."), metastatementNode);
86
- } else {
87
- var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNode, localContext, function() {
88
- var verifiedAhead = true;
89
- return verifiedAhead;
90
- });
91
- metastatementVerifiedAsStatedContainedAssertion = nonTerminalNodeVerified; ///
92
- }
93
- if (metastatementVerifiedAsStatedContainedAssertion) {
94
- localContext.debug("...verified the stated '".concat(metastatementString, "' metastatement as a contained assertion."), metastatementNode);
95
- }
96
- }
97
- return metastatementVerifiedAsStatedContainedAssertion;
98
- }
99
- function isMetastatementContainedAssertion(metastatementNode) {
100
- var operatorTerminalNodes = operatorTerminalNodesQuery(metastatementNode), metastatementContainedAssertion = operatorTerminalNodes.some(function(operatorTerminalNode) {
101
- var content = operatorTerminalNode.getContent(), contentContained = content === _constants.CONTAINED;
102
- if (contentContained) {
103
- return true;
104
- }
105
- });
106
- return metastatementContainedAssertion;
107
- }
108
-
109
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgbWV0YUxldmVsTm9kZVZlcmlmaWVyIGZyb20gXCIuLi92ZXJpZmllci9ub2RlL21ldGFMZXZlbFwiO1xuXG5pbXBvcnQgeyBDT05UQUlORUQgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnksIG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBpc01ldGFzdGF0ZW1lbnROZWdhdGVkIH0gZnJvbSBcIi4uL3V0aWxpdGllcy92ZXJpZnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9tZXRhc3RhdGVtZW50L3Rlcm0hXCIpLFxuICAgICAgb3BlcmF0b3JUZXJtaW5hbE5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvQG9wZXJhdG9yXCIpLFxuICAgICAgbWV0YXN0YXRlbWVudFRlcm1Ob2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeShcIi9tZXRhc3RhdGVtZW50L21ldGFzdGF0ZW1lbnQvL3Rlcm1cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0NvbnRhaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb247XG5cbiAgY29uc3QgbWV0YXN0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbiA9IGlzTWV0YXN0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb24pIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBjb250YWluZWQgYXNzZXJ0aW9uLi4uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgY29uc3QgbWV0YXN0YXRlbWVudEZ1bmN0aW9ucyA9IFtcbiAgICAgIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0Rlcml2ZWRDb250YWluZWRBc3NlcnRpb24sXG4gICAgICB2ZXJpZnlNZXRhc3RhdGVtZW50QXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb25cbiAgICBdO1xuXG4gICAgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24gPSBtZXRhc3RhdGVtZW50RnVuY3Rpb25zLnNvbWUoKG1ldGFzdGF0ZW1lbnRGdW5jdGlvbikgPT4ge1xuICAgICAgY29uc3QgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24gPSBtZXRhc3RhdGVtZW50RnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24pIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlNZXRhc3RhdGVtZW50QXNEZXJpdmVkQ29udGFpbmVkQXNzZXJ0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROZWdhdGVkID0gaXNNZXRhc3RhdGVtZW50TmVnYXRlZChtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbmVnYXRlZCA9IG1ldGFzdGF0ZW1lbnROZWdhdGVkLFxuICAgICAgICAgIHRlcm1Ob2RlID0gdGVybU5vZGVRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgbWV0YXN0YXRlbWVudFRlcm1Ob2RlcyA9IG1ldGFzdGF0ZW1lbnRUZXJtTm9kZXNRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgdGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VGVybU5vZGUgPSBtZXRhc3RhdGVtZW50VGVybU5vZGVzLnNvbWUoKG1ldGFzdGF0ZW1lbnRUZXJtTm9kZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VGVybU5vZGUgPSB0ZXJtTm9kZS5tYXRjaChtZXRhc3RhdGVtZW50VGVybU5vZGUpO1xuXG4gICAgICAgICAgICBpZiAodGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VGVybU5vZGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG5cbiAgICBpZiAoIW5lZ2F0ZWQpIHtcbiAgICAgIGlmICh0ZXJtTm9kZU1hdGNoZXNNZXRhQXJndW1lbnRUZXJtTm9kZSkge1xuICAgICAgICBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChuZWdhdGVkKSB7XG4gICAgICBpZiAoIXRlcm1Ob2RlTWF0Y2hlc01ldGFBcmd1bWVudFRlcm1Ob2RlKSB7XG4gICAgICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZENvbnRhaW5lZEFzc2VydGlvbiA9IHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZENvbnRhaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgZGVyaXZlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGNvbnRhaW5lZCBhc3NlcnRpb24uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb247XG59XG5cbmZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSwgYXNzaWdubWVudHMsIGRlcml2ZWQsIGxvY2FsQ29udGV4dCkge1xuICBsZXQgbWV0YXN0YXRlbWVudFZlcmlmaWVkQXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi4uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGNvbnN0IGludHJpbnNpY0xldmVsID0gbG9jYWxDb250ZXh0LmlzSW50cmluc2ljTGV2ZWwoKTtcblxuICAgIGlmIChpbnRyaW5zaWNMZXZlbCkge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGBUaGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbiBjYW5ub3QgYmUgdmVyaWZpZWQgYXQgaW50cmluc2ljIGxldmVsLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gbWV0YXN0YXRlbWVudE5vZGUsIC8vL1xuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlVmVyaWZpZWQgPSBtZXRhTGV2ZWxOb2RlVmVyaWZpZXIudmVyaWZ5Tm9uVGVybWluYWxOb2RlKG5vblRlcm1pbmFsTm9kZSwgbG9jYWxDb250ZXh0LCAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB0cnVlO1xuXG4gICAgICAgICAgICAgIHJldHVybiB2ZXJpZmllZEFoZWFkO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChtZXRhc3RhdGVtZW50VmVyaWZpZWRBc1N0YXRlZENvbnRhaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgY29udGFpbmVkIGFzc2VydGlvbi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNZXRhc3RhdGVtZW50Q29udGFpbmVkQXNzZXJ0aW9uKG1ldGFzdGF0ZW1lbnROb2RlKSB7XG4gIGNvbnN0IG9wZXJhdG9yVGVybWluYWxOb2RlcyA9IG9wZXJhdG9yVGVybWluYWxOb2Rlc1F1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgbWV0YXN0YXRlbWVudENvbnRhaW5lZEFzc2VydGlvbiA9IG9wZXJhdG9yVGVybWluYWxOb2Rlcy5zb21lKChvcGVyYXRvclRlcm1pbmFsTm9kZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBvcGVyYXRvclRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICAgICAgY29udGVudENvbnRhaW5lZCA9IChjb250ZW50ID09PSBDT05UQUlORUQpO1xuXG4gICAgICAgICAgaWYgKGNvbnRlbnRDb250YWluZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRDb250YWluZWRBc3NlcnRpb247XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXN0YXRlbWVudEFzQ29udGFpbmVkQXNzZXJ0aW9uIiwiaXNNZXRhc3RhdGVtZW50Q29udGFpbmVkQXNzZXJ0aW9uIiwidGVybU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsIm9wZXJhdG9yVGVybWluYWxOb2Rlc1F1ZXJ5Iiwibm9kZXNRdWVyeSIsIm1ldGFzdGF0ZW1lbnRUZXJtTm9kZXNRdWVyeSIsIm1ldGFzdGF0ZW1lbnROb2RlIiwiYXNzaWdubWVudHMiLCJkZXJpdmVkIiwibG9jYWxDb250ZXh0IiwibWV0YXN0YXRlbWVudFZlcmlmaWVkQXNDb250YWluZWRBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50Q29udGFpbmVkQXNzZXJ0aW9uIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwibWV0YXN0YXRlbWVudEZ1bmN0aW9ucyIsInZlcmlmeU1ldGFzdGF0ZW1lbnRBc0Rlcml2ZWRDb250YWluZWRBc3NlcnRpb24iLCJ2ZXJpZnlNZXRhc3RhdGVtZW50QXNTdGF0ZWRDb250YWluZWRBc3NlcnRpb24iLCJzb21lIiwibWV0YXN0YXRlbWVudEZ1bmN0aW9uIiwiZGVidWciLCJtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRDb250YWluZWRBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50TmVnYXRlZCIsImlzTWV0YXN0YXRlbWVudE5lZ2F0ZWQiLCJuZWdhdGVkIiwidGVybU5vZGUiLCJtZXRhc3RhdGVtZW50VGVybU5vZGVzIiwidGVybU5vZGVNYXRjaGVzTWV0YUFyZ3VtZW50VGVybU5vZGUiLCJtZXRhc3RhdGVtZW50VGVybU5vZGUiLCJtYXRjaCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzU3RhdGVkQ29udGFpbmVkQXNzZXJ0aW9uIiwiaW50cmluc2ljTGV2ZWwiLCJpc0ludHJpbnNpY0xldmVsIiwibm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlVmVyaWZpZWQiLCJtZXRhTGV2ZWxOb2RlVmVyaWZpZXIiLCJ2ZXJpZnlOb25UZXJtaW5hbE5vZGUiLCJ2ZXJpZmllZEFoZWFkIiwib3BlcmF0b3JUZXJtaW5hbE5vZGVzIiwib3BlcmF0b3JUZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0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
@@ -1,132 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- default: function() {
13
- return verifyMetastatementAsDefinedAssertion;
14
- },
15
- isMetastatementDefinedAssertion: function() {
16
- return isMetastatementDefinedAssertion;
17
- }
18
- });
19
- var _term = /*#__PURE__*/ _interop_require_default(require("./term"));
20
- var _metaLevel = /*#__PURE__*/ _interop_require_default(require("../verifier/node/metaLevel"));
21
- var _array = require("../utilities/array");
22
- var _constants = require("../constants");
23
- var _query = require("../utilities/query");
24
- var _verify = require("../utilities/verify");
25
- function _interop_require_default(obj) {
26
- return obj && obj.__esModule ? obj : {
27
- default: obj
28
- };
29
- }
30
- var termNodeQuery = (0, _query.nodeQuery)("/metastatement/term!"), variableNodeQuery = (0, _query.nodeQuery)("/metastatement/term/variable!"), operatorTerminalNodesQuery = (0, _query.nodesQuery)("/metastatement/@operator");
31
- function verifyMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
32
- var metastatementVerifiedAsDefinedAssertion = false;
33
- var metastatementDefinedAssertion = isMetastatementDefinedAssertion(metastatementNode);
34
- if (metastatementDefinedAssertion) {
35
- var metastatementString = localContext.nodeAsString(metastatementNode);
36
- localContext.trace("Verifying the '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
37
- var definedAssertionFunctions = [
38
- verifyDerivedMetastatementAsDefinedAssertion,
39
- verifyStatedMetastatementAsDefinedAssertion
40
- ];
41
- metastatementVerifiedAsDefinedAssertion = definedAssertionFunctions.some(function(definedAssertionFunction) {
42
- var metastatementVerifiedAsDefinedAssertion = definedAssertionFunction(metastatementNode, assignments, derived, localContext);
43
- if (metastatementVerifiedAsDefinedAssertion) {
44
- return true;
45
- }
46
- });
47
- if (metastatementVerifiedAsDefinedAssertion) {
48
- localContext.debug("...verified the '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
49
- }
50
- }
51
- return metastatementVerifiedAsDefinedAssertion;
52
- }
53
- function verifyDerivedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
54
- var derivedMetastatementVerifiedAsDefeindAssertion = false;
55
- if (derived) {
56
- var metastatementString = localContext.nodeAsString(metastatementNode);
57
- localContext.trace("Verifying the derived '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
58
- var metastatementNegated = (0, _verify.isMetastatementNegated)(metastatementNode), variableNode = variableNodeQuery(metastatementNode), termNode = termNodeQuery(metastatementNode);
59
- if (false) {
60
- ///
61
- } else if (variableNode !== null) {
62
- var variable = localContext.findVariableByVariableNode(variableNode);
63
- if (variable !== null) {
64
- var variableDefined = localContext.isVariableDefined(variable);
65
- if (!metastatementNegated) {
66
- if (variableDefined) {
67
- derivedMetastatementVerifiedAsDefeindAssertion = true;
68
- }
69
- }
70
- if (metastatementNegated) {
71
- if (!variableDefined) {
72
- derivedMetastatementVerifiedAsDefeindAssertion = true;
73
- }
74
- }
75
- }
76
- } else if (termNode !== null) {
77
- var terms = [], termVerified = (0, _term.default)(termNode, terms, localContext, function() {
78
- var verifiedAhead = true;
79
- return verifiedAhead;
80
- });
81
- if (termVerified) {
82
- var firstTerm = (0, _array.first)(terms), term = firstTerm, termGrounded = localContext.isTermGrounded(term);
83
- if (!metastatementNegated) {
84
- if (termGrounded) {
85
- derivedMetastatementVerifiedAsDefeindAssertion = true;
86
- }
87
- }
88
- if (metastatementNegated) {
89
- if (!termGrounded) {
90
- derivedMetastatementVerifiedAsDefeindAssertion = true;
91
- }
92
- }
93
- }
94
- }
95
- if (derivedMetastatementVerifiedAsDefeindAssertion) {
96
- localContext.debug("...verified the derived '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
97
- }
98
- }
99
- return derivedMetastatementVerifiedAsDefeindAssertion;
100
- }
101
- function verifyStatedMetastatementAsDefinedAssertion(metastatementNode, assignments, derived, localContext) {
102
- var statedMetastatementVerifiedAsDefinedAssertion = false;
103
- if (!derived) {
104
- var metastatementString = localContext.nodeAsString(metastatementNode);
105
- localContext.trace("Verifying the stated '".concat(metastatementString, "' metastatement as a defined assertion..."), metastatementNode);
106
- var intrinsicLevel = localContext.isIntrinsicLevel();
107
- if (intrinsicLevel) {
108
- localContext.debug("The stated '".concat(metastatementString, "' metastatement as a defined assertion cannot be verified at intrinsic level."), metastatementNode);
109
- } else {
110
- var nonTerminalNode = metastatementNode, nonTerminalNodeVerified = _metaLevel.default.verifyNonTerminalNode(nonTerminalNode, localContext, function() {
111
- var verifiedAhead = true;
112
- return verifiedAhead;
113
- });
114
- statedMetastatementVerifiedAsDefinedAssertion = nonTerminalNodeVerified; ///
115
- }
116
- if (statedMetastatementVerifiedAsDefinedAssertion) {
117
- localContext.debug("...verified the stated '".concat(metastatementString, "' metastatement as a defined assertion."), metastatementNode);
118
- }
119
- }
120
- return statedMetastatementVerifiedAsDefinedAssertion;
121
- }
122
- function isMetastatementDefinedAssertion(metastatementNode) {
123
- var operatorTerminalNodes = operatorTerminalNodesQuery(metastatementNode), metastatementDefinedAssertion = operatorTerminalNodes.some(function(operatorTerminalNode) {
124
- var content = operatorTerminalNode.getContent(), contentDefined = content === _constants.DEFINED;
125
- if (contentDefined) {
126
- return true;
127
- }
128
- });
129
- return metastatementDefinedAssertion;
130
- }
131
-
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZlcmlmeVRlcm0gZnJvbSBcIi4vdGVybVwiO1xuaW1wb3J0IG1ldGFMZXZlbE5vZGVWZXJpZmllciBmcm9tIFwiLi4vdmVyaWZpZXIvbm9kZS9tZXRhTGV2ZWxcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBERUZJTkVEIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgaXNNZXRhc3RhdGVtZW50TmVnYXRlZCB9IGZyb20gXCIuLi91dGlsaXRpZXMvdmVyaWZ5XCI7XG5cbmNvbnN0IHRlcm1Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbWV0YXN0YXRlbWVudC90ZXJtIVwiKSxcbiAgICAgIHZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGFzdGF0ZW1lbnQvdGVybS92YXJpYWJsZSFcIiksXG4gICAgICBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvbWV0YXN0YXRlbWVudC9Ab3BlcmF0b3JcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlcmlmeU1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGZhbHNlO1xuXG4gIGNvbnN0IG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uID0gaXNNZXRhc3RhdGVtZW50RGVmaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgaWYgKG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgY29uc3QgbWV0YXN0YXRlbWVudFN0cmluZyA9IGxvY2FsQ29udGV4dC5ub2RlQXNTdHJpbmcobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgbG9jYWxDb250ZXh0LnRyYWNlKGBWZXJpZnlpbmcgdGhlICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb25zID0gW1xuICAgICAgdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24sXG4gICAgICB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uXG4gICAgXTtcblxuICAgIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiA9IGRlZmluZWRBc3NlcnRpb25GdW5jdGlvbnMuc29tZSgoZGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9uKSA9PiB7XG4gICAgICBjb25zdCBtZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24gPSBkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpO1xuXG4gICAgICBpZiAobWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbikge1xuICAgICAgbG9jYWxDb250ZXh0LmRlYnVnKGAuLi52ZXJpZmllZCB0aGUgJyR7bWV0YXN0YXRlbWVudFN0cmluZ30nIG1ldGFzdGF0ZW1lbnQgYXMgYSBkZWZpbmVkIGFzc2VydGlvbi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbjtcbn1cblxuZnVuY3Rpb24gdmVyaWZ5RGVyaXZlZE1ldGFzdGF0ZW1lbnRBc0RlZmluZWRBc3NlcnRpb24obWV0YXN0YXRlbWVudE5vZGUsIGFzc2lnbm1lbnRzLCBkZXJpdmVkLCBsb2NhbENvbnRleHQpIHtcbiAgbGV0IGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoZGVyaXZlZCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnRTdHJpbmcgPSBsb2NhbENvbnRleHQubm9kZUFzU3RyaW5nKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGxvY2FsQ29udGV4dC50cmFjZShgVmVyaWZ5aW5nIHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBtZXRhc3RhdGVtZW50TmVnYXRlZCA9IGlzTWV0YXN0YXRlbWVudE5lZ2F0ZWQobWV0YXN0YXRlbWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHZhcmlhYmxlTm9kZVF1ZXJ5KG1ldGFzdGF0ZW1lbnROb2RlKSxcbiAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkobWV0YXN0YXRlbWVudE5vZGUpO1xuXG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICAvLy9cbiAgICB9IGVsc2UgaWYgKHZhcmlhYmxlTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFyaWFibGUgPSBsb2NhbENvbnRleHQuZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKTtcblxuICAgICAgaWYgKHZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHZhcmlhYmxlRGVmaW5lZCA9IGxvY2FsQ29udGV4dC5pc1ZhcmlhYmxlRGVmaW5lZCh2YXJpYWJsZSk7XG5cbiAgICAgICAgaWYgKCFtZXRhc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICh2YXJpYWJsZURlZmluZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXRhc3RhdGVtZW50TmVnYXRlZCkge1xuICAgICAgICAgIGlmICghdmFyaWFibGVEZWZpbmVkKSB7XG4gICAgICAgICAgICBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRlcm1Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB0ZXJtcyA9IFtdLFxuICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybSh0ZXJtTm9kZSwgdGVybXMsIGxvY2FsQ29udGV4dCwgKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB2ZXJpZmllZEFoZWFkID0gdHJ1ZTtcblxuICAgICAgICAgICAgICByZXR1cm4gdmVyaWZpZWRBaGVhZDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICBpZiAodGVybVZlcmlmaWVkKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0VGVybSA9IGZpcnN0KHRlcm1zKSxcbiAgICAgICAgICAgICAgdGVybSA9IGZpcnN0VGVybSwgLy8vXG4gICAgICAgICAgICAgIHRlcm1Hcm91bmRlZCA9IGxvY2FsQ29udGV4dC5pc1Rlcm1Hcm91bmRlZCh0ZXJtKTtcblxuICAgICAgICBpZiAoIW1ldGFzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKHRlcm1Hcm91bmRlZCkge1xuICAgICAgICAgICAgZGVyaXZlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmZWluZEFzc2VydGlvbiA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1ldGFzdGF0ZW1lbnROZWdhdGVkKSB7XG4gICAgICAgICAgaWYgKCF0ZXJtR3JvdW5kZWQpIHtcbiAgICAgICAgICAgIGRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24gPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uKSB7XG4gICAgICBsb2NhbENvbnRleHQuZGVidWcoYC4uLnZlcmlmaWVkIHRoZSBkZXJpdmVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZXJpdmVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZlaW5kQXNzZXJ0aW9uO1xufVxuXG5mdW5jdGlvbiB2ZXJpZnlTdGF0ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uKG1ldGFzdGF0ZW1lbnROb2RlLCBhc3NpZ25tZW50cywgZGVyaXZlZCwgbG9jYWxDb250ZXh0KSB7XG4gIGxldCBzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24gPSBmYWxzZTtcblxuICBpZiAoIWRlcml2ZWQpIHtcbiAgICBjb25zdCBtZXRhc3RhdGVtZW50U3RyaW5nID0gbG9jYWxDb250ZXh0Lm5vZGVBc1N0cmluZyhtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBsb2NhbENvbnRleHQudHJhY2UoYFZlcmlmeWluZyB0aGUgc3RhdGVkICcke21ldGFzdGF0ZW1lbnRTdHJpbmd9JyBtZXRhc3RhdGVtZW50IGFzIGEgZGVmaW5lZCBhc3NlcnRpb24uLi5gLCBtZXRhc3RhdGVtZW50Tm9kZSk7XG5cbiAgICBjb25zdCBpbnRyaW5zaWNMZXZlbCA9IGxvY2FsQ29udGV4dC5pc0ludHJpbnNpY0xldmVsKCk7XG5cbiAgICBpZiAoaW50cmluc2ljTGV2ZWwpIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgVGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uIGNhbm5vdCBiZSB2ZXJpZmllZCBhdCBpbnRyaW5zaWMgbGV2ZWwuYCwgbWV0YXN0YXRlbWVudE5vZGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBtZXRhc3RhdGVtZW50Tm9kZSwgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVWZXJpZmllZCA9IG1ldGFMZXZlbE5vZGVWZXJpZmllci52ZXJpZnlOb25UZXJtaW5hbE5vZGUobm9uVGVybWluYWxOb2RlLCBsb2NhbENvbnRleHQsICgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdmVyaWZpZWRBaGVhZCA9IHRydWU7XG5cbiAgICAgICAgICAgICAgcmV0dXJuIHZlcmlmaWVkQWhlYWQ7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uID0gbm9uVGVybWluYWxOb2RlVmVyaWZpZWQ7IC8vL1xuICAgIH1cblxuICAgIGlmIChzdGF0ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmluZWRBc3NlcnRpb24pIHtcbiAgICAgIGxvY2FsQ29udGV4dC5kZWJ1ZyhgLi4udmVyaWZpZWQgdGhlIHN0YXRlZCAnJHttZXRhc3RhdGVtZW50U3RyaW5nfScgbWV0YXN0YXRlbWVudCBhcyBhIGRlZmluZWQgYXNzZXJ0aW9uLmAsIG1ldGFzdGF0ZW1lbnROb2RlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gc3RhdGVkTWV0YXN0YXRlbWVudFZlcmlmaWVkQXNEZWZpbmVkQXNzZXJ0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNNZXRhc3RhdGVtZW50RGVmaW5lZEFzc2VydGlvbihtZXRhc3RhdGVtZW50Tm9kZSkge1xuICBjb25zdCBvcGVyYXRvclRlcm1pbmFsTm9kZXMgPSBvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeShtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgIG1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uID0gb3BlcmF0b3JUZXJtaW5hbE5vZGVzLnNvbWUoKG9wZXJhdG9yVGVybWluYWxOb2RlKSA9PiB7XG4gICAgICAgICAgY29uc3QgY29udGVudCA9IG9wZXJhdG9yVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICAgICAgICBjb250ZW50RGVmaW5lZCA9IChjb250ZW50ID09PSBERUZJTkVEKTtcblxuICAgICAgICAgIGlmIChjb250ZW50RGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICByZXR1cm4gbWV0YXN0YXRlbWVudERlZmluZWRBc3NlcnRpb247XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5TWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbiIsImlzTWV0YXN0YXRlbWVudERlZmluZWRBc3NlcnRpb24iLCJ0ZXJtTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFyaWFibGVOb2RlUXVlcnkiLCJvcGVyYXRvclRlcm1pbmFsTm9kZXNRdWVyeSIsIm5vZGVzUXVlcnkiLCJtZXRhc3RhdGVtZW50Tm9kZSIsImFzc2lnbm1lbnRzIiwiZGVyaXZlZCIsImxvY2FsQ29udGV4dCIsIm1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiIsIm1ldGFzdGF0ZW1lbnREZWZpbmVkQXNzZXJ0aW9uIiwibWV0YXN0YXRlbWVudFN0cmluZyIsIm5vZGVBc1N0cmluZyIsInRyYWNlIiwiZGVmaW5lZEFzc2VydGlvbkZ1bmN0aW9ucyIsInZlcmlmeURlcml2ZWRNZXRhc3RhdGVtZW50QXNEZWZpbmVkQXNzZXJ0aW9uIiwidmVyaWZ5U3RhdGVkTWV0YXN0YXRlbWVudEFzRGVmaW5lZEFzc2VydGlvbiIsInNvbWUiLCJkZWZpbmVkQXNzZXJ0aW9uRnVuY3Rpb24iLCJkZWJ1ZyIsImRlcml2ZWRNZXRhc3RhdGVtZW50VmVyaWZpZWRBc0RlZmVpbmRBc3NlcnRpb24iLCJtZXRhc3RhdGVtZW50TmVnYXRlZCIsImlzTWV0YXN0YXRlbWVudE5lZ2F0ZWQiLCJ2YXJpYWJsZU5vZGUiLCJ0ZXJtTm9kZSIsInZhcmlhYmxlIiwiZmluZFZhcmlhYmxlQnlWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZURlZmluZWQiLCJpc1ZhcmlhYmxlRGVmaW5lZCIsInRlcm1zIiwidGVybVZlcmlmaWVkIiwidmVyaWZ5VGVybSIsInZlcmlmaWVkQWhlYWQiLCJmaXJzdFRlcm0iLCJmaXJzdCIsInRlcm0iLCJ0ZXJtR3JvdW5kZWQiLCJpc1Rlcm1Hcm91bmRlZCIsInN0YXRlZE1ldGFzdGF0ZW1lbnRWZXJpZmllZEFzRGVmaW5lZEFzc2VydGlvbiIsImludHJpbnNpY0xldmVsIiwiaXNJbnRyaW5zaWNMZXZlbCIsIm5vblRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVZlcmlmaWVkIiwibWV0YUxldmVsTm9kZVZlcmlmaWVyIiwidmVyaWZ5Tm9uVGVybWluYWxOb2RlIiwib3BlcmF0b3JUZXJtaW5hbE5vZGVzIiwib3BlcmF0b3JUZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImNvbnRlbnREZWZpbmVkIiwiREVGSU5FRCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBY0EsT0E2QkM7ZUE3QnVCQTs7SUFpSVJDLCtCQUErQjtlQUEvQkE7OzsyREE3SU87Z0VBQ1c7cUJBRVo7eUJBQ0U7cUJBQ2M7c0JBQ0M7Ozs7OztBQUV2QyxJQUFN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
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return verifyMetavariableAgainstMetastatement;
9
- }
10
- });
11
- var _metastatementForMetavariable = /*#__PURE__*/ _interop_require_default(require("../substitution/metastatementForMetavariable"));
12
- function _interop_require_default(obj) {
13
- return obj && obj.__esModule ? obj : {
14
- default: obj
15
- };
16
- }
17
- function verifyMetavariableAgainstMetastatement(metavariableNode, metastatementNode, substitutions, verifyAhead) {
18
- var metavariableVerifiedAgainstMetastatement = false;
19
- var substitution = substitutions.find(function(substitution) {
20
- var substitutionMatchesMetavariableNodeA = substitution.matchMetavariableNode(metavariableNode);
21
- if (substitutionMatchesMetavariableNodeA) {
22
- return true;
23
- }
24
- }) || null;
25
- if (substitution !== null) {
26
- var metastatementNodeMatches = substitution.matchMetastatementNode(metastatementNode);
27
- if (metastatementNodeMatches) {
28
- var verifiedAhead = verifyAhead();
29
- metavariableVerifiedAgainstMetastatement = verifiedAhead; ///
30
- }
31
- } else {
32
- var verifiedAhead1;
33
- var metastatementForMetavariableSubstitution = _metastatementForMetavariable.default.fromMetavariableNodeAndMetastatementNode(metavariableNode, metastatementNode), substitution1 = metastatementForMetavariableSubstitution; ///
34
- substitutions.push(substitution1);
35
- verifiedAhead1 = verifyAhead();
36
- if (!verifiedAhead1) {
37
- substitutions.pop();
38
- }
39
- metavariableVerifiedAgainstMetastatement = verifiedAhead1; ///
40
- }
41
- return metavariableVerifiedAgainstMetastatement;
42
- }
43
-
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvbWV0YXZhcmlhYmxlQWdhaW5zdE1ldGFzdGF0ZW1lbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBNZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIGZyb20gXCIuLi9zdWJzdGl0dXRpb24vbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudChtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSwgc3Vic3RpdHV0aW9ucywgdmVyaWZ5QWhlYWQpIHtcbiAgbGV0IG1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQgPSBmYWxzZTtcblxuICBjb25zdCBzdWJzdGl0dXRpb24gPSBzdWJzdGl0dXRpb25zLmZpbmQoKHN1YnN0aXR1dGlvbikgPT4ge1xuICAgIGNvbnN0IHN1YnN0aXR1dGlvbk1hdGNoZXNNZXRhdmFyaWFibGVOb2RlQSA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGF2YXJpYWJsZU5vZGUobWV0YXZhcmlhYmxlTm9kZSk7XG5cbiAgICBpZiAoc3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pIHx8IG51bGw7XG5cbiAgaWYgKHN1YnN0aXR1dGlvbiAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1ldGFzdGF0ZW1lbnROb2RlTWF0Y2hlcyA9IHN1YnN0aXR1dGlvbi5tYXRjaE1ldGFzdGF0ZW1lbnROb2RlKG1ldGFzdGF0ZW1lbnROb2RlKTtcblxuICAgIGlmIChtZXRhc3RhdGVtZW50Tm9kZU1hdGNoZXMpIHtcbiAgICAgIGNvbnN0IHZlcmlmaWVkQWhlYWQgPSB2ZXJpZnlBaGVhZCgpO1xuXG4gICAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50ID0gdmVyaWZpZWRBaGVhZDsgLy8vXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGxldCB2ZXJpZmllZEFoZWFkO1xuXG4gICAgY29uc3QgbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiA9IE1ldGFzdGF0ZW1lbnRGb3JNZXRhdmFyaWFibGVTdWJzdGl0dXRpb24uZnJvbU1ldGF2YXJpYWJsZU5vZGVBbmRNZXRhc3RhdGVtZW50Tm9kZShtZXRhdmFyaWFibGVOb2RlLCBtZXRhc3RhdGVtZW50Tm9kZSksXG4gICAgICAgICAgc3Vic3RpdHV0aW9uID0gbWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbjsgIC8vL1xuXG4gICAgc3Vic3RpdHV0aW9ucy5wdXNoKHN1YnN0aXR1dGlvbik7XG5cbiAgICB2ZXJpZmllZEFoZWFkID0gdmVyaWZ5QWhlYWQoKTtcblxuICAgIGlmICghdmVyaWZpZWRBaGVhZCkge1xuICAgICAgc3Vic3RpdHV0aW9ucy5wb3AoKTtcbiAgICB9XG5cbiAgICBtZXRhdmFyaWFibGVWZXJpZmllZEFnYWluc3RNZXRhc3RhdGVtZW50ID0gdmVyaWZpZWRBaGVhZDsgLy8vXG4gIH1cblxuICByZXR1cm4gbWV0YXZhcmlhYmxlVmVyaWZpZWRBZ2FpbnN0TWV0YXN0YXRlbWVudDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlNZXRhdmFyaWFibGVBZ2FpbnN0TWV0YXN0YXRlbWVudCIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhc3RhdGVtZW50Tm9kZSIsInN1YnN0aXR1dGlvbnMiLCJ2ZXJpZnlBaGVhZCIsIm1ldGF2YXJpYWJsZVZlcmlmaWVkQWdhaW5zdE1ldGFzdGF0ZW1lbnQiLCJzdWJzdGl0dXRpb24iLCJmaW5kIiwic3Vic3RpdHV0aW9uTWF0Y2hlc01ldGF2YXJpYWJsZU5vZGVBIiwibWF0Y2hNZXRhdmFyaWFibGVOb2RlIiwibWV0YXN0YXRlbWVudE5vZGVNYXRjaGVzIiwibWF0Y2hNZXRhc3RhdGVtZW50Tm9kZSIsInZlcmlmaWVkQWhlYWQiLCJtZXRhc3RhdGVtZW50Rm9yTWV0YXZhcmlhYmxlU3Vic3RpdHV0aW9uIiwiTWV0YXN0YXRlbWVudEZvck1ldGF2YXJpYWJsZVN1YnN0aXR1dGlvbiIsImZyb21NZXRhdmFyaWFibGVOb2RlQW5kTWV0YXN0YXRlbWVudE5vZGUiLCJwdXNoIiwicG9wIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQXdCQTs7O21GQUY2Qjs7Ozs7O0FBRXRDLFNBQVNBLHVDQUF1Q0MsZ0JBQWdCLEVBQUVDLGlCQUFpQixFQUFFQyxhQUFhLEVBQUVDLFdBQVc7SUFDNUgsSUFBSUMsMkNBQTJDO0lBRS9DLElBQU1DLGVBQWVILGNBQWNJLElBQUksQ0FBQyxTQUFDRDtRQUN2QyxJQUFNRSx1Q0FBdUNGLGFBQWFHLHFCQUFxQixDQUFDUjtRQUVoRixJQUFJTyxzQ0FBc0M7WUFDeEMsT0FBTztRQUNUO0lBQ0YsTUFBTTtJQUVOLElBQUlGLGlCQUFpQixNQUFNO1FBQ3pCLElBQU1JLDJCQUEyQkosYUFBYUssc0JBQXNCLENBQUNUO1FBRXJFLElBQUlRLDBCQUEwQjtZQUM1QixJQUFNRSxnQkFBZ0JSO1lBRXRCQywyQ0FBMkNPLGVBQWUsR0FBRztRQUMvRDtJQUNGLE9BQU87UUFDTCxJQUFJQTtRQUVKLElBQU1DLDJDQUEyQ0MscUNBQXdDLENBQUNDLHdDQUF3QyxDQUFDZCxrQkFBa0JDLG9CQUMvSUksZ0JBQWVPLDBDQUEyQyxHQUFHO1FBRW5FVixjQUFjYSxJQUFJLENBQUNWO1FBRW5CTSxpQkFBZ0JSO1FBRWhCLElBQUksQ0FBQ1EsZ0JBQWU7WUFDbEJULGNBQWNjLEdBQUc7UUFDbkI7UUFFQVosMkNBQTJDTyxnQkFBZSxHQUFHO0lBQy9EO0lBRUEsT0FBT1A7QUFDVCJ9