occam-verify-cli 0.0.526 → 0.0.527

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 (106) hide show
  1. package/lib/assertion/type.js +10 -40
  2. package/lib/axiom.js +7 -7
  3. package/lib/axiomLemmaTheoremConjecture.js +190 -0
  4. package/lib/conjecture.js +141 -0
  5. package/lib/consequence.js +3 -3
  6. package/lib/constants.js +4 -16
  7. package/lib/context/file.js +76 -39
  8. package/lib/context/metaproof.js +40 -10
  9. package/lib/context/proof.js +38 -105
  10. package/lib/context/release/directory.js +20 -1
  11. package/lib/context/release/file.js +27 -3
  12. package/lib/equality.js +78 -51
  13. package/lib/index.js +1 -13
  14. package/lib/kinds.js +5 -1
  15. package/lib/lemma.js +7 -7
  16. package/lib/matcher/metastatementForMetavariable.js +16 -19
  17. package/lib/matcher/statementForMetavariable.js +22 -20
  18. package/lib/matcher/{statementForVariable → termForVariable}/consequence.js +13 -13
  19. package/lib/matcher/{statementForVariable → termForVariable}/supposition.js +13 -13
  20. package/lib/matcher/termForVariable.js +198 -0
  21. package/lib/matcher.js +23 -64
  22. package/lib/mixins/file.js +62 -2
  23. package/lib/premise.js +4 -4
  24. package/lib/ruleNames.js +1 -9
  25. package/lib/step/proof.js +22 -1
  26. package/lib/substitution/statementForMetavariable.js +12 -8
  27. package/lib/substitution/termForVariable.js +86 -0
  28. package/lib/supposition.js +4 -4
  29. package/lib/theorem.js +7 -7
  30. package/lib/type.js +9 -2
  31. package/lib/utilities/string.js +3 -7
  32. package/lib/utilities/substitution.js +4 -5
  33. package/lib/variable.js +4 -38
  34. package/lib/verify/assertion/type.js +59 -36
  35. package/lib/verify/axiom.js +1 -2
  36. package/lib/verify/conjecture.js +56 -0
  37. package/lib/verify/declaration/topLevel.js +7 -3
  38. package/lib/verify/lemma.js +1 -2
  39. package/lib/verify/metastatement/qualified.js +1 -2
  40. package/lib/verify/metastatement/unqualified.js +1 -2
  41. package/lib/verify/rule.js +1 -2
  42. package/lib/verify/statement/qualified.js +39 -10
  43. package/lib/verify/statement/unqualified.js +1 -2
  44. package/lib/verify/statement.js +44 -47
  45. package/lib/verify/theorem.js +1 -2
  46. package/package.json +1 -1
  47. package/src/assertion/type.js +7 -32
  48. package/src/axiom.js +4 -4
  49. package/src/{axiomLemmaTheorem.js → axiomLemmaTheoremConjecture.js} +5 -5
  50. package/src/conjecture.js +13 -0
  51. package/src/consequence.js +2 -2
  52. package/src/constants.js +1 -4
  53. package/src/context/file.js +81 -37
  54. package/src/context/metaproof.js +42 -5
  55. package/src/context/proof.js +42 -41
  56. package/src/context/release/directory.js +24 -0
  57. package/src/context/release/file.js +34 -3
  58. package/src/equality.js +110 -61
  59. package/src/index.js +0 -3
  60. package/src/kinds.js +1 -0
  61. package/src/lemma.js +4 -4
  62. package/src/matcher/metastatementForMetavariable.js +22 -32
  63. package/src/matcher/statementForMetavariable.js +40 -34
  64. package/src/matcher/termForVariable/consequence.js +9 -0
  65. package/src/matcher/termForVariable/supposition.js +9 -0
  66. package/src/matcher/termForVariable.js +89 -0
  67. package/src/matcher.js +28 -22
  68. package/src/mixins/file.js +46 -1
  69. package/src/premise.js +4 -4
  70. package/src/ruleNames.js +0 -2
  71. package/src/step/proof.js +27 -0
  72. package/src/substitution/statementForMetavariable.js +17 -10
  73. package/src/substitution/termForVariable.js +64 -0
  74. package/src/supposition.js +3 -3
  75. package/src/theorem.js +4 -4
  76. package/src/type.js +14 -4
  77. package/src/utilities/string.js +4 -6
  78. package/src/utilities/substitution.js +6 -4
  79. package/src/variable.js +4 -37
  80. package/src/verify/assertion/type.js +70 -64
  81. package/src/verify/axiom.js +0 -1
  82. package/src/verify/conjecture.js +73 -0
  83. package/src/verify/declaration/topLevel.js +7 -0
  84. package/src/verify/lemma.js +0 -1
  85. package/src/verify/metastatement/qualified.js +0 -1
  86. package/src/verify/metastatement/unqualified.js +0 -1
  87. package/src/verify/rule.js +0 -1
  88. package/src/verify/statement/qualified.js +53 -13
  89. package/src/verify/statement/unqualified.js +0 -1
  90. package/src/verify/statement.js +46 -66
  91. package/src/verify/theorem.js +0 -1
  92. package/lib/axiomLemmaTheorem.js +0 -190
  93. package/lib/jsonTypes.js +0 -30
  94. package/lib/matcher/statementForVariable.js +0 -201
  95. package/lib/substitution/statementForVariable.js +0 -86
  96. package/lib/utilities/json.js +0 -187
  97. package/lib/utilities/version.js +0 -32
  98. package/lib/versionChanges.js +0 -34
  99. package/src/jsonTypes.js +0 -6
  100. package/src/matcher/statementForVariable/consequence.js +0 -9
  101. package/src/matcher/statementForVariable/supposition.js +0 -9
  102. package/src/matcher/statementForVariable.js +0 -99
  103. package/src/substitution/statementForVariable.js +0 -64
  104. package/src/utilities/json.js +0 -264
  105. package/src/utilities/version.js +0 -30
  106. package/src/versionChanges.js +0 -11
