occam-verify-cli 0.0.272 → 0.0.274

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 (141) hide show
  1. package/.swcrc +5 -0
  2. package/bin/abbreviations.js +4 -2
  3. package/bin/context/{package → release}/fileSystem.js +38 -25
  4. package/bin/fileNames.js +7 -7
  5. package/bin/loadReleaseContexts.js +52 -0
  6. package/bin/main.js +8 -9
  7. package/bin/options.js +2 -2
  8. package/bin/utilities/fileSystem.js +13 -15
  9. package/lib/assertion.js +140 -0
  10. package/lib/axiom.js +90 -0
  11. package/lib/browser.js +27 -0
  12. package/lib/combinator.js +58 -0
  13. package/lib/conclusion.js +140 -0
  14. package/lib/constants.js +42 -0
  15. package/lib/constructor.js +76 -0
  16. package/lib/context/file.js +342 -0
  17. package/lib/context/metaproof.js +232 -0
  18. package/lib/context/proof.js +211 -0
  19. package/lib/context/release.js +303 -0
  20. package/lib/main.js +27 -0
  21. package/lib/metaAssertion.js +200 -0
  22. package/lib/metaSubstitution.js +123 -0
  23. package/lib/permutationsMatrix.js +466136 -0
  24. package/lib/premise.js +168 -0
  25. package/lib/rule.js +139 -0
  26. package/lib/ruleNames.js +46 -0
  27. package/lib/type.js +153 -0
  28. package/lib/utilities/array.js +99 -0
  29. package/lib/utilities/metastatement.js +45 -0
  30. package/lib/utilities/permutations.js +114 -0
  31. package/lib/utilities/query.js +81 -0
  32. package/lib/utilities/string.js +54 -0
  33. package/lib/variable.js +94 -0
  34. package/lib/verify/IndicativeConditional.js +29 -0
  35. package/lib/verify/assertion/type.js +52 -0
  36. package/lib/verify/axiom.js +52 -0
  37. package/lib/verify/conclusion.js +34 -0
  38. package/lib/verify/conditinalInference.js +30 -0
  39. package/lib/verify/declaration/combinator.js +24 -0
  40. package/lib/verify/declaration/constructor.js +24 -0
  41. package/lib/verify/declaration/topLevel.js +51 -0
  42. package/lib/verify/declaration/type.js +24 -0
  43. package/lib/verify/declaration/variable.js +24 -0
  44. package/lib/verify/equality.js +45 -0
  45. package/lib/verify/file.js +39 -0
  46. package/lib/verify/files.js +48 -0
  47. package/lib/verify/label.js +24 -0
  48. package/lib/verify/labels.js +27 -0
  49. package/lib/verify/metaDerivation.js +94 -0
  50. package/lib/verify/metaproof.js +81 -0
  51. package/lib/verify/metastatement/qualified.js +31 -0
  52. package/lib/verify/metastatement/unqualified.js +39 -0
  53. package/lib/verify/premiseOrPremises.js +39 -0
  54. package/lib/verify/release.js +61 -0
  55. package/lib/verify/rule.js +61 -0
  56. package/lib/verify/statement/qualified.js +24 -0
  57. package/lib/verify/statement/unqualified.js +32 -0
  58. package/lib/verify/statement.js +43 -0
  59. package/lib/verify/statementAsCombinator.js +102 -0
  60. package/lib/verify/supposition.js +29 -0
  61. package/lib/verify/term.js +121 -0
  62. package/lib/verify/termAsConstructor.js +126 -0
  63. package/lib/verify/termAsVariable.js +31 -0
  64. package/lib/verify/type.js +45 -0
  65. package/lib/verify/unconditionalInference.js +31 -0
  66. package/lib/verify/variable.js +48 -0
  67. package/package.json +21 -5
  68. package/{bin → src}/assertion.js +2 -4
  69. package/src/axiom.js +49 -0
  70. package/src/browser.js +4 -0
  71. package/{bin → src}/combinator.js +2 -4
  72. package/{bin → src}/conclusion.js +4 -6
  73. package/src/constants.js +9 -0
  74. package/{bin → src}/constructor.js +2 -4
  75. package/{bin → src}/context/file.js +34 -24
  76. package/{bin → src}/context/metaproof.js +13 -3
  77. package/{bin → src}/context/proof.js +13 -3
  78. package/src/context/release.js +219 -0
  79. package/src/main.js +4 -0
  80. package/{bin → src}/metaAssertion.js +4 -6
  81. package/{bin → src}/metaSubstitution.js +11 -4
  82. package/{bin → src}/permutationsMatrix.js +1 -1
  83. package/{bin → src}/premise.js +6 -8
  84. package/{bin → src}/rule.js +24 -15
  85. package/src/ruleNames.js +10 -0
  86. package/{bin → src}/type.js +1 -3
  87. package/{bin → src}/utilities/array.js +19 -24
  88. package/{bin → src}/utilities/metastatement.js +18 -12
  89. package/{bin → src}/utilities/permutations.js +4 -4
  90. package/{bin → src}/utilities/query.js +8 -18
  91. package/{bin → src}/utilities/string.js +4 -10
  92. package/{bin → src}/variable.js +1 -3
  93. package/src/verify/IndicativeConditional.js +20 -0
  94. package/{bin → src}/verify/assertion/type.js +8 -14
  95. package/src/verify/axiom.js +68 -0
  96. package/{bin → src}/verify/conclusion.js +4 -6
  97. package/src/verify/conditinalInference.js +25 -0
  98. package/{bin → src}/verify/declaration/combinator.js +3 -5
  99. package/{bin → src}/verify/declaration/constructor.js +3 -5
  100. package/{bin → src}/verify/declaration/topLevel.js +8 -10
  101. package/{bin → src}/verify/declaration/type.js +3 -5
  102. package/{bin → src}/verify/declaration/variable.js +3 -5
  103. package/{bin → src}/verify/equality.js +4 -6
  104. package/{bin → src}/verify/file.js +9 -15
  105. package/{bin → src}/verify/files.js +5 -7
  106. package/{bin → src}/verify/label.js +3 -9
  107. package/{bin → src}/verify/labels.js +2 -4
  108. package/{bin → src}/verify/metaDerivation.js +25 -19
  109. package/{bin → src}/verify/metaproof.js +6 -7
  110. package/{bin → src}/verify/metastatement/qualified.js +4 -10
  111. package/{bin → src}/verify/metastatement/unqualified.js +5 -11
  112. package/{bin → src}/verify/premiseOrPremises.js +9 -10
  113. package/src/verify/release.js +70 -0
  114. package/{bin → src}/verify/rule.js +17 -20
  115. package/{bin → src}/verify/statement/qualified.js +3 -5
  116. package/{bin → src}/verify/statement/unqualified.js +3 -5
  117. package/{bin → src}/verify/statement.js +7 -13
  118. package/{bin → src}/verify/statementAsCombinator.js +8 -14
  119. package/{bin → src}/verify/supposition.js +4 -6
  120. package/{bin → src}/verify/term.js +7 -13
  121. package/{bin → src}/verify/termAsConstructor.js +13 -19
  122. package/{bin → src}/verify/termAsVariable.js +3 -9
  123. package/{bin → src}/verify/type.js +7 -13
  124. package/{bin → src}/verify/unconditionalInference.js +4 -11
  125. package/{bin → src}/verify/variable.js +6 -12
  126. package/bin/axiom.js +0 -52
  127. package/bin/consequent.js +0 -19
  128. package/bin/constants.js +0 -19
  129. package/bin/context/package.js +0 -221
  130. package/bin/loadPackageContexts.js +0 -53
  131. package/bin/permutations.js +0 -3
  132. package/bin/ruleNames.js +0 -23
  133. package/bin/verify/axiom/IndicativeConditional.js +0 -54
  134. package/bin/verify/axiom/unqualifiedStatement.js +0 -40
  135. package/bin/verify/axiom.js +0 -37
  136. package/bin/verify/conditinalInference.js +0 -42
  137. package/bin/verify/consequent.js +0 -32
  138. package/bin/verify/metaConsequent.js +0 -23
  139. package/bin/verify/metaSupposition.js +0 -24
  140. package/bin/verify/package.js +0 -81
  141. package/index.js +0 -9
