occam-furtle 2.0.280 → 2.0.283

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 (138) hide show
  1. package/README.md +0 -11
  2. package/lib/constants.js +29 -1
  3. package/lib/context/block.js +15 -1
  4. package/lib/context/file.js +129 -52
  5. package/lib/element/assignment/array.js +186 -0
  6. package/lib/element/assignment/object.js +244 -0
  7. package/lib/element/assignment/variable.js +144 -0
  8. package/lib/element/assignments/variable.js +158 -0
  9. package/lib/element/block/return.js +198 -0
  10. package/lib/element/comparison.js +179 -0
  11. package/lib/element/declaration/procedure.js +139 -0
  12. package/lib/{dom → element}/error.js +12 -4
  13. package/lib/element/every.js +179 -0
  14. package/lib/element/expression/bitwise.js +186 -0
  15. package/lib/element/expression/bracketed.js +149 -0
  16. package/lib/element/expression/negated.js +166 -0
  17. package/lib/element/expression.js +578 -0
  18. package/lib/element/expressions.js +210 -0
  19. package/lib/{dom → element}/label.js +4 -4
  20. package/lib/element/parameter/named.js +198 -0
  21. package/lib/element/parameter.js +165 -0
  22. package/lib/element/parameters/named.js +220 -0
  23. package/lib/element/parameters.js +198 -0
  24. package/lib/element/procedure/anonymous.js +181 -0
  25. package/lib/element/procedure.js +212 -0
  26. package/lib/element/procedureCall.js +166 -0
  27. package/lib/element/query/node.js +186 -0
  28. package/lib/element/query/nodes.js +179 -0
  29. package/lib/element/reduce.js +181 -0
  30. package/lib/element/reference.js +138 -0
  31. package/lib/element/some.js +179 -0
  32. package/lib/element/statement/return.js +138 -0
  33. package/lib/element/step.js +154 -0
  34. package/lib/element/ternary.js +171 -0
  35. package/lib/element/variable.js +279 -0
  36. package/lib/elements.js +27 -0
  37. package/lib/index.js +13 -5
  38. package/lib/log.js +202 -0
  39. package/lib/preamble.js +32 -32
  40. package/lib/process/verify.js +289 -0
  41. package/lib/utilities/context.js +46 -5
  42. package/lib/utilities/element.js +3 -0
  43. package/lib/utilities/node.js +71 -0
  44. package/package.json +3 -1
  45. package/src/constants.js +16 -0
  46. package/src/context/block.js +10 -0
  47. package/src/context/file.js +97 -55
  48. package/src/{dom → element}/assignment/array.js +6 -6
  49. package/src/{dom → element}/assignment/object.js +8 -8
  50. package/src/{dom → element}/assignment/variable.js +4 -4
  51. package/src/{dom → element}/assignments/variable.js +5 -5
  52. package/src/{dom → element}/block/return.js +5 -5
  53. package/src/{dom → element}/comparison.js +5 -5
  54. package/src/{dom → element}/declaration/procedure.js +22 -4
  55. package/src/{dom → element}/error.js +13 -4
  56. package/src/{dom → element}/every.js +6 -6
  57. package/src/{dom → element}/expression/bitwise.js +5 -5
  58. package/src/{dom → element}/expression/bracketed.js +4 -4
  59. package/src/{dom → element}/expression/negated.js +5 -5
  60. package/src/{dom → element}/expression.js +4 -4
  61. package/src/{dom → element}/expressions.js +6 -6
  62. package/src/{dom → element}/label.js +4 -4
  63. package/src/{dom → element}/parameter/named.js +4 -4
  64. package/src/{dom → element}/parameter.js +4 -4
  65. package/src/{dom → element}/parameters/named.js +5 -5
  66. package/src/{dom → element}/parameters.js +5 -5
  67. package/src/{dom → element}/procedure/anonymous.js +4 -4
  68. package/src/{dom → element}/procedure.js +5 -5
  69. package/src/{dom → element}/procedureCall.js +4 -4
  70. package/src/{dom → element}/query/node.js +5 -5
  71. package/src/{dom → element}/query/nodes.js +5 -5
  72. package/src/{dom → element}/reduce.js +5 -5
  73. package/src/{dom → element}/reference.js +4 -4
  74. package/src/{dom → element}/some.js +6 -6
  75. package/src/{dom → element}/statement/return.js +4 -4
  76. package/src/{dom → element}/step.js +4 -4
  77. package/src/{dom → element}/ternary.js +4 -4
  78. package/src/{dom → element}/variable.js +5 -5
  79. package/src/elements.js +13 -0
  80. package/src/index.js +6 -2
  81. package/src/log.js +139 -0
  82. package/src/preamble.js +31 -31
  83. package/src/process/verify.js +157 -0
  84. package/src/utilities/context.js +45 -2
  85. package/src/utilities/element.js +0 -0
  86. package/src/utilities/{string.js → node.js} +9 -14
  87. package/test/Free and bound variables.ftl +112 -0
  88. package/test/context/file.js +127 -0
  89. package/{src/example → test}/context/release.js +60 -12
  90. package/test/helpers/constants.js +17 -0
  91. package/{src/example/utilities → test/helpers}/expressions.js +8 -4
  92. package/{src/example/utilities → test/helpers}/furtle.js +8 -4
  93. package/{src/example/utilities → test/helpers}/grammar.js +8 -4
  94. package/{src/example/utilities → test/helpers}/nominal.js +10 -5
  95. package/{src/example/utilities → test/helpers}/procedure.js +6 -2
  96. package/test/main.js +55 -0
  97. package/example/Free and bound variables.ftl +0 -75
  98. package/lib/dom/assignment/array.js +0 -186
  99. package/lib/dom/assignment/object.js +0 -244
  100. package/lib/dom/assignment/variable.js +0 -144
  101. package/lib/dom/assignments/variable.js +0 -158
  102. package/lib/dom/block/return.js +0 -198
  103. package/lib/dom/comparison.js +0 -179
  104. package/lib/dom/declaration/procedure.js +0 -125
  105. package/lib/dom/every.js +0 -179
  106. package/lib/dom/expression/bitwise.js +0 -186
  107. package/lib/dom/expression/bracketed.js +0 -149
  108. package/lib/dom/expression/negated.js +0 -166
  109. package/lib/dom/expression.js +0 -578
  110. package/lib/dom/expressions.js +0 -210
  111. package/lib/dom/parameter/named.js +0 -198
  112. package/lib/dom/parameter.js +0 -165
  113. package/lib/dom/parameters/named.js +0 -220
  114. package/lib/dom/parameters.js +0 -198
  115. package/lib/dom/procedure/anonymous.js +0 -181
  116. package/lib/dom/procedure.js +0 -212
  117. package/lib/dom/procedureCall.js +0 -166
  118. package/lib/dom/query/node.js +0 -186
  119. package/lib/dom/query/nodes.js +0 -179
  120. package/lib/dom/reduce.js +0 -181
  121. package/lib/dom/reference.js +0 -138
  122. package/lib/dom/some.js +0 -179
  123. package/lib/dom/statement/return.js +0 -138
  124. package/lib/dom/step.js +0 -154
  125. package/lib/dom/ternary.js +0 -171
  126. package/lib/dom/variable.js +0 -279
  127. package/lib/dom.js +0 -27
  128. package/lib/example/context/file.js +0 -130
  129. package/lib/example/context/release.js +0 -160
  130. package/lib/example/utilities/expressions.js +0 -29
  131. package/lib/example/utilities/furtle.js +0 -19
  132. package/lib/example/utilities/grammar.js +0 -26
  133. package/lib/example/utilities/nominal.js +0 -25
  134. package/lib/example/utilities/procedure.js +0 -18
  135. package/lib/utilities/string.js +0 -78
  136. package/src/dom.js +0 -13
  137. package/src/example/context/file.js +0 -69
  138. /package/{example → test}/customGrammars.json +0 -0
