occam-furtle 2.0.80 → 2.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/constants.js +9 -1
- package/lib/dom/assignment/array.js +6 -2
- package/lib/dom/assignment/object.js +6 -2
- package/lib/dom/assignment/variable.js +6 -2
- package/lib/dom/assignments/variable.js +10 -2
- package/lib/dom/block/return.js +8 -4
- package/lib/dom/block.js +6 -2
- package/lib/dom/comparison.js +7 -3
- package/lib/dom/conditionalBlocks.js +8 -8
- package/lib/dom/declaration/procedure.js +6 -2
- package/lib/dom/parameter/named.js +10 -2
- package/lib/dom/parameters/named.js +10 -2
- package/lib/dom/procedure/anonymous.js +9 -2
- package/lib/dom/procedureCall/anonymous.js +6 -2
- package/lib/dom/reduce.js +34 -32
- package/lib/dom/statement/return.js +6 -2
- package/lib/dom/ternary.js +5 -7
- package/lib/dom/value/bitwise.js +7 -3
- package/lib/dom/value/bracketed.js +6 -2
- package/lib/dom/value/negated.js +6 -2
- package/lib/dom/value.js +29 -22
- package/lib/dom/values.js +7 -1
- package/lib/dom/variable.js +9 -2
- package/lib/nodeProperty.js +2 -2
- package/package.json +5 -5
- package/src/constants.js +2 -0
- package/src/dom/assignment/array.js +10 -3
- package/src/dom/assignment/object.js +10 -3
- package/src/dom/assignment/variable.js +9 -2
- package/src/dom/assignments/variable.js +18 -4
- package/src/dom/block/return.js +12 -6
- package/src/dom/block.js +9 -4
- package/src/dom/comparison.js +15 -5
- package/src/dom/conditionalBlocks.js +10 -10
- package/src/dom/declaration/procedure.js +8 -2
- package/src/dom/parameter/named.js +14 -2
- package/src/dom/parameters/named.js +16 -2
- package/src/dom/procedure/anonymous.js +9 -0
- package/src/dom/procedureCall/anonymous.js +10 -3
- package/src/dom/reduce.js +44 -44
- package/src/dom/statement/return.js +8 -2
- package/src/dom/ternary.js +8 -15
- package/src/dom/value/bitwise.js +14 -4
- package/src/dom/value/bracketed.js +9 -3
- package/src/dom/value/negated.js +9 -3
- package/src/dom/value.js +30 -21
- package/src/dom/values.js +4 -0
- package/src/dom/variable.js +9 -0
- package/src/nodeProperty.js +1 -1
package/lib/dom/variable.js
CHANGED
|
@@ -90,7 +90,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
90
90
|
return newObj;
|
|
91
91
|
}
|
|
92
92
|
var _Variable;
|
|
93
|
-
var someVariableNodeQuery = (0, _query.nodeQuery)("/some/variable"), valueVariableNodeQuery = (0, _query.nodeQuery)("/value/variable"), everyVariableNodeQuery = (0, _query.nodeQuery)("/every/variable"), nodeQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodeQuery/variable"), nodesQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodesQuery/variable"), variableNameTerminalNodeQuery = (0, _query.nodeQuery)("/variable/@name"), arrayAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/arrayAssignment/variable"), objectAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/objectAssignment/variable"), variableAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/variableAssignment/variable");
|
|
93
|
+
var someVariableNodeQuery = (0, _query.nodeQuery)("/some/variable"), valueVariableNodeQuery = (0, _query.nodeQuery)("/value/variable"), everyVariableNodeQuery = (0, _query.nodeQuery)("/every/variable"), reduceVariableNodeQuery = (0, _query.nodeQuery)("/reduce/variable"), nodeQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodeQuery/variable"), nodesQueryVariableNodeQuery = (0, _query.nodeQuery)("/nodesQuery/variable"), variableNameTerminalNodeQuery = (0, _query.nodeQuery)("/variable/@name"), arrayAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/arrayAssignment/variable"), objectAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/objectAssignment/variable"), variableAssignmentVariableNodeQuery = (0, _query.nodeQuery)("/variableAssignment/variable");
|
|
94
94
|
var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
|
|
95
95
|
function Variable(string, type, name, value) {
|
|
96
96
|
_class_call_check(this, Variable);
|
|
@@ -200,6 +200,13 @@ var _default = (0, _dom.domAssigned)((_Variable = /*#__PURE__*/ function() {
|
|
|
200
200
|
return variable;
|
|
201
201
|
}
|
|
202
202
|
},
|
|
203
|
+
{
|
|
204
|
+
key: "fromReduceNode",
|
|
205
|
+
value: function fromReduceNode(reduceNode, context) {
|
|
206
|
+
var reduceVariableNode = reduceVariableNodeQuery(reduceNode), variableNode = reduceVariableNode, variable = variableFromVariableNode(variableNode, context);
|
|
207
|
+
return variable;
|
|
208
|
+
}
|
|
209
|
+
},
|
|
203
210
|
{
|
|
204
211
|
key: "fromNodeQueryNode",
|
|
205
212
|
value: function fromNodeQueryNode(nodeQueryNode, context) {
|
|
@@ -272,4 +279,4 @@ function nameFromVariableNode(variableNode) {
|
|
|
272
279
|
return name;
|
|
273
280
|
}
|
|
274
281
|
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5jb25zdCBzb21lVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc29tZS92YXJpYWJsZVwiKSxcbiAgICAgIHZhbHVlVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvdmFyaWFibGVcIiksXG4gICAgICBldmVyeVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2V2ZXJ5L3ZhcmlhYmxlXCIpLFxuICAgICAgbm9kZVF1ZXJ5VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbm9kZVF1ZXJ5L3ZhcmlhYmxlXCIpLFxuICAgICAgbm9kZXNRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25vZGVzUXVlcnkvdmFyaWFibGVcIiksXG4gICAgICB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZS9AbmFtZVwiKSxcbiAgICAgIGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FycmF5QXNzaWdubWVudC92YXJpYWJsZVwiKSxcbiAgICAgIG9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9vYmplY3RBc3NpZ25tZW50L3ZhcmlhYmxlXCIpLFxuICAgICAgdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVBc3NpZ25tZW50L3ZhcmlhYmxlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdHlwZSwgbmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKSB7XG4gICAgY29uc3QgbmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSB2YXJpYWJsZU5hbWUpO1xuXG4gICAgcmV0dXJuIG5hbWVNYXRjaGVzO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS4uLmApO1xuXG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gdGhpcy5uYW1lLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ307IHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgdmFsdWUgPSB2YXJpYWJsZS5nZXRWYWx1ZSgpLFxuICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgdG8gdGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYXNzaWduKHZhbHVlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVOYW1lID0gdGhpcy5uYW1lLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEFzc2lnbmluZyB0aGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUgdG8gdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuLi5gKTtcblxuICAgIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgaXMgYWxyZWFkeSBwcmVzZW50LmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFyaWFibGVUeXBlID0gdGhpcy50eXBlO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gdmFyaWFibGVUeXBlKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30gdmFyaWFibGUncyAnJHt2YXJpYWJsZVR5cGV9JyB0eXBlIGRvZXMgbm90IG1hdGNoIHRoZSB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICBjb25zdCB2YXJpYWJsZSA9IHRoaXM7ICAvLy9cblxuICAgIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uYXNzaWduZWQgdGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlIHRvIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLmApO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlZhcmlhYmxlXCI7XG5cbiAgc3RhdGljIGZyb21Tb21lTm9kZShzb21lTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHNvbWVWYXJpYWJsZU5vZGUgPSBzb21lVmFyaWFibGVOb2RlUXVlcnkoc29tZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHNvbWVWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgdmFyaWFibGUgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWVWYXJpYWJsZU5vZGUgPSB2YWx1ZVZhcmlhYmxlTm9kZVF1ZXJ5KHZhbHVlTm9kZSk7XG5cbiAgICBpZiAodmFsdWVWYXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhbHVlVmFyaWFibGVOb2RlOyAvLy9cblxuICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUV2ZXJ5Tm9kZShldmVyeU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBldmVyeVZhcmlhYmxlTm9kZSA9IGV2ZXJ5VmFyaWFibGVOb2RlUXVlcnkoZXZlcnlOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBldmVyeVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFyYW1ldGVyKHBhcmFtZXRlciwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWUgPSBwYXJhbWV0ZXIuZ2V0TmFtZSgpLFxuICAgICAgICAgIHZhbHVlID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoc3RyaW5nLCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGVRdWVyeVZhcmlhYmxlTm9kZSA9IG5vZGVRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5KG5vZGVRdWVyeU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IG5vZGVRdWVyeVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlID0gbm9kZXNRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5KG5vZGVzUXVlcnlOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21OYW1lZFBhcmFtZXRlcihuYW1lZFBhcmFtZXRlciwgY29udGV4dCkge1xuICAgIGNvbnN0IGFzTmFtZSA9IG5hbWVkUGFyYW1ldGVyLmdldEFzTmFtZSgpLFxuICAgICAgICAgIHR5cGUgPSBuYW1lZFBhcmFtZXRlci5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZSA9IChhc05hbWUgIT09IG51bGwpID9cbiAgICAgICAgICAgICAgICAgICBhc05hbWUgOiAvLy9cbiAgICAgICAgICAgICAgICAgICAgIG5hbWVkUGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICB2YWx1ZSA9IG51bGwsXG4gICAgICAgICAgc3RyaW5nID0gbmFtZSwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYWx1ZUFuZFBhcmFtZXRlcih2YWx1ZSwgcGFyYW1ldGVyLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IHBhcmFtZXRlci5nZXRUeXBlKCksXG4gICAgICAgICAgbmFtZSA9IHBhcmFtZXRlci5nZXROYW1lKCksXG4gICAgICAgICAgc3RyaW5nID0gbmFtZSwgIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21WYXJpYWJsZU5vZGVBbmRUeXBlKHZhcmlhYmxlTm9kZSwgdHlwZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGUgPSB2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgICBuYW1lID0gbmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSxcbiAgICAgICAgICB2YWx1ZSA9IG51bGwsXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoc3RyaW5nLCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUFycmF5QXNzaWdubWVudE5vZGUoYXJyYXlBc3NpZ25tZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZSA9IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5KGFycmF5QXNzaWdubWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tT2JqZWN0QXNzaWdubWVudE5vZGUob2JqZWN0QXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlID0gb2JqZWN0QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5KG9iamVjdEFzc2lnbm1lbnROb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50Tm9kZSh0eXBlLCB2YXJpYWJsZUFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlID0gdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkodmFyaWFibGVBc3NpZ25tZW50Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21UeXBlQW5kVmFyaWFibGVOb2RlKHR5cGUsIHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21UeXBlQW5kVmFyaWFibGVOb2RlKHR5cGUsIHZhcmlhYmxlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSB2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgIG5hbWUgPSBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICB2YWx1ZSA9IG51bGwsXG4gICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gIHJldHVybiB2YXJpYWJsZTtcbn1cblxuZnVuY3Rpb24gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFZhcmlhYmxlIH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSB2YXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgIHR5cGUgPSBudWxsLFxuICAgICAgICBuYW1lID0gbmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSxcbiAgICAgICAgdmFsdWUgPSBudWxsLFxuICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShzdHJpbmcsIHR5cGUsIG5hbWUsIHZhbHVlKTtcblxuICByZXR1cm4gdmFyaWFibGU7XG59XG5cbmZ1bmN0aW9uIG5hbWVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSkge1xuICBjb25zdCB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUgPSB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVDb250ZW50ID0gdmFyaWFibGVOYW1lVGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgbmFtZSA9IHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQ7IC8vL1xuXG4gIHJldHVybiBuYW1lO1xufVxuIl0sIm5hbWVzIjpbInNvbWVWYXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZhbHVlVmFyaWFibGVOb2RlUXVlcnkiLCJldmVyeVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5VmFyaWFibGVOb2RlUXVlcnkiLCJub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlUXVlcnkiLCJ2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSIsImFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5Iiwib2JqZWN0QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5IiwidmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkiLCJkb21Bc3NpZ25lZCIsIlZhcmlhYmxlIiwic3RyaW5nIiwidHlwZSIsIm5hbWUiLCJ2YWx1ZSIsImdldFN0cmluZyIsImdldFR5cGUiLCJnZXROYW1lIiwiZ2V0VmFsdWUiLCJtYXRjaFZhcmlhYmxlTmFtZSIsInZhcmlhYmxlTmFtZSIsIm5hbWVNYXRjaGVzIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwidmFyaWFibGVTdHJpbmciLCJ0cmFjZSIsInZhcmlhYmxlUHJlc2VudCIsImlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUiLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJ2YXJpYWJsZSIsImZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lIiwidmFsdWVTdHJpbmciLCJhc1N0cmluZyIsImRlYnVnIiwiYXNzaWduIiwidmFsdWVUeXBlIiwidmFyaWFibGVUeXBlIiwiYWRkVmFyaWFibGUiLCJmcm9tU29tZU5vZGUiLCJzb21lTm9kZSIsInNvbWVWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZU5vZGUiLCJ2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUiLCJmcm9tVmFsdWVOb2RlIiwidmFsdWVOb2RlIiwidmFsdWVWYXJpYWJsZU5vZGUiLCJmcm9tRXZlcnlOb2RlIiwiZXZlcnlOb2RlIiwiZXZlcnlWYXJpYWJsZU5vZGUiLCJmcm9tUGFyYW1ldGVyIiwicGFyYW1ldGVyIiwiZnJvbU5vZGVRdWVyeU5vZGUiLCJub2RlUXVlcnlOb2RlIiwibm9kZVF1ZXJ5VmFyaWFibGVOb2RlIiwiZnJvbU5vZGVzUXVlcnlOb2RlIiwibm9kZXNRdWVyeU5vZGUiLCJub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlIiwiZnJvbU5hbWVkUGFyYW1ldGVyIiwibmFtZWRQYXJhbWV0ZXIiLCJhc05hbWUiLCJnZXRBc05hbWUiLCJmcm9tVmFsdWVBbmRQYXJhbWV0ZXIiLCJmcm9tVmFyaWFibGVOb2RlQW5kVHlwZSIsIm5vZGUiLCJub2RlQXNTdHJpbmciLCJuYW1lRnJvbVZhcmlhYmxlTm9kZSIsImZyb21BcnJheUFzc2lnbm1lbnROb2RlIiwiYXJyYXlBc3NpZ25tZW50Tm9kZSIsImFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZSIsImZyb21PYmplY3RBc3NpZ25tZW50Tm9kZSIsIm9iamVjdEFzc2lnbm1lbnROb2RlIiwib2JqZWN0QXNzaWdubWVudFZhcmlhYmxlTm9kZSIsImZyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsInZhcmlhYmxlQXNzaWdubWVudE5vZGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnRWYXJpYWJsZU5vZGUiLCJ2YXJpYWJsZUZyb21UeXBlQW5kVmFyaWFibGVOb2RlIiwiZG9tIiwidmFyaWFibGVOYW1lVGVybWluYWxOb2RlIiwidmFyaWFibGVOYW1lVGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWtCQTs7O2VBQUE7OzsyREFoQmdCO2dFQUNNO3FCQUVJOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUcxQixJQUFNQSx3QkFBd0JDLElBQUFBLGdCQUFTLEVBQUMsbUJBQ2xDQyx5QkFBeUJELElBQUFBLGdCQUFTLEVBQUMsb0JBQ25DRSx5QkFBeUJGLElBQUFBLGdCQUFTLEVBQUMsb0JBQ25DRyw2QkFBNkJILElBQUFBLGdCQUFTLEVBQUMsd0JBQ3ZDSSw4QkFB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
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuXG5jb25zdCBzb21lVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvc29tZS92YXJpYWJsZVwiKSxcbiAgICAgIHZhbHVlVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvdmFyaWFibGVcIiksXG4gICAgICBldmVyeVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2V2ZXJ5L3ZhcmlhYmxlXCIpLFxuICAgICAgcmVkdWNlVmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvcmVkdWNlL3ZhcmlhYmxlXCIpLFxuICAgICAgbm9kZVF1ZXJ5VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbm9kZVF1ZXJ5L3ZhcmlhYmxlXCIpLFxuICAgICAgbm9kZXNRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25vZGVzUXVlcnkvdmFyaWFibGVcIiksXG4gICAgICB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi92YXJpYWJsZS9AbmFtZVwiKSxcbiAgICAgIGFycmF5QXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2FycmF5QXNzaWdubWVudC92YXJpYWJsZVwiKSxcbiAgICAgIG9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9vYmplY3RBc3NpZ25tZW50L3ZhcmlhYmxlXCIpLFxuICAgICAgdmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFyaWFibGVBc3NpZ25tZW50L3ZhcmlhYmxlXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBWYXJpYWJsZSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdHlwZSwgbmFtZSwgdmFsdWUpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudHlwZTtcbiAgfVxuXG4gIGdldE5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgfVxuXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgbWF0Y2hWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKSB7XG4gICAgY29uc3QgbmFtZU1hdGNoZXMgPSAodGhpcy5uYW1lID09PSB2YXJpYWJsZU5hbWUpO1xuXG4gICAgcmV0dXJuIG5hbWVNYXRjaGVzO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7dmFyaWFibGVTdHJpbmd9JyB2YXJpYWJsZS4uLmApO1xuXG4gICAgY29uc3QgdmFyaWFibGVOYW1lID0gdGhpcy5uYW1lLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGlmICghdmFyaWFibGVQcmVzZW50KSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ307IHZhcmlhYmxlIGlzIG5vdCBwcmVzZW50LidgLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdmFyaWFibGUgPSBjb250ZXh0LmZpbmRWYXJpYWJsZUJ5VmFyaWFibGVOYW1lKHZhcmlhYmxlTmFtZSksXG4gICAgICAgICAgdmFsdWUgPSB2YXJpYWJsZS5nZXRWYWx1ZSgpLFxuICAgICAgICAgIHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgdG8gdGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlLmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgYXNzaWduKHZhbHVlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSwgLy8vXG4gICAgICAgICAgdmFyaWFibGVOYW1lID0gdGhpcy5uYW1lLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVN0cmluZyA9IHRoaXMuc3RyaW5nLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZVByZXNlbnQgPSBjb250ZXh0LmlzVmFyaWFibGVQcmVzZW50QnlWYXJpYWJsZU5hbWUodmFyaWFibGVOYW1lKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEFzc2lnbmluZyB0aGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUgdG8gdGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUuLi5gKTtcblxuICAgIGlmICh2YXJpYWJsZVByZXNlbnQpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgVGhlICcke3ZhcmlhYmxlU3RyaW5nfScgdmFyaWFibGUgaXMgYWxyZWFkeSBwcmVzZW50LmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgdmFyaWFibGVUeXBlID0gdGhpcy50eXBlO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gdmFyaWFibGVUeXBlKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSAnJHt2YXJpYWJsZVN0cmluZ30gdmFyaWFibGUncyAnJHt2YXJpYWJsZVR5cGV9JyB0eXBlIGRvZXMgbm90IG1hdGNoIHRoZSB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUuJ2AsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cbiAgICBjb25zdCB2YXJpYWJsZSA9IHRoaXM7ICAvLy9cblxuICAgIGNvbnRleHQuYWRkVmFyaWFibGUodmFyaWFibGUpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uYXNzaWduZWQgdGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlIHRvIHRoZSAnJHt2YXJpYWJsZVN0cmluZ30nIHZhcmlhYmxlLmApO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlZhcmlhYmxlXCI7XG5cbiAgc3RhdGljIGZyb21Tb21lTm9kZShzb21lTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHNvbWVWYXJpYWJsZU5vZGUgPSBzb21lVmFyaWFibGVOb2RlUXVlcnkoc29tZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHNvbWVWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgdmFyaWFibGUgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWVWYXJpYWJsZU5vZGUgPSB2YWx1ZVZhcmlhYmxlTm9kZVF1ZXJ5KHZhbHVlTm9kZSk7XG5cbiAgICBpZiAodmFsdWVWYXJpYWJsZU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhcmlhYmxlTm9kZSA9IHZhbHVlVmFyaWFibGVOb2RlOyAvLy9cblxuICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbUV2ZXJ5Tm9kZShldmVyeU5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCBldmVyeVZhcmlhYmxlTm9kZSA9IGV2ZXJ5VmFyaWFibGVOb2RlUXVlcnkoZXZlcnlOb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSBldmVyeVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tUGFyYW1ldGVyKHBhcmFtZXRlciwgY29udGV4dCkge1xuICAgIGNvbnN0IHR5cGUgPSBwYXJhbWV0ZXIuZ2V0VHlwZSgpLFxuICAgICAgICAgIG5hbWUgPSBwYXJhbWV0ZXIuZ2V0TmFtZSgpLFxuICAgICAgICAgIHZhbHVlID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoc3RyaW5nLCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVJlZHVjZU5vZGUocmVkdWNlTm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHJlZHVjZVZhcmlhYmxlTm9kZSA9IHJlZHVjZVZhcmlhYmxlTm9kZVF1ZXJ5KHJlZHVjZU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IHJlZHVjZVZhcmlhYmxlTm9kZSwgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tTm9kZVF1ZXJ5Tm9kZShub2RlUXVlcnlOb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZVF1ZXJ5VmFyaWFibGVOb2RlID0gbm9kZVF1ZXJ5VmFyaWFibGVOb2RlUXVlcnkobm9kZVF1ZXJ5Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gbm9kZVF1ZXJ5VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG5vZGVzUXVlcnlWYXJpYWJsZU5vZGUgPSBub2Rlc1F1ZXJ5VmFyaWFibGVOb2RlUXVlcnkobm9kZXNRdWVyeU5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IG5vZGVzUXVlcnlWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBjb250ZXh0KSB7XG4gICAgY29uc3QgYXNOYW1lID0gbmFtZWRQYXJhbWV0ZXIuZ2V0QXNOYW1lKCksXG4gICAgICAgICAgdHlwZSA9IG5hbWVkUGFyYW1ldGVyLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gKGFzTmFtZSAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgIGFzTmFtZSA6IC8vL1xuICAgICAgICAgICAgICAgICAgICAgbmFtZWRQYXJhbWV0ZXIuZ2V0TmFtZSgpLFxuICAgICAgICAgIHZhbHVlID0gbnVsbCxcbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoc3RyaW5nLCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhbHVlQW5kUGFyYW1ldGVyKHZhbHVlLCBwYXJhbWV0ZXIsIGNvbnRleHQpIHtcbiAgICBjb25zdCB0eXBlID0gcGFyYW1ldGVyLmdldFR5cGUoKSxcbiAgICAgICAgICBuYW1lID0gcGFyYW1ldGVyLmdldE5hbWUoKSxcbiAgICAgICAgICBzdHJpbmcgPSBuYW1lLCAgLy8vXG4gICAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoc3RyaW5nLCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUodmFyaWFibGVOb2RlLCB0eXBlLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgbm9kZSA9IHZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICAgIHN0cmluZyA9IGNvbnRleHQubm9kZUFzU3RyaW5nKG5vZGUpLFxuICAgICAgICAgIG5hbWUgPSBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICAgIHZhbHVlID0gbnVsbCxcbiAgICAgICAgICB2YXJpYWJsZSA9IG5ldyBWYXJpYWJsZShzdHJpbmcsIHR5cGUsIG5hbWUsIHZhbHVlKTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tQXJyYXlBc3NpZ25tZW50Tm9kZShhcnJheUFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSB7XG4gICAgY29uc3QgYXJyYXlBc3NpZ25tZW50VmFyaWFibGVOb2RlID0gYXJyYXlBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkoYXJyYXlBc3NpZ25tZW50Tm9kZSksXG4gICAgICAgICAgdmFyaWFibGVOb2RlID0gYXJyYXlBc3NpZ25tZW50VmFyaWFibGVOb2RlLCAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUsIGNvbnRleHQpO1xuXG4gICAgcmV0dXJuIHZhcmlhYmxlO1xuICB9XG5cbiAgc3RhdGljIGZyb21PYmplY3RBc3NpZ25tZW50Tm9kZShvYmplY3RBc3NpZ25tZW50Tm9kZSwgY29udGV4dCkge1xuICAgIGNvbnN0IG9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGUgPSBvYmplY3RBc3NpZ25tZW50VmFyaWFibGVOb2RlUXVlcnkob2JqZWN0QXNzaWdubWVudE5vZGUpLFxuICAgICAgICAgIHZhcmlhYmxlTm9kZSA9IG9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGUsIC8vL1xuICAgICAgICAgIHZhcmlhYmxlID0gdmFyaWFibGVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnROb2RlKHR5cGUsIHZhcmlhYmxlQXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRWYXJpYWJsZU5vZGUgPSB2YXJpYWJsZUFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSh2YXJpYWJsZUFzc2lnbm1lbnROb2RlKSxcbiAgICAgICAgICB2YXJpYWJsZU5vZGUgPSB2YXJpYWJsZUFzc2lnbm1lbnRWYXJpYWJsZU5vZGUsICAvLy9cbiAgICAgICAgICB2YXJpYWJsZSA9IHZhcmlhYmxlRnJvbVR5cGVBbmRWYXJpYWJsZU5vZGUodHlwZSwgdmFyaWFibGVOb2RlLCBjb250ZXh0KTtcblxuICAgIHJldHVybiB2YXJpYWJsZTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHZhcmlhYmxlRnJvbVR5cGVBbmRWYXJpYWJsZU5vZGUodHlwZSwgdmFyaWFibGVOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgbm9kZSA9IHZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgbmFtZSA9IG5hbWVGcm9tVmFyaWFibGVOb2RlKHZhcmlhYmxlTm9kZSksXG4gICAgICAgIHZhbHVlID0gbnVsbCxcbiAgICAgICAgdmFyaWFibGUgPSBuZXcgVmFyaWFibGUoc3RyaW5nLCB0eXBlLCBuYW1lLCB2YWx1ZSk7XG5cbiAgcmV0dXJuIHZhcmlhYmxlO1xufVxuXG5mdW5jdGlvbiB2YXJpYWJsZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFyaWFibGUgfSA9IGRvbSxcbiAgICAgICAgbm9kZSA9IHZhcmlhYmxlTm9kZSwgIC8vL1xuICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgdHlwZSA9IG51bGwsXG4gICAgICAgIG5hbWUgPSBuYW1lRnJvbVZhcmlhYmxlTm9kZSh2YXJpYWJsZU5vZGUpLFxuICAgICAgICB2YWx1ZSA9IG51bGwsXG4gICAgICAgIHZhcmlhYmxlID0gbmV3IFZhcmlhYmxlKHN0cmluZywgdHlwZSwgbmFtZSwgdmFsdWUpO1xuXG4gIHJldHVybiB2YXJpYWJsZTtcbn1cblxuZnVuY3Rpb24gbmFtZUZyb21WYXJpYWJsZU5vZGUodmFyaWFibGVOb2RlKSB7XG4gIGNvbnN0IHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZSA9IHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZVF1ZXJ5KHZhcmlhYmxlTm9kZSksXG4gICAgICAgIHZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQgPSB2YXJpYWJsZU5hbWVUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBuYW1lID0gdmFyaWFibGVOYW1lVGVybWluYWxOb2RlQ29udGVudDsgLy8vXG5cbiAgcmV0dXJuIG5hbWU7XG59XG4iXSwibmFtZXMiOlsic29tZVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFsdWVWYXJpYWJsZU5vZGVRdWVyeSIsImV2ZXJ5VmFyaWFibGVOb2RlUXVlcnkiLCJyZWR1Y2VWYXJpYWJsZU5vZGVRdWVyeSIsIm5vZGVRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeVZhcmlhYmxlTm9kZVF1ZXJ5IiwidmFyaWFibGVOYW1lVGVybWluYWxOb2RlUXVlcnkiLCJhcnJheUFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSIsIm9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGVRdWVyeSIsInZhcmlhYmxlQXNzaWdubWVudFZhcmlhYmxlTm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJWYXJpYWJsZSIsInN0cmluZyIsInR5cGUiLCJuYW1lIiwidmFsdWUiLCJnZXRTdHJpbmciLCJnZXRUeXBlIiwiZ2V0TmFtZSIsImdldFZhbHVlIiwibWF0Y2hWYXJpYWJsZU5hbWUiLCJ2YXJpYWJsZU5hbWUiLCJuYW1lTWF0Y2hlcyIsImV2YWx1YXRlIiwiY29udGV4dCIsInZhcmlhYmxlU3RyaW5nIiwidHJhY2UiLCJ2YXJpYWJsZVByZXNlbnQiLCJpc1ZhcmlhYmxlUHJlc2VudEJ5VmFyaWFibGVOYW1lIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFyaWFibGUiLCJmaW5kVmFyaWFibGVCeVZhcmlhYmxlTmFtZSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJkZWJ1ZyIsImFzc2lnbiIsInZhbHVlVHlwZSIsInZhcmlhYmxlVHlwZSIsImFkZFZhcmlhYmxlIiwiZnJvbVNvbWVOb2RlIiwic29tZU5vZGUiLCJzb21lVmFyaWFibGVOb2RlIiwidmFyaWFibGVOb2RlIiwidmFyaWFibGVGcm9tVmFyaWFibGVOb2RlIiwiZnJvbVZhbHVlTm9kZSIsInZhbHVlTm9kZSIsInZhbHVlVmFyaWFibGVOb2RlIiwiZnJvbUV2ZXJ5Tm9kZSIsImV2ZXJ5Tm9kZSIsImV2ZXJ5VmFyaWFibGVOb2RlIiwiZnJvbVBhcmFtZXRlciIsInBhcmFtZXRlciIsImZyb21SZWR1Y2VOb2RlIiwicmVkdWNlTm9kZSIsInJlZHVjZVZhcmlhYmxlTm9kZSIsImZyb21Ob2RlUXVlcnlOb2RlIiwibm9kZVF1ZXJ5Tm9kZSIsIm5vZGVRdWVyeVZhcmlhYmxlTm9kZSIsImZyb21Ob2Rlc1F1ZXJ5Tm9kZSIsIm5vZGVzUXVlcnlOb2RlIiwibm9kZXNRdWVyeVZhcmlhYmxlTm9kZSIsImZyb21OYW1lZFBhcmFtZXRlciIsIm5hbWVkUGFyYW1ldGVyIiwiYXNOYW1lIiwiZ2V0QXNOYW1lIiwiZnJvbVZhbHVlQW5kUGFyYW1ldGVyIiwiZnJvbVZhcmlhYmxlTm9kZUFuZFR5cGUiLCJub2RlIiwibm9kZUFzU3RyaW5nIiwibmFtZUZyb21WYXJpYWJsZU5vZGUiLCJmcm9tQXJyYXlBc3NpZ25tZW50Tm9kZSIsImFycmF5QXNzaWdubWVudE5vZGUiLCJhcnJheUFzc2lnbm1lbnRWYXJpYWJsZU5vZGUiLCJmcm9tT2JqZWN0QXNzaWdubWVudE5vZGUiLCJvYmplY3RBc3NpZ25tZW50Tm9kZSIsIm9iamVjdEFzc2lnbm1lbnRWYXJpYWJsZU5vZGUiLCJmcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudE5vZGUiLCJ2YXJpYWJsZUFzc2lnbm1lbnROb2RlIiwidmFyaWFibGVBc3NpZ25tZW50VmFyaWFibGVOb2RlIiwidmFyaWFibGVGcm9tVHlwZUFuZFZhcmlhYmxlTm9kZSIsImRvbSIsInZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZSIsInZhcmlhYmxlTmFtZVRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtQkE7OztlQUFBOzs7MkRBakJnQjtnRUFDTTtxQkFFSTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFHMUIsSUFBTUEsd0JBQXdCQyxJQUFBQSxnQkFBUyxFQUFDLG1CQUNsQ0MseUJBQXlCRCxJQUFBQSxnQkFBUyxFQUFDLG9CQUNuQ0UseUJBQXlCRixJQUFBQSxnQkFBUyxFQUFDLG9CQUNuQ0csMEJBQTBCSCxJQUFBQSxnQkFBUyxFQUFDLHFCQUNwQ0ksNkJBQTZCSixJQUFBQSxnQkFBUyxFQUFDLHdCQUN2Q0ssOEJBQThCTCxJQUFBQSxnQkFBUyxFQUFDLHlCQUN4Q00sZ0NBQWdDTixJQUFBQSxnQkFBUyxFQUFDLG9CQUMxQ08sbUNBQW1DUCxJQUFBQSxnQkFBUyxFQUFDLDhCQUM3Q1Esb0NBQW9DUixJQUFBQSxnQkFBUyxFQUFDLCtCQUM5Q1Msc0NBQXNDVCxJQUFBQSxnQkFBUyxFQUFDO0lBRXRELFdBQWVVLElBQUFBLGdCQUFXLDZCQUFDO2FBQU1DLFNBQ25CQyxNQUFNLEVBQUVDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxLQUFLO2dDQUROSjtRQUU3QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7Ozs7WUFHZkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixNQUFNO1lBQ3BCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxD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
|
package/lib/nodeProperty.js
CHANGED
|
@@ -92,9 +92,9 @@ var NodeProperty = /*#__PURE__*/ function() {
|
|
|
92
92
|
return NodeProperty;
|
|
93
93
|
}();
|
|
94
94
|
_define_property(NodeProperty, "name", "Parameter");
|
|
95
|
-
function stringFromNameAndType(name, type) {
|
|
95
|
+
function stringFromNameAndType(name, type, context) {
|
|
96
96
|
var string = "".concat(type, " ").concat(name);
|
|
97
97
|
return string;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlUHJvcGVydHkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vZGVQcm9wZXJ0eSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdHlwZSwgbmFtZSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRUeXBlKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBtYXRjaE5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBjb250ZXh0KSB7XG4gICAgbGV0IG5hbWVkUGFyYW1ldGVyTWF0Y2hlcztcblxuICAgIGNvbnN0IG5vZGVQcm9wZXJ0eVN0cmluZyA9IHRoaXMuc3RyaW5nLCAvLy9cbiAgICAgICAgICBuYW1lZFBhcmFtZXRlclN0cmluZyA9IG5hbWVkUGFyYW1ldGVyLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgTWF0Y2hpbmcgdGhlICcke25vZGVQcm9wZXJ0eVN0cmluZ30nIG5vZGUgcHJvcGVydHkgYWdhaW5zdCB0aGUgJyR7bmFtZWRQYXJhbWV0ZXJTdHJpbmd9JyBuYW1lZCBwYXJhbWV0ZXIuLi5gKTtcblxuICAgIGNvbnN0IG5hbWUgPSBuYW1lZFBhcmFtZXRlci5nZXROYW1lKCksXG4gICAgICAgICAgdHlwZSA9IG5hbWVkUGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIG5hbWVkUGFyYW1ldGVyTWF0Y2hlcyA9ICgodGhpcy5uYW1lID09PSBuYW1lKSAmJiAodGhpcy50eXBlID09PSB0eXBlKSk7XG5cbiAgICBpZiAobmFtZWRQYXJhbWV0ZXJNYXRjaGVzKSB7XG4gICAgICBjb250ZXh0LmRlYnVnKGAuLi5tYXRjaGVkIHRoZSAnJHtub2RlUHJvcGVydHlTdHJpbmd9JyBub2RlIHByb3BlcnR5IGFnYWluc3QgdGhlICcke25hbWVkUGFyYW1ldGVyU3RyaW5nfScgbmFtZWQgcGFyYW1ldGVyLmApO1xuICAgIH1cblxuICAgIHJldHVybiBuYW1lZFBhcmFtZXRlck1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiUGFyYW1ldGVyXCI7XG5cbiAgc3RhdGljIGZyb21OYW1lQW5kVHlwZShuYW1lLCB0eXBlLCBjb250ZXh0KSB7XG4gICAgY29uc3Qgc3RyaW5nID0gc3RyaW5nRnJvbU5hbWVBbmRUeXBlKG5hbWUsIHR5cGUsIGNvbnRleHQpLFxuICAgICAgICAgIG5vZGVQcm9wZXJ0eSA9IG5ldyBOb2RlUHJvcGVydHkoc3RyaW5nLCB0eXBlLCBuYW1lKTtcblxuICAgIHJldHVybiBub2RlUHJvcGVydHk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21OYW1lQW5kVHlwZShuYW1lLCB0eXBlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHN0cmluZyA9IGAke3R5cGV9ICR7bmFtZX1gO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiTm9kZVByb3BlcnR5Iiwic3RyaW5nIiwidHlwZSIsIm5hbWUiLCJnZXRTdHJpbmciLCJnZXRUeXBlIiwiZ2V0TmFtZSIsIm1hdGNoTmFtZWRQYXJhbWV0ZXIiLCJuYW1lZFBhcmFtZXRlciIsImNvbnRleHQiLCJuYW1lZFBhcmFtZXRlck1hdGNoZXMiLCJub2RlUHJvcGVydHlTdHJpbmciLCJuYW1lZFBhcmFtZXRlclN0cmluZyIsInRyYWNlIiwiZGVidWciLCJmcm9tTmFtZUFuZFR5cGUiLCJzdHJpbmdGcm9tTmFtZUFuZFR5cGUiLCJub2RlUHJvcGVydHkiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O2VBRXFCQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBTixJQUFBLEFBQU1BLDZCQUFOO2FBQU1BLGFBQ1BDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJO2dDQURYSDtRQUVqQixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLElBQUksR0FBR0E7O2tCQUpLSDs7WUFPbkJJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsSUFBSTtZQUNsQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsSUFBSTtZQUNsQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQSxvQkFBb0JDLGNBQWMsRUFBRUMsT0FBTztnQkFDekMsSUFBSUM7Z0JBRUosSUFBTUMscUJBQXFCLElBQUksQ0FBQ1YsTUFBTSxFQUNoQ1csdUJBQXVCSixlQUFlSixTQUFTO2dCQUVyREssUUFBUUksS0FBSyxDQUFDLEFBQUMsaUJBQWtFRCxPQUFsREQsb0JBQW1CLGlDQUFvRCxPQUFyQkMsc0JBQXFCO2dCQUV0RyxJQUFNVCxPQUFPSyxlQUFlRixPQUFPLElBQzdCSixPQUFPTSxlQUFlSCxPQUFPO2dCQUVuQ0ssd0JBQXlCLEFBQUMsSUFBSSxDQUFDUCxJQUFJLEtBQUtBLFFBQVUsSUFBSSxDQUFDRCxJQUFJLEtBQUtBO2dCQUVoRSxJQUFJUSx1QkFBdUI7b0JBQ3pCRCxRQUFRSyxLQUFLLENBQUMsQUFBQyxtQkFBb0VGLE9BQWxERCxvQkFBbUIsaUNBQW9ELE9BQXJCQyxzQkFBcUI7Z0JBQzFHO2dCQUVBLE9BQU9GO1lBQ1Q7Ozs7WUFJT0ssS0FBQUE7bUJBQVAsU0FBT0EsZ0JBQWdCWixJQUFJLEVBQUVELElBQUksRUFBRU8sT0FBTztnQkFDeEMsSUFBTVIsU0FBU2Usc0JBQXNCYixNQUFNRCxNQUFNTyxVQUMzQ1EsZUFBZSxJQTNDSmpCLGFBMkNxQkMsUUFBUUMsTUFBTUM7Z0JBRXBELE9BQU9jO1lBQ1Q7OztXQTlDbUJqQjs7QUF1Q25CLGlCQXZDbUJBLGNBdUNaRyxRQUFPO0FBVWhCLFNBQVNhLHNCQUFzQmIsSUFBSSxFQUFFRCxJQUFJLEVBQUVPLE9BQU87SUFDaEQsSUFBTVIsU0FBUyxBQUFDLEdBQVVFLE9BQVJELE1BQUssS0FBUSxPQUFMQztJQUUxQixPQUFPRjtBQUNUIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.82",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -11,13 +11,13 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.3.2",
|
|
14
|
-
"occam-grammars": "^1.3.
|
|
14
|
+
"occam-grammars": "^1.3.179"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@swc/core": "^1.5.6",
|
|
18
|
-
"occam-custom-grammars": "^5.0.
|
|
19
|
-
"occam-entities": "^1.0.
|
|
20
|
-
"occam-query": "^4.1.
|
|
18
|
+
"occam-custom-grammars": "^5.0.1094",
|
|
19
|
+
"occam-entities": "^1.0.303",
|
|
20
|
+
"occam-query": "^4.1.35",
|
|
21
21
|
"watchful-cli": "^1.7.56"
|
|
22
22
|
},
|
|
23
23
|
"scripts": {
|
package/src/constants.js
CHANGED
|
@@ -5,5 +5,7 @@ export const TRUE = "true";
|
|
|
5
5
|
export const FALSE = "false";
|
|
6
6
|
export const FUNCTION = "function";
|
|
7
7
|
export const EQUAL_TO = "==";
|
|
8
|
+
export const CONJUNCTION = "&&";
|
|
8
9
|
export const DISJUNCTION = "||";
|
|
9
10
|
export const EMPTY_STRING = "";
|
|
11
|
+
export const NOT_EQUAL_TO = "!=";
|
|
@@ -102,10 +102,9 @@ export default domAssigned(class ArrayAssigment {
|
|
|
102
102
|
|
|
103
103
|
if (arrayAssignmentNode !== null) {
|
|
104
104
|
const { Variable, Parameters } = dom,
|
|
105
|
-
|
|
106
|
-
string = context.nodeAsString(node),
|
|
105
|
+
parameters = Parameters.fromArrayAssignmentNode(arrayAssignmentNode, context),
|
|
107
106
|
variable = Variable.fromArrayAssignmentNode(arrayAssignmentNode, context),
|
|
108
|
-
|
|
107
|
+
string = stringFromVariableAndParameters(variable, parameters, context);
|
|
109
108
|
|
|
110
109
|
arrayAssignment = new ArrayAssigment(string, variable, parameters);
|
|
111
110
|
}
|
|
@@ -113,3 +112,11 @@ export default domAssigned(class ArrayAssigment {
|
|
|
113
112
|
return arrayAssignment;
|
|
114
113
|
}
|
|
115
114
|
});
|
|
115
|
+
|
|
116
|
+
function stringFromVariableAndParameters(variable, parameters, context) {
|
|
117
|
+
const variableString = variable.getString(),
|
|
118
|
+
parametersString = parameters.getString(),
|
|
119
|
+
string = `[ ${parametersString} ] = ${variableString};`;
|
|
120
|
+
|
|
121
|
+
return string;
|
|
122
|
+
}
|
|
@@ -187,10 +187,9 @@ export default domAssigned(class ObjectAssigment {
|
|
|
187
187
|
|
|
188
188
|
if (objectAssignmentNode !== null) {
|
|
189
189
|
const { Variable, NamedParameters } = dom,
|
|
190
|
-
|
|
191
|
-
string = context.nodeAsString(node),
|
|
190
|
+
namedParameters = NamedParameters.fromObjectAssignmentNode(objectAssignmentNode, context),
|
|
192
191
|
variable = Variable.fromObjectAssignmentNode(objectAssignmentNode, context),
|
|
193
|
-
|
|
192
|
+
string = stringFromVariableAndNamesParameters(variable, namedParameters, context);
|
|
194
193
|
|
|
195
194
|
objectAssignment = new ObjectAssigment(string, variable, namedParameters);
|
|
196
195
|
}
|
|
@@ -198,3 +197,11 @@ export default domAssigned(class ObjectAssigment {
|
|
|
198
197
|
return objectAssignment;
|
|
199
198
|
}
|
|
200
199
|
});
|
|
200
|
+
|
|
201
|
+
function stringFromVariableAndNamesParameters(variable, namedParameters, context) {
|
|
202
|
+
const namedParametersString = namedParameters.getString(),
|
|
203
|
+
variableString = variable.getString(),
|
|
204
|
+
string = `{ ${namedParametersString} } = ${variableString};`;
|
|
205
|
+
|
|
206
|
+
return string;
|
|
207
|
+
}
|
|
@@ -50,11 +50,18 @@ export default domAssigned(class VariableAssignment {
|
|
|
50
50
|
|
|
51
51
|
function variableAssignmentFromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context) {
|
|
52
52
|
const { Variable, Value, VariableAssignment } = dom,
|
|
53
|
-
node = variableAssignmentNode, ///
|
|
54
|
-
string = context.nodeAsString(node),
|
|
55
53
|
value = Value.fromVariableAssignmentNode(variableAssignmentNode, context),
|
|
56
54
|
variable = Variable.fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context),
|
|
55
|
+
string = stringFromValueAndVariable(value, variable, context),
|
|
57
56
|
assignment = new VariableAssignment(string, variable, value);
|
|
58
57
|
|
|
59
58
|
return assignment;
|
|
60
59
|
}
|
|
60
|
+
|
|
61
|
+
function stringFromValueAndVariable(value, variable, context) {
|
|
62
|
+
const variableString = variable.getString(),
|
|
63
|
+
valueString = value.getString(),
|
|
64
|
+
string = `${variableString} = ${valueString};`;
|
|
65
|
+
|
|
66
|
+
return string;
|
|
67
|
+
}
|
|
@@ -43,10 +43,9 @@ export default domAssigned(class VariableAssignments {
|
|
|
43
43
|
const variableAssignmentsNode = variableAssignmentsNodeQuery(stepNode);
|
|
44
44
|
|
|
45
45
|
if (variableAssignmentsNode !== null) {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
array = arrayFromTypeAndVariableAssignmentsNode(type, variableAssignmentsNode, context);
|
|
46
|
+
const type = typeFromVariableAssignmentsNode(variableAssignmentsNode, context),
|
|
47
|
+
array = arrayFromTypeAndVariableAssignmentsNode(type, variableAssignmentsNode, context),
|
|
48
|
+
string = stringFromArray(array, context);
|
|
50
49
|
|
|
51
50
|
variableAssignments = new VariableAssignments(string, array);
|
|
52
51
|
}
|
|
@@ -55,6 +54,21 @@ export default domAssigned(class VariableAssignments {
|
|
|
55
54
|
}
|
|
56
55
|
});
|
|
57
56
|
|
|
57
|
+
function stringFromArray(array, context) {
|
|
58
|
+
const variableAssignmentsString = array.reduce((variableAssignmentsString, variableAssignment) => {
|
|
59
|
+
const variableAssignmentString = variableAssignment.getString();
|
|
60
|
+
|
|
61
|
+
variableAssignmentsString = (variableAssignmentsString === null) ?
|
|
62
|
+
variableAssignmentString :
|
|
63
|
+
`${variableAssignmentsString}, ${variableAssignmentString}`;
|
|
64
|
+
|
|
65
|
+
return variableAssignmentsString;
|
|
66
|
+
}, null),
|
|
67
|
+
string = variableAssignmentsString; ///
|
|
68
|
+
|
|
69
|
+
return string;
|
|
70
|
+
}
|
|
71
|
+
|
|
58
72
|
function typeFromVariableAssignmentsNode(variableAssignmentsNode, context) {
|
|
59
73
|
const typeTerminalNode = typeTerminalNodeQuery(variableAssignmentsNode),
|
|
60
74
|
typeTerminalNodeContent = typeTerminalNode.getContent(),
|
package/src/dom/block/return.js
CHANGED
|
@@ -76,8 +76,16 @@ export default domAssigned(class ReturnBlock {
|
|
|
76
76
|
}
|
|
77
77
|
});
|
|
78
78
|
|
|
79
|
-
function
|
|
79
|
+
function stringFromReturnStatement(returnStatement, context) {
|
|
80
|
+
const returnStatementString = returnStatement.getString(),
|
|
81
|
+
string = `{ ... ${returnStatementString} }`;
|
|
82
|
+
|
|
83
|
+
return string;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function stepsFromReturnBlockNode(returnBlockNode, context) {
|
|
80
87
|
const { Step } = dom,
|
|
88
|
+
stepNodes = stepNodesQuery(returnBlockNode),
|
|
81
89
|
steps = stepNodes.map((stepNode) => {
|
|
82
90
|
const step = Step.fromStepNode(stepNode, context);
|
|
83
91
|
|
|
@@ -89,12 +97,10 @@ function stepsFromStepNodes(stepNodes, context) {
|
|
|
89
97
|
|
|
90
98
|
function returnBlockFromReturnBlockNode(returnBlockNode, context) {
|
|
91
99
|
const { ReturnBlock, ReturnStatement } = dom,
|
|
92
|
-
node = returnBlockNode, ///
|
|
93
|
-
string = context.nodeAsString(node),
|
|
94
|
-
stepNodes = stepNodesQuery(returnBlockNode),
|
|
95
|
-
steps = stepsFromStepNodes(stepNodes, context),
|
|
96
|
-
nonsensical = nonsensicalFromReturnBlockNode(returnBlockNode, context),
|
|
97
100
|
returnStatement = ReturnStatement.fromReturnBlockNode(returnBlockNode, context),
|
|
101
|
+
nonsensical = nonsensicalFromReturnBlockNode(returnBlockNode, context),
|
|
102
|
+
steps = stepsFromReturnBlockNode(returnBlockNode, context),
|
|
103
|
+
string = stringFromReturnStatement(returnStatement, context),
|
|
98
104
|
returnBlock = new ReturnBlock(string, steps, nonsensical, returnStatement);
|
|
99
105
|
|
|
100
106
|
return returnBlock;
|
package/src/dom/block.js
CHANGED
|
@@ -44,10 +44,9 @@ export default domAssigned(class Block {
|
|
|
44
44
|
let block = null;
|
|
45
45
|
|
|
46
46
|
if (blockNode !== null) {
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
steps = stepsFromStepNodes(stepNodes, context);
|
|
47
|
+
const stepNodes = stepNodesQuery(blockNode),
|
|
48
|
+
steps = stepsFromStepNodes(stepNodes, context),
|
|
49
|
+
string = stringFromSteps(steps, context);
|
|
51
50
|
|
|
52
51
|
block = new Block(string, steps);
|
|
53
52
|
}
|
|
@@ -56,6 +55,12 @@ export default domAssigned(class Block {
|
|
|
56
55
|
}
|
|
57
56
|
});
|
|
58
57
|
|
|
58
|
+
function stringFromSteps(steps, context) {
|
|
59
|
+
const string = `{ ... }`;
|
|
60
|
+
|
|
61
|
+
return string;
|
|
62
|
+
}
|
|
63
|
+
|
|
59
64
|
function stepsFromStepNodes(stepNodes, context) {
|
|
60
65
|
const { Step } = dom,
|
|
61
66
|
steps = stepNodes.map((stepNode) => {
|
package/src/dom/comparison.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import dom from "../dom";
|
|
4
4
|
import Exception from "../exception";
|
|
5
5
|
|
|
6
|
-
import { EQUAL_TO } from "../constants";
|
|
7
6
|
import { nodeQuery } from "../utilities/query";
|
|
8
7
|
import { domAssigned } from "../dom";
|
|
8
|
+
import { EQUAL_TO, NOT_EQUAL_TO } from "../constants";
|
|
9
9
|
|
|
10
10
|
const terminalNodeQuery = nodeQuery("/comparison/@*"),
|
|
11
11
|
leftValueNodeQuery = nodeQuery("/comparison/value[0]"),
|
|
@@ -116,14 +116,24 @@ function negatedFromComparisonNode(comparisonNode) {
|
|
|
116
116
|
|
|
117
117
|
function comparisonFromComparisonNode(comparisonNode, context) {
|
|
118
118
|
const { Value, Comparison } = dom,
|
|
119
|
-
node = comparisonNode, ///
|
|
120
|
-
string = context.nodeAsString(node),
|
|
121
119
|
leftValueNode = leftValueNodeQuery(comparisonNode),
|
|
122
120
|
rightValueNode = rightValueNodeQuery(comparisonNode),
|
|
123
|
-
negated = negatedFromComparisonNode(comparisonNode, context),
|
|
124
|
-
leftValue = Value.fromValueNode(leftValueNode, context),
|
|
125
121
|
rightValue = Value.fromValueNode(rightValueNode, context),
|
|
122
|
+
leftValue = Value.fromValueNode(leftValueNode, context),
|
|
123
|
+
negated = negatedFromComparisonNode(comparisonNode, context),
|
|
124
|
+
string = stringFromNegatedLeftValueAndRightValue(negated, leftValue, rightValue, context),
|
|
126
125
|
comparison = new Comparison(string, negated, leftValue, rightValue);
|
|
127
126
|
|
|
128
127
|
return comparison;
|
|
129
128
|
}
|
|
129
|
+
|
|
130
|
+
function stringFromNegatedLeftValueAndRightValue(negated, leftValue, rightValue, context) {
|
|
131
|
+
const operatorString = negated ?
|
|
132
|
+
EQUAL_TO :
|
|
133
|
+
NOT_EQUAL_TO,
|
|
134
|
+
leftValueString = leftValue.asString(context),
|
|
135
|
+
rightValueString = rightValue.asString(context),
|
|
136
|
+
string = `${leftValueString} ${operatorString} ${rightValueString}`;
|
|
137
|
+
|
|
138
|
+
return string;
|
|
139
|
+
}
|
|
@@ -74,12 +74,12 @@ export default domAssigned(class ConditionalBlocks {
|
|
|
74
74
|
|
|
75
75
|
if (conditionalBlocksNode !== null) {
|
|
76
76
|
const { Block, Value } = dom,
|
|
77
|
-
string = stringFromConditionalBlocksNode(conditionalBlocksNode, context),
|
|
78
77
|
ifBlockNode = ifBlockNodeQuery(conditionalBlocksNode),
|
|
79
78
|
elseBlockNode = elseBlockNodeQuery(conditionalBlocksNode),
|
|
80
79
|
value = Value.fromConditionalBlocksNode(conditionalBlocksNode, context),
|
|
81
80
|
ifBlock = Block.fromBlockNode(ifBlockNode, context),
|
|
82
|
-
elseBlock = Block.fromBlockNode(elseBlockNode, context)
|
|
81
|
+
elseBlock = Block.fromBlockNode(elseBlockNode, context),
|
|
82
|
+
string = stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context);
|
|
83
83
|
|
|
84
84
|
conditionalBlocks = new ConditionalBlocks(string, value, ifBlock, elseBlock);
|
|
85
85
|
}
|
|
@@ -88,19 +88,19 @@ export default domAssigned(class ConditionalBlocks {
|
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
90
|
|
|
91
|
-
function
|
|
91
|
+
function stringFromValueIfBockAndElseBock(value, ifBlock, elseBlock, context) {
|
|
92
92
|
let string;
|
|
93
93
|
|
|
94
|
-
const
|
|
95
|
-
|
|
94
|
+
const valueString = value.asString(context),
|
|
95
|
+
ifBlockString = ifBlock.getString();
|
|
96
96
|
|
|
97
|
-
string = `If (${
|
|
97
|
+
string = `If (${valueString}) ${ifBlockString}`;
|
|
98
98
|
|
|
99
|
-
|
|
99
|
+
if (elseBlock !== null) {
|
|
100
|
+
const elseBlockString = elseBlock.getString();
|
|
100
101
|
|
|
101
|
-
|
|
102
|
-
string = `${string} Else { ... }`;
|
|
102
|
+
string = `${string} Else ${elseBlockString}`;
|
|
103
103
|
}
|
|
104
104
|
|
|
105
105
|
return string;
|
|
106
|
-
}
|
|
106
|
+
}
|
|
@@ -22,11 +22,17 @@ export default domAssigned(class ProcedureDeclaration {
|
|
|
22
22
|
|
|
23
23
|
static fromProcedureDeclarationNode(procedureDeclarationNode, context) {
|
|
24
24
|
const { Procedure } = dom,
|
|
25
|
-
node = procedureDeclarationNode, ///
|
|
26
|
-
string = context.nodeAsString(node),
|
|
27
25
|
procedure = Procedure.fromProcedureDeclarationNode(procedureDeclarationNode, context),
|
|
26
|
+
string = stringFromProcedure(procedure, context),
|
|
28
27
|
procedureDeclaration = new ProcedureDeclaration(string, procedure);
|
|
29
28
|
|
|
30
29
|
return procedureDeclaration;
|
|
31
30
|
}
|
|
32
31
|
});
|
|
32
|
+
|
|
33
|
+
function stringFromProcedure(procedure, context) {
|
|
34
|
+
const procedureString = procedure.getString(),
|
|
35
|
+
string = `${procedureString};`;
|
|
36
|
+
|
|
37
|
+
return string;
|
|
38
|
+
}
|
|
@@ -80,14 +80,26 @@ export default domAssigned(class NamedParameter {
|
|
|
80
80
|
const type = typeFromNamedParameterNode(namedParameterNode, context),
|
|
81
81
|
name = nameFromNamedParameterNode(namedParameterNode, context),
|
|
82
82
|
asName = asNameFromNamedParameterNode(namedParameterNode, context),
|
|
83
|
-
|
|
84
|
-
string = context.nodeAsString(node),
|
|
83
|
+
string = stringFromTypeNameAndAsName(type, name, asName, context),
|
|
85
84
|
namedParameter = new NamedParameter(string, type, name, asName);
|
|
86
85
|
|
|
87
86
|
return namedParameter;
|
|
88
87
|
}
|
|
89
88
|
});
|
|
90
89
|
|
|
90
|
+
function stringFromTypeNameAndAsName(type, name, asName, context) {
|
|
91
|
+
let string;
|
|
92
|
+
|
|
93
|
+
string = `${type} ${name}`;
|
|
94
|
+
|
|
95
|
+
if (asName !== null) {
|
|
96
|
+
string = `${string} As ${asName}`;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return string;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
|
|
91
103
|
function typeFromNamedParameterNode(namedParameterNode, context) {
|
|
92
104
|
const typeTerminalNode = typeTerminalNodeQuery(namedParameterNode),
|
|
93
105
|
typeTerminalNodeContent = typeTerminalNode.getContent(),
|
|
@@ -107,16 +107,30 @@ export default domAssigned(class NamedParameters {
|
|
|
107
107
|
static fromObjectAssignmentNode(objectAssignmentNode, context) {
|
|
108
108
|
const objectAssignmentNamedParametersNode = objectAssignmentNamedParametersNodeQuery(objectAssignmentNode),
|
|
109
109
|
parametersNode = objectAssignmentNamedParametersNode, ///
|
|
110
|
-
node = parametersNode, ///
|
|
111
|
-
string = context.nodeAsString(node),
|
|
112
110
|
namedParameterNodes = namedParameterNodesQuery(parametersNode),
|
|
113
111
|
array = arrayFromNamedParameterNodes(namedParameterNodes, context),
|
|
112
|
+
string = stringFromArray(array, context),
|
|
114
113
|
namedParameters = new NamedParameters(string, array);
|
|
115
114
|
|
|
116
115
|
return namedParameters;
|
|
117
116
|
}
|
|
118
117
|
});
|
|
119
118
|
|
|
119
|
+
function stringFromArray(array, context) {
|
|
120
|
+
const namedParametersSString = array.reduce((namedParametersSString, namedParameter) => {
|
|
121
|
+
const namedParameterString = namedParameter.getString();
|
|
122
|
+
|
|
123
|
+
namedParametersSString = (namedParametersSString === null) ?
|
|
124
|
+
namedParameterString :
|
|
125
|
+
`${namedParametersSString}, ${namedParameterString}`;
|
|
126
|
+
|
|
127
|
+
return namedParametersSString;
|
|
128
|
+
}, null),
|
|
129
|
+
string = namedParametersSString; ///
|
|
130
|
+
|
|
131
|
+
return string;
|
|
132
|
+
}
|
|
133
|
+
|
|
120
134
|
function arrayFromNamedParameterNodes(namedParameterNodes, context) {
|
|
121
135
|
const { NamedParameter } = dom,
|
|
122
136
|
array = namedParameterNodes.map((namedParameterNode) => { ///
|
|
@@ -11,6 +11,7 @@ const parametersNodeQuery = nodeQuery("/anonymousProcedure/parameters"),
|
|
|
11
11
|
typeTerminalNodeQuery = nodeQuery("/anonymousProcedure/@type"),
|
|
12
12
|
someAnonymousProcedureNodeQuery = nodeQuery("/some/anonymousProcedure"),
|
|
13
13
|
everyAnonymousProcedureNodeQuery = nodeQuery("/every/anonymousProcedure"),
|
|
14
|
+
reduceAnonymousProcedureNodeQuery = nodeQuery("/reduce/anonymousProcedure"),
|
|
14
15
|
anonymousProcedureCallAnonymousProcedureNodeQuery = nodeQuery("/anonymousProcedureCall/anonymousProcedure");
|
|
15
16
|
|
|
16
17
|
export default domAssigned(class AnonymousProcedure {
|
|
@@ -80,6 +81,14 @@ export default domAssigned(class AnonymousProcedure {
|
|
|
80
81
|
return anonymousProcedure;
|
|
81
82
|
}
|
|
82
83
|
|
|
84
|
+
static fromReduceNode(reduceNode, context) {
|
|
85
|
+
const reduceAnonymousProcedureNode = reduceAnonymousProcedureNodeQuery(reduceNode),
|
|
86
|
+
anonymousProcedureNode = reduceAnonymousProcedureNode, ///
|
|
87
|
+
anonymousProcedure = anonymousProcedureFromAnonymousProcedureNode(anonymousProcedureNode, context);
|
|
88
|
+
|
|
89
|
+
return anonymousProcedure;
|
|
90
|
+
}
|
|
91
|
+
|
|
83
92
|
static fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context) {
|
|
84
93
|
const anonymousProcedureCallAnonymousProcedureNode = anonymousProcedureCallAnonymousProcedureNodeQuery(anonymousProcedureCallNode),
|
|
85
94
|
anonymousProcedureNode = anonymousProcedureCallAnonymousProcedureNode, ///
|
|
@@ -48,10 +48,9 @@ export default domAssigned(class AnonymousProcedureCall {
|
|
|
48
48
|
|
|
49
49
|
if (anonymousProcedureCallNode !== null) {
|
|
50
50
|
const { Values, AnonymousProcedure } = dom,
|
|
51
|
-
node = anonymousProcedureCallNode, ///
|
|
52
|
-
string = context.nodeAsString(node),
|
|
53
51
|
anonymousProcedure = AnonymousProcedure.fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context),
|
|
54
|
-
values = Values.fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context)
|
|
52
|
+
values = Values.fromAnonymousProcedureCallNode(anonymousProcedureCallNode, context),
|
|
53
|
+
string = stringFromAnonymousProcedureAndValues(anonymousProcedure, values, context);
|
|
55
54
|
|
|
56
55
|
anonymousProcedureCall = new AnonymousProcedureCall(string, anonymousProcedure, values);
|
|
57
56
|
}
|
|
@@ -59,3 +58,11 @@ export default domAssigned(class AnonymousProcedureCall {
|
|
|
59
58
|
return anonymousProcedureCall;
|
|
60
59
|
}
|
|
61
60
|
});
|
|
61
|
+
|
|
62
|
+
function stringFromAnonymousProcedureAndValues(anonymousProcedure, values, context) {
|
|
63
|
+
const anonymousProcedureString = anonymousProcedure.getString(),
|
|
64
|
+
valuesString = values.getString(),
|
|
65
|
+
string = `(${anonymousProcedureString})(${valuesString})`;
|
|
66
|
+
|
|
67
|
+
return string;
|
|
68
|
+
}
|