@@ -0,0 +1,99 @@
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
+ push: function() {
13
+ return push;
14
+ },
15
+ last: function() {
16
+ return last;
17
+ },
18
+ prune: function() {
19
+ return prune;
20
+ },
21
+ first: function() {
22
+ return first;
23
+ },
24
+ third: function() {
25
+ return third;
26
+ },
27
+ second: function() {
28
+ return second;
29
+ },
30
+ filter: function() {
31
+ return filter;
32
+ },
33
+ someSubArray: function() {
34
+ return someSubArray;
35
+ },
36
+ leftDifference: function() {
37
+ return leftDifference;
38
+ },
39
+ rightDifference: function() {
40
+ return rightDifference;
41
+ }
42
+ });
43
+ var _necessary = require("necessary");
44
+ var _permutationsMatrix = /*#__PURE__*/ _interopRequireDefault(require("../permutationsMatrix"));
45
+ var _constants = require("../constants");
46
+ function _interopRequireDefault(obj) {
47
+ return obj && obj.__esModule ? obj : {
48
+ default: obj
49
+ };
50
+ }
51
+ var push = _necessary.arrayUtilities.push, last = _necessary.arrayUtilities.last, prune = _necessary.arrayUtilities.prune, first = _necessary.arrayUtilities.first, third = _necessary.arrayUtilities.third, second = _necessary.arrayUtilities.second, filter = _necessary.arrayUtilities.filter;
52
+ function someSubArray(array, subArrayLength, callback) {
53
+ var found = false;
54
+ var arrayLength = array.length, indexesLength = arrayLength, permutationLength = subArrayLength; ///
55
+ if (permutationLength <= _constants.MAXIMUM_PERMUTATION_LENGTH) {
56
+ var offset, permutations;
57
+ if (indexesLength > _constants.MAXIMUM_INDEXES_LENGTH) {
58
+ offset = indexesLength - _constants.MAXIMUM_INDEXES_LENGTH;
59
+ permutations = _permutationsMatrix.default[_constants.MAXIMUM_INDEXES_LENGTH][permutationLength];
60
+ } else {
61
+ offset = 0;
62
+ permutations = _permutationsMatrix.default[indexesLength][permutationLength];
63
+ }
64
+ if (permutations !== null) {
65
+ found = permutations.some(function(permutation) {
66
+ if (permutation !== null) {
67
+ var subArray = [];
68
+ for(var position = 0; position < permutationLength; position++){
69
+ var index = permutation[position] + offset, element = array[index];
70
+ subArray.push(element);
71
+ }
72
+ var passed = callback(subArray);
73
+ if (passed) {
74
+ return true;
75
+ }
76
+ }
77
+ });
78
+ }
79
+ }
80
+ return found;
81
+ }
82
+ function leftDifference(arrayA, arrayB) {
83
+ filter(arrayA, function(elementA) {
84
+ var arrayBIncludesElementA = arrayB.includes(elementA);
85
+ if (!arrayBIncludesElementA) {
86
+ return true;
87
+ }
88
+ });
89
+ }
90
+ function rightDifference(arrayA, arrayB) {
91
+ filter(arrayB, function(elementB) {
92
+ var arrayAIncludesElementB = arrayA.includes(elementB);
93
+ if (!arrayAIncludesElementB) {
94
+ return true;
95
+ }
96
+ });
97
+ }
98
+
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgcGVybXV0YXRpb25zTWF0cml4IGZyb20gXCIuLi9wZXJtdXRhdGlvbnNNYXRyaXhcIjtcblxuaW1wb3J0IHsgTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCwgTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEggfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCB7IHB1c2gsIGxhc3QsIHBydW5lLCBmaXJzdCwgdGhpcmQsIHNlY29uZCwgZmlsdGVyIH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHNvbWVTdWJBcnJheShhcnJheSwgc3ViQXJyYXlMZW5ndGgsIGNhbGxiYWNrKSB7XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoLFxuICAgICAgICBpbmRleGVzTGVuZ3RoID0gYXJyYXlMZW5ndGgsIC8vL1xuICAgICAgICBwZXJtdXRhdGlvbkxlbmd0aCA9IHN1YkFycmF5TGVuZ3RoOyAvLy9cblxuICBpZiAocGVybXV0YXRpb25MZW5ndGggPD0gTUFYSU1VTV9QRVJNVVRBVElPTl9MRU5HVEgpIHtcbiAgICBsZXQgb2Zmc2V0LFxuICAgICAgICBwZXJtdXRhdGlvbnM7XG5cbiAgICBpZiAoaW5kZXhlc0xlbmd0aCA+IE1BWElNVU1fSU5ERVhFU19MRU5HVEgpIHtcbiAgICAgIG9mZnNldCA9IGluZGV4ZXNMZW5ndGggLSBNQVhJTVVNX0lOREVYRVNfTEVOR1RIO1xuXG4gICAgICBwZXJtdXRhdGlvbnMgPSBwZXJtdXRhdGlvbnNNYXRyaXhbTUFYSU1VTV9JTkRFWEVTX0xFTkdUSF1bcGVybXV0YXRpb25MZW5ndGhdO1xuICAgIH0gZWxzZSB7XG4gICAgICBvZmZzZXQgPSAwO1xuXG4gICAgICBwZXJtdXRhdGlvbnMgPSBwZXJtdXRhdGlvbnNNYXRyaXhbaW5kZXhlc0xlbmd0aF1bcGVybXV0YXRpb25MZW5ndGhdO1xuICAgIH1cblxuICAgIGlmIChwZXJtdXRhdGlvbnMgIT09IG51bGwpIHtcbiAgICAgIGZvdW5kID0gcGVybXV0YXRpb25zLnNvbWUoKHBlcm11dGF0aW9uKSA9PiB7XG4gICAgICAgIGlmIChwZXJtdXRhdGlvbiAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IHN1YkFycmF5ID0gW107XG5cbiAgICAgICAgICBmb3IgKGxldCBwb3NpdGlvbiA9IDA7IHBvc2l0aW9uIDwgcGVybXV0YXRpb25MZW5ndGg7IHBvc2l0aW9uKyspIHtcbiAgICAgICAgICAgIGNvbnN0IGluZGV4ID0gcGVybXV0YXRpb25bcG9zaXRpb25dICsgb2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcblxuICAgICAgICAgICAgc3ViQXJyYXkucHVzaChlbGVtZW50KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCBwYXNzZWQgPSBjYWxsYmFjayhzdWJBcnJheSk7XG5cbiAgICAgICAgICBpZiAocGFzc2VkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxlZnREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmlnaHREaWZmZXJlbmNlKGFycmF5QSwgYXJyYXlCKSB7XG4gIGZpbHRlcihhcnJheUIsIChlbGVtZW50QikgPT4ge1xuICAgIGNvbnN0IGFycmF5QUluY2x1ZGVzRWxlbWVudEIgPSBhcnJheUEuaW5jbHVkZXMoZWxlbWVudEIpO1xuXG4gICAgaWYgKCFhcnJheUFJbmNsdWRlc0VsZW1lbnRCKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xufVxuIl0sIm5hbWVzIjpbInB1c2giLCJsYXN0IiwicHJ1bmUiLCJmaXJzdCIsInRoaXJkIiwic2Vjb25kIiwiZmlsdGVyIiwic29tZVN1YkFycmF5IiwibGVmdERpZmZlcmVuY2UiLCJyaWdodERpZmZlcmVuY2UiLCJhcnJheVV0aWxpdGllcyIsImFycmF5Iiwic3ViQXJyYXlMZW5ndGgiLCJjYWxsYmFjayIsImZvdW5kIiwiYXJyYXlMZW5ndGgiLCJsZW5ndGgiLCJpbmRleGVzTGVuZ3RoIiwicGVybXV0YXRpb25MZW5ndGgiLCJNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCIsIm9mZnNldCIsInBlcm11dGF0aW9ucyIsIk1BWElNVU1fSU5ERVhFU19MRU5HVEgiLCJwZXJtdXRhdGlvbnNNYXRyaXgiLCJzb21lIiwicGVybXV0YXRpb24iLCJzdWJBcnJheSIsInBvc2l0aW9uIiwiaW5kZXgiLCJlbGVtZW50IiwicGFzc2VkIiwiYXJyYXlBIiwiYXJyYXlCIiwiZWxlbWVudEEiLCJhcnJheUJJbmNsdWRlc0VsZW1lbnRBIiwiaW5jbHVkZXMiLCJlbGVtZW50QiIsImFycmF5QUluY2x1ZGVzRWxlbWVudEIiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztJQVFlQSxJQUFJO2VBQUpBOztJQUFNQyxJQUFJO2VBQUpBOztJQUFNQyxLQUFLO2VBQUxBOztJQUFPQyxLQUFLO2VBQUxBOztJQUFPQyxLQUFLO2VBQUxBOztJQUFPQyxNQUFNO2VBQU5BOztJQUFRQyxNQUFNO2VBQU5BOztJQUV4Q0MsWUFBWTtlQUFaQTs7SUE4Q0FDLGNBQWM7ZUFBZEE7O0lBVUFDLGVBQWU7ZUFBZkE7Ozt5QkFoRWU7dUVBRUE7eUJBRW9DOzs7Ozs7QUFFNUQsSUFBUVQsT0FBb0RVLHlCQUFjLENBQWxFVixNQUFNQyxPQUE4Q1MseUJBQWMsQ0FBNURULE1BQU1DLFFBQXdDUSx5QkFBYyxDQUF0RFIsT0FBT0MsUUFBaUNPLHlCQUFjLENBQS9DUCxPQUFPQyxRQUEwQk0seUJBQWMsQ0FBeENOLE9BQU9DLFNBQW1CSyx5QkFBYyxDQUFqQ0wsUUFBUUMsU0FBV0kseUJBQWMsQ0FBekJKO0FBRWpELFNBQVNDLGFBQWFJLEtBQUssRUFBRUMsY0FBYyxFQUFFQyxRQUFRLEVBQUU7SUFDNUQsSUFBSUMsUUFBUSxLQUFLO0lBRWpCLElBQU1DLGNBQWNKLE1BQU1LLE1BQU0sRUFDMUJDLGdCQUFnQkYsYUFDaEJHLG9CQUFvQk4sZ0JBQWdCLEdBQUc7SUFFN0MsSUFBSU0scUJBQXFCQyxxQ0FBMEIsRUFBRTtRQUNuRCxJQUFJQyxRQUNBQztRQUVKLElBQUlKLGdCQUFnQkssaUNBQXNCLEVBQUU7WUFDMUNGLFNBQVNILGdCQUFnQkssaUNBQXNCO1lBRS9DRCxlQUFlRSwyQkFBa0IsQ0FBQ0QsaUNBQXNCLENBQUMsQ0FBQ0osa0JBQWtCO1FBQzlFLE9BQU87WUFDTEUsU0FBUztZQUVUQyxlQUFlRSwyQkFBa0IsQ0FBQ04sY0FBYyxDQUFDQyxrQkFBa0I7UUFDckUsQ0FBQztRQUVELElBQUlHLGlCQUFpQixJQUFJLEVBQUU7WUFDekJQLFFBQVFPLGFBQWFHLElBQUksQ0FBQyxTQUFDQyxhQUFnQjtnQkFDekMsSUFBSUEsZ0JBQWdCLElBQUksRUFBRTtvQkFDeEIsSUFBTUMsV0FBVyxFQUFFO29CQUVuQixJQUFLLElBQUlDLFdBQVcsR0FBR0EsV0FBV1QsbUJBQW1CUyxXQUFZO3dCQUMvRCxJQUFNQyxRQUFRSCxXQUFXLENBQUNFLFNBQVMsR0FBR1AsUUFDaENTLFVBQVVsQixLQUFLLENBQUNpQixNQUFNO3dCQUU1QkYsU0FBUzFCLElBQUksQ0FBQzZCO29CQUNoQjtvQkFFQSxJQUFNQyxTQUFTakIsU0FBU2E7b0JBRXhCLElBQUlJLFFBQVE7d0JBQ1YsT0FBTyxJQUFJO29CQUNiLENBQUM7Z0JBQ0gsQ0FBQztZQUNIO1FBQ0YsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPaEI7QUFDVDtBQUVPLFNBQVNOLGVBQWV1QixNQUFNLEVBQUVDLE1BQU0sRUFBRTtJQUM3QzFCLE9BQU95QixRQUFRLFNBQUNFLFVBQWE7UUFDM0IsSUFBTUMseUJBQXlCRixPQUFPRyxRQUFRLENBQUNGO1FBRS9DLElBQUksQ0FBQ0Msd0JBQXdCO1lBQzNCLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtBQUNGO0FBRU8sU0FBU3pCLGdCQUFnQnNCLE1BQU0sRUFBRUMsTUFBTSxFQUFFO0lBQzlDMUIsT0FBTzBCLFFBQVEsU0FBQ0ksVUFBYTtRQUMzQixJQUFNQyx5QkFBeUJOLE9BQU9JLFFBQVEsQ0FBQ0M7UUFFL0MsSUFBSSxDQUFDQyx3QkFBd0I7WUFDM0IsT0FBTyxJQUFJO1FBQ2IsQ0FBQztJQUNIO0FBQ0YifQ==
@@ -0,0 +1,45 @@
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
+ bracketedMetastatementChildNodeFromChildNodes: function() {
13
+ return bracketedMetastatementChildNodeFromChildNodes;
14
+ },
15
+ matchBracketedMetastatementChildNode: function() {
16
+ return matchBracketedMetastatementChildNode;
17
+ }
18
+ });
19
+ var _array = require("../utilities/array");
20
+ var _ruleNames = require("../ruleNames");
21
+ var _constants = require("../constants");
22
+ function bracketedMetastatementChildNodeFromChildNodes(childNodes) {
23
+ var bracketedMetastatementChildNode = null;
24
+ var childNodesLength = childNodes.length;
25
+ if (childNodesLength === _constants.BRACKETED_METASTATEMENT_CHILD_NODES_LENGTH) {
26
+ var firstChildNode = (0, _array.first)(childNodes), thirdChildNode = (0, _array.third)(childNodes), secondChildNode = (0, _array.second)(childNodes), firstChildNodeTerminalNode = firstChildNode.isTerminalNode(), thirdChildNodeTerminalNode = thirdChildNode.isTerminalNode(), secondChildNodeNonTerminalNode = secondChildNode.isNonTerminalNode();
27
+ if (firstChildNodeTerminalNode && secondChildNodeNonTerminalNode && thirdChildNodeTerminalNode) {
28
+ var nonTerminalNode = secondChildNode, firstTerminalNode = firstChildNode, secondTerminalNode = thirdChildNode, nonTerminalNodeRuleName = nonTerminalNode.getRuleName(), firstTerminalNodeContent = firstTerminalNode.getContent(), secondTerminalNodeContent = secondTerminalNode.getContent(), firstTerminalNodeContentLeftBracket = firstTerminalNodeContent === _constants.LEFT_BRACKET, secondTerminalNodeContentRightBracket = secondTerminalNodeContent === _constants.RIGHT_BRACKET, nonTerminalNodeRuleNameMetastatementRuleName = nonTerminalNodeRuleName === _ruleNames.METASTATEMENT_RULE_NAME;
29
+ if (firstTerminalNodeContentLeftBracket && nonTerminalNodeRuleNameMetastatementRuleName && secondTerminalNodeContentRightBracket) {
30
+ bracketedMetastatementChildNode = nonTerminalNode; ///
31
+ }
32
+ }
33
+ }
34
+ return bracketedMetastatementChildNode;
35
+ }
36
+ function matchBracketedMetastatementChildNode(childNodes, callback) {
37
+ var bracketedMetastatementChildNodeMatches = false;
38
+ var bracketedMetastatementChildNode = bracketedMetastatementChildNodeFromChildNodes(childNodes);
39
+ if (bracketedMetastatementChildNode !== null) {
40
+ bracketedMetastatementChildNodeMatches = callback(bracketedMetastatementChildNode);
41
+ }
42
+ return bracketedMetastatementChildNodeMatches;
43
+ }
44
+
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWV0YXN0YXRlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QsIHNlY29uZCwgdGhpcmQgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBNRVRBU1RBVEVNRU5UX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcbmltcG9ydCB7IExFRlRfQlJBQ0tFVCwgUklHSFRfQlJBQ0tFVCwgQlJBQ0tFVEVEX01FVEFTVEFURU1FTlRfQ0hJTERfTk9ERVNfTEVOR1RIIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZUZyb21DaGlsZE5vZGVzKGNoaWxkTm9kZXMpIHtcbiAgbGV0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUgPSBudWxsO1xuXG4gIGNvbnN0IGNoaWxkTm9kZXNMZW5ndGggPSBjaGlsZE5vZGVzLmxlbmd0aDtcblxuICBpZiAoY2hpbGROb2Rlc0xlbmd0aCA9PT0gQlJBQ0tFVEVEX01FVEFTVEFURU1FTlRfQ0hJTERfTk9ERVNfTEVOR1RIKSB7XG4gICAgY29uc3QgZmlyc3RDaGlsZE5vZGUgPSBmaXJzdChjaGlsZE5vZGVzKSxcbiAgICAgICAgICB0aGlyZENoaWxkTm9kZSA9IHRoaXJkKGNoaWxkTm9kZXMpLFxuICAgICAgICAgIHNlY29uZENoaWxkTm9kZSA9IHNlY29uZChjaGlsZE5vZGVzKSxcbiAgICAgICAgICBmaXJzdENoaWxkTm9kZVRlcm1pbmFsTm9kZSA9IGZpcnN0Q2hpbGROb2RlLmlzVGVybWluYWxOb2RlKCksXG4gICAgICAgICAgdGhpcmRDaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSB0aGlyZENoaWxkTm9kZS5pc1Rlcm1pbmFsTm9kZSgpLFxuICAgICAgICAgIHNlY29uZENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSA9IHNlY29uZENoaWxkTm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKGZpcnN0Q2hpbGROb2RlVGVybWluYWxOb2RlICYmIHNlY29uZENoaWxkTm9kZU5vblRlcm1pbmFsTm9kZSAmJiB0aGlyZENoaWxkTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gc2Vjb25kQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBmaXJzdFRlcm1pbmFsTm9kZSA9IGZpcnN0Q2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgIHNlY29uZFRlcm1pbmFsTm9kZSA9IHRoaXJkQ2hpbGROb2RlLCAgLy8vXG4gICAgICAgICAgICBub25UZXJtaW5hbE5vZGVSdWxlTmFtZSA9IG5vblRlcm1pbmFsTm9kZS5nZXRSdWxlTmFtZSgpLFxuICAgICAgICAgICAgZmlyc3RUZXJtaW5hbE5vZGVDb250ZW50ID0gZmlyc3RUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICAgICAgc2Vjb25kVGVybWluYWxOb2RlQ29udGVudCA9IHNlY29uZFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgICAgICBmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnRMZWZ0QnJhY2tldCA9IChmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IExFRlRfQlJBQ0tFVCksXG4gICAgICAgICAgICBzZWNvbmRUZXJtaW5hbE5vZGVDb250ZW50UmlnaHRCcmFja2V0ID0gKHNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IFJJR0hUX0JSQUNLRVQpLFxuICAgICAgICAgICAgbm9uVGVybWluYWxOb2RlUnVsZU5hbWVNZXRhc3RhdGVtZW50UnVsZU5hbWUgPSAobm9uVGVybWluYWxOb2RlUnVsZU5hbWUgPT09IE1FVEFTVEFURU1FTlRfUlVMRV9OQU1FKTtcblxuICAgICAgaWYgKGZpcnN0VGVybWluYWxOb2RlQ29udGVudExlZnRCcmFja2V0ICYmIG5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lTWV0YXN0YXRlbWVudFJ1bGVOYW1lICYmIHNlY29uZFRlcm1pbmFsTm9kZUNvbnRlbnRSaWdodEJyYWNrZXQpIHtcbiAgICAgICAgYnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZSA9IG5vblRlcm1pbmFsTm9kZTsgIC8vL1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2hCcmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlKGNoaWxkTm9kZXMsIGNhbGxiYWNrKSB7XG4gIGxldCBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlTWF0Y2hlcyA9IGZhbHNlO1xuXG4gIGNvbnN0IGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUgPSBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlRnJvbUNoaWxkTm9kZXMoY2hpbGROb2Rlcyk7XG5cbiAgaWYgKGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUgIT09IG51bGwpIHtcbiAgICBicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlTWF0Y2hlcyA9IGNhbGxiYWNrKGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGUpO1xuICB9XG5cbiAgcmV0dXJuIGJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVNYXRjaGVzO1xufVxuIl0sIm5hbWVzIjpbImJyYWNrZXRlZE1ldGFzdGF0ZW1lbnRDaGlsZE5vZGVGcm9tQ2hpbGROb2RlcyIsIm1hdGNoQnJhY2tldGVkTWV0YXN0YXRlbWVudENoaWxkTm9kZSIsImNoaWxkTm9kZXMiLCJicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlIiwiY2hpbGROb2Rlc0xlbmd0aCIsImxlbmd0aCIsIkJSQUNLRVRFRF9NRVRBU1RBVEVNRU5UX0NISUxEX05PREVTX0xFTkdUSCIsImZpcnN0Q2hpbGROb2RlIiwiZmlyc3QiLCJ0aGlyZENoaWxkTm9kZSIsInRoaXJkIiwic2Vjb25kQ2hpbGROb2RlIiwic2Vjb25kIiwiZmlyc3RDaGlsZE5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRoaXJkQ2hpbGROb2RlVGVybWluYWxOb2RlIiwic2Vjb25kQ2hpbGROb2RlTm9uVGVybWluYWxOb2RlIiwiaXNOb25UZXJtaW5hbE5vZGUiLCJub25UZXJtaW5hbE5vZGUiLCJmaXJzdFRlcm1pbmFsTm9kZSIsInNlY29uZFRlcm1pbmFsTm9kZSIsIm5vblRlcm1pbmFsTm9kZVJ1bGVOYW1lIiwiZ2V0UnVsZU5hbWUiLCJmaXJzdFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Iiwic2Vjb25kVGVybWluYWxOb2RlQ29udGVudCIsImZpcnN0VGVybWluYWxOb2RlQ29udGVudExlZnRCcmFja2V0IiwiTEVGVF9CUkFDS0VUIiwic2Vjb25kVGVybWluYWxOb2RlQ29udGVudFJpZ2h0QnJhY2tldCIsIlJJR0hUX0JSQUNLRVQiLCJub25UZXJtaW5hbE5vZGVSdWxlTmFtZU1ldGFzdGF0ZW1lbnRSdWxlTmFtZSIsIk1FVEFTVEFURU1FTlRfUlVMRV9OQU1FIiwiY2FsbGJhY2siLCJicmFja2V0ZWRNZXRhc3RhdGVtZW50Q2hpbGROb2RlTWF0Y2hlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBTWdCQSw2Q0FBNkM7ZUFBN0NBOztJQWlDQUMsb0NBQW9DO2VBQXBDQTs7O3FCQXJDcUI7eUJBQ0c7eUJBQ2dEO0FBRWpGLFNBQVNELDhDQUE4Q0UsVUFBVSxFQUFFO0lBQ3hFLElBQUlDLGtDQUFrQyxJQUFJO0lBRTFDLElBQU1DLG1CQUFtQkYsV0FBV0csTUFBTTtJQUUxQyxJQUFJRCxxQkFBcUJFLHFEQUEwQyxFQUFFO1FBQ25FLElBQU1DLGlCQUFpQkMsSUFBQUEsWUFBSyxFQUFDTixhQUN2Qk8saUJBQWlCQyxJQUFBQSxZQUFLLEVBQUNSLGFBQ3ZCUyxrQkFBa0JDLElBQUFBLGFBQU0sRUFBQ1YsYUFDekJXLDZCQUE2Qk4sZUFBZU8sY0FBYyxJQUMxREMsNkJBQTZCTixlQUFlSyxjQUFjLElBQzFERSxpQ0FBaUNMLGdCQUFnQk0saUJBQWlCO1FBRXhFLElBQUlKLDhCQUE4Qkcsa0NBQWtDRCw0QkFBNEI7WUFDOUYsSUFBTUcsa0JBQWtCUCxpQkFDbEJRLG9CQUFvQlosZ0JBQ3BCYSxxQkFBcUJYLGdCQUNyQlksMEJBQTBCSCxnQkFBZ0JJLFdBQVcsSUFDckRDLDJCQUEyQkosa0JBQWtCSyxVQUFVLElBQ3ZEQyw0QkFBNEJMLG1CQUFtQkksVUFBVSxJQUN6REUsc0NBQXVDSCw2QkFBNkJJLHVCQUFZLEVBQ2hGQyx3Q0FBeUNILDhCQUE4Qkksd0JBQWEsRUFDcEZDLCtDQUFnRFQsNEJBQTRCVSxrQ0FBdUI7WUFFekcsSUFBSUwsdUNBQXVDSSxnREFBZ0RGLHVDQUF1QztnQkFDaEl6QixrQ0FBa0NlLGlCQUFrQixHQUFHO1lBQ3pELENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU9mO0FBQ1Q7QUFFTyxTQUFTRixxQ0FBcUNDLFVBQVUsRUFBRThCLFFBQVEsRUFBRTtJQUN6RSxJQUFJQyx5Q0FBeUMsS0FBSztJQUVsRCxJQUFNOUIsa0NBQWtDSCw4Q0FBOENFO0lBRXRGLElBQUlDLG9DQUFvQyxJQUFJLEVBQUU7UUFDNUM4Qix5Q0FBeUNELFNBQVM3QjtJQUNwRCxDQUFDO0lBRUQsT0FBTzhCO0FBQ1QifQ==
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ var _necessary = require("necessary");
6
+ var _array = require("../utilities/array");
7
+ var _constants = require("../constants");
8
+ function _arrayLikeToArray(arr, len) {
9
+ if (len == null || len > arr.length) len = arr.length;
10
+ for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
11
+ return arr2;
12
+ }
13
+ function _arrayWithoutHoles(arr) {
14
+ if (Array.isArray(arr)) return _arrayLikeToArray(arr);
15
+ }
16
+ function _iterableToArray(iter) {
17
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
18
+ }
19
+ function _nonIterableSpread() {
20
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
21
+ }
22
+ function _toConsumableArray(arr) {
23
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
24
+ }
25
+ function _unsupportedIterableToArray(o, minLen) {
26
+ if (!o) return;
27
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
28
+ var n = Object.prototype.toString.call(o).slice(8, -1);
29
+ if (n === "Object" && o.constructor) n = o.constructor.name;
30
+ if (n === "Map" || n === "Set") return Array.from(n);
31
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
32
+ }
33
+ var writeFile = _necessary.fileSystemUtilities.writeFile;
34
+ writePermutationsMatrixFile();
35
+ function permutationsMatrixFromNothing() {
36
+ var permutationsMatrix = [];
37
+ for(var indexesLength = 0; indexesLength <= _constants.MAXIMUM_INDEXES_LENGTH; indexesLength++){
38
+ var permutationsArray = [];
39
+ for(var permutationLength = 0; permutationLength <= _constants.MAXIMUM_PERMUTATION_LENGTH; permutationLength++){
40
+ var permutations = permutationLength === 0 || permutationLength > indexesLength ? null : permutationsFromIndexesLengthAndPermutationLength(indexesLength, permutationLength);
41
+ permutationsArray.push(permutations);
42
+ }
43
+ permutationsMatrix.push(permutationsArray);
44
+ }
45
+ return permutationsMatrix;
46
+ }
47
+ function writePermutationsMatrixFile() {
48
+ var permutationsMatrix = permutationsMatrixFromNothing(), permutationsMatrixJSON = JSON.stringify(permutationsMatrix), permutationsMatrixFileName = "./bin/permutationsMatrix.js", permutationsMatrixFileContent = '"use strict";\n \nconst permutationsMatrix = '.concat(permutationsMatrixJSON, ";\n \nexport default permutationsMatrix; \n ");
49
+ writeFile(permutationsMatrixFileName, permutationsMatrixFileContent);
50
+ }
51
+ function permutationsFromChoice(choice) {
52
+ var permutations = [], choiceLength = choice.length;
53
+ if (choiceLength === 1) {
54
+ var permutation = choice.slice();
55
+ permutations.push(permutation);
56
+ } else {
57
+ var innerChoice = choice.slice(0), start = 0, deleteCount = 1, indexes = innerChoice.splice(start, deleteCount), firstIndex = (0, _array.first)(indexes), innerPermutations = permutationsFromChoice(innerChoice);
58
+ innerPermutations.forEach(function(innerPermutation) {
59
+ for(var position = 0; position < choiceLength; position++){
60
+ var permutation = innerPermutation.slice(0), start = position, deleteCount = 0;
61
+ permutation.splice(start, deleteCount, firstIndex);
62
+ permutations.push(permutation);
63
+ }
64
+ });
65
+ }
66
+ return permutations;
67
+ }
68
+ function permutationsFromChoices(choices) {
69
+ var permutations = [];
70
+ choices.forEach(function(choice) {
71
+ var choicePermutations = permutationsFromChoice(choice);
72
+ (0, _array.push)(permutations, choicePermutations);
73
+ });
74
+ return permutations;
75
+ }
76
+ function indexesFromIndexesLength(indexesLength) {
77
+ var indexes = [];
78
+ for(var index = 0; index < indexesLength; index++){
79
+ indexes.push(index);
80
+ }
81
+ return indexes;
82
+ }
83
+ function choicesFromIndexesAndChoiceLength(indexes, choiceLength) {
84
+ var choices = [], indexesLength = indexes.length;
85
+ if (choiceLength === 0) {
86
+ ///
87
+ } else if (choiceLength === 1) {
88
+ for(var position = 0; position < indexesLength; position++){
89
+ var index = indexes[position], choice = [
90
+ index
91
+ ];
92
+ choices.push(choice);
93
+ }
94
+ } else {
95
+ var _loop = function(position1) {
96
+ var innerIndexes = indexes.slice(0), start = 0, deleteCount = position1 + 1, deletedIndexes = innerIndexes.splice(start, deleteCount), lastDeletedIndex = (0, _array.last)(deletedIndexes), index = lastDeletedIndex, innerChoices = choicesFromIndexesAndChoiceLength(innerIndexes, innerChoiceLength);
97
+ innerChoices.forEach(function(innerChoice) {
98
+ var choice = [
99
+ index
100
+ ].concat(_toConsumableArray(innerChoice));
101
+ choices.push(choice);
102
+ });
103
+ };
104
+ var innerChoiceLength = choiceLength - 1;
105
+ for(var position1 = 0; position1 < indexesLength; position1++)_loop(position1);
106
+ }
107
+ return choices;
108
+ }
109
+ function permutationsFromIndexesLengthAndPermutationLength(indexesLength, permutationLength) {
110
+ var choiceLength = permutationLength, indexes = indexesFromIndexesLength(indexesLength), choices = choicesFromIndexesAndChoiceLength(indexes, choiceLength), permutations = permutationsFromChoices(choices);
111
+ return permutations;
112
+ }
113
+
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGVybXV0YXRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5pbXBvcnQgeyBwdXNoLCBsYXN0LCBmaXJzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IE1BWElNVU1fSU5ERVhFU19MRU5HVEgsIE1BWElNVU1fUEVSTVVUQVRJT05fTEVOR1RIIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB7IHdyaXRlRmlsZSB9ID0gZmlsZVN5c3RlbVV0aWxpdGllcztcblxud3JpdGVQZXJtdXRhdGlvbnNNYXRyaXhGaWxlKCk7XG5cbmZ1bmN0aW9uIHBlcm11dGF0aW9uc01hdHJpeEZyb21Ob3RoaW5nKCkge1xuICBjb25zdCBwZXJtdXRhdGlvbnNNYXRyaXggPSBbXTtcblxuICBmb3IgKGxldCBpbmRleGVzTGVuZ3RoID0gMDsgaW5kZXhlc0xlbmd0aCA8PSBNQVhJTVVNX0lOREVYRVNfTEVOR1RIOyBpbmRleGVzTGVuZ3RoKyspIHtcbiAgICBjb25zdCBwZXJtdXRhdGlvbnNBcnJheSA9IFtdO1xuXG4gICAgZm9yIChsZXQgcGVybXV0YXRpb25MZW5ndGggPSAwOyBwZXJtdXRhdGlvbkxlbmd0aCA8PSBNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSDsgcGVybXV0YXRpb25MZW5ndGgrKykge1xuICAgICAgY29uc3QgcGVybXV0YXRpb25zID0gKChwZXJtdXRhdGlvbkxlbmd0aCA9PT0gMCkgfHwgKHBlcm11dGF0aW9uTGVuZ3RoID4gaW5kZXhlc0xlbmd0aCkpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVybXV0YXRpb25zRnJvbUluZGV4ZXNMZW5ndGhBbmRQZXJtdXRhdGlvbkxlbmd0aChpbmRleGVzTGVuZ3RoLCBwZXJtdXRhdGlvbkxlbmd0aCk7XG5cbiAgICAgIHBlcm11dGF0aW9uc0FycmF5LnB1c2gocGVybXV0YXRpb25zKTtcbiAgICB9XG5cbiAgICBwZXJtdXRhdGlvbnNNYXRyaXgucHVzaChwZXJtdXRhdGlvbnNBcnJheSk7XG4gIH1cblxuICByZXR1cm4gcGVybXV0YXRpb25zTWF0cml4O1xufVxuXG5mdW5jdGlvbiB3cml0ZVBlcm11dGF0aW9uc01hdHJpeEZpbGUoKSB7XG4gIGNvbnN0IHBlcm11dGF0aW9uc01hdHJpeCA9IHBlcm11dGF0aW9uc01hdHJpeEZyb21Ob3RoaW5nKCksXG4gICAgICAgIHBlcm11dGF0aW9uc01hdHJpeEpTT04gPSBKU09OLnN0cmluZ2lmeShwZXJtdXRhdGlvbnNNYXRyaXgpLFxuICAgICAgICBwZXJtdXRhdGlvbnNNYXRyaXhGaWxlTmFtZSA9IFwiLi9iaW4vcGVybXV0YXRpb25zTWF0cml4LmpzXCIsXG4gICAgICAgIHBlcm11dGF0aW9uc01hdHJpeEZpbGVDb250ZW50ID0gYFwidXNlIHN0cmljdFwiO1xuICAgICAgICBcbmNvbnN0IHBlcm11dGF0aW9uc01hdHJpeCA9ICR7cGVybXV0YXRpb25zTWF0cml4SlNPTn07XG4gIFxuZXhwb3J0IGRlZmF1bHQgcGVybXV0YXRpb25zTWF0cml4OyAgICAgIFxuICBgO1xuXG4gIHdyaXRlRmlsZShwZXJtdXRhdGlvbnNNYXRyaXhGaWxlTmFtZSwgcGVybXV0YXRpb25zTWF0cml4RmlsZUNvbnRlbnQpXG59XG5cbmZ1bmN0aW9uIHBlcm11dGF0aW9uc0Zyb21DaG9pY2UoY2hvaWNlKSB7XG4gIGNvbnN0IHBlcm11dGF0aW9ucyA9IFtdLFxuICAgICAgICBjaG9pY2VMZW5ndGggPSBjaG9pY2UubGVuZ3RoO1xuXG4gIGlmIChjaG9pY2VMZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBwZXJtdXRhdGlvbiA9IGNob2ljZS5zbGljZSgpO1xuXG4gICAgcGVybXV0YXRpb25zLnB1c2gocGVybXV0YXRpb24pO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGlubmVyQ2hvaWNlID0gY2hvaWNlLnNsaWNlKDApLFxuICAgICAgICAgIHN0YXJ0ID0gMCxcbiAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgaW5kZXhlcyA9IGlubmVyQ2hvaWNlLnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpLFxuICAgICAgICAgIGZpcnN0SW5kZXggPSBmaXJzdChpbmRleGVzKSxcbiAgICAgICAgICBpbm5lclBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc0Zyb21DaG9pY2UoaW5uZXJDaG9pY2UpO1xuXG4gICAgaW5uZXJQZXJtdXRhdGlvbnMuZm9yRWFjaCgoaW5uZXJQZXJtdXRhdGlvbikgPT4ge1xuICAgICAgZm9yIChsZXQgcG9zaXRpb24gPSAwOyBwb3NpdGlvbiA8IGNob2ljZUxlbmd0aDsgcG9zaXRpb24rKykge1xuICAgICAgICBjb25zdCBwZXJtdXRhdGlvbiA9IGlubmVyUGVybXV0YXRpb24uc2xpY2UoMCksXG4gICAgICAgICAgICAgIHN0YXJ0ID0gcG9zaXRpb24sIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDA7XG5cbiAgICAgICAgcGVybXV0YXRpb24uc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCwgZmlyc3RJbmRleCk7XG5cbiAgICAgICAgcGVybXV0YXRpb25zLnB1c2gocGVybXV0YXRpb24pO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHBlcm11dGF0aW9ucztcbn1cblxuZnVuY3Rpb24gcGVybXV0YXRpb25zRnJvbUNob2ljZXMoY2hvaWNlcykge1xuICBjb25zdCBwZXJtdXRhdGlvbnMgPSBbXTtcblxuICBjaG9pY2VzLmZvckVhY2goKGNob2ljZSkgPT4ge1xuICAgIGNvbnN0IGNob2ljZVBlcm11dGF0aW9ucyA9IHBlcm11dGF0aW9uc0Zyb21DaG9pY2UoY2hvaWNlKTtcblxuICAgIHB1c2gocGVybXV0YXRpb25zLCBjaG9pY2VQZXJtdXRhdGlvbnMpO1xuICB9KTtcblxuICByZXR1cm4gcGVybXV0YXRpb25zO1xufVxuXG5mdW5jdGlvbiBpbmRleGVzRnJvbUluZGV4ZXNMZW5ndGgoaW5kZXhlc0xlbmd0aCkge1xuICBjb25zdCBpbmRleGVzID0gW107XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGluZGV4ZXNMZW5ndGg7IGluZGV4KyspIHtcbiAgICBpbmRleGVzLnB1c2goaW5kZXgpO1xuICB9XG5cbiAgcmV0dXJuIGluZGV4ZXM7XG59XG5cbmZ1bmN0aW9uIGNob2ljZXNGcm9tSW5kZXhlc0FuZENob2ljZUxlbmd0aChpbmRleGVzLCBjaG9pY2VMZW5ndGgpIHtcbiAgY29uc3QgY2hvaWNlcyA9IFtdLFxuICAgICAgICBpbmRleGVzTGVuZ3RoID0gaW5kZXhlcy5sZW5ndGg7XG5cbiAgaWYgKGNob2ljZUxlbmd0aCA9PT0gMCkge1xuICAgIC8vL1xuICB9IGVsc2UgaWYgKGNob2ljZUxlbmd0aCA9PT0gMSkge1xuICAgIGZvciAobGV0IHBvc2l0aW9uID0gMDsgcG9zaXRpb24gPCBpbmRleGVzTGVuZ3RoOyBwb3NpdGlvbisrKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGluZGV4ZXNbcG9zaXRpb25dLFxuICAgICAgICAgICAgY2hvaWNlID0gW1xuICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgXTtcblxuICAgICAgY2hvaWNlcy5wdXNoKGNob2ljZSk7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IGlubmVyQ2hvaWNlTGVuZ3RoID0gY2hvaWNlTGVuZ3RoIC0gMTtcblxuICAgIGZvciAobGV0IHBvc2l0aW9uID0gMDsgcG9zaXRpb24gPCBpbmRleGVzTGVuZ3RoOyBwb3NpdGlvbisrKSB7XG4gICAgICBjb25zdCBpbm5lckluZGV4ZXMgPSBpbmRleGVzLnNsaWNlKDApLFxuICAgICAgICAgICAgc3RhcnQgPSAwLCAvLy9cbiAgICAgICAgICAgIGRlbGV0ZUNvdW50ID0gcG9zaXRpb24gKyAxLFxuICAgICAgICAgICAgZGVsZXRlZEluZGV4ZXMgPSBpbm5lckluZGV4ZXMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCksXG4gICAgICAgICAgICBsYXN0RGVsZXRlZEluZGV4ID0gbGFzdChkZWxldGVkSW5kZXhlcyksXG4gICAgICAgICAgICBpbmRleCA9IGxhc3REZWxldGVkSW5kZXgsIC8vL1xuICAgICAgICAgICAgaW5uZXJDaG9pY2VzID0gY2hvaWNlc0Zyb21JbmRleGVzQW5kQ2hvaWNlTGVuZ3RoKGlubmVySW5kZXhlcywgaW5uZXJDaG9pY2VMZW5ndGgpO1xuXG4gICAgICBpbm5lckNob2ljZXMuZm9yRWFjaCgoaW5uZXJDaG9pY2UpID0+IHtcbiAgICAgICAgY29uc3QgY2hvaWNlID0gW1xuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIC4uLmlubmVyQ2hvaWNlXG4gICAgICAgIF07XG5cbiAgICAgICAgY2hvaWNlcy5wdXNoKGNob2ljZSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2hvaWNlcztcbn1cblxuZnVuY3Rpb24gcGVybXV0YXRpb25zRnJvbUluZGV4ZXNMZW5ndGhBbmRQZXJtdXRhdGlvbkxlbmd0aChpbmRleGVzTGVuZ3RoLCBwZXJtdXRhdGlvbkxlbmd0aCkge1xuICBjb25zdCBjaG9pY2VMZW5ndGggPSBwZXJtdXRhdGlvbkxlbmd0aCwgLy8vXG4gICAgICAgIGluZGV4ZXMgPSBpbmRleGVzRnJvbUluZGV4ZXNMZW5ndGgoaW5kZXhlc0xlbmd0aCksXG4gICAgICAgIGNob2ljZXMgPSBjaG9pY2VzRnJvbUluZGV4ZXNBbmRDaG9pY2VMZW5ndGgoaW5kZXhlcywgY2hvaWNlTGVuZ3RoKSxcbiAgICAgICAgcGVybXV0YXRpb25zID0gcGVybXV0YXRpb25zRnJvbUNob2ljZXMoY2hvaWNlcyk7XG5cbiAgcmV0dXJuIHBlcm11dGF0aW9ucztcbn1cbiJdLCJuYW1lcyI6WyJ3cml0ZUZpbGUiLCJmaWxlU3lzdGVtVXRpbGl0aWVzIiwid3JpdGVQZXJtdXRhdGlvbnNNYXRyaXhGaWxlIiwicGVybXV0YXRpb25zTWF0cml4RnJvbU5vdGhpbmciLCJwZXJtdXRhdGlvbnNNYXRyaXgiLCJpbmRleGVzTGVuZ3RoIiwiTUFYSU1VTV9JTkRFWEVTX0xFTkdUSCIsInBlcm11dGF0aW9uc0FycmF5IiwicGVybXV0YXRpb25MZW5ndGgiLCJNQVhJTVVNX1BFUk1VVEFUSU9OX0xFTkdUSCIsInBlcm11dGF0aW9ucyIsInBlcm11dGF0aW9uc0Zyb21JbmRleGVzTGVuZ3RoQW5kUGVybXV0YXRpb25MZW5ndGgiLCJwdXNoIiwicGVybXV0YXRpb25zTWF0cml4SlNPTiIsIkpTT04iLCJzdHJpbmdpZnkiLCJwZXJtdXRhdGlvbnNNYXRyaXhGaWxlTmFtZSIsInBlcm11dGF0aW9uc01hdHJpeEZpbGVDb250ZW50IiwicGVybXV0YXRpb25zRnJvbUNob2ljZSIsImNob2ljZSIsImNob2ljZUxlbmd0aCIsImxlbmd0aCIsInBlcm11dGF0aW9uIiwic2xpY2UiLCJpbm5lckNob2ljZSIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJpbmRleGVzIiwic3BsaWNlIiwiZmlyc3RJbmRleCIsImZpcnN0IiwiaW5uZXJQZXJtdXRhdGlvbnMiLCJmb3JFYWNoIiwiaW5uZXJQZXJtdXRhdGlvbiIsInBvc2l0aW9uIiwicGVybXV0YXRpb25zRnJvbUNob2ljZXMiLCJjaG9pY2VzIiwiY2hvaWNlUGVybXV0YXRpb25zIiwiaW5kZXhlc0Zyb21JbmRleGVzTGVuZ3RoIiwiaW5kZXgiLCJjaG9pY2VzRnJvbUluZGV4ZXNBbmRDaG9pY2VMZW5ndGgiLCJpbm5lckluZGV4ZXMiLCJkZWxldGVkSW5kZXhlcyIsImxhc3REZWxldGVkSW5kZXgiLCJsYXN0IiwiaW5uZXJDaG9pY2VzIiwiaW5uZXJDaG9pY2VMZW5ndGgiXSwibWFwcGluZ3MiOiJBQUFBOzs7O3lCQUVvQztxQkFFRjt5QkFDaUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRW5FLElBQU0sQUFBRUEsWUFBY0Ms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
@@ -0,0 +1,81 @@
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
+ nodeQuery: function() {
13
+ return nodeQuery;
14
+ },
15
+ nodesQuery: function() {
16
+ return nodesQuery;
17
+ },
18
+ typeNameFromTypeNode: function() {
19
+ return typeNameFromTypeNode;
20
+ },
21
+ labelNameFromLabelNode: function() {
22
+ return labelNameFromLabelNode;
23
+ },
24
+ variableNameFromVariableNode: function() {
25
+ return variableNameFromVariableNode;
26
+ },
27
+ referenceNameFromReferenceNode: function() {
28
+ return referenceNameFromReferenceNode;
29
+ },
30
+ metavariableNameFromMetavariableNode: function() {
31
+ return metavariableNameFromMetavariableNode;
32
+ }
33
+ });
34
+ var _occamDom = require("occam-dom");
35
+ var typeTerminalNodeQuery = nodeQuery("/type/@type"), labelNameTerminalNodeQuery = nodeQuery("/label/@name"), variableNameTerminalNodeQuery = nodeQuery("/variable/@name"), referenceNameTerminalNodeQuery = nodeQuery("/reference/@name"), metavariableNameTerminalNodeQuery = nodeQuery("/metavariable/@name");
36
+ function nodeQuery(expression) {
37
+ var query = _occamDom.Query.fromExpression(expression);
38
+ return function(node) {
39
+ if (node !== null) {
40
+ var nodes = query.execute(node);
41
+ node = nodes.shift() || null; ///
42
+ }
43
+ return node;
44
+ };
45
+ }
46
+ function nodesQuery(expression) {
47
+ var query = _occamDom.Query.fromExpression(expression);
48
+ return function(node) {
49
+ var nodes = null;
50
+ if (node !== null) {
51
+ nodes = query.execute(node);
52
+ }
53
+ return nodes;
54
+ };
55
+ }
56
+ function typeNameFromTypeNode(typeNode) {
57
+ var typeName = null;
58
+ if (typeNode !== null) {
59
+ var typeTerminalNode = typeTerminalNodeQuery(typeNode), typeTerminalNodeContent = typeTerminalNode.getContent();
60
+ typeName = typeTerminalNodeContent; ///
61
+ }
62
+ return typeName;
63
+ }
64
+ function labelNameFromLabelNode(labelNode) {
65
+ var labelNameTerminalNode = labelNameTerminalNodeQuery(labelNode), labelNameTerminalNodeContent = labelNameTerminalNode.getContent(), labelName = labelNameTerminalNodeContent; ///
66
+ return labelName;
67
+ }
68
+ function variableNameFromVariableNode(variableNode) {
69
+ var variableNameTerminalNode = variableNameTerminalNodeQuery(variableNode), variableNameTerminalNodeContent = variableNameTerminalNode.getContent(), variableName = variableNameTerminalNodeContent; ///
70
+ return variableName;
71
+ }
72
+ function referenceNameFromReferenceNode(referenceNode) {
73
+ var referenceNameTerminalNode = referenceNameTerminalNodeQuery(referenceNode), referenceNameTerminalNodeContent = referenceNameTerminalNode.getContent(), referenceName = referenceNameTerminalNodeContent; ///
74
+ return referenceName;
75
+ }
76
+ function metavariableNameFromMetavariableNode(metavariableNode) {
77
+ var metavariableNameTerminalNode = metavariableNameTerminalNodeQuery(metavariableNode), metavariableNameTerminalNodeContent = metavariableNameTerminalNode.getContent(), metavariableName = metavariableNameTerminalNodeContent; ///
78
+ return metavariableName;
79
+ }
80
+
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcXVlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLWRvbVwiO1xuXG5jb25zdCB0eXBlVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdHlwZS9AdHlwZVwiKSxcbiAgICAgIGxhYmVsTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2xhYmVsL0BuYW1lXCIpLFxuICAgICAgdmFyaWFibGVOYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGUvQG5hbWVcIiksXG4gICAgICByZWZlcmVuY2VOYW1lVGVybWluYWxOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcmVmZXJlbmNlL0BuYW1lXCIpLFxuICAgICAgbWV0YXZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL21ldGF2YXJpYWJsZS9AbmFtZVwiKTtcblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVRdWVyeShleHByZXNzaW9uKSB7XG4gIGNvbnN0IHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uKG5vZGUpIHtcbiAgICBpZiAobm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZXMgPSBxdWVyeS5leGVjdXRlKG5vZGUpO1xuXG4gICAgICBub2RlID0gbm9kZXMuc2hpZnQoKSB8fCBudWxsOyAvLy9cbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzUXVlcnkoZXhwcmVzc2lvbikge1xuICBjb25zdCBxdWVyeSA9IFF1ZXJ5LmZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24pO1xuXG4gIHJldHVybiBmdW5jdGlvbihub2RlKSB7XG4gICAgbGV0IG5vZGVzID0gbnVsbDtcblxuICAgIGlmIChub2RlICE9PSBudWxsKSB7XG4gICAgICBub2RlcyA9IHF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHlwZU5hbWVGcm9tVHlwZU5vZGUodHlwZU5vZGUpIHtcbiAgbGV0IHR5cGVOYW1lID0gbnVsbDtcblxuICBpZiAodHlwZU5vZGUgIT09IG51bGwpIHtcbiAgICBjb25zdCB0eXBlVGVybWluYWxOb2RlID0gdHlwZVRlcm1pbmFsTm9kZVF1ZXJ5KHR5cGVOb2RlKSxcbiAgICAgICAgICB0eXBlVGVybWluYWxOb2RlQ29udGVudCA9IHR5cGVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gICAgdHlwZU5hbWUgPSB0eXBlVGVybWluYWxOb2RlQ29udGVudDsgLy8vXG4gIH1cblxuICByZXR1cm4gdHlwZU5hbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsYWJlbE5hbWVGcm9tTGFiZWxOb2RlKGxhYmVsTm9kZSkge1xuICBjb25zdCBsYWJlbE5hbWVUZXJtaW5hbE5vZGUgPSBsYWJlbE5hbWVUZXJtaW5hbE5vZGVRdWVyeShsYWJlbE5vZGUpLFxuICAgICAgICBsYWJlbE5hbWVUZXJtaW5hbE5vZGVDb250ZW50ID0gbGFiZWxOYW1lVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgbGFiZWxOYW1lID0gbGFiZWxOYW1lVGVybWluYWxOb2RlQ29udGVudDsgLy8vXG5cbiAgcmV0dXJuIGxhYmVsTmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gIGNvbnN0IHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZSA9IHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5KHZhcmlhYmxlTm9kZSksXG4gICAgICAgIHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICB2YXJpYWJsZU5hbWUgPSB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gdmFyaWFibGVOYW1lO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmZXJlbmNlTmFtZUZyb21SZWZlcmVuY2VOb2RlKHJlZmVyZW5jZU5vZGUpIHtcbiAgY29uc3QgcmVmZXJlbmNlTmFtZVRlcm1pbmFsTm9kZSA9IHJlZmVyZW5jZU5hbWVUZXJtaW5hbE5vZGVRdWVyeShyZWZlcmVuY2VOb2RlKSxcbiAgICAgICAgcmVmZXJlbmNlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSByZWZlcmVuY2VOYW1lVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgcmVmZXJlbmNlTmFtZSA9IHJlZmVyZW5jZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50OyAvLy9cblxuICByZXR1cm4gcmVmZXJlbmNlTmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1ldGF2YXJpYWJsZU5hbWVGcm9tTWV0YXZhcmlhYmxlTm9kZShtZXRhdmFyaWFibGVOb2RlKSB7XG4gIGNvbnN0IG1ldGF2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgPSBtZXRhdmFyaWFibGVOYW1lVGVybWluYWxOb2RlUXVlcnkobWV0YXZhcmlhYmxlTm9kZSksXG4gICAgICAgIG1ldGF2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50ID0gbWV0YXZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIG1ldGF2YXJpYWJsZU5hbWUgPSBtZXRhdmFyaWFibGVOYW1lVGVybWluYWxOb2RlQ29udGVudDsgLy8vXG5cbiAgcmV0dXJuIG1ldGF2YXJpYWJsZU5hbWU7XG59XG4iXSwibmFtZXMiOlsibm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwibGFiZWxOYW1lRnJvbUxhYmVsTm9kZSIsInZhcmlhYmxlTmFtZUZyb21WYXJpYWJsZU5vZGUiLCJyZWZlcmVuY2VOYW1lRnJvbVJlZmVyZW5jZU5vZGUiLCJtZXRhdmFyaWFibGVOYW1lRnJvbU1ldGF2YXJpYWJsZU5vZGUiLCJ0eXBlVGVybWluYWxOb2RlUXVlcnkiLCJsYWJlbE5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsInZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5IiwicmVmZXJlbmNlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5IiwibWV0YXZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5IiwiZXhwcmVzc2lvbiIsInF1ZXJ5IiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvbiIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJzaGlmdCIsInR5cGVOb2RlIiwidHlwZU5hbWUiLCJ0eXBlVGVybWluYWxOb2RlIiwidHlwZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50IiwibGFiZWxOb2RlIiwibGFiZWxOYW1lVGVybWluYWxOb2RlIiwibGFiZWxOYW1lVGVybWluYWxOb2RlQ29udGVudCIsImxhYmVsTmFtZSIsInZhcmlhYmxlTm9kZSIsInZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZSIsInZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJ2YXJpYWJsZU5hbWUiLCJyZWZlcmVuY2VOb2RlIiwicmVmZXJlbmNlTmFtZVRlcm1pbmFsTm9kZSIsInJlZmVyZW5jZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50IiwicmVmZXJlbmNlTmFtZSIsIm1ldGF2YXJpYWJsZU5vZGUiLCJtZXRhdmFyaWFibGVOYW1lVGVybWluYWxOb2RlIiwibWV0YXZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJtZXRhdmFyaWFibGVOYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFVZ0JBLFNBQVM7ZUFBVEE7O0lBY0FDLFVBQVU7ZUFBVkE7O0lBY0FDLG9CQUFvQjtlQUFwQkE7O0lBYUFDLHNCQUFzQjtlQUF0QkE7O0lBUUFDLDRCQUE0QjtlQUE1QkE7O0lBUUFDLDhCQUE4QjtlQUE5QkE7O0lBUUFDLG9DQUFvQztlQUFwQ0E7Ozt3QkF6RU07QUFFdEIsSUFBTUMsd0JBQXdCUCxVQUFVLGdCQUNsQ1EsNkJBQTZCUixVQUFVLGlCQUN2Q1MsZ0NBQWdDVCxVQUFVLG9CQUMxQ1UsaUNBQWlDVixVQUFVLHFCQUMzQ1csb0NBQW9DWCxVQUFVO0FBRTdDLFNBQVNBLFVBQVVZLFVBQVUsRUFBRTtJQUNwQyxJQUFNQyxRQUFRQyxlQUFLLENBQUNDLGNBQWMsQ0FBQ0g7SUFFbkMsT0FBTyxTQUFTSSxJQUFJLEVBQUU7UUFDcEIsSUFBSUEsU0FBUyxJQUFJLEVBQUU7WUFDakIsSUFBTUMsUUFBUUosTUFBTUssT0FBTyxDQUFDRjtZQUU1QkEsT0FBT0MsTUFBTUUsS0FBSyxNQUFNLElBQUksRUFBRSxHQUFHO1FBQ25DLENBQUM7UUFFRCxPQUFPSDtJQUNUO0FBQ0Y7QUFFTyxTQUFTZixXQUFXVyxVQUFVLEVBQUU7SUFDckMsSUFBTUMsUUFBUUMsZUFBSyxDQUFDQyxjQUFjLENBQUNIO0lBRW5DLE9BQU8sU0FBU0ksSUFBSSxFQUFFO1FBQ3BCLElBQUlDLFFBQVEsSUFBSTtRQUVoQixJQUFJRCxTQUFTLElBQUksRUFBRTtZQUNqQkMsUUFBUUosTUFBTUssT0FBTyxDQUFDRjtRQUN4QixDQUFDO1FBRUQsT0FBT0M7SUFDVDtBQUNGO0FBRU8sU0FBU2YscUJBQXFCa0IsUUFBUSxFQUFFO0lBQzdDLElBQUlDLFdBQVcsSUFBSTtJQUVuQixJQUFJRCxhQUFhLElBQUksRUFBRTtRQUNyQixJQUFNRSxtQkFBbUJmLHNCQUFzQmEsV0FDekNHLDBCQUEwQkQsaUJBQWlCRSxVQUFVO1FBRTNESCxXQUFXRSx5QkFBeUIsR0FBRztJQUN6QyxDQUFDO0lBRUQsT0FBT0Y7QUFDVDtBQUVPLFNBQVNsQix1QkFBdUJzQixTQUFTLEVBQUU7SUFDaEQsSUFBTUMsd0JBQXdCbEIsMkJBQTJCaUIsWUFDbkRFLCtCQUErQkQsc0JBQXNCRixVQUFVLElBQy9ESSxZQUFZRCw4QkFBOEIsR0FBRztJQUVuRCxPQUFPQztBQUNUO0FBRU8sU0FBU3hCLDZCQUE2QnlCLFlBQVksRUFBRTtJQUN6RCxJQUFNQywyQkFBMkJyQiw4QkFBOEJvQixlQUN6REUsa0NBQWtDRCx5QkFBeUJOLFVBQVUsSUFDckVRLGVBQWVELGlDQUFpQyxHQUFHO0lBRXpELE9BQU9DO0FBQ1Q7QUFFTyxTQUFTM0IsK0JBQStCNEIsYUFBYSxFQUFFO0lBQzVELElBQU1DLDRCQUE0QnhCLCtCQUErQnVCLGdCQUMzREUsbUNBQW1DRCwwQkFBMEJWLFVBQVUsSUFDdkVZLGdCQUFnQkQsa0NBQWtDLEdBQUc7SUFFM0QsT0FBT0M7QUFDVDtBQUVPLFNBQVM5QixxQ0FBcUMrQixnQkFBZ0IsRUFBRTtJQUNyRSxJQUFNQywrQkFBK0IzQixrQ0FBa0MwQixtQkFDakVFLHNDQUFzQ0QsNkJBQTZCZCxVQUFVLElBQzdFZ0IsbUJBQW1CRCxxQ0FBcUMsR0FBRztJQUVqRSxPQUFPQztBQUNUIn0=
@@ -0,0 +1,54 @@
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
+ nodeAsString: function() {
13
+ return nodeAsString;
14
+ },
15
+ nodesAsString: function() {
16
+ return nodesAsString;
17
+ },
18
+ labelsAsString: function() {
19
+ return labelsAsString;
20
+ }
21
+ });
22
+ var _constants = require("../constants");
23
+ function nodeAsString(node) {
24
+ var string = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : _constants.EMPTY_STRING;
25
+ var nodeTerminalNode = node.isTerminalNode();
26
+ if (nodeTerminalNode) {
27
+ var terminalNode = node, content = terminalNode.getContent();
28
+ string = "".concat(string).concat(content);
29
+ } else {
30
+ var nonTerminalNode = node, childNodes = nonTerminalNode.getChildNodes();
31
+ childNodes.forEach(function(childNode) {
32
+ string = nodeAsString(childNode, string);
33
+ });
34
+ }
35
+ return string;
36
+ }
37
+ function nodesAsString(nodes) {
38
+ var string = nodes.reduce(function(string, node) {
39
+ var nodeString = nodeAsString(node);
40
+ if (string === null) {
41
+ string = nodeString; ///
42
+ } else {
43
+ string = "".concat(string).concat(_constants.COMMA).concat(nodeString);
44
+ }
45
+ return string;
46
+ }, null);
47
+ return string;
48
+ }
49
+ function labelsAsString(labels) {
50
+ var labelsString = labels.join(_constants.COMMA);
51
+ return labelsString;
52
+ }
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBDT01NQSwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gbm9kZUFzU3RyaW5nKG5vZGUsIHN0cmluZyA9IEVNUFRZX1NUUklORykge1xuICBjb25zdCBub2RlVGVybWluYWxOb2RlID0gbm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgY29uc3QgdGVybWluYWxOb2RlID0gbm9kZSxcbiAgICAgICAgICBjb250ZW50ID0gdGVybWluYWxOb2RlLmdldENvbnRlbnQoKTtcblxuICAgIHN0cmluZyA9IGAke3N0cmluZ30ke2NvbnRlbnR9YDtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSBub2RlLCAvLy9cbiAgICAgICAgICBjaGlsZE5vZGVzID0gbm9uVGVybWluYWxOb2RlLmdldENoaWxkTm9kZXMoKTtcblxuICAgIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBzdHJpbmcgPSBub2RlQXNTdHJpbmcoY2hpbGROb2RlLCBzdHJpbmcpO1xuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vZGVzQXNTdHJpbmcobm9kZXMpIHtcbiAgY29uc3Qgc3RyaW5nID0gbm9kZXMucmVkdWNlKChzdHJpbmcsIG5vZGUpID0+IHtcbiAgICBjb25zdCBub2RlU3RyaW5nID0gbm9kZUFzU3RyaW5nKG5vZGUpO1xuXG4gICAgaWYgKHN0cmluZyA9PT0gbnVsbCkge1xuICAgICAgc3RyaW5nID0gbm9kZVN0cmluZzsgIC8vL1xuICAgIH0gZWxzZSB7XG4gICAgICBzdHJpbmcgPSBgJHtzdHJpbmd9JHtDT01NQX0ke25vZGVTdHJpbmd9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9LCBudWxsKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGFiZWxzQXNTdHJpbmcobGFiZWxzKSB7XG4gIGNvbnN0IGxhYmVsc1N0cmluZyA9IGxhYmVscy5qb2luKENPTU1BKTtcblxuICByZXR1cm4gbGFiZWxzU3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbIm5vZGVBc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJsYWJlbHNBc1N0cmluZyIsIm5vZGUiLCJzdHJpbmciLCJFTVBUWV9TVFJJTkciLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsIm5vblRlcm1pbmFsTm9kZSIsImNoaWxkTm9kZXMiLCJnZXRDaGlsZE5vZGVzIiwiZm9yRWFjaCIsImNoaWxkTm9kZSIsIm5vZGVzIiwicmVkdWNlIiwibm9kZVN0cmluZyIsIkNPTU1BIiwibGFiZWxzIiwibGFiZWxzU3RyaW5nIiwiam9pbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBSWdCQSxZQUFZO2VBQVpBOztJQW9CQUMsYUFBYTtlQUFiQTs7SUFnQkFDLGNBQWM7ZUFBZEE7Ozt5QkF0Q29CO0FBRTdCLFNBQVNGLGFBQWFHLElBQUksRUFBeUI7UUFBdkJDLFNBQUFBLGlFQUFTQyx1QkFBWTtJQUN0RCxJQUFNQyxtQkFBbUJILEtBQUtJLGNBQWM7SUFFNUMsSUFBSUQsa0JBQWtCO1FBQ3BCLElBQU1FLGVBQWVMLE1BQ2ZNLFVBQVVELGFBQWFFLFVBQVU7UUFFdkNOLFNBQVMsQUFBQyxHQUFXSyxPQUFUTCxRQUFpQixPQUFSSztJQUN2QixPQUFPO1FBQ0wsSUFBTUUsa0JBQWtCUixNQUNsQlMsYUFBYUQsZ0JBQWdCRSxhQUFhO1FBRWhERCxXQUFXRSxPQUFPLENBQUMsU0FBQ0MsV0FBYztZQUNoQ1gsU0FBU0osYUFBYWUsV0FBV1g7UUFDbkM7SUFDRixDQUFDO0lBRUQsT0FBT0E7QUFDVDtBQUVPLFNBQVNILGNBQWNlLEtBQUssRUFBRTtJQUNuQyxJQUFNWixTQUFTWSxNQUFNQyxNQUFNLENBQUMsU0FBQ2IsUUFBUUQsTUFBUztRQUM1QyxJQUFNZSxhQUFhbEIsYUFBYUc7UUFFaEMsSUFBSUMsV0FBVyxJQUFJLEVBQUU7WUFDbkJBLFNBQVNjLFlBQWEsR0FBRztRQUMzQixPQUFPO1lBQ0xkLFNBQVMsQUFBQyxHQUFXZSxPQUFUZixRQUFpQmMsT0FBUkMsZ0JBQUssRUFBYyxPQUFYRDtRQUMvQixDQUFDO1FBRUQsT0FBT2Q7SUFDVCxHQUFHLElBQUk7SUFFUCxPQUFPQTtBQUNUO0FBRU8sU0FBU0YsZUFBZWtCLE1BQU0sRUFBRTtJQUNyQyxJQUFNQyxlQUFlRCxPQUFPRSxJQUFJLENBQUNILGdCQUFLO0lBRXRDLE9BQU9FO0FBQ1QifQ==
@@ -0,0 +1,94 @@
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 Variable;
9
+ }
10
+ });
11
+ function _classCallCheck(instance, Constructor) {
12
+ if (!(instance instanceof Constructor)) {
13
+ throw new TypeError("Cannot call a class as a function");
14
+ }
15
+ }
16
+ function _defineProperties(target, props) {
17
+ for(var i = 0; i < props.length; i++){
18
+ var descriptor = props[i];
19
+ descriptor.enumerable = descriptor.enumerable || false;
20
+ descriptor.configurable = true;
21
+ if ("value" in descriptor) descriptor.writable = true;
22
+ Object.defineProperty(target, descriptor.key, descriptor);
23
+ }
24
+ }
25
+ function _createClass(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+ var Variable = /*#__PURE__*/ function() {
31
+ function Variable(type, name, value) {
32
+ _classCallCheck(this, Variable);
33
+ this.type = type;
34
+ this.name = name;
35
+ this.value = value;
36
+ }
37
+ _createClass(Variable, [
38
+ {
39
+ key: "getType",
40
+ value: function getType() {
41
+ return this.type;
42
+ }
43
+ },
44
+ {
45
+ key: "getName",
46
+ value: function getName() {
47
+ return this.name;
48
+ }
49
+ },
50
+ {
51
+ key: "getValue",
52
+ value: function getValue() {
53
+ return this.value;
54
+ }
55
+ },
56
+ {
57
+ key: "setValue",
58
+ value: function setValue(value) {
59
+ this.value = value;
60
+ }
61
+ },
62
+ {
63
+ key: "matchName",
64
+ value: function matchName(name) {
65
+ var matchesName = this.name === name;
66
+ return matchesName;
67
+ }
68
+ },
69
+ {
70
+ key: "asString",
71
+ value: function asString() {
72
+ var string;
73
+ if (this.type === null) {
74
+ string = this.name;
75
+ } else {
76
+ var typeName = this.type.getName();
77
+ string = "".concat(this.name, ":").concat(typeName);
78
+ }
79
+ return string;
80
+ }
81
+ }
82
+ ], [
83
+ {
84
+ key: "fromTypeAndName",
85
+ value: function fromTypeAndName(type, name) {
86
+ var value = undefined, variable = new Variable(type, name, value);
87
+ return variable;
88
+ }
89
+ }
90
+ ]);
91
+ return Variable;
92
+ }();
93
+
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92YXJpYWJsZS5qcyIsIjw8anN4LWNvbmZpZy1wcmFnbWEuanM+PiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmFyaWFibGUge1xuICBjb25zdHJ1Y3Rvcih0eXBlLCBuYW1lLCB2YWx1ZSkge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBnZXRWYWx1ZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlKSB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgbWF0Y2hOYW1lKG5hbWUpIHtcbiAgICBjb25zdCBtYXRjaGVzTmFtZSA9ICh0aGlzLm5hbWUgPT09IG5hbWUpO1xuXG4gICAgcmV0dXJuIG1hdGNoZXNOYW1lO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgbGV0IHN0cmluZztcblxuICAgIGlmICh0aGlzLnR5cGUgPT09IG51bGwpIHtcbiAgICAgIHN0cmluZyA9IHRoaXMubmFtZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZU5hbWUgPSB0aGlzLnR5cGUuZ2V0TmFtZSgpO1xuXG4gICAgICBzdHJpbmcgPSBgJHt0aGlzLm5hbWV9OiR7dHlwZU5hbWV9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlQW5kTmFtZSh0eXBlLCBuYW1lKSB7XG4gICAgY29uc3QgdmFsdWUgPSB1bmRlZmluZWQsXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUodHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG59XG4iLCJSZWFjdC5jcmVhdGVFbGVtZW50Il0sIm5hbWVzIjpbIlZhcmlhYmxlIiwidHlwZSIsIm5hbWUiLCJ2YWx1ZSIsImdldFR5cGUiLCJnZXROYW1lIiwiZ2V0VmFsdWUiLCJzZXRWYWx1ZSIsIm1hdGNoTmFtZSIsIm1hdGNoZXNOYW1lIiwiYXNTdHJpbmciLCJzdHJpbmciLCJ0eXBlTmFtZSIsImZyb21UeXBlQW5kTmFtZSIsInVuZGVmaW5lZCIsInZhcmlhYmxlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUVxQkE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLHlCQUFOO2FBQU1BLFNBQ1BDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLOzhCQURWSDtRQUVqQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7O2lCQUpJSDs7WUFPbkJJLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVO2dCQUNSLE9BQU8sSUFBSSxDQUFDSCxJQUFJO1lBQ2xCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLFVBQVU7Z0JBQ1IsT0FBTyxJQUFJLENBQUNILElBQUk7WUFDbEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsV0FBVztnQkFDVCxPQUFPLElBQUksQ0FBQ0gsS0FBSztZQUNuQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTSixLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDQSxLQUFLLEdBQUdBO1lBQ2Y7OztZQUVBSyxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVU4sSUFBSSxFQUFFO2dCQUNkLElBQU1PLGNBQWUsSUFBSSxDQUFDUCxJQUFJLEtBQUtBO2dCQUVuQyxPQUFPTztZQUNUOzs7WUFFQUMsS0FBQUE7bUJBQUFBLFNBQUFBLFdBQVc7Z0JBQ1QsSUFBSUM7Z0JBRUosSUFBSSxJQUFJLENBQUNWLElBQUksS0FBSyxJQUFJLEVBQUU7b0JBQ3RCVSxTQUFTLElBQUksQ0FBQ1QsSUFBSTtnQkFDcEIsT0FBTztvQkFDTCxJQUFNVSxXQUFXLElBQUksQ0FBQ1gsSUFBSSxDQUFDSSxPQUFPO29CQUVsQ00sU0FBUyxBQUFDLEdBQWVDLE9BQWIsSUFBSSxDQUFDVixJQUFJLEVBQUMsS0FBWSxPQUFUVTtnQkFDM0IsQ0FBQztnQkFFRCxPQUFPRDtZQUNUOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLGdCQUFnQlosSUFBSSxFQUFFQyxJQUFJLEVBQUU7Z0JBQ2pDLElBQU1DLFFBQVFXLFdBQ1JDLFdBQVcsSUE3Q0FmLFNBNkNhQyxNQUFNQyxNQUFNQztnQkFFMUMsT0FBT1k7WUFDVDs7O1dBaERtQmYifQ==
@@ -0,0 +1,29 @@
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 verifyIndicativeConditional;
9
+ }
10
+ });
11
+ var _unqualified = /*#__PURE__*/ _interopRequireDefault(require("../verify/metastatement/unqualified"));
12
+ var _query = require("../utilities/query");
13
+ function _interopRequireDefault(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ var unqualifiedStatementNodesQuery = (0, _query.nodesQuery)("/indicativeConditional/unqualifiedStatement");
19
+ function verifyIndicativeConditional(indicativeConditionalNode, statementNodes, context) {
20
+ var unqualifiedStatementNodes = unqualifiedStatementNodesQuery(indicativeConditionalNode), indicativeConditionalVerified = unqualifiedStatementNodes.every(function(unqualifiedStatementNode) {
21
+ var unqualifiedStatementVerified = (0, _unqualified.default)(unqualifiedStatementNode, context);
22
+ if (unqualifiedStatementVerified) {
23
+ return true;
24
+ }
25
+ });
26
+ return indicativeConditionalVerified;
27
+ }
28
+
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZXJpZnkvSW5kaWNhdGl2ZUNvbmRpdGlvbmFsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQgZnJvbSBcIi4uL3ZlcmlmeS9tZXRhc3RhdGVtZW50L3VucXVhbGlmaWVkXCI7XG5cbmltcG9ydCB7IG5vZGVzUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5cbmNvbnN0IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXNRdWVyeSA9IG5vZGVzUXVlcnkoXCIvaW5kaWNhdGl2ZUNvbmRpdGlvbmFsL3VucXVhbGlmaWVkU3RhdGVtZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlJbmRpY2F0aXZlQ29uZGl0aW9uYWwoaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSwgc3RhdGVtZW50Tm9kZXMsIGNvbnRleHQpIHtcbiAgY29uc3QgdW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlcyA9IHVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXNRdWVyeShpbmRpY2F0aXZlQ29uZGl0aW9uYWxOb2RlKSxcbiAgICAgICAgaW5kaWNhdGl2ZUNvbmRpdGlvbmFsVmVyaWZpZWQgPSB1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzLmV2ZXJ5KCh1bnF1YWxpZmllZFN0YXRlbWVudE5vZGUpID0+IHtcbiAgICAgICAgICBjb25zdCB1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkID0gdmVyaWZ5VW5xdWFsaWZpZWRTdGF0ZW1lbnQodW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlLCBjb250ZXh0KTtcblxuICAgICAgICAgIGlmICh1bnF1YWxpZmllZFN0YXRlbWVudFZlcmlmaWVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIHJldHVybiBpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZDtcbn1cbiJdLCJuYW1lcyI6WyJ2ZXJpZnlJbmRpY2F0aXZlQ29uZGl0aW9uYWwiLCJ1bnF1YWxpZmllZFN0YXRlbWVudE5vZGVzUXVlcnkiLCJub2Rlc1F1ZXJ5IiwiaW5kaWNhdGl2ZUNvbmRpdGlvbmFsTm9kZSIsInN0YXRlbWVudE5vZGVzIiwiY29udGV4dCIsInVucXVhbGlmaWVkU3RhdGVtZW50Tm9kZXMiLCJpbmRpY2F0aXZlQ29uZGl0aW9uYWxWZXJpZmllZCIsImV2ZXJ5IiwidW5xdWFsaWZpZWRTdGF0ZW1lbnROb2RlIiwidW5xdWFsaWZpZWRTdGF0ZW1lbnRWZXJpZmllZCIsInZlcmlmeVVucXVhbGlmaWVkU3RhdGVtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQXdCQTs7O2dFQU5lO3FCQUVaOzs7Ozs7QUFFM0IsSUFBTUMsaUNBQWlDQyxJQUFBQSxpQkFBVSxFQUFDO0FBRW5DLFNBQVNGLDRCQUE0QkcseUJBQXlCLEVBQUVDLGNBQWMsRUFBRUMsT0FBTyxFQUFFO0lBQ3RHLElBQU1DLDRCQUE0QkwsK0JBQStCRSw0QkFDM0RJLGdDQUFnQ0QsMEJBQTBCRSxLQUFLLENBQUMsU0FBQ0MsMEJBQTZCO1FBQzVGLElBQU1DLCtCQUErQkMsSUFBQUEsb0JBQTBCLEVBQUNGLDBCQUEwQko7UUFFMUYsSUFBSUssOEJBQThCO1lBQ2hDLE9BQU8sSUFBSTtRQUNiLENBQUM7SUFDSDtJQUVOLE9BQU9IO0FBQ1QifQ==
@@ -0,0 +1,52 @@
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 verifyTypeAssertion;
9
+ }
10
+ });
11
+ var _variable = /*#__PURE__*/ _interopRequireDefault(require("../../variable"));
12
+ var _termAsVariable = /*#__PURE__*/ _interopRequireDefault(require("../../verify/termAsVariable"));
13
+ var _array = require("../../utilities/array");
14
+ var _query = require("../../utilities/query");
15
+ function _interopRequireDefault(obj) {
16
+ return obj && obj.__esModule ? obj : {
17
+ default: obj
18
+ };
19
+ }
20
+ var termNodeQuery = (0, _query.nodeQuery)("/typeAssertion/term"), typeNodeQuery = (0, _query.nodeQuery)("/typeAssertion/type");
21
+ function verifyTypeAssertion(typeAssertionNode, context) {
22
+ var typeAssertionVerified = false;
23
+ var typeNode = typeNodeQuery(typeAssertionNode), typeName = (0, _query.typeNameFromTypeNode)(typeNode), typePresent = context.isTypePresentByTypeName(typeName);
24
+ if (!typePresent) {
25
+ context.error("The ".concat(typeName, " type is not present."));
26
+ } else {
27
+ var derived = context.isDerived();
28
+ if (derived) {
29
+ debugger;
30
+ } else {
31
+ var types = [], names = [], values = [], termNode = termNodeQuery(typeAssertionNode), termVerified = (0, _termAsVariable.default)(termNode, types, names, values, context);
32
+ if (termVerified) {
33
+ var firstName = (0, _array.first)(names), firstValue = (0, _array.first)(values), variableName = firstName, value = firstValue;
34
+ if (value !== undefined) {
35
+ context.error("The value of the ".concat(variableName, " variable is not undefined."));
36
+ } else {
37
+ var type = context.findTypeByTypeName(typeName), firstType = (0, _array.first)(types), variableType = firstType, typeSubTypeOfVariableType = type.isSubTypeOf(variableType);
38
+ if (!typeSubTypeOfVariableType) {
39
+ context.error("The asserted type of the ".concat(variableName, " variable is not a sub-type of its declared type."));
40
+ } else {
41
+ var name = variableName, variable = _variable.default.fromTypeAndName(type, name);
42
+ context.addVariable(variable);
43
+ typeAssertionVerified = true;
44
+ }
45
+ }
46
+ }
47
+ }
48
+ }
49
+ return typeAssertionVerified;
50
+ }
51
+
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy92ZXJpZnkvYXNzZXJ0aW9uL3R5cGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBWYXJpYWJsZSBmcm9tIFwiLi4vLi4vdmFyaWFibGVcIjtcbmltcG9ydCB2ZXJpZnlUZXJtQXNWYXJpYWJsZSBmcm9tIFwiLi4vLi4vdmVyaWZ5L3Rlcm1Bc1ZhcmlhYmxlXCI7XG5cbmltcG9ydCB7IGZpcnN0IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5LCB0eXBlTmFtZUZyb21UeXBlTm9kZSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcblxuY29uc3QgdGVybU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi90eXBlQXNzZXJ0aW9uL3Rlcm1cIiksXG4gICAgICB0eXBlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3R5cGVBc3NlcnRpb24vdHlwZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdmVyaWZ5VHlwZUFzc2VydGlvbih0eXBlQXNzZXJ0aW9uTm9kZSwgY29udGV4dCkge1xuICBsZXQgdHlwZUFzc2VydGlvblZlcmlmaWVkID0gZmFsc2U7XG5cbiAgY29uc3QgdHlwZU5vZGUgPSB0eXBlTm9kZVF1ZXJ5KHR5cGVBc3NlcnRpb25Ob2RlKSxcbiAgICAgICAgdHlwZU5hbWUgPSB0eXBlTmFtZUZyb21UeXBlTm9kZSh0eXBlTm9kZSksXG4gICAgICAgIHR5cGVQcmVzZW50ID0gY29udGV4dC5pc1R5cGVQcmVzZW50QnlUeXBlTmFtZSh0eXBlTmFtZSk7XG5cbiAgaWYgKCF0eXBlUHJlc2VudCkge1xuICAgIGNvbnRleHQuZXJyb3IoYFRoZSAke3R5cGVOYW1lfSB0eXBlIGlzIG5vdCBwcmVzZW50LmApO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGRlcml2ZWQgPSBjb250ZXh0LmlzRGVyaXZlZCgpO1xuXG4gICAgaWYgKGRlcml2ZWQpIHtcbiAgICAgIGRlYnVnZ2VyXG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHR5cGVzID0gW10sXG4gICAgICAgICAgICBuYW1lcyA9IFtdLFxuICAgICAgICAgICAgdmFsdWVzID0gW10sXG4gICAgICAgICAgICB0ZXJtTm9kZSA9IHRlcm1Ob2RlUXVlcnkodHlwZUFzc2VydGlvbk5vZGUpLFxuICAgICAgICAgICAgdGVybVZlcmlmaWVkID0gdmVyaWZ5VGVybUFzVmFyaWFibGUodGVybU5vZGUsIHR5cGVzLCBuYW1lcywgdmFsdWVzLCBjb250ZXh0KTtcblxuICAgICAgaWYgKHRlcm1WZXJpZmllZCkge1xuICAgICAgICBjb25zdCBmaXJzdE5hbWUgPSBmaXJzdChuYW1lcyksXG4gICAgICAgICAgICAgIGZpcnN0VmFsdWUgPSBmaXJzdCh2YWx1ZXMpLFxuICAgICAgICAgICAgICB2YXJpYWJsZU5hbWUgPSBmaXJzdE5hbWUsIC8vL1xuICAgICAgICAgICAgICB2YWx1ZSA9IGZpcnN0VmFsdWU7XG5cbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb250ZXh0LmVycm9yKGBUaGUgdmFsdWUgb2YgdGhlICR7dmFyaWFibGVOYW1lfSB2YXJpYWJsZSBpcyBub3QgdW5kZWZpbmVkLmApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHR5cGUgPSBjb250ZXh0LmZpbmRUeXBlQnlUeXBlTmFtZSh0eXBlTmFtZSksXG4gICAgICAgICAgICAgICAgZmlyc3RUeXBlID0gZmlyc3QodHlwZXMpLFxuICAgICAgICAgICAgICAgIHZhcmlhYmxlVHlwZSA9IGZpcnN0VHlwZSwgLy8vXG4gICAgICAgICAgICAgICAgdHlwZVN1YlR5cGVPZlZhcmlhYmxlVHlwZSA9IHR5cGUuaXNTdWJUeXBlT2YodmFyaWFibGVUeXBlKTtcblxuICAgICAgICAgIGlmICghdHlwZVN1YlR5cGVPZlZhcmlhYmxlVHlwZSkge1xuICAgICAgICAgICAgY29udGV4dC5lcnJvcihgVGhlIGFzc2VydGVkIHR5cGUgb2YgdGhlICR7dmFyaWFibGVOYW1lfSB2YXJpYWJsZSBpcyBub3QgYSBzdWItdHlwZSBvZiBpdHMgZGVjbGFyZWQgdHlwZS5gKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbmFtZSA9IHZhcmlhYmxlTmFtZSwgIC8vL1xuICAgICAgICAgICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tVHlwZUFuZE5hbWUodHlwZSwgbmFtZSk7XG5cbiAgICAgICAgICAgIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgICAgICAgICB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0eXBlQXNzZXJ0aW9uVmVyaWZpZWQ7XG59XG4iXSwibmFtZXMiOlsidmVyaWZ5VHlwZUFzc2VydGlvbiIsInRlcm1Ob2RlUXVlcnkiLCJub2RlUXVlcnkiLCJ0eXBlTm9kZVF1ZXJ5IiwidHlwZUFzc2VydGlvbk5vZGUiLCJjb250ZXh0IiwidHlwZUFzc2VydGlvblZlcmlmaWVkIiwidHlwZU5vZGUiLCJ0eXBlTmFtZSIsInR5cGVOYW1lRnJvbVR5cGVOb2RlIiwidHlwZVByZXNlbnQiLCJpc1R5cGVQcmVzZW50QnlUeXBlTmFtZSIsImVycm9yIiwiZGVyaXZlZCIsImlzRGVyaXZlZCIsInR5cGVzIiwibmFtZXMiLCJ2YWx1ZXMiLCJ0ZXJtTm9kZSIsInRlcm1WZXJpZmllZCIsInZlcmlmeVRlcm1Bc1ZhcmlhYmxlIiwiZmlyc3ROYW1lIiwiZmlyc3QiLCJmaXJzdFZhbHVlIiwidmFyaWFibGVOYW1lIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJ0eXBlIiwiZmluZFR5cGVCeVR5cGVOYW1lIiwiZmlyc3RUeXBlIiwidmFyaWFibGVUeXBlIiwidHlwZVN1YlR5cGVPZlZhcmlhYmxlVHlwZSIsImlzU3ViVHlwZU9mIiwibmFtZSIsInZhcmlhYmxlIiwiVmFyaWFibGUiLCJmcm9tVHlwZUFuZE5hbWUiLCJhZGRWYXJpYWJsZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUF3QkE7Ozs2REFUSDttRUFDWTtxQkFFWDtxQkFDMEI7Ozs7OztBQUVoRCxJQUFNQyxnQkFBZ0JDLElBQUFBLGdCQUFTLEVBQUMsd0JBQzFCQyxnQkFBZ0JELElBQUFBLGdCQUFTLEVBQUM7QUFFakIsU0FBU0Ysb0JBQW9CSSxpQkFBaUIsRUFBRUMsT0FBTyxFQUFFO0lBQ3RFLElBQUlDLHdCQUF3QixLQUFLO0lBRWpDLElBQU1DLFdBQVdKLGNBQWNDLG9CQUN6QkksV0FBV0MsSUFBQUEsMkJBQW9CLEVBQUNGLFdBQ2hDRyxjQUFjTCxRQUFRTSx1QkFBdUIsQ0FBQ0g7SUFFcEQsSUFBSSxDQUFDRSxhQUFhO1FBQ2hCTCxRQUFRTyxLQUFLLENBQUMsQUFBQyxPQUFlLE9BQVRKLFVBQVM7SUFDaEMsT0FBTztRQUNMLElBQU1LLFVBQVVSLFFBQVFTLFNBQVM7UUFFakMsSUFBSUQsU0FBUztZQUNYLFFBQVE7UUFDVixPQUFPO1lBQ0wsSUFBTUUsUUFBUSxFQUFFLEVBQ1ZDLFFBQVEsRUFBRSxFQUNWQyxTQUFTLEVBQUUsRUFDWEMsV0FBV2pCLGNBQWNHLG9CQUN6QmUsZUFBZUMsSUFBQUEsdUJBQW9CLEVBQUNGLFVBQVVILE9BQU9DLE9BQU9DLFFBQVFaO1lBRTFFLElBQUljLGNBQWM7Z0JBQ2hCLElBQU1FLFlBQVlDLElBQUFBLFlBQUssRUFBQ04sUUFDbEJPLGFBQWFELElBQUFBLFlBQUssRUFBQ0wsU0FDbkJPLGVBQWVILFdBQ2ZJLFFBQVFGO2dCQUVkLElBQUlFLFVBQVVDLFdBQVc7b0JBQ3ZCckIsUUFBUU8sS0FBSyxDQUFDLEFBQUMsb0JBQWdDLE9BQWJZLGNBQWE7Z0JBQ2pELE9BQU87b0JBQ0wsSUFBTUcsT0FBT3RCLFFBQVF1QixrQkFBa0IsQ0FBQ3BCLFdBQ2xDcUIsWUFBWVAsSUFBQUEsWUFBSyxFQUFDUCxRQUNsQmUsZUFBZUQsV0FDZkUsNEJBQTRCSixLQUFLSyxXQUFXLENBQUNGO29CQUVuRCxJQUFJLENBQUNDLDJCQUEyQjt3QkFDOUIxQixRQUFRTyxLQUFLLENBQUMsQUFBQyw0QkFBd0MsT0FBYlksY0FBYTtvQkFDekQsT0FBTzt3QkFDTCxJQUFNUyxPQUFPVCxjQUNQVSxXQUFXQyxpQkFBUSxDQUFDQyxlQUFlLENBQUNULE1BQU1NO3dCQUVoRDVCLFFBQVFnQyxXQUFXLENBQUNIO3dCQUVwQjVCLHdCQUF3QixJQUFJO29CQUM5QixDQUFDO2dCQUNILENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPQTtBQUNUIn0=