@@ -1,187 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _necessary = require("necessary");
12
- var _constants = require("../constants");
13
- var _jsonTypes = require("../jsonTypes");
14
- var _versionChanges = require("../versionChanges");
15
- var _typeof = function(obj) {
16
- "@swc/helpers - typeof";
17
- return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
18
- };
19
- var first = _necessary.arrayUtilities.first;
20
- function compareJSON(jsonA, jsonB) {
21
- var result = _versionChanges.BREAKING_VERSION_CHANGE;
22
- var jsonAType = typeOf(jsonA), jsonBType = typeOf(jsonB);
23
- if (jsonAType === jsonBType) {
24
- var jsonType = jsonAType; ///
25
- switch(jsonType){
26
- case _jsonTypes.ARRAY_JSON_TYPE:
27
- {
28
- var arrayA = jsonA, arrayB = jsonB; ///
29
- result = compareArrays(arrayA, arrayB);
30
- break;
31
- }
32
- case _jsonTypes.OBJECT_JSON_TYPE:
33
- {
34
- var objectA = jsonA, objectB = jsonB; ///
35
- result = compareObjects(objectA, objectB);
36
- break;
37
- }
38
- case _jsonTypes.PRIMITIVE_JSON_TYPE:
39
- {
40
- var primitiveA = jsonA, primitiveB = jsonB; ///
41
- result = comparePrimitives(primitiveA, primitiveB);
42
- break;
43
- }
44
- }
45
- }
46
- return result;
47
- }
48
- var _default = {
49
- compareJSON: compareJSON
50
- };
51
- function compareArrays(arrayA, arrayB) {
52
- var result;
53
- var arrayALength = arrayA.length, arrayBLength = arrayB.length;
54
- if (arrayALength === 0) {
55
- if (arrayBLength === 0) {
56
- result = _versionChanges.COSMETIC_VERSION_CHANGE;
57
- } else {
58
- result = _versionChanges.ADDITIVE_VERSION_CHANGE;
59
- }
60
- } else {
61
- if (arrayBLength === 0) {
62
- result = _versionChanges.BREAKING_VERSION_CHANGE;
63
- } else {
64
- var firstElementA = first(arrayA), elementA = firstElementA, elementB = arrayB.find(function(elementB) {
65
- var jsonA = elementA, jsonB = elementB, result = compareJSON(jsonA, jsonB);
66
- if (result === _versionChanges.COSMETIC_VERSION_CHANGE) {
67
- return true;
68
- }
69
- }) || null;
70
- if (elementB !== null) {
71
- arrayA = deleteElement(arrayA, elementA);
72
- arrayB = deleteElement(arrayB, elementB);
73
- result = compareArrays(arrayA, arrayB);
74
- } else {
75
- result = _versionChanges.BREAKING_VERSION_CHANGE;
76
- }
77
- }
78
- }
79
- return result;
80
- }
81
- function compareObjects(objectA, objectB) {
82
- var result;
83
- var keysA = Object.keys(objectA), keysB = Object.keys(objectB), keysALength = keysA.length, keysBLength = keysB.length;
84
- if (keysALength === 0) {
85
- if (keysBLength === 0) {
86
- result = _versionChanges.COSMETIC_VERSION_CHANGE;
87
- } else {
88
- result = _versionChanges.ADDITIVE_VERSION_CHANGE;
89
- }
90
- } else {
91
- if (keysBLength === 0) {
92
- result = _versionChanges.BREAKING_VERSION_CHANGE;
93
- } else {
94
- var firstKeyA = first(keysA), keyA = firstKeyA, keyB = keysB.find(function(keyB, index) {
95
- if (keyA === keyB) {
96
- var valueA = objectA[keyA], valueB = objectB[keyB], jsonA = valueA, jsonB = valueB, result = compareJSON(jsonA, jsonB);
97
- if (result === _versionChanges.COSMETIC_VERSION_CHANGE) {
98
- return true;
99
- }
100
- }
101
- }) || null;
102
- if (keyB !== null) {
103
- objectA = deleteKey(objectA, keyA);
104
- objectB = deleteKey(objectB, keyB);
105
- result = compareObjects(objectA, objectB);
106
- } else {
107
- result = _versionChanges.BREAKING_VERSION_CHANGE;
108
- }
109
- }
110
- }
111
- return result;
112
- }
113
- function comparePrimitives(primitiveA, primitiveB) {
114
- var result = _versionChanges.BREAKING_VERSION_CHANGE;
115
- if (primitiveA === primitiveB) {
116
- result = _versionChanges.COSMETIC_VERSION_CHANGE;
117
- }
118
- return result;
119
- }
120
- function typeOf(json) {
121
- var type;
122
- var _null = isNull(json), array = isArray(json), object = isObject(json), primitive = isPrimitive(json);
123
- if (_null) {
124
- type = _jsonTypes.NULL_JSON_TYPE;
125
- }
126
- if (array) {
127
- type = _jsonTypes.ARRAY_JSON_TYPE;
128
- }
129
- if (object) {
130
- type = _jsonTypes.OBJECT_JSON_TYPE;
131
- }
132
- if (primitive) {
133
- type = _jsonTypes.PRIMITIVE_JSON_TYPE;
134
- }
135
- return type;
136
- }
137
- function isNull(json) {
138
- var _null = json === null;
139
- return _null;
140
- }
141
- function isArray(json) {
142
- var array = Array.isArray(json);
143
- return array;
144
- }
145
- function isObject(json) {
146
- var array = isArray(json), primitive = isPrimitive(json), object = !array && !primitive;
147
- return object;
148
- }
149
- function isString(json) {
150
- var string = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.STRING;
151
- return string;
152
- }
153
- function isNumber(json) {
154
- var number = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.NUMBER;
155
- return number;
156
- }
157
- function isBoolean(json) {
158
- var boolean = (typeof json === "undefined" ? "undefined" : _typeof(json)) === _constants.BOOLEAN;
159
- return boolean;
160
- }
161
- function isPrimitive(json) {
162
- var _null = isNull(json), string = isString(json), number = isNumber(json), boolean = isBoolean(json), primitive = _null || string || number || boolean;
163
- return primitive;
164
- }
165
- function deleteElement(array, element) {
166
- var deletedElement = element; ///
167
- array = array.reduce(function(array, element) {
168
- if (element !== deletedElement) {
169
- array.push(element);
170
- }
171
- return array;
172
- }, []);
173
- return array;
174
- }
175
- function deleteKey(object, key) {
176
- var deletedKey = key, keys = Object.keys(object), values = Object.values(object);
177
- object = keys.reduce(function(object, key, index) {
178
- if (key !== deletedKey) {
179
- var value = values[index];
180
- object[key] = value;
181
- }
182
- return object;
183
- }, {});
184
- return object;
185
- }
186
-
187
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvanNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCB7IFNUUklORywgTlVNQkVSLCBCT09MRUFOIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTlVMTF9KU09OX1RZUEUsIEFSUkFZX0pTT05fVFlQRSwgT0JKRUNUX0pTT05fVFlQRSwgUFJJTUlUSVZFX0pTT05fVFlQRSB9IGZyb20gXCIuLi9qc29uVHlwZXNcIjtcbmltcG9ydCB7IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFLCBBRERJVElWRV9WRVJTSU9OX0NIQU5HRSwgQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0UgfSBmcm9tIFwiLi4vdmVyc2lvbkNoYW5nZXNcIjtcblxuY29uc3QgeyBmaXJzdCB9ID0gYXJyYXlVdGlsaXRpZXM7XG5cbmZ1bmN0aW9uIGNvbXBhcmVKU09OKGpzb25BLCBqc29uQikge1xuICBsZXQgcmVzdWx0ID0gQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0U7XG5cbiAgY29uc3QganNvbkFUeXBlID0gdHlwZU9mKGpzb25BKSxcbiAgICAgICAganNvbkJUeXBlID0gdHlwZU9mKGpzb25CKTtcblxuICBpZiAoanNvbkFUeXBlID09PSBqc29uQlR5cGUpIHtcbiAgICBjb25zdCBqc29uVHlwZSA9IGpzb25BVHlwZTsgLy8vXG5cbiAgICBzd2l0Y2ggKGpzb25UeXBlKSB7XG4gICAgICBjYXNlIEFSUkFZX0pTT05fVFlQRToge1xuICAgICAgICBjb25zdCBhcnJheUEgPSBqc29uQSwgLy8vXG4gICAgICAgICAgICAgIGFycmF5QiA9IGpzb25COyAvLy9cblxuICAgICAgICByZXN1bHQgPSBjb21wYXJlQXJyYXlzKGFycmF5QSwgYXJyYXlCKTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBPQkpFQ1RfSlNPTl9UWVBFOiB7XG4gICAgICAgIGNvbnN0IG9iamVjdEEgPSBqc29uQSwgLy8vXG4gICAgICAgICAgICAgIG9iamVjdEIgPSBqc29uQjsgLy8vXG5cbiAgICAgICAgcmVzdWx0ID0gY29tcGFyZU9iamVjdHMob2JqZWN0QSwgb2JqZWN0Qik7XG5cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgUFJJTUlUSVZFX0pTT05fVFlQRToge1xuICAgICAgICBjb25zdCBwcmltaXRpdmVBID0ganNvbkEsIC8vL1xuICAgICAgICAgICAgICBwcmltaXRpdmVCID0ganNvbkI7IC8vL1xuXG4gICAgICAgIHJlc3VsdCA9IGNvbXBhcmVQcmltaXRpdmVzKHByaW1pdGl2ZUEsIHByaW1pdGl2ZUIpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgY29tcGFyZUpTT05cbn07XG5cbmZ1bmN0aW9uIGNvbXBhcmVBcnJheXMoYXJyYXlBLCBhcnJheUIpIHtcbiAgbGV0IHJlc3VsdDtcblxuICBjb25zdCBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoLFxuICAgICAgICBhcnJheUJMZW5ndGggPSBhcnJheUIubGVuZ3RoO1xuXG4gIGlmIChhcnJheUFMZW5ndGggPT09IDApIHtcbiAgICBpZiAoYXJyYXlCTGVuZ3RoID09PSAwKSB7XG4gICAgICByZXN1bHQgPSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gQURESVRJVkVfVkVSU0lPTl9DSEFOR0U7XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChhcnJheUJMZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdCA9IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBmaXJzdEVsZW1lbnRBID0gZmlyc3QoYXJyYXlBKSwgIC8vL1xuICAgICAgICAgICAgZWxlbWVudEEgPSBmaXJzdEVsZW1lbnRBLCAvLy9cbiAgICAgICAgICAgIGVsZW1lbnRCID0gYXJyYXlCLmZpbmQoKGVsZW1lbnRCKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb25BID0gZWxlbWVudEEsIC8vL1xuICAgICAgICAgICAgICAgICAgICBqc29uQiA9IGVsZW1lbnRCLCAvLy9cbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0ID0gY29tcGFyZUpTT04oanNvbkEsIGpzb25CKTtcblxuICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSB8fCBudWxsO1xuXG4gICAgICBpZiAoZWxlbWVudEIgIT09IG51bGwpIHtcbiAgICAgICAgYXJyYXlBID0gZGVsZXRlRWxlbWVudChhcnJheUEsIGVsZW1lbnRBKTtcblxuICAgICAgICBhcnJheUIgPSBkZWxldGVFbGVtZW50KGFycmF5QiwgZWxlbWVudEIpO1xuXG4gICAgICAgIHJlc3VsdCA9IGNvbXBhcmVBcnJheXMoYXJyYXlBLCBhcnJheUIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gY29tcGFyZU9iamVjdHMob2JqZWN0QSwgb2JqZWN0Qikge1xuICBsZXQgcmVzdWx0O1xuXG4gIGNvbnN0IGtleXNBID0gT2JqZWN0LmtleXMob2JqZWN0QSksXG4gICAgICAgIGtleXNCID0gT2JqZWN0LmtleXMob2JqZWN0QiksXG4gICAgICAgIGtleXNBTGVuZ3RoID0ga2V5c0EubGVuZ3RoLFxuICAgICAgICBrZXlzQkxlbmd0aCA9IGtleXNCLmxlbmd0aDtcblxuICBpZiAoa2V5c0FMZW5ndGggPT09IDApIHtcbiAgICBpZiAoa2V5c0JMZW5ndGggPT09IDApIHtcbiAgICAgIHJlc3VsdCA9IENPU01FVElDX1ZFUlNJT05fQ0hBTkdFO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHQgPSBBRERJVElWRV9WRVJTSU9OX0NIQU5HRTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGtleXNCTGVuZ3RoID09PSAwKSB7XG4gICAgICByZXN1bHQgPSBCUkVBS0lOR19WRVJTSU9OX0NIQU5HRTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgZmlyc3RLZXlBID0gZmlyc3Qoa2V5c0EpLCAgLy8vXG4gICAgICAgICAgICBrZXlBID0gZmlyc3RLZXlBLCAvLy9cbiAgICAgICAgICAgIGtleUIgPSBrZXlzQi5maW5kKChrZXlCLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoa2V5QSA9PT0ga2V5Qikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlQSA9IG9iamVjdEFba2V5QV0sXG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWVCID0gb2JqZWN0QltrZXlCXSxcbiAgICAgICAgICAgICAgICAgICAgICBqc29uQSA9IHZhbHVlQSwgLy8vXG4gICAgICAgICAgICAgICAgICAgICAganNvbkIgPSB2YWx1ZUIsIC8vL1xuICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IGNvbXBhcmVKU09OKGpzb25BLCBqc29uQik7XG5cbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID09PSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRSkgeyAgLy8vXG4gICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pIHx8IG51bGw7XG5cbiAgICAgIGlmIChrZXlCICE9PSBudWxsKSB7XG4gICAgICAgIG9iamVjdEEgPSBkZWxldGVLZXkob2JqZWN0QSwga2V5QSk7XG5cbiAgICAgICAgb2JqZWN0QiA9IGRlbGV0ZUtleShvYmplY3RCLCBrZXlCKTtcblxuICAgICAgICByZXN1bHQgPSBjb21wYXJlT2JqZWN0cyhvYmplY3RBLCBvYmplY3RCKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmVQcmltaXRpdmVzKHByaW1pdGl2ZUEsIHByaW1pdGl2ZUIpIHtcbiAgbGV0IHJlc3VsdCA9IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFO1xuXG4gIGlmIChwcmltaXRpdmVBID09PSBwcmltaXRpdmVCKSB7XG4gICAgcmVzdWx0ID0gQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0U7XG4gIH1cblxuICByZXR1cm4gcmVzdWx0O1xufVxuXG5mdW5jdGlvbiB0eXBlT2YoanNvbikge1xuICBsZXQgdHlwZTtcblxuICBjb25zdCBfbnVsbCA9IGlzTnVsbChqc29uKSxcbiAgICAgICAgYXJyYXkgPSBpc0FycmF5KGpzb24pLFxuICAgICAgICBvYmplY3QgPSBpc09iamVjdChqc29uKSxcbiAgICAgICAgcHJpbWl0aXZlID0gaXNQcmltaXRpdmUoanNvbik7XG5cbiAgaWYgKF9udWxsKSB7XG4gICAgdHlwZSA9IE5VTExfSlNPTl9UWVBFO1xuICB9XG5cbiAgaWYgKGFycmF5KSB7XG4gICAgdHlwZSA9IEFSUkFZX0pTT05fVFlQRTtcbiAgfVxuXG4gIGlmIChvYmplY3QpIHtcbiAgICB0eXBlID0gT0JKRUNUX0pTT05fVFlQRTtcbiAgfVxuXG4gIGlmIChwcmltaXRpdmUpIHtcbiAgICB0eXBlID0gUFJJTUlUSVZFX0pTT05fVFlQRTtcbiAgfVxuXG4gIHJldHVybiB0eXBlO1xufVxuXG5mdW5jdGlvbiBpc051bGwoanNvbikge1xuICBjb25zdCBfbnVsbCA9IChqc29uID09PSBudWxsKTtcblxuICByZXR1cm4gX251bGw7XG59XG5cbmZ1bmN0aW9uIGlzQXJyYXkoanNvbikge1xuICBjb25zdCBhcnJheSA9IEFycmF5LmlzQXJyYXkoanNvbik7XG5cbiAgcmV0dXJuIGFycmF5O1xufVxuXG5mdW5jdGlvbiBpc09iamVjdChqc29uKSB7XG4gIGNvbnN0IGFycmF5ID0gaXNBcnJheShqc29uKSxcbiAgICAgICAgcHJpbWl0aXZlID0gaXNQcmltaXRpdmUoanNvbiksXG4gICAgICAgIG9iamVjdCA9ICghYXJyYXkgJiYgIXByaW1pdGl2ZSk7XG5cbiAgcmV0dXJuIG9iamVjdDtcbn1cblxuZnVuY3Rpb24gaXNTdHJpbmcoanNvbikge1xuICBjb25zdCBzdHJpbmcgPSAoKHR5cGVvZiBqc29uKSA9PT0gU1RSSU5HKTtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc051bWJlcihqc29uKSB7XG4gIGNvbnN0IG51bWJlciA9ICgodHlwZW9mIGpzb24pID09PSBOVU1CRVIpO1xuXG4gIHJldHVybiBudW1iZXI7XG59XG5cbmZ1bmN0aW9uIGlzQm9vbGVhbihqc29uKSB7XG4gIGNvbnN0IGJvb2xlYW4gPSAoKHR5cGVvZiBqc29uKSA9PT0gQk9PTEVBTik7XG5cbiAgcmV0dXJuIGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIGlzUHJpbWl0aXZlKGpzb24pIHtcbiAgY29uc3QgX251bGwgPSBpc051bGwoanNvbiksXG4gICAgICAgIHN0cmluZyA9IGlzU3RyaW5nKGpzb24pLFxuICAgICAgICBudW1iZXIgPSBpc051bWJlcihqc29uKSxcbiAgICAgICAgYm9vbGVhbiA9IGlzQm9vbGVhbihqc29uKSxcbiAgICAgICAgcHJpbWl0aXZlID0gKF9udWxsIHx8IHN0cmluZyB8fCBudW1iZXIgfHwgYm9vbGVhbik7XG5cbiAgcmV0dXJuIHByaW1pdGl2ZTtcbn1cblxuZnVuY3Rpb24gZGVsZXRlRWxlbWVudChhcnJheSwgZWxlbWVudCkge1xuICBjb25zdCBkZWxldGVkRWxlbWVudCA9IGVsZW1lbnQ7IC8vL1xuXG4gIGFycmF5ID0gYXJyYXkucmVkdWNlKChhcnJheSwgZWxlbWVudCkgPT4geyAgLy8vXG4gICAgaWYgKGVsZW1lbnQgIT09IGRlbGV0ZWRFbGVtZW50KSB7XG4gICAgICBhcnJheS5wdXNoKGVsZW1lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiBhcnJheTtcbn1cblxuZnVuY3Rpb24gZGVsZXRlS2V5KG9iamVjdCwga2V5KSB7XG4gIGNvbnN0IGRlbGV0ZWRLZXkgPSBrZXksIC8vL1xuICAgICAgICBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KSxcbiAgICAgICAgdmFsdWVzID0gT2JqZWN0LnZhbHVlcyhvYmplY3QpO1xuXG4gIG9iamVjdCA9IGtleXMucmVkdWNlKChvYmplY3QsIGtleSwgaW5kZXgpID0+IHsgIC8vL1xuICAgIGlmIChrZXkgIT09IGRlbGV0ZWRLZXkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gdmFsdWVzW2luZGV4XTtcblxuICAgICAgb2JqZWN0W2tleV0gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqZWN0O1xuICB9LCB7fSk7XG5cbiAgcmV0dXJuIG9iamVjdDtcbn1cbiJdLCJuYW1lcyI6WyJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiY29tcGFyZUpTT04iLCJqc29uQSIsImpzb25CIiwicmVzdWx0IiwiQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0UiLCJqc29uQVR5cGUiLCJ0eXBlT2YiLCJqc29uQlR5cGUiLCJqc29uVHlwZSIsIkFSUkFZX0pTT05fVFlQRSIsImFycmF5QSIsImFycmF5QiIsImNvbXBhcmVBcnJheXMiLCJPQkpFQ1RfSlNPTl9UWVBFIiwib2JqZWN0QSIsIm9iamVjdEIiLCJjb21wYXJlT2JqZWN0cyIsIlBSSU1JVElWRV9KU09OX1RZUEUiLCJwcmltaXRpdmVBIiwicHJpbWl0aXZlQiIsImNvbXBhcmVQcmltaXRpdmVzIiwiYXJyYXlBTGVuZ3RoIiwibGVuZ3RoIiwiYXJyYXlCTGVuZ3RoIiwiQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0UiLCJBRERJVElWRV9WRVJTSU9OX0NIQU5HRSIsImZpcnN0RWxlbWVudEEiLCJlbGVtZW50QSIsImVsZW1lbnRCIiwiZmluZCIsImRlbGV0ZUVsZW1lbnQiLCJrZXlzQSIsIk9iamVjdCIsImtleXMiLCJrZXlzQiIsImtleXNBTGVuZ3RoIiwia2V5c0JMZW5ndGgiLCJmaXJzdEtleUEiLCJrZXlBIiwia2V5QiIsImluZGV4IiwidmFsdWVBIiwidmFsdWVCIiwiZGVsZXRlS2V5IiwianNvbiIsInR5cGUiLCJfbnVsbCIsImlzTnVsbCIsImFycmF5IiwiaXNBcnJheSIsIm9iamVjdCIsImlzT2JqZWN0IiwicHJpbWl0aXZlIiwiaXNQcmltaXRpdmUiLCJOVUxMX0pTT05fVFlQRSIsIkFycmF5IiwiaXNTdHJpbmciLCJzdHJpbmciLCJTVFJJTkciLCJpc051bWJlciIsIm51bWJlciIsIk5VTUJFUiIsImlzQm9vbGVhbiIsImJvb2xlYW4iLCJCT09MRUFOIiwiZWxlbWVudCIsImRlbGV0ZWRFbGVtZW50IiwicmVkdWNlIiwicHVzaCIsImtleSIsImRlbGV0ZWRLZXkiLCJ2YWx1ZXMiLCJ2YWx1ZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBb0RBOzs7ZUFBQTs7O3lCQWxEK0I7eUJBRVM7eUJBQytDOzhCQUNHOzs7OztBQUUxRixJQUFNLEFBQUVBLFFBQVVDLHlCQUFjLENBQXhCRDtBQUVSLFNBQVNFLFlBQVlDLEtBQUssRUFBRUMsS0FBSyxFQUFFO0lBQ2pDLElBQUlDLFNBQVNDLHVDQUF1QjtJQUVwQyxJQUFNQyxZQUFZQyxPQUFPTCxRQUNuQk0sWUFBWUQsT0FBT0o7SUFFekIsSUFBSUcsY0FBY0UsV0FBVztRQUMzQixJQUFNQyxXQUFXSCxXQUFXLEdBQUc7UUFFL0IsT0FBUUc7WUFDTixLQUFLQywwQkFBZTtnQkFBRTtvQkFDcEIsSUFBTUMsU0FBU1QsT0FDVFUsU0FBU1QsT0FBTyxHQUFHO29CQUV6QkMsU0FBU1MsY0FBY0YsUUFBUUM7b0JBRS9CLEtBQU07Z0JBQ1I7WUFFQSxLQUFL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
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- var _versionChanges = require("../versionChanges");
12
- function updateVersion(version, versionChange) {
13
- switch(versionChange){
14
- case _versionChanges.BREAKING_VERSION_CHANGE:
15
- version.bumpMajorNumber();
16
- version.resetMinorNumber();
17
- version.resetPatchNumber();
18
- break;
19
- case _versionChanges.ADDITIVE_VERSION_CHANGE:
20
- version.bumpMinorNumber();
21
- version.resetPatchNumber();
22
- break;
23
- case _versionChanges.COSMETIC_VERSION_CHANGE:
24
- version.bumpPatchNumber();
25
- break;
26
- }
27
- }
28
- var _default = {
29
- updateVersion: updateVersion
30
- };
31
-
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvdmVyc2lvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0UsIEFERElUSVZFX1ZFUlNJT05fQ0hBTkdFLCBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRSB9IGZyb20gXCIuLi92ZXJzaW9uQ2hhbmdlc1wiO1xuXG5mdW5jdGlvbiB1cGRhdGVWZXJzaW9uKHZlcnNpb24sIHZlcnNpb25DaGFuZ2UpIHtcbiAgc3dpdGNoICh2ZXJzaW9uQ2hhbmdlKSB7XG4gICAgY2FzZSBCUkVBS0lOR19WRVJTSU9OX0NIQU5HRTpcbiAgICAgIHZlcnNpb24uYnVtcE1ham9yTnVtYmVyKCk7XG4gICAgICB2ZXJzaW9uLnJlc2V0TWlub3JOdW1iZXIoKTtcbiAgICAgIHZlcnNpb24ucmVzZXRQYXRjaE51bWJlcigpO1xuXG4gICAgICBicmVhaztcblxuICAgIGNhc2UgQURESVRJVkVfVkVSU0lPTl9DSEFOR0U6XG4gICAgICB2ZXJzaW9uLmJ1bXBNaW5vck51bWJlcigpO1xuICAgICAgdmVyc2lvbi5yZXNldFBhdGNoTnVtYmVyKCk7XG5cbiAgICAgIGJyZWFrO1xuXG4gICAgY2FzZSBDT1NNRVRJQ19WRVJTSU9OX0NIQU5HRTpcbiAgICAgIHZlcnNpb24uYnVtcFBhdGNoTnVtYmVyKCk7XG5cbiAgICAgIGJyZWFrO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgdXBkYXRlVmVyc2lvblxufTtcblxuIl0sIm5hbWVzIjpbInVwZGF0ZVZlcnNpb24iLCJ2ZXJzaW9uIiwidmVyc2lvbkNoYW5nZSIsIkJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFIiwiYnVtcE1ham9yTnVtYmVyIiwicmVzZXRNaW5vck51bWJlciIsInJlc2V0UGF0Y2hOdW1iZXIiLCJBRERJVElWRV9WRVJTSU9OX0NIQU5HRSIsImJ1bXBNaW5vck51bWJlciIsIkNPU01FVElDX1ZFUlNJT05fQ0hBTkdFIiwiYnVtcFBhdGNoTnVtYmVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkEwQkE7OztlQUFBOzs7OEJBeEIwRjtBQUUxRixTQUFTQSxjQUFjQyxPQUFPLEVBQUVDLGFBQWEsRUFBRTtJQUM3QyxPQUFRQTtRQUNOLEtBQUtDLHVDQUF1QjtZQUMxQkYsUUFBUUcsZUFBZTtZQUN2QkgsUUFBUUksZ0JBQWdCO1lBQ3hCSixRQUFRSyxnQkFBZ0I7WUFFeEIsS0FBTTtRQUVSLEtBQUtDLHVDQUF1QjtZQUMxQk4sUUFBUU8sZUFBZTtZQUN2QlAsUUFBUUssZ0JBQWdCO1lBRXhCLEtBQU07UUFFUixLQUFLRyx1Q0FBdUI7WUFDMUJSLFFBQVFTLGVBQWU7WUFFdkIsS0FBTTtJQUNWO0FBQ0Y7SUFFQSxXQUFlO0lBQ2JWLGVBQUFBO0FBQ0YifQ==
@@ -1,34 +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
- BREAKING_VERSION_CHANGE: function() {
13
- return BREAKING_VERSION_CHANGE;
14
- },
15
- ADDITIVE_VERSION_CHANGE: function() {
16
- return ADDITIVE_VERSION_CHANGE;
17
- },
18
- COSMETIC_VERSION_CHANGE: function() {
19
- return COSMETIC_VERSION_CHANGE;
20
- },
21
- default: function() {
22
- return _default;
23
- }
24
- });
25
- var BREAKING_VERSION_CHANGE = "breaking";
26
- var ADDITIVE_VERSION_CHANGE = "additive";
27
- var COSMETIC_VERSION_CHANGE = "cosmetic";
28
- var _default = {
29
- BREAKING_VERSION_CHANGE: BREAKING_VERSION_CHANGE,
30
- ADDITIVE_VERSION_CHANGE: ADDITIVE_VERSION_CHANGE,
31
- COSMETIC_VERSION_CHANGE: COSMETIC_VERSION_CHANGE
32
- };
33
-
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uQ2hhbmdlcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNvbnN0IEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFID0gXCJicmVha2luZ1wiO1xuZXhwb3J0IGNvbnN0IEFERElUSVZFX1ZFUlNJT05fQ0hBTkdFID0gXCJhZGRpdGl2ZVwiO1xuZXhwb3J0IGNvbnN0IENPU01FVElDX1ZFUlNJT05fQ0hBTkdFID0gXCJjb3NtZXRpY1wiO1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIEJSRUFLSU5HX1ZFUlNJT05fQ0hBTkdFLFxuICBBRERJVElWRV9WRVJTSU9OX0NIQU5HRSxcbiAgQ09TTUVUSUNfVkVSU0lPTl9DSEFOR0Vcbn07XG4iXSwibmFtZXMiOlsiQlJFQUtJTkdfVkVSU0lPTl9DSEFOR0UiLCJBRERJVElWRV9WRVJTSU9OX0NIQU5HRSIsIkNPU01FVElDX1ZFUlNJT05fQ0hBTkdFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFFYUEsdUJBQXVCO2VBQXZCQTs7SUFDQUMsdUJBQXVCO2VBQXZCQTs7SUFDQUMsdUJBQXVCO2VBQXZCQTs7SUFFYixPQUlFO2VBSkY7OztBQUpPLElBQU1GLDBCQUEwQjtBQUNoQyxJQUFNQywwQkFBMEI7QUFDaEMsSUFBTUMsMEJBQTBCO0lBRXZDLFdBQWU7SUFDYkYseUJBQUFBO0lBQ0FDLHlCQUFBQTtJQUNBQyx5QkFBQUE7QUFDRiJ9
package/src/jsonTypes.js DELETED
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- export const NULL_JSON_TYPE = "null";
4
- export const ARRAY_JSON_TYPE = "array";
5
- export const OBJECT_JSON_TYPE = "object";
6
- export const PRIMITIVE_JSON_TYPE = "primitive";
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- import StatementForVariableMatcher from "../../matcher/statementForVariable";
4
-
5
- class ConsequenceStatementForVariableMatcher extends StatementForVariableMatcher {
6
- static createSubstitutions = false;
7
- }
8
-
9
- export const consequenceStatementForVariableMatcher = new ConsequenceStatementForVariableMatcher();
@@ -1,9 +0,0 @@
1
- "use strict";
2
-
3
- import StatementForVariableMatcher from "../../matcher/statementForVariable";
4
-
5
- class SuppositionStatementForVariableMatcher extends StatementForVariableMatcher {
6
- static createSubstitutions = true;
7
- }
8
-
9
- export const suppositionStatementForVariableMatcher = new SuppositionStatementForVariableMatcher();
@@ -1,99 +0,0 @@
1
- "use strict";
2
-
3
- import Matcher from "../matcher";
4
- import StatementForVariableSubstitution from "../substitution/statementForVariable";
5
-
6
- import { first } from "../utilities/array";
7
- import { variableNameFromVariableNode } from "../utilities/query";
8
- import { VARIABLE_RULE_NAME, STATEMENT_RULE_NAME } from "../ruleNames";
9
-
10
- export default class StatementForVariableMatcher extends Matcher {
11
- matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions) {
12
- let nonTerminalNodeMatches = false;
13
-
14
- const nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(),
15
- nonTerminalNodeBRuleName = nonTerminalNodeB.getRuleName(),
16
- nonTerminalNodeARuleNameMetastatementRuleName = (nonTerminalNodeARuleName === STATEMENT_RULE_NAME),
17
- nonTerminalNodeBRuleNameMetastatementRuleName = (nonTerminalNodeBRuleName === STATEMENT_RULE_NAME);
18
-
19
- if (nonTerminalNodeARuleNameMetastatementRuleName && nonTerminalNodeBRuleNameMetastatementRuleName) {
20
- const statementNodeA = nonTerminalNodeA, ///
21
- statementNodeB = nonTerminalNodeB, ///
22
- statementNodeMatches = this.matchStatementNode(statementNodeA, statementNodeB, substitutions);
23
-
24
- if (statementNodeMatches) {
25
- nonTerminalNodeMatches = true; ///
26
- } else {
27
- nonTerminalNodeMatches = super.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
28
- }
29
- } else if (nonTerminalNodeBRuleName === nonTerminalNodeARuleName) {
30
- nonTerminalNodeMatches = super.matchNonTerminalNode(nonTerminalNodeA, nonTerminalNodeB, substitutions);
31
- }
32
-
33
- return nonTerminalNodeMatches;
34
- }
35
-
36
- matchStatementNode(statementNodeA, statementNodeB, substitutions) {
37
- let statementNodeMatches = false;
38
-
39
- const nonTerminalNodeA = statementNodeA, ///
40
- nonTerminalNodeAChildNodes = nonTerminalNodeA.getChildNodes(),
41
- nonTerminalNodeAChildNodesLength = nonTerminalNodeAChildNodes.length;
42
-
43
- if (nonTerminalNodeAChildNodesLength === 1) {
44
- const firstNonTerminalNodeAChildNode = first(nonTerminalNodeAChildNodes),
45
- childNodeA = firstNonTerminalNodeAChildNode, ///
46
- childNodeANonTerminalNode = childNodeA.isNonTerminalNode();
47
-
48
- if (childNodeANonTerminalNode) {
49
- const nonTerminalNodeA = childNodeA, ///
50
- nonTerminalNodeARuleName = nonTerminalNodeA.getRuleName(),
51
- nonTerminalNodeARuleNameVariableRuleName = (nonTerminalNodeARuleName === VARIABLE_RULE_NAME);
52
-
53
- if (nonTerminalNodeARuleNameVariableRuleName) {
54
- const variableNodeA = nonTerminalNodeA, ///
55
- variableMatches = this.matchVariableNode(variableNodeA, statementNodeB, substitutions);
56
-
57
- statementNodeMatches = variableMatches; ///
58
- }
59
- }
60
- }
61
-
62
- return statementNodeMatches;
63
- }
64
-
65
- matchVariableNode(variableNodeB, statementNodeB, substitutions) {
66
- let variableMatches;
67
-
68
- const variableNameA = variableNameFromVariableNode(variableNodeB),
69
- substitution = substitutions.find((substitution) => {
70
- const variableName = substitution.getVariableName();
71
-
72
- if (variableName === variableNameA) {
73
- return true;
74
- }
75
- }) || null;
76
-
77
- if (substitution !== null) {
78
- const statementNode = statementNodeB, ///
79
- substitutionNodesMatch = substitution.matchStatementNode(statementNode);
80
-
81
- variableMatches = substitutionNodesMatch; ///
82
- } else {
83
- const { createSubstitutions } = this.constructor;
84
-
85
- if (createSubstitutions) {
86
- const variableName = variableNameA, ///
87
- statementNode = statementNodeB, ///
88
- statementForVariableSubstitution = StatementForVariableSubstitution.fromVariableNameAndStatementNode(variableName, statementNode),
89
- substitution = statementForVariableSubstitution; ///
90
-
91
- substitutions.push(substitution);
92
- }
93
-
94
- variableMatches = true;
95
- }
96
-
97
- return variableMatches;
98
- }
99
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
-
3
- import { matcher } from "../matcher";
4
- import { STATEMENT_RULE_NAME } from "../ruleNames";
5
- import { bracketedNonTerminalChildNodeFromChildNodes } from "../utilities/substitution";
6
-
7
- export default class StatementForVariableSubstitution {
8
- constructor(variableName, statementNode) {
9
- this.variableName = variableName;
10
- this.statementNode = statementNode;
11
- }
12
-
13
- getVariableName() {
14
- return this.variableName;
15
- }
16
-
17
- getStatementNode() {
18
- return this.statementNode;
19
- }
20
-
21
- matchStatementNode(statementNode) {
22
- let matchesStatementNode;
23
-
24
- const nodeA = this.statementNode, ///
25
- nodeB = statementNode,
26
- nodeMatches = matcher.matchNode(nodeA, nodeB);
27
-
28
- matchesStatementNode = nodeMatches; ///
29
-
30
- if (!matchesStatementNode) {
31
- const nonTerminalNode = statementNode, ///
32
- childNodes = nonTerminalNode.getChildNodes(), ///
33
- ruleName = STATEMENT_RULE_NAME;
34
-
35
- statementNode = bracketedNonTerminalChildNodeFromChildNodes(childNodes, ruleName); ///
36
-
37
- if (statementNode !== null) {
38
- const nodeA = this.statementNode, ///
39
- nodeB = statementNode,
40
- nodeMatches = matchNode(nodeA, nodeB);
41
-
42
- matchesStatementNode = nodeMatches; ///
43
- }
44
- }
45
-
46
- return matchesStatementNode;
47
- }
48
-
49
- static fromVariableNameAndStatementNode(variableName, statementNode) {
50
- let statementForVariableSubstitution = new StatementForVariableSubstitution(variableName, statementNode);
51
-
52
- const nonTerminalNode = statementNode, ///
53
- childNodes = nonTerminalNode.getChildNodes(),
54
- ruleName = STATEMENT_RULE_NAME;
55
-
56
- statementNode = bracketedNonTerminalChildNodeFromChildNodes(childNodes, ruleName); ///
57
-
58
- if (statementNode !== null) {
59
- statementForVariableSubstitution = new StatementForVariableSubstitution(variableName, statementNode);
60
- }
61
-
62
- return statementForVariableSubstitution;
63
- }
64
- }