@@ -1,179 +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 _occamquery = require("occam-query");
12
- var _occamentities = require("occam-entities");
13
- var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
14
- var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
15
- var _query = require("../../utilities/query");
16
- var _types = require("../../types");
17
- function _class_call_check(instance, Constructor) {
18
- if (!(instance instanceof Constructor)) {
19
- throw new TypeError("Cannot call a class as a function");
20
- }
21
- }
22
- function _defineProperties(target, props) {
23
- for(var i = 0; i < props.length; i++){
24
- var descriptor = props[i];
25
- descriptor.enumerable = descriptor.enumerable || false;
26
- descriptor.configurable = true;
27
- if ("value" in descriptor) descriptor.writable = true;
28
- Object.defineProperty(target, descriptor.key, descriptor);
29
- }
30
- }
31
- function _create_class(Constructor, protoProps, staticProps) {
32
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
33
- if (staticProps) _defineProperties(Constructor, staticProps);
34
- return Constructor;
35
- }
36
- function _define_property(obj, key, value) {
37
- if (key in obj) {
38
- Object.defineProperty(obj, key, {
39
- value: value,
40
- enumerable: true,
41
- configurable: true,
42
- writable: true
43
- });
44
- } else {
45
- obj[key] = value;
46
- }
47
- return obj;
48
- }
49
- function _interop_require_default(obj) {
50
- return obj && obj.__esModule ? obj : {
51
- default: obj
52
- };
53
- }
54
- function _getRequireWildcardCache(nodeInterop) {
55
- if (typeof WeakMap !== "function") return null;
56
- var cacheBabelInterop = new WeakMap();
57
- var cacheNodeInterop = new WeakMap();
58
- return (_getRequireWildcardCache = function(nodeInterop) {
59
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
60
- })(nodeInterop);
61
- }
62
- function _interop_require_wildcard(obj, nodeInterop) {
63
- if (!nodeInterop && obj && obj.__esModule) {
64
- return obj;
65
- }
66
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
67
- return {
68
- default: obj
69
- };
70
- }
71
- var cache = _getRequireWildcardCache(nodeInterop);
72
- if (cache && cache.has(obj)) {
73
- return cache.get(obj);
74
- }
75
- var newObj = {
76
- __proto__: null
77
- };
78
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
79
- for(var key in obj){
80
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
81
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
82
- if (desc && (desc.get || desc.set)) {
83
- Object.defineProperty(newObj, key, desc);
84
- } else {
85
- newObj[key] = obj[key];
86
- }
87
- }
88
- }
89
- newObj.default = obj;
90
- if (cache) {
91
- cache.set(obj, newObj);
92
- }
93
- return newObj;
94
- }
95
- var _NodesQuery;
96
- var trimDoubleQuotes = _occamentities.contentUtilities.trimDoubleQuotes;
97
- var expressionNodesQueryNodeQuery = (0, _query.nodeQuery)("/expression/nodesQuery"), stringLiteralTerminalNodesQuery = (0, _query.nodeQuery)("/nodesQuery/@string-literal");
98
- var _default = (0, _dom.domAssigned)((_NodesQuery = /*#__PURE__*/ function() {
99
- function NodesQuery(string, variable, query) {
100
- _class_call_check(this, NodesQuery);
101
- this.string = string;
102
- this.variable = variable;
103
- this.query = query;
104
- }
105
- _create_class(NodesQuery, [
106
- {
107
- key: "getString",
108
- value: function getString() {
109
- return this.string;
110
- }
111
- },
112
- {
113
- key: "getVariable",
114
- value: function getVariable() {
115
- return this.variable;
116
- }
117
- },
118
- {
119
- key: "getQuery",
120
- value: function getQuery() {
121
- return this.query;
122
- }
123
- },
124
- {
125
- key: "evaluate",
126
- value: function evaluate(context) {
127
- var expression;
128
- var nodesQueryString = this.string; ///
129
- context.trace("Evaluating the '".concat(nodesQueryString, "' nodes query..."));
130
- if (this.query === null) {
131
- var message = "Cannot evaluate the '".concat(nodesQueryString, "' nodes query because its expression is malformed."), exception = _exception.default.fromMessage(message);
132
- throw exception;
133
- }
134
- expression = this.variable.evaluate(context);
135
- var expressionType = expression.getType();
136
- if (expressionType !== _types.NODE_TYPE) {
137
- var expressionString = expression.asString(context), message1 = "The ".concat(expressionString, " expression's '").concat(expressionType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception1 = _exception.default.fromMessage(message1);
138
- throw exception1;
139
- }
140
- var expressionNode = expression.getNode();
141
- if (expressionNode === null) {
142
- var expressionString1 = expression.asString(context), message2 = "The ".concat(expressionString1, " expression's node is null."), exception2 = _exception.default.fromMessage(message2);
143
- throw exception2;
144
- }
145
- var node;
146
- node = expressionNode; ///
147
- var nodes = this.query.execute(node);
148
- var Expression = _dom.default.Expression;
149
- expression = Expression.fromNodes(nodes, context);
150
- context.debug("...evaluated the '".concat(nodesQueryString, "' nodes query."));
151
- return expression;
152
- }
153
- }
154
- ], [
155
- {
156
- key: "fromExpressionNode",
157
- value: function fromExpressionNode(expressionNode, context) {
158
- var nodesQuery = null;
159
- var expressionNodesQueryNode = expressionNodesQueryNodeQuery(expressionNode);
160
- if (expressionNodesQueryNode !== null) {
161
- var nodesQueryNode = expressionNodesQueryNode; ///
162
- nodesQuery = nodesQueryFromNodesQueryNode(nodesQueryNode, context);
163
- }
164
- return nodesQuery;
165
- }
166
- }
167
- ]);
168
- return NodesQuery;
169
- }(), _define_property(_NodesQuery, "name", "NodesQuery"), _NodesQuery));
170
- function nodesQueryFromNodesQueryNode(nodesQueryNode, context) {
171
- var Variable = _dom.default.Variable, NodesQuery = _dom.default.NodesQuery, node = nodesQueryNode, string = context.nodeAsString(node), expressionString = expressionStringFromNodesQueryNode(nodesQueryNode, context), variable = Variable.fromNodesQueryNode(nodesQueryNode, context), query = _occamquery.Query.fromExpressionString(expressionString), nodesQuery = new NodesQuery(string, variable, query);
172
- return nodesQuery;
173
- }
174
- function expressionStringFromNodesQueryNode(nodesQueryNode, context) {
175
- var stringLiteralTerminalNode = stringLiteralTerminalNodesQuery(nodesQueryNode), stringLiteralTerminalNodeContent = stringLiteralTerminalNode.getContent(), expressionString = trimDoubleQuotes(stringLiteralTerminalNodeContent);
176
- return expressionString;
177
- }
178
-
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBjb250ZW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWVudGl0aWVzXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE5PREVfVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmNvbnN0IHsgdHJpbURvdWJsZVF1b3RlcyB9ID0gY29udGVudFV0aWxpdGllcztcblxuY29uc3QgZXhwcmVzc2lvbk5vZGVzUXVlcnlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvZXhwcmVzc2lvbi9ub2Rlc1F1ZXJ5XCIpLFxuICAgICAgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXNRdWVyeSA9IG5vZGVRdWVyeShcIi9ub2Rlc1F1ZXJ5L0BzdHJpbmctbGl0ZXJhbFwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgTm9kZXNRdWVyeSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFyaWFibGUsIHF1ZXJ5KSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5O1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCBleHByZXNzaW9uO1xuXG4gICAgY29uc3Qgbm9kZXNRdWVyeVN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtub2Rlc1F1ZXJ5U3RyaW5nfScgbm9kZXMgcXVlcnkuLi5gKTtcblxuICAgIGlmICh0aGlzLnF1ZXJ5ID09PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYENhbm5vdCBldmFsdWF0ZSB0aGUgJyR7bm9kZXNRdWVyeVN0cmluZ30nIG5vZGVzIHF1ZXJ5IGJlY2F1c2UgaXRzIGV4cHJlc3Npb24gaXMgbWFsZm9ybWVkLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBleHByZXNzaW9uID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24ncyAnJHtleHByZXNzaW9uVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PREVfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBleHByZXNzaW9uTm9kZSA9IGV4cHJlc3Npb24uZ2V0Tm9kZSgpO1xuXG4gICAgaWYgKGV4cHJlc3Npb25Ob2RlID09PSBudWxsKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzIG5vZGUgaXMgbnVsbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgbGV0IG5vZGU7XG5cbiAgICBub2RlID0gZXhwcmVzc2lvbk5vZGU7IC8vL1xuXG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLnF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBjb25zdCB7IEV4cHJlc3Npb24gfSA9IGRvbTtcblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Ob2Rlcyhub2RlcywgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke25vZGVzUXVlcnlTdHJpbmd9JyBub2RlcyBxdWVyeS5gKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk5vZGVzUXVlcnlcIjtcblxuICBzdGF0aWMgZnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IG5vZGVzUXVlcnkgPSBudWxsO1xuXG4gICAgY29uc3QgZXhwcmVzc2lvbk5vZGVzUXVlcnlOb2RlID0gZXhwcmVzc2lvbk5vZGVzUXVlcnlOb2RlUXVlcnkoZXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgaWYgKGV4cHJlc3Npb25Ob2Rlc1F1ZXJ5Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZXNRdWVyeU5vZGUgPSBleHByZXNzaW9uTm9kZXNRdWVyeU5vZGU7IC8vL1xuXG4gICAgICBub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeUZyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVzUXVlcnk7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBub2Rlc1F1ZXJ5RnJvbU5vZGVzUXVlcnlOb2RlKG5vZGVzUXVlcnlOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFyaWFibGUsIE5vZGVzUXVlcnkgfSA9IGRvbSxcbiAgICAgICAgbm9kZSA9IG5vZGVzUXVlcnlOb2RlLCAgLy8vXG4gICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvblN0cmluZ0Zyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU5vZGVzUXVlcnlOb2RlKG5vZGVzUXVlcnlOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvblN0cmluZyhleHByZXNzaW9uU3RyaW5nKSxcbiAgICAgICAgbm9kZXNRdWVyeSA9IG5ldyBOb2Rlc1F1ZXJ5KHN0cmluZywgdmFyaWFibGUsIHF1ZXJ5KTtcblxuICByZXR1cm4gbm9kZXNRdWVyeTtcbn1cblxuZnVuY3Rpb24gZXhwcmVzc2lvblN0cmluZ0Zyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCkge1xuICBjb25zdCBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlID0gc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXNRdWVyeShub2Rlc1F1ZXJ5Tm9kZSksXG4gICAgICAgIHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50ID0gc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSB0cmltRG91YmxlUXVvdGVzKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50KTtcblxuICByZXR1cm4gZXhwcmVzc2lvblN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJ0cmltRG91YmxlUXVvdGVzIiwiY29udGVudFV0aWxpdGllcyIsImV4cHJlc3Npb25Ob2Rlc1F1ZXJ5Tm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5Iiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZXNRdWVyeSIsImRvbUFzc2lnbmVkIiwiTm9kZXNRdWVyeSIsInN0cmluZyIsInZhcmlhYmxlIiwicXVlcnkiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFF1ZXJ5IiwiZXZhbHVhdGUiLCJjb250ZXh0IiwiZXhwcmVzc2lvbiIsIm5vZGVzUXVlcnlTdHJpbmciLCJ0cmFjZSIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsImV4cHJlc3Npb25UeXBlIiwiZ2V0VHlwZSIsIk5PREVfVFlQRSIsImV4cHJlc3Npb25TdHJpbmciLCJhc1N0cmluZyIsImV4cHJlc3Npb25Ob2RlIiwiZ2V0Tm9kZSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJFeHByZXNzaW9uIiwiZG9tIiwiZnJvbU5vZGVzIiwiZGVidWciLCJmcm9tRXhwcmVzc2lvbk5vZGUiLCJub2Rlc1F1ZXJ5IiwiZXhwcmVzc2lvbk5vZGVzUXVlcnlOb2RlIiwibm9kZXNRdWVyeU5vZGUiLCJub2Rlc1F1ZXJ5RnJvbU5vZGVzUXVlcnlOb2RlIiwibmFtZSIsIlZhcmlhYmxlIiwibm9kZUFzU3RyaW5nIiwiZXhwcmVzc2lvblN0cmluZ0Zyb21Ob2Rlc1F1ZXJ5Tm9kZSIsImZyb21Ob2Rlc1F1ZXJ5Tm9kZSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFpQkE7OztlQUFBOzs7MEJBZnNCOzZCQUNXOzJEQUVqQjtnRUFDTTtxQkFFSTtxQkFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHMUIsSUFBTSxBQUFFQSxtQkFBcUJDLCtCQUFnQixDQUFyQ0Q7QUFFUixJQUFNRSxnQ0FBZ0NDLElBQUFBLGdCQUFTLEVBQUMsMkJBQzFDQyxrQ0FBa0NELElBQUFBLGdCQUFTLEVBQUM7SUFFbEQsV0FBZUUsSUFBQUEsZ0JBQVcsK0JBQUM7YUFBTUMsV0FDbkJDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxLQUFLO2dDQURKSDtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxLQUFLLEdBQUdBOzs7O1lBR2ZDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsUUFBUTtZQUN0Qjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsS0FBSztZQUNuQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxTQUFTQyxPQUFPO2dCQUNkLElBQUlDO2dCQUVKLElBQU1DLG1CQUFtQixJQUFJLENBQUNULE1BQU0sRUFBRyxHQUFHO2dCQUUxQ08sUUFBUUcsS0FBSyxDQUFDLEFBQUMsbUJBQW1DLE9BQWpCRCxrQkFBaUI7Z0JBRWxELElBQUksSUFBSSxDQUFDUCxLQUFLLEtBQUssTUFBTTtvQkFDdkIsSUFBTVMsVUFBVSxBQUFDLHdCQUF3QyxPQUFqQkYsa0JBQWlCLHVEQUNuREcsWUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUFKLGFBQWEsSUFBSSxDQUFDUCxRQUFRLENBQUNLLFFBQVEsQ0FBQ0M7Z0JBRXBDLElBQU1RLGlCQUFpQlAsV0FBV1EsT0FBTztnQkFFekMsSUFBSUQsbUJBQW1CRSxnQkFBUyxFQUFFO29CQUNoQyxJQUFNQyxtQkFBbUJWLFdBQVdXLFFBQVEsQ0FBQ1osVUFDdkNJLFdBQVUsQUFBQyxPQUF3Q0ksT0FBbENHLGtCQUFpQixtQkFBb0RELE9BQW5DRixnQkFBZSxzQkFBOEIsT0FBVkUsZ0JBQVMsRUFBQyxPQUNoR0wsYUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUEsSUFBTVEsaUJBQWlCWixXQUFXYSxPQUFPO2dCQUV6QyxJQUFJRCxtQkFBbUIsTUFBTTtvQkFDM0IsSUFBTUYsb0JBQW1CVixXQUFXVyxRQUFRLENBQUNaLFVBQ3ZDSSxXQUFVLEFBQUMsT0FBdUIsT0FBakJPLG1CQUFpQixnQ0FDbENOLGFBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBLElBQUlVO2dCQUVKQSxPQUFPRixnQkFBZ0IsR0FBRztnQkFFMUIsSUFBTUcsUUFBUSxJQUFJLENBQUNyQixLQUFLLENBQUNzQixPQUFPLENBQUNGO2dCQUVqQyxJQUFNLEFBQUVHLGFBQWVDLFlBQUcsQ0FBbEJEO2dCQUVSakIsYUFBYWlCLFdBQVdFLFNBQVMsQ0FBQ0osT0FBT2hCO2dCQUV6Q0EsUUFBUXFCLEtBQUssQ0FBQyxBQUFDLHFCQUFxQyxPQUFqQm5CLGtCQUFpQjtnQkFFcEQsT0FBT0Q7WUFDVDs7OztZQUlPcUIsS0FBQUE7bUJBQVAsU0FBT0EsbUJBQW1CVCxjQUFjLEVBQUViLE9BQU87Z0JBQy9DLElBQUl1QixhQUFhO2dCQUVqQixJQUFNQywyQkFBMkJwQyw4QkFBOEJ5QjtnQkFFL0QsSUFBSVcsNkJBQTZCLE1BQU07b0JBQ3JDLElBQU1DLGlCQUFpQkQsMEJBQTBCLEdBQUc7b0JBRXBERCxhQUFhRyw2QkFBNkJELGdCQUFnQnpCO2dCQUM1RDtnQkFFQSxPQUFPdUI7WUFDVDs7OztLQWRBLDhCQUFPSSxRQUFPO0FBaUJoQixTQUFTRCw2QkFBNkJELGNBQWMsRUFBRXpCLE9BQU87SUFDM0QsSUFBUTRCLFdBQXlCVCxZQUFHLENBQTVCUyxVQUFVcEMsYUFBZTJCLFlBQUcsQ0FBbEIzQixZQUNadUIsT0FBT1UsZ0JBQ1BoQyxTQUFTTyxRQUFRNkIsWUFBWSxDQUFDZCxPQUM5QkosbUJBQW1CbUIsbUNBQW1DTCxnQkFBZ0J6QixVQUN0RU4sV0FBV2tDLFNBQVNHLGtCQUFrQixDQUFDTixnQkFBZ0J6QixVQUN2REwsUUFBUXFDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDdEIsbUJBQ25DWSxhQUFhLElBQUkvQixXQUFXQyxRQUFRQyxVQUFVQztJQUVwRCxPQUFPNEI7QUFDVDtBQUVBLFNBQVNPLG1DQUFtQ0wsY0FBYyxFQUFFekIsT0FBTztJQUNqRSxJQUFNa0MsNEJBQTRCNUMsZ0NBQWdDbUMsaUJBQzVEVSxtQ0FBbUNELDBCQUEwQkUsVUFBVSxJQUN2RXpCLG1CQUFtQnpCLGlCQUFpQmlEO0lBRTFDLE9BQU94QjtBQUNUIn0=
package/lib/dom/reduce.js DELETED
@@ -1,181 +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 _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
- var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
13
- var _query = require("../utilities/query");
14
- var _types = require("../types");
15
- function _class_call_check(instance, Constructor) {
16
- if (!(instance instanceof Constructor)) {
17
- throw new TypeError("Cannot call a class as a function");
18
- }
19
- }
20
- function _defineProperties(target, props) {
21
- for(var i = 0; i < props.length; i++){
22
- var descriptor = props[i];
23
- descriptor.enumerable = descriptor.enumerable || false;
24
- descriptor.configurable = true;
25
- if ("value" in descriptor) descriptor.writable = true;
26
- Object.defineProperty(target, descriptor.key, descriptor);
27
- }
28
- }
29
- function _create_class(Constructor, protoProps, staticProps) {
30
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
31
- if (staticProps) _defineProperties(Constructor, staticProps);
32
- return Constructor;
33
- }
34
- function _define_property(obj, key, value) {
35
- if (key in obj) {
36
- Object.defineProperty(obj, key, {
37
- value: value,
38
- enumerable: true,
39
- configurable: true,
40
- writable: true
41
- });
42
- } else {
43
- obj[key] = value;
44
- }
45
- return obj;
46
- }
47
- function _interop_require_default(obj) {
48
- return obj && obj.__esModule ? obj : {
49
- default: obj
50
- };
51
- }
52
- function _getRequireWildcardCache(nodeInterop) {
53
- if (typeof WeakMap !== "function") return null;
54
- var cacheBabelInterop = new WeakMap();
55
- var cacheNodeInterop = new WeakMap();
56
- return (_getRequireWildcardCache = function(nodeInterop) {
57
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
58
- })(nodeInterop);
59
- }
60
- function _interop_require_wildcard(obj, nodeInterop) {
61
- if (!nodeInterop && obj && obj.__esModule) {
62
- return obj;
63
- }
64
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
65
- return {
66
- default: obj
67
- };
68
- }
69
- var cache = _getRequireWildcardCache(nodeInterop);
70
- if (cache && cache.has(obj)) {
71
- return cache.get(obj);
72
- }
73
- var newObj = {
74
- __proto__: null
75
- };
76
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
77
- for(var key in obj){
78
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
79
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
80
- if (desc && (desc.get || desc.set)) {
81
- Object.defineProperty(newObj, key, desc);
82
- } else {
83
- newObj[key] = obj[key];
84
- }
85
- }
86
- }
87
- newObj.default = obj;
88
- if (cache) {
89
- cache.set(obj, newObj);
90
- }
91
- return newObj;
92
- }
93
- var _Reduce;
94
- var expressionReduceNodeQuery = (0, _query.nodeQuery)("/expression/reduce");
95
- var _default = (0, _dom.domAssigned)((_Reduce = /*#__PURE__*/ function() {
96
- function Reduce(string, variable, initialExpression, anonymousProcedure) {
97
- _class_call_check(this, Reduce);
98
- this.string = string;
99
- this.variable = variable;
100
- this.initialExpression = initialExpression;
101
- this.anonymousProcedure = anonymousProcedure;
102
- }
103
- _create_class(Reduce, [
104
- {
105
- key: "getString",
106
- value: function getString() {
107
- return this.string;
108
- }
109
- },
110
- {
111
- key: "getVariable",
112
- value: function getVariable() {
113
- return this.variable;
114
- }
115
- },
116
- {
117
- key: "getInitialExpression",
118
- value: function getInitialExpression() {
119
- return this.initialExpression;
120
- }
121
- },
122
- {
123
- key: "getAnonymousProcedure",
124
- value: function getAnonymousProcedure() {
125
- return this.anonymousProcedure;
126
- }
127
- },
128
- {
129
- key: "evaluate",
130
- value: function evaluate(context) {
131
- var _this = this;
132
- var expression;
133
- var reduceString = this.getString();
134
- context.trace("Evaluating the '".concat(reduceString, "' reduce..."));
135
- expression = this.variable.evaluate(context);
136
- var expressionType = expression.getType();
137
- if (expressionType !== _types.NODES_TYPE) {
138
- var expressionString = expression.asString(context), message = "The ".concat(expressionString, " expression's '").concat(expressionType, "' type should be '").concat(_types.NODES_TYPE, "'."), exception = _exception.default.fromMessage(message);
139
- throw exception;
140
- }
141
- var nodes = expression.getNodes(), initialExpression = this.initialExpression.evaluate(context);
142
- expression = nodes.reduce(function(currentExpression, node) {
143
- var expression;
144
- var Expression = _dom.default.Expression, Expressions = _dom.default.Expressions;
145
- expression = currentExpression; ///
146
- var expressions = Expressions.fromExpression(expression, context);
147
- expression = Expression.fromNode(node, context);
148
- expressions.addExpression(expression);
149
- expression = _this.anonymousProcedure.call(expressions, context);
150
- return expression;
151
- }, initialExpression);
152
- context.trace("...evaluated the '".concat(reduceString, "' reduce."));
153
- return expression;
154
- }
155
- }
156
- ], [
157
- {
158
- key: "fromExpressionNode",
159
- value: function fromExpressionNode(expressionNode, context) {
160
- var reduce = null;
161
- var expressionReduceNode = expressionReduceNodeQuery(expressionNode);
162
- if (expressionReduceNode !== null) {
163
- var reduceNode = expressionReduceNode; ///
164
- reduce = reduceFromReduceNode(reduceNode, context);
165
- }
166
- return reduce;
167
- }
168
- }
169
- ]);
170
- return Reduce;
171
- }(), _define_property(_Reduce, "name", "Reduce"), _Reduce));
172
- function reduceFromReduceNode(reduceNode, context) {
173
- var Reduce = _dom.default.Reduce, Variable = _dom.default.Variable, Expression = _dom.default.Expression, AnonymousProcedure = _dom.default.AnonymousProcedure, expression = Expression.fromReduceNode(reduceNode, context), variable = Variable.fromReduceNode(reduceNode, context), initialExpression = expression, anonymousProcedure = AnonymousProcedure.fromReduceNode(reduceNode, context), string = stringFromVariableInitialExpressionAndAnonymousProcedure(variable, initialExpression, anonymousProcedure), reduce = new Reduce(string, variable, initialExpression, anonymousProcedure);
174
- return reduce;
175
- }
176
- function stringFromVariableInitialExpressionAndAnonymousProcedure(variable, initialExpression, anonymousProcedure) {
177
- var variableString = variable.getString(), initialExpressionString = initialExpression.getString(), anonymousProcedureString = anonymousProcedure.getString(), string = "Reduce(".concat(variableString, ", ").concat(anonymousProcedureString, ", ").concat(initialExpressionString, ")");
178
- return string;
179
- }
180
-
181
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcmVkdWNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBOT0RFU19UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi9kb21cIjtcblxuY29uc3QgZXhwcmVzc2lvblJlZHVjZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9leHByZXNzaW9uL3JlZHVjZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUmVkdWNlIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YXJpYWJsZSwgaW5pdGlhbEV4cHJlc3Npb24sIGFub255bW91c1Byb2NlZHVyZSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmluaXRpYWxFeHByZXNzaW9uID0gaW5pdGlhbEV4cHJlc3Npb247XG4gICAgdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmUgPSBhbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRJbml0aWFsRXhwcmVzc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5pbml0aWFsRXhwcmVzc2lvbjtcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IGV4cHJlc3Npb247XG5cbiAgICBjb25zdCByZWR1Y2VTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7cmVkdWNlU3RyaW5nfScgcmVkdWNlLi4uYCk7XG5cbiAgICBleHByZXNzaW9uID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblR5cGUgIT09IE5PREVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHtleHByZXNzaW9uU3RyaW5nfSBleHByZXNzaW9uJ3MgJyR7ZXhwcmVzc2lvblR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT0RFU19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gZXhwcmVzc2lvbi5nZXROb2RlcygpLFxuICAgICAgICAgIGluaXRpYWxFeHByZXNzaW9uID0gdGhpcy5pbml0aWFsRXhwcmVzc2lvbi5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGV4cHJlc3Npb24gPSBub2Rlcy5yZWR1Y2UoKGN1cnJlbnRFeHByZXNzaW9uLCBub2RlKSA9PiB7XG4gICAgICBsZXQgZXhwcmVzc2lvbjtcblxuICAgICAgY29uc3QgeyBFeHByZXNzaW9uLCBFeHByZXNzaW9ucyB9ID0gZG9tO1xuXG4gICAgICBleHByZXNzaW9uID0gY3VycmVudEV4cHJlc3Npb247IC8vL1xuXG4gICAgICBjb25zdCBleHByZXNzaW9ucyA9IEV4cHJlc3Npb25zLmZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24sIGNvbnRleHQpO1xuXG4gICAgICBleHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgICAgZXhwcmVzc2lvbnMuYWRkRXhwcmVzc2lvbihleHByZXNzaW9uKTtcblxuICAgICAgZXhwcmVzc2lvbiA9IHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlLmNhbGwoZXhwcmVzc2lvbnMsIGNvbnRleHQpO1xuXG4gICAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgICB9LCBpbml0aWFsRXhwcmVzc2lvbik7XG5cbiAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke3JlZHVjZVN0cmluZ30nIHJlZHVjZS5gKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlJlZHVjZVwiO1xuXG4gIHN0YXRpYyBmcm9tRXhwcmVzc2lvbk5vZGUoZXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgcmVkdWNlID0gbnVsbDtcblxuICAgIGNvbnN0IGV4cHJlc3Npb25SZWR1Y2VOb2RlID0gZXhwcmVzc2lvblJlZHVjZU5vZGVRdWVyeShleHByZXNzaW9uTm9kZSk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblJlZHVjZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHJlZHVjZU5vZGUgPSBleHByZXNzaW9uUmVkdWNlTm9kZTsgLy8vXG5cbiAgICAgIHJlZHVjZSA9IHJlZHVjZUZyb21SZWR1Y2VOb2RlKHJlZHVjZU5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiByZWR1Y2U7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiByZWR1Y2VGcm9tUmVkdWNlTm9kZShyZWR1Y2VOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgUmVkdWNlLCBWYXJpYWJsZSwgRXhwcmVzc2lvbiwgQW5vbnltb3VzUHJvY2VkdXJlIH0gPSBkb20sXG4gICAgICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21SZWR1Y2VOb2RlKHJlZHVjZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21SZWR1Y2VOb2RlKHJlZHVjZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICBpbml0aWFsRXhwcmVzc2lvbiA9IGV4cHJlc3Npb24sIC8vL1xuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmUgPSBBbm9ueW1vdXNQcm9jZWR1cmUuZnJvbVJlZHVjZU5vZGUocmVkdWNlTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21WYXJpYWJsZUluaXRpYWxFeHByZXNzaW9uQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBpbml0aWFsRXhwcmVzc2lvbiwgYW5vbnltb3VzUHJvY2VkdXJlKSxcbiAgICAgICAgcmVkdWNlID0gbmV3IFJlZHVjZShzdHJpbmcsIHZhcmlhYmxlLCBpbml0aWFsRXhwcmVzc2lvbiwgYW5vbnltb3VzUHJvY2VkdXJlKTtcblxuICByZXR1cm4gcmVkdWNlO1xufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tVmFyaWFibGVJbml0aWFsRXhwcmVzc2lvbkFuZEFub255bW91c1Byb2NlZHVyZSh2YXJpYWJsZSwgaW5pdGlhbEV4cHJlc3Npb24sIGFub255bW91c1Byb2NlZHVyZSkge1xuICBjb25zdCB2YXJpYWJsZVN0cmluZyA9IHZhcmlhYmxlLmdldFN0cmluZygpLFxuICAgICAgICBpbml0aWFsRXhwcmVzc2lvblN0cmluZyA9IGluaXRpYWxFeHByZXNzaW9uLmdldFN0cmluZygpLFxuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmcgPSBhbm9ueW1vdXNQcm9jZWR1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHN0cmluZyA9IGBSZWR1Y2UoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSwgJHtpbml0aWFsRXhwcmVzc2lvblN0cmluZ30pYDtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImV4cHJlc3Npb25SZWR1Y2VOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlJlZHVjZSIsInN0cmluZyIsInZhcmlhYmxlIiwiaW5pdGlhbEV4cHJlc3Npb24iLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldEluaXRpYWxFeHByZXNzaW9uIiwiZ2V0QW5vbnltb3VzUHJvY2VkdXJlIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwiZXhwcmVzc2lvbiIsInJlZHVjZVN0cmluZyIsInRyYWNlIiwiZXhwcmVzc2lvblR5cGUiLCJnZXRUeXBlIiwiTk9ERVNfVFlQRSIsImV4cHJlc3Npb25TdHJpbmciLCJhc1N0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vZGVzIiwiZ2V0Tm9kZXMiLCJyZWR1Y2UiLCJjdXJyZW50RXhwcmVzc2lvbiIsIm5vZGUiLCJFeHByZXNzaW9uIiwiZG9tIiwiRXhwcmVzc2lvbnMiLCJleHByZXNzaW9ucyIsImZyb21FeHByZXNzaW9uIiwiZnJvbU5vZGUiLCJhZGRFeHByZXNzaW9uIiwiY2FsbCIsImZyb21FeHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb25Ob2RlIiwiZXhwcmVzc2lvblJlZHVjZU5vZGUiLCJyZWR1Y2VOb2RlIiwicmVkdWNlRnJvbVJlZHVjZU5vZGUiLCJuYW1lIiwiVmFyaWFibGUiLCJBbm9ueW1vdXNQcm9jZWR1cmUiLCJmcm9tUmVkdWNlTm9kZSIsInN0cmluZ0Zyb21WYXJpYWJsZUluaXRpYWxFeHByZXNzaW9uQW5kQW5vbnltb3VzUHJvY2VkdXJlIiwidmFyaWFibGVTdHJpbmciLCJpbml0aWFsRXhwcmVzc2lvblN0cmluZyIsImFub255bW91c1Byb2NlZHVyZVN0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBV0E7OztlQUFBOzs7MkRBVGdCO2dFQUNNO3FCQUVJ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
@@ -1,138 +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 _dom = /*#__PURE__*/ _interop_require_wildcard(require("../dom"));
12
- var _query = require("../utilities/query");
13
- function _class_call_check(instance, Constructor) {
14
- if (!(instance instanceof Constructor)) {
15
- throw new TypeError("Cannot call a class as a function");
16
- }
17
- }
18
- function _defineProperties(target, props) {
19
- for(var i = 0; i < props.length; i++){
20
- var descriptor = props[i];
21
- descriptor.enumerable = descriptor.enumerable || false;
22
- descriptor.configurable = true;
23
- if ("value" in descriptor) descriptor.writable = true;
24
- Object.defineProperty(target, descriptor.key, descriptor);
25
- }
26
- }
27
- function _create_class(Constructor, protoProps, staticProps) {
28
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29
- if (staticProps) _defineProperties(Constructor, staticProps);
30
- return Constructor;
31
- }
32
- function _define_property(obj, key, value) {
33
- if (key in obj) {
34
- Object.defineProperty(obj, key, {
35
- value: value,
36
- enumerable: true,
37
- configurable: true,
38
- writable: true
39
- });
40
- } else {
41
- obj[key] = value;
42
- }
43
- return obj;
44
- }
45
- function _getRequireWildcardCache(nodeInterop) {
46
- if (typeof WeakMap !== "function") return null;
47
- var cacheBabelInterop = new WeakMap();
48
- var cacheNodeInterop = new WeakMap();
49
- return (_getRequireWildcardCache = function(nodeInterop) {
50
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
51
- })(nodeInterop);
52
- }
53
- function _interop_require_wildcard(obj, nodeInterop) {
54
- if (!nodeInterop && obj && obj.__esModule) {
55
- return obj;
56
- }
57
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
58
- return {
59
- default: obj
60
- };
61
- }
62
- var cache = _getRequireWildcardCache(nodeInterop);
63
- if (cache && cache.has(obj)) {
64
- return cache.get(obj);
65
- }
66
- var newObj = {
67
- __proto__: null
68
- };
69
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
70
- for(var key in obj){
71
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
72
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
73
- if (desc && (desc.get || desc.set)) {
74
- Object.defineProperty(newObj, key, desc);
75
- } else {
76
- newObj[key] = obj[key];
77
- }
78
- }
79
- }
80
- newObj.default = obj;
81
- if (cache) {
82
- cache.set(obj, newObj);
83
- }
84
- return newObj;
85
- }
86
- var _Reference;
87
- var procedureCallReferenceNodeQuery = (0, _query.nodeQuery)("/procedureCall/reference!"), referenceNameTerminalNodeQuery = (0, _query.nodeQuery)("/reference/@name");
88
- var _default = (0, _dom.domAssigned)((_Reference = /*#__PURE__*/ function() {
89
- function Reference(string, name) {
90
- _class_call_check(this, Reference);
91
- this.string = string;
92
- this.name = name;
93
- }
94
- _create_class(Reference, [
95
- {
96
- key: "getString",
97
- value: function getString() {
98
- return this.string;
99
- }
100
- },
101
- {
102
- key: "getName",
103
- value: function getName() {
104
- return this.name;
105
- }
106
- }
107
- ], [
108
- {
109
- key: "fromReferenceNode",
110
- value: function fromReferenceNode(referenceNode, context) {
111
- var reference = referenceFromReferenceNode(referenceNode, context);
112
- return reference;
113
- }
114
- },
115
- {
116
- key: "fromProcedureCallNode",
117
- value: function fromProcedureCallNode(procedureCallNode, context) {
118
- var procedureCallReferenceNod = procedureCallReferenceNodeQuery(procedureCallNode), referenceNode = procedureCallReferenceNod, reference = referenceFromReferenceNode(referenceNode, context);
119
- return reference;
120
- }
121
- }
122
- ]);
123
- return Reference;
124
- }(), _define_property(_Reference, "name", "Reference"), _Reference));
125
- function referenceFromReferenceNode(referenceNode, context) {
126
- var Reference = _dom.default.Reference, name = nameFromReferenceNode(referenceNode, context), string = stringFromName(name, context), reference = new Reference(string, name);
127
- return reference;
128
- }
129
- function nameFromReferenceNode(referenceNode, context) {
130
- var referenceNameTerminalNode = referenceNameTerminalNodeQuery(referenceNode), referenceNameTerminalNodeContent = referenceNameTerminalNode.getContent(), name = referenceNameTerminalNodeContent; ///
131
- return name;
132
- }
133
- function stringFromName(name, context) {
134
- var nameString = name, string = nameString; ///
135
- return string;
136
- }
137
-
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vcmVmZXJlbmNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi9kb21cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5cbmNvbnN0IHByb2NlZHVyZUNhbGxSZWZlcmVuY2VOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcHJvY2VkdXJlQ2FsbC9yZWZlcmVuY2UhXCIpLFxuICAgICAgcmVmZXJlbmNlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3JlZmVyZW5jZS9AbmFtZVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgUmVmZXJlbmNlIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBuYW1lKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUmVmZXJlbmNlXCI7XG5cbiAgc3RhdGljIGZyb21SZWZlcmVuY2VOb2RlKHJlZmVyZW5jZU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCByZWZlcmVuY2UgPSByZWZlcmVuY2VGcm9tUmVmZXJlbmNlTm9kZShyZWZlcmVuY2VOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiByZWZlcmVuY2U7XG4gIH1cblxuICBzdGF0aWMgZnJvbVByb2NlZHVyZUNhbGxOb2RlKHByb2NlZHVyZUNhbGxOb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgcHJvY2VkdXJlQ2FsbFJlZmVyZW5jZU5vZCA9IHByb2NlZHVyZUNhbGxSZWZlcmVuY2VOb2RlUXVlcnkocHJvY2VkdXJlQ2FsbE5vZGUpLFxuICAgICAgICAgIHJlZmVyZW5jZU5vZGUgPSBwcm9jZWR1cmVDYWxsUmVmZXJlbmNlTm9kLCAgLy8vXG4gICAgICAgICAgcmVmZXJlbmNlID0gcmVmZXJlbmNlRnJvbVJlZmVyZW5jZU5vZGUocmVmZXJlbmNlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gcmVmZXJlbmNlO1xuICB9XG59KTtcblxuZnVuY3Rpb24gcmVmZXJlbmNlRnJvbVJlZmVyZW5jZU5vZGUocmVmZXJlbmNlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFJlZmVyZW5jZSB9ID0gZG9tLFxuICAgICAgICBuYW1lID0gbmFtZUZyb21SZWZlcmVuY2VOb2RlKHJlZmVyZW5jZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTmFtZShuYW1lLCBjb250ZXh0KSxcbiAgICAgICAgcmVmZXJlbmNlID0gbmV3IFJlZmVyZW5jZShzdHJpbmcsIG5hbWUpO1xuXG4gIHJldHVybiByZWZlcmVuY2U7XG59XG5cbmZ1bmN0aW9uIG5hbWVGcm9tUmVmZXJlbmNlTm9kZShyZWZlcmVuY2VOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHJlZmVyZW5jZU5hbWVUZXJtaW5hbE5vZGUgPSByZWZlcmVuY2VOYW1lVGVybWluYWxOb2RlUXVlcnkocmVmZXJlbmNlTm9kZSksXG4gICAgICAgIHJlZmVyZW5jZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50ID0gcmVmZXJlbmNlTmFtZVRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIG5hbWUgPSByZWZlcmVuY2VOYW1lVGVybWluYWxOb2RlQ29udGVudDsgLy8vXG5cbiAgcmV0dXJuIG5hbWU7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21OYW1lKG5hbWUsIGNvbnRleHQpIHtcbiAgY29uc3QgbmFtZVN0cmluZyA9IG5hbWUsICAvLy9cbiAgICAgICAgc3RyaW5nID0gbmFtZVN0cmluZzsgIC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsicHJvY2VkdXJlQ2FsbFJlZmVyZW5jZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInJlZmVyZW5jZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiUmVmZXJlbmNlIiwic3RyaW5nIiwibmFtZSIsImdldFN0cmluZyIsImdldE5hbWUiLCJmcm9tUmVmZXJlbmNlTm9kZSIsInJlZmVyZW5jZU5vZGUiLCJjb250ZXh0IiwicmVmZXJlbmNlIiwicmVmZXJlbmNlRnJvbVJlZmVyZW5jZU5vZGUiLCJmcm9tUHJvY2VkdXJlQ2FsbE5vZGUiLCJwcm9jZWR1cmVDYWxsTm9kZSIsInByb2NlZHVyZUNhbGxSZWZlcmVuY2VOb2QiLCJkb20iLCJuYW1lRnJvbVJlZmVyZW5jZU5vZGUiLCJzdHJpbmdGcm9tTmFtZSIsInJlZmVyZW5jZU5hbWVUZXJtaW5hbE5vZGUiLCJyZWZlcmVuY2VOYW1lVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJuYW1lU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFVQTs7O2VBQUE7OzsyREFSZ0I7cUJBRVU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSxrQ0FBa0NDLElBQUFBLGdCQUFTLEVBQUMsOEJBQzVDQyxpQ0FBaUNELElBQUFBLGdCQUFTLEVBQUM7SUFFakQsV0FBZUUsSUFBQUEsZ0JBQVcsOEJBQUM7YUFBTUMsVUFDbkJDLE1BQU0sRUFBRUMsSUFBSTtnQ0FET0Y7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOzs7O1lBR2RDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsTUFBTTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7OztZQUlPRyxLQUFBQTttQkFBUCxTQUFPQSxrQkFBa0JDLGFBQWEsRUFBRUMsT0FBTztnQkFDN0MsSUFBTUMsWUFBWUMsMkJBQTJCSCxlQUFlQztnQkFFNUQsT0FBT0M7WUFDVDs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLHNCQUFzQkMsaUJBQWlCLEVBQUVKLE9BQU87Z0JBQ3JELElBQU1LLDRCQUE0QmhCLGdDQUFnQ2Usb0JBQzVETCxnQkFBZ0JNLDJCQUNoQkosWUFBWUMsMkJBQTJCSCxlQUFlQztnQkFFNUQsT0FBT0M7WUFDVDs7OztLQWRBLDZCQUFPTixRQUFPO0FBaUJoQixTQUFTTywyQkFBMkJILGFBQWEsRUFBRUMsT0FBTztJQUN4RCxJQUFNLEFBQUVQLFlBQWNhLFlBQUcsQ0FBakJiLFdBQ0ZFLE9BQU9ZLHNCQUFzQlIsZUFBZUMsVUFDNUNOLFNBQVNjLGVBQWViLE1BQU1LLFVBQzlCQyxZQUFZLElBQUlSLFVBQVVDLFFBQVFDO0lBRXhDLE9BQU9NO0FBQ1Q7QUFFQSxTQUFTTSxzQkFBc0JSLGFBQWEsRUFBRUMsT0FBTztJQUNuRCxJQUFNUyw0QkFBNEJsQiwrQkFBK0JRLGdCQUMzRFcsbUNBQW1DRCwwQkFBMEJFLFVBQVUsSUFDdkVoQixPQUFPZSxrQ0FBa0MsR0FBRztJQUVsRCxPQUFPZjtBQUNUO0FBRUEsU0FBU2EsZUFBZWIsSUFBSSxFQUFFSyxPQUFPO0lBQ25DLElBQU1ZLGFBQWFqQixNQUNiRCxTQUFTa0IsWUFBYSxHQUFHO0lBRS9CLE9BQU9sQjtBQUNUIn0=