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.
- package/README.md +0 -11
- package/lib/constants.js +29 -1
- package/lib/context/block.js +15 -1
- package/lib/context/file.js +129 -52
- package/lib/element/assignment/array.js +186 -0
- package/lib/element/assignment/object.js +244 -0
- package/lib/element/assignment/variable.js +144 -0
- package/lib/element/assignments/variable.js +158 -0
- package/lib/element/block/return.js +198 -0
- package/lib/element/comparison.js +179 -0
- package/lib/element/declaration/procedure.js +139 -0
- package/lib/{dom → element}/error.js +12 -4
- package/lib/element/every.js +179 -0
- package/lib/element/expression/bitwise.js +186 -0
- package/lib/element/expression/bracketed.js +149 -0
- package/lib/element/expression/negated.js +166 -0
- package/lib/element/expression.js +578 -0
- package/lib/element/expressions.js +210 -0
- package/lib/{dom → element}/label.js +4 -4
- package/lib/element/parameter/named.js +198 -0
- package/lib/element/parameter.js +165 -0
- package/lib/element/parameters/named.js +220 -0
- package/lib/element/parameters.js +198 -0
- package/lib/element/procedure/anonymous.js +181 -0
- package/lib/element/procedure.js +212 -0
- package/lib/element/procedureCall.js +166 -0
- package/lib/element/query/node.js +186 -0
- package/lib/element/query/nodes.js +179 -0
- package/lib/element/reduce.js +181 -0
- package/lib/element/reference.js +138 -0
- package/lib/element/some.js +179 -0
- package/lib/element/statement/return.js +138 -0
- package/lib/element/step.js +154 -0
- package/lib/element/ternary.js +171 -0
- package/lib/element/variable.js +279 -0
- package/lib/elements.js +27 -0
- package/lib/index.js +13 -5
- package/lib/log.js +202 -0
- package/lib/preamble.js +32 -32
- package/lib/process/verify.js +289 -0
- package/lib/utilities/context.js +46 -5
- package/lib/utilities/element.js +3 -0
- package/lib/utilities/node.js +71 -0
- package/package.json +3 -1
- package/src/constants.js +16 -0
- package/src/context/block.js +10 -0
- package/src/context/file.js +97 -55
- package/src/{dom → element}/assignment/array.js +6 -6
- package/src/{dom → element}/assignment/object.js +8 -8
- package/src/{dom → element}/assignment/variable.js +4 -4
- package/src/{dom → element}/assignments/variable.js +5 -5
- package/src/{dom → element}/block/return.js +5 -5
- package/src/{dom → element}/comparison.js +5 -5
- package/src/{dom → element}/declaration/procedure.js +22 -4
- package/src/{dom → element}/error.js +13 -4
- package/src/{dom → element}/every.js +6 -6
- package/src/{dom → element}/expression/bitwise.js +5 -5
- package/src/{dom → element}/expression/bracketed.js +4 -4
- package/src/{dom → element}/expression/negated.js +5 -5
- package/src/{dom → element}/expression.js +4 -4
- package/src/{dom → element}/expressions.js +6 -6
- package/src/{dom → element}/label.js +4 -4
- package/src/{dom → element}/parameter/named.js +4 -4
- package/src/{dom → element}/parameter.js +4 -4
- package/src/{dom → element}/parameters/named.js +5 -5
- package/src/{dom → element}/parameters.js +5 -5
- package/src/{dom → element}/procedure/anonymous.js +4 -4
- package/src/{dom → element}/procedure.js +5 -5
- package/src/{dom → element}/procedureCall.js +4 -4
- package/src/{dom → element}/query/node.js +5 -5
- package/src/{dom → element}/query/nodes.js +5 -5
- package/src/{dom → element}/reduce.js +5 -5
- package/src/{dom → element}/reference.js +4 -4
- package/src/{dom → element}/some.js +6 -6
- package/src/{dom → element}/statement/return.js +4 -4
- package/src/{dom → element}/step.js +4 -4
- package/src/{dom → element}/ternary.js +4 -4
- package/src/{dom → element}/variable.js +5 -5
- package/src/elements.js +13 -0
- package/src/index.js +6 -2
- package/src/log.js +139 -0
- package/src/preamble.js +31 -31
- package/src/process/verify.js +157 -0
- package/src/utilities/context.js +45 -2
- package/src/utilities/element.js +0 -0
- package/src/utilities/{string.js → node.js} +9 -14
- package/test/Free and bound variables.ftl +112 -0
- package/test/context/file.js +127 -0
- package/{src/example → test}/context/release.js +60 -12
- package/test/helpers/constants.js +17 -0
- package/{src/example/utilities → test/helpers}/expressions.js +8 -4
- package/{src/example/utilities → test/helpers}/furtle.js +8 -4
- package/{src/example/utilities → test/helpers}/grammar.js +8 -4
- package/{src/example/utilities → test/helpers}/nominal.js +10 -5
- package/{src/example/utilities → test/helpers}/procedure.js +6 -2
- package/test/main.js +55 -0
- package/example/Free and bound variables.ftl +0 -75
- package/lib/dom/assignment/array.js +0 -186
- package/lib/dom/assignment/object.js +0 -244
- package/lib/dom/assignment/variable.js +0 -144
- package/lib/dom/assignments/variable.js +0 -158
- package/lib/dom/block/return.js +0 -198
- package/lib/dom/comparison.js +0 -179
- package/lib/dom/declaration/procedure.js +0 -125
- package/lib/dom/every.js +0 -179
- package/lib/dom/expression/bitwise.js +0 -186
- package/lib/dom/expression/bracketed.js +0 -149
- package/lib/dom/expression/negated.js +0 -166
- package/lib/dom/expression.js +0 -578
- package/lib/dom/expressions.js +0 -210
- package/lib/dom/parameter/named.js +0 -198
- package/lib/dom/parameter.js +0 -165
- package/lib/dom/parameters/named.js +0 -220
- package/lib/dom/parameters.js +0 -198
- package/lib/dom/procedure/anonymous.js +0 -181
- package/lib/dom/procedure.js +0 -212
- package/lib/dom/procedureCall.js +0 -166
- package/lib/dom/query/node.js +0 -186
- package/lib/dom/query/nodes.js +0 -179
- package/lib/dom/reduce.js +0 -181
- package/lib/dom/reference.js +0 -138
- package/lib/dom/some.js +0 -179
- package/lib/dom/statement/return.js +0 -138
- package/lib/dom/step.js +0 -154
- package/lib/dom/ternary.js +0 -171
- package/lib/dom/variable.js +0 -279
- package/lib/dom.js +0 -27
- package/lib/example/context/file.js +0 -130
- package/lib/example/context/release.js +0 -160
- package/lib/example/utilities/expressions.js +0 -29
- package/lib/example/utilities/furtle.js +0 -19
- package/lib/example/utilities/grammar.js +0 -26
- package/lib/example/utilities/nominal.js +0 -25
- package/lib/example/utilities/procedure.js +0 -18
- package/lib/utilities/string.js +0 -78
- package/src/dom.js +0 -13
- package/src/example/context/file.js +0 -69
- /package/{example → test}/customGrammars.json +0 -0
|
@@ -0,0 +1,186 @@
|
|
|
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 _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
|
|
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 _ArrayAssigment;
|
|
94
|
+
var stepArrayAssignmentNodeQuery = (0, _query.nodeQuery)("/step/arrayAssignment");
|
|
95
|
+
var _default = (0, _elements.define)((_ArrayAssigment = /*#__PURE__*/ function() {
|
|
96
|
+
function ArrayAssigment(string, variable, parameters) {
|
|
97
|
+
_class_call_check(this, ArrayAssigment);
|
|
98
|
+
this.string = string;
|
|
99
|
+
this.variable = variable;
|
|
100
|
+
this.parameters = parameters;
|
|
101
|
+
}
|
|
102
|
+
_create_class(ArrayAssigment, [
|
|
103
|
+
{
|
|
104
|
+
key: "getString",
|
|
105
|
+
value: function getString() {
|
|
106
|
+
return this.string;
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
key: "getVariable",
|
|
111
|
+
value: function getVariable() {
|
|
112
|
+
return this.variable;
|
|
113
|
+
}
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: "getVariables",
|
|
117
|
+
value: function getVariables() {
|
|
118
|
+
return this.parameters;
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
key: "evaluate",
|
|
123
|
+
value: function evaluate(context) {
|
|
124
|
+
var _this = this;
|
|
125
|
+
var arrayAssignmentString = this.string; ///
|
|
126
|
+
context.trace("Evaluating the '".concat(arrayAssignmentString, "' array assignment..."));
|
|
127
|
+
var expression = this.variable.evaluate(context), expressionType = expression.getType();
|
|
128
|
+
if (expressionType !== _types.NODES_TYPE) {
|
|
129
|
+
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);
|
|
130
|
+
throw exception;
|
|
131
|
+
}
|
|
132
|
+
var nodes = expression.getNodes(), nodesLength = nodes.length, parametersLength = this.parameters.getLength();
|
|
133
|
+
if (parametersLength > nodesLength) {
|
|
134
|
+
var parametersString = this.parameters.getString(), nodesString = context.nodesAsString(nodex), message1 = "The length of the '".concat(parametersString, "' parameters is greater than the length of the '").concat(nodesString, "' nodes."), exception1 = _exception.default.fromMessage(message1);
|
|
135
|
+
throw exception1;
|
|
136
|
+
}
|
|
137
|
+
this.parameters.forEachParameter(function(parameter, index) {
|
|
138
|
+
if (parameter !== null) {
|
|
139
|
+
var Expression = _elements.default.Expression, node = nodes[index], expression = Expression.fromNode(node, context);
|
|
140
|
+
_this.evaluateParameter(parameter, expression, context);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
context.debug("...evaluated the '".concat(arrayAssignmentString, "' array assignment."));
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
key: "evaluateParameter",
|
|
148
|
+
value: function evaluateParameter(parameter, expression, context) {
|
|
149
|
+
var expressionString = expression.asString(context), parameterString = parameter.getString();
|
|
150
|
+
context.trace("Evaluating the '".concat(parameterString, "' parameter against the ").concat(expressionString, " expression..."));
|
|
151
|
+
var parameterType = parameter.getType();
|
|
152
|
+
if (parameterType !== _types.NODE_TYPE) {
|
|
153
|
+
var message = "The type of the '".concat(parameterString, "' parameter should be '").concat(_types.NODE_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
154
|
+
throw exception;
|
|
155
|
+
}
|
|
156
|
+
var Variable = _elements.default.Variable, variable = Variable.fromParameter(parameter, context);
|
|
157
|
+
variable.assign(expression, context);
|
|
158
|
+
context.debug("...evaluated the '".concat(parameterString, "' parameter against the ").concat(expressionString, " expression."));
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
], [
|
|
162
|
+
{
|
|
163
|
+
key: "fromStepNode",
|
|
164
|
+
value: function fromStepNode(stepNode, context) {
|
|
165
|
+
var arrayAssignment = null;
|
|
166
|
+
var stepArrayAssignmentNode = stepArrayAssignmentNodeQuery(stepNode);
|
|
167
|
+
if (stepArrayAssignmentNode !== null) {
|
|
168
|
+
var arrayAssignmentNode = stepArrayAssignmentNode; ///
|
|
169
|
+
arrayAssignment = arrayAssignmentFromArrayAssignmentNode(arrayAssignmentNode, context);
|
|
170
|
+
}
|
|
171
|
+
return arrayAssignment;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
]);
|
|
175
|
+
return ArrayAssigment;
|
|
176
|
+
}(), _define_property(_ArrayAssigment, "name", "ArrayAssignment"), _ArrayAssigment));
|
|
177
|
+
function arrayAssignmentFromArrayAssignmentNode(arrayAssignmentNode, context) {
|
|
178
|
+
var Variable = _elements.default.Variable, Parameters = _elements.default.Parameters, ArrayAssignment = _elements.default.ArrayAssignment, parameters = Parameters.fromArrayAssignmentNode(arrayAssignmentNode, context), variable = Variable.fromArrayAssignmentNode(arrayAssignmentNode, context), string = stringFromVariableAndParameters(variable, parameters, context), arrayAssignment = new ArrayAssignment(string, variable, parameters);
|
|
179
|
+
return arrayAssignment;
|
|
180
|
+
}
|
|
181
|
+
function stringFromVariableAndParameters(variable, parameters, context) {
|
|
182
|
+
var variableString = variable.getString(), parametersString = parameters.getString(), string = "[ ".concat(parametersString, " ] = ").concat(variableString, ";");
|
|
183
|
+
return string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE5PREVfVFlQRSwgTk9ERVNfVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuXG5jb25zdCBzdGVwQXJyYXlBc3NpZ25tZW50Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3N0ZXAvYXJyYXlBc3NpZ25tZW50XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgQXJyYXlBc3NpZ21lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBwYXJhbWV0ZXJzKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IHBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRWYXJpYWJsZXMoKSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1ldGVycztcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBhcnJheUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHthcnJheUFzc2lnbm1lbnRTdHJpbmd9JyBhcnJheSBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICBleHByZXNzaW9uVHlwZSA9IGV4cHJlc3Npb24uZ2V0VHlwZSgpO1xuXG4gICAgaWYgKGV4cHJlc3Npb25UeXBlICE9PSBOT0RFU19UWVBFKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzICcke2V4cHJlc3Npb25UeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERVNfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlcyA9IGV4cHJlc3Npb24uZ2V0Tm9kZXMoKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aCxcbiAgICAgICAgICBwYXJhbWV0ZXJzTGVuZ3RoID0gdGhpcy5wYXJhbWV0ZXJzLmdldExlbmd0aCgpO1xuXG4gICAgaWYgKHBhcmFtZXRlcnNMZW5ndGggPiBub2Rlc0xlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1ldGVyc1N0cmluZyA9IHRoaXMucGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG5vZGVzU3RyaW5nID0gY29udGV4dC5ub2Rlc0FzU3RyaW5nKG5vZGV4KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlIGxlbmd0aCBvZiB0aGUgJyR7cGFyYW1ldGVyc1N0cmluZ30nIHBhcmFtZXRlcnMgaXMgZ3JlYXRlciB0aGFuIHRoZSBsZW5ndGggb2YgdGhlICcke25vZGVzU3RyaW5nfScgbm9kZXMuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIHRoaXMucGFyYW1ldGVycy5mb3JFYWNoUGFyYW1ldGVyKChwYXJhbWV0ZXIsIGluZGV4KSA9PiB7XG4gICAgICBpZiAocGFyYW1ldGVyICE9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgICAgIG5vZGUgPSBub2Rlc1tpbmRleF0sXG4gICAgICAgICAgICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Ob2RlKG5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgIHRoaXMuZXZhbHVhdGVQYXJhbWV0ZXIocGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7YXJyYXlBc3NpZ25tZW50U3RyaW5nfScgYXJyYXkgYXNzaWdubWVudC5gKTtcbiAgfVxuXG4gIGV2YWx1YXRlUGFyYW1ldGVyKHBhcmFtZXRlciwgZXhwcmVzc2lvbiwgY29udGV4dCkge1xuICAgIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgIHBhcmFtZXRlclN0cmluZyA9IHBhcmFtZXRlci5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBhZ2FpbnN0IHRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24uLi5gKTtcblxuICAgIGNvbnN0IHBhcmFtZXRlclR5cGUgPSBwYXJhbWV0ZXIuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHBhcmFtZXRlclR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgdHlwZSBvZiB0aGUgJyR7cGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyIHNob3VsZCBiZSAnJHtOT0RFX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgeyBWYXJpYWJsZSB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tUGFyYW1ldGVyKHBhcmFtZXRlciwgY29udGV4dCk7XG5cbiAgICB2YXJpYWJsZS5hc3NpZ24oZXhwcmVzc2lvbiwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3BhcmFtZXRlclN0cmluZ30nIHBhcmFtZXRlciBhZ2FpbnN0IHRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24uYCk7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQXJyYXlBc3NpZ25tZW50XCI7XG5cbiAgc3RhdGljIGZyb21TdGVwTm9kZShzdGVwTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBhcnJheUFzc2lnbm1lbnQgPSBudWxsO1xuXG4gICAgY29uc3Qgc3RlcEFycmF5QXNzaWdubWVudE5vZGUgPSBzdGVwQXJyYXlBc3NpZ25tZW50Tm9kZVF1ZXJ5KHN0ZXBOb2RlKTtcblxuICAgIGlmIChzdGVwQXJyYXlBc3NpZ25tZW50Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgYXJyYXlBc3NpZ25tZW50Tm9kZSA9IHN0ZXBBcnJheUFzc2lnbm1lbnROb2RlOyAgLy8vXG5cbiAgICAgIGFycmF5QXNzaWdubWVudCA9IGFycmF5QXNzaWdubWVudEZyb21BcnJheUFzc2lnbm1lbnROb2RlKGFycmF5QXNzaWdubWVudE5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBhcnJheUFzc2lnbm1lbnQ7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBhcnJheUFzc2lnbm1lbnRGcm9tQXJyYXlBc3NpZ25tZW50Tm9kZShhcnJheUFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgVmFyaWFibGUsIFBhcmFtZXRlcnMsIEFycmF5QXNzaWdubWVudCB9ID0gZWxlbWVudHMsXG4gICAgICAgIHBhcmFtZXRlcnMgPSBQYXJhbWV0ZXJzLmZyb21BcnJheUFzc2lnbm1lbnROb2RlKGFycmF5QXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21BcnJheUFzc2lnbm1lbnROb2RlKGFycmF5QXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVmFyaWFibGVBbmRQYXJhbWV0ZXJzKHZhcmlhYmxlLCBwYXJhbWV0ZXJzLCBjb250ZXh0KSxcbiAgICAgICAgYXJyYXlBc3NpZ25tZW50ID0gbmV3IEFycmF5QXNzaWdubWVudChzdHJpbmcsIHZhcmlhYmxlLCBwYXJhbWV0ZXJzKTtcblxuICByZXR1cm4gYXJyYXlBc3NpZ25tZW50O1xufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tVmFyaWFibGVBbmRQYXJhbWV0ZXJzKHZhcmlhYmxlLCBwYXJhbWV0ZXJzLCBjb250ZXh0KSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHBhcmFtZXRlcnNTdHJpbmcgPSBwYXJhbWV0ZXJzLmdldFN0cmluZygpLFxuICAgICAgICBzdHJpbmcgPSBgWyAke3BhcmFtZXRlcnNTdHJpbmd9IF0gPSAke3ZhcmlhYmxlU3RyaW5nfTtgO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsic3RlcEFycmF5QXNzaWdubWVudE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRlZmluZSIsIkFycmF5QXNzaWdtZW50Iiwic3RyaW5nIiwidmFyaWFibGUiLCJwYXJhbWV0ZXJzIiwiZ2V0U3RyaW5nIiwiZ2V0VmFyaWFibGUiLCJnZXRWYXJpYWJsZXMiLCJldmFsdWF0ZSIsImNvbnRleHQiLCJhcnJheUFzc2lnbm1lbnRTdHJpbmciLCJ0cmFjZSIsImV4cHJlc3Npb24iLCJleHByZXNzaW9uVHlwZSIsImdldFR5cGUiLCJOT0RFU19UWVBFIiwiZXhwcmVzc2lvblN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9kZXMiLCJnZXROb2RlcyIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwicGFyYW1ldGVyc0xlbmd0aCIsImdldExlbmd0aCIsInBhcmFtZXRlcnNTdHJpbmciLCJub2Rlc1N0cmluZyIsIm5vZGVzQXNTdHJpbmciLCJub2RleCIsImZvckVhY2hQYXJhbWV0ZXIiLCJwYXJhbWV0ZXIiLCJpbmRleCIsIkV4cHJlc3Npb24iLCJlbGVtZW50cyIsIm5vZGUiLCJmcm9tTm9kZSIsImV2YWx1YXRlUGFyYW1ldGVyIiwiZGVidWciLCJwYXJhbWV0ZXJTdHJpbmciLCJwYXJhbWV0ZXJUeXBlIiwiTk9ERV9UWVBFIiwiVmFyaWFibGUiLCJmcm9tUGFyYW1ldGVyIiwiYXNzaWduIiwiZnJvbVN0ZXBOb2RlIiwic3RlcE5vZGUiLCJhcnJheUFzc2lnbm1lbnQiLCJzdGVwQXJyYXlBc3NpZ25tZW50Tm9kZSIsImFycmF5QXNzaWdubWVudE5vZGUiLCJhcnJheUFzc2lnbm1lbnRGcm9tQXJyYXlBc3NpZ25tZW50Tm9kZSIsIm5hbWUiLCJQYXJhbWV0ZXJzIiwiQXJyYXlBc3NpZ25tZW50IiwiZnJvbUFycmF5QXNzaWdubWVudE5vZGUiLCJzdHJpbmdGcm9tVmFyaWFibGVBbmRQYXJhbWV0ZXJzIiwidmFyaWFibGVTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBQTs7O2dFQVRxQjtnRUFDQztxQkFHSTtxQkFDWTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
@@ -0,0 +1,244 @@
|
|
|
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 _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
|
|
12
|
+
var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
|
+
var _nodeProperties = /*#__PURE__*/ _interop_require_default(require("../../nodeProperties"));
|
|
14
|
+
var _query = require("../../utilities/query");
|
|
15
|
+
var _types = require("../../types");
|
|
16
|
+
var _parameterNames = require("../../parameterNames");
|
|
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 _ObjectAssigment;
|
|
96
|
+
var stepObjectAssignmentNodeQuery = (0, _query.nodeQuery)("/step/objectAssignment");
|
|
97
|
+
var _default = (0, _elements.define)((_ObjectAssigment = /*#__PURE__*/ function() {
|
|
98
|
+
function ObjectAssigment(string, variable, namedParameters) {
|
|
99
|
+
_class_call_check(this, ObjectAssigment);
|
|
100
|
+
this.string = string;
|
|
101
|
+
this.variable = variable;
|
|
102
|
+
this.namedParameters = namedParameters;
|
|
103
|
+
}
|
|
104
|
+
_create_class(ObjectAssigment, [
|
|
105
|
+
{
|
|
106
|
+
key: "getString",
|
|
107
|
+
value: function getString() {
|
|
108
|
+
return this.string;
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
key: "getVariable",
|
|
113
|
+
value: function getVariable() {
|
|
114
|
+
return this.variable;
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
key: "getNamedParameters",
|
|
119
|
+
value: function getNamedParameters() {
|
|
120
|
+
return this.namedParameters;
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
key: "evaluate",
|
|
125
|
+
value: function evaluate(context) {
|
|
126
|
+
var _this = this;
|
|
127
|
+
var objectAssignmentString = this.string; ///
|
|
128
|
+
context.trace("Evaluating the '".concat(objectAssignmentString, "' object assignment..."));
|
|
129
|
+
var expression = this.variable.evaluate(context), expressionType = expression.getType();
|
|
130
|
+
if (expressionType !== _types.NODE_TYPE) {
|
|
131
|
+
var expressionString = expression.asString(context), message = "The ".concat(expressionString, " expression's '").concat(expressionType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
132
|
+
throw exception;
|
|
133
|
+
}
|
|
134
|
+
_nodeProperties.default.matchNamedParameters(this.namedParameters, context);
|
|
135
|
+
this.namedParameters.forEachNamedParameter(function(namedParameter) {
|
|
136
|
+
_this.evaluateNamedParameter(namedParameter, expression, context);
|
|
137
|
+
});
|
|
138
|
+
context.debug("...evaluated the '".concat(objectAssignmentString, "' object assignment."));
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
key: "evaluateNamedParameter",
|
|
143
|
+
value: function evaluateNamedParameter(namedParameter, expression, context) {
|
|
144
|
+
var expressionString = expression.asString(context), namedParameterString = namedParameter.getString();
|
|
145
|
+
context.trace("Evaluating the '".concat(namedParameterString, "' named parameter against the ").concat(expressionString, " expression..."));
|
|
146
|
+
var name = namedParameter.getName();
|
|
147
|
+
switch(name){
|
|
148
|
+
case _parameterNames.CONTENT_PARAMETER_NAME:
|
|
149
|
+
{
|
|
150
|
+
expression = this.evaluateContentNamedParameter(namedParameter, expression, context);
|
|
151
|
+
break;
|
|
152
|
+
}
|
|
153
|
+
case _parameterNames.TERMINAL_PARAMETER_NAME:
|
|
154
|
+
{
|
|
155
|
+
expression = this.evaluateTerminalNamedParameter(namedParameter, expression, context);
|
|
156
|
+
break;
|
|
157
|
+
}
|
|
158
|
+
case _parameterNames.CHILD_NODES_PARAMETER_NAME:
|
|
159
|
+
{
|
|
160
|
+
expression = this.evaluateChildNodesNamedParameter(namedParameter, expression, context);
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
var Variable = _elements.default.Variable, variable = Variable.fromNamedParameter(namedParameter, context);
|
|
165
|
+
variable.assign(expression, context);
|
|
166
|
+
context.debug("...evaluated the '".concat(namedParameterString, "' parameter named against the ").concat(expressionString, " expression."));
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
key: "evaluateContentNamedParameter",
|
|
171
|
+
value: function evaluateContentNamedParameter(namedParameter, expression, context) {
|
|
172
|
+
var type = namedParameter.getType();
|
|
173
|
+
if (type !== _types.STRING_TYPE) {
|
|
174
|
+
var namedParameterString = namedParameter.getString(), message = "The '".concat(namedParameterString, "' named parameter's type should be '").concat(_types.STRING_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
175
|
+
throw exception;
|
|
176
|
+
}
|
|
177
|
+
var node = expression.getNode(), nodeTerminalNode = node.isTerminalNode();
|
|
178
|
+
if (!nodeTerminalNode) {
|
|
179
|
+
var expressionString = expression.asString(context), message1 = "The ".concat(expressionString, " expression's node must be terminal."), exception1 = _exception.default.fromMessage(message1);
|
|
180
|
+
throw exception1;
|
|
181
|
+
}
|
|
182
|
+
var Expression = _elements.default.Expression, terminalNode = node, content = terminalNode.getContent(), string = content; ///
|
|
183
|
+
expression = Expression.fromString(string, context); ///
|
|
184
|
+
return expression;
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
key: "evaluateTerminalNamedParameter",
|
|
189
|
+
value: function evaluateTerminalNamedParameter(namedParameter, expression, context) {
|
|
190
|
+
var type = namedParameter.getType();
|
|
191
|
+
if (type !== _types.BOOLEAN_TYPE) {
|
|
192
|
+
var namedParameterString = namedParameter.getString(), message = "The '".concat(namedParameterString, "' named parameter's type should be '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
193
|
+
throw exception;
|
|
194
|
+
}
|
|
195
|
+
var node = expression.getNode(), nodeTerminalNode = node.isTerminalNode(), terminal = nodeTerminalNode; ///
|
|
196
|
+
var Expression = _elements.default.Expression, boolean = terminal; ///
|
|
197
|
+
expression = Expression.fromBoolean(boolean, context); ///
|
|
198
|
+
return expression;
|
|
199
|
+
}
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
key: "evaluateChildNodesNamedParameter",
|
|
203
|
+
value: function evaluateChildNodesNamedParameter(namedParameter, expression, context) {
|
|
204
|
+
var type = namedParameter.getType();
|
|
205
|
+
if (type !== _types.NODES_TYPE) {
|
|
206
|
+
var namedParameterString = namedParameter.getString(), message = "The '".concat(namedParameterString, "' named parameter's type should be '").concat(_types.NODES_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
207
|
+
throw exception;
|
|
208
|
+
}
|
|
209
|
+
var node = expression.getNode(), nodeNonTerminalNode = node.isNonTerminalNode();
|
|
210
|
+
if (!nodeNonTerminalNode) {
|
|
211
|
+
var expressionString = expression.asString(context), message1 = "The ".concat(expressionString, " expression's node must be non-terminal."), exception1 = _exception.default.fromMessage(message1);
|
|
212
|
+
throw exception1;
|
|
213
|
+
}
|
|
214
|
+
var Expression = _elements.default.Expression, nonTerminalNode = node, childNodes = nonTerminalNode.getChildNodes(), nodes = childNodes; ///
|
|
215
|
+
expression = Expression.fromNodes(nodes, context); ///
|
|
216
|
+
return expression;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
], [
|
|
220
|
+
{
|
|
221
|
+
key: "fromStepNode",
|
|
222
|
+
value: function fromStepNode(stepNode, context) {
|
|
223
|
+
var objectAssignment = null;
|
|
224
|
+
var stepObjectAssignmentNode = stepObjectAssignmentNodeQuery(stepNode);
|
|
225
|
+
if (stepObjectAssignmentNode !== null) {
|
|
226
|
+
var objectAssignmentNode = stepObjectAssignmentNode; ///
|
|
227
|
+
objectAssignment = objectAssignmentFromObjectAssignmentNode(objectAssignmentNode, context);
|
|
228
|
+
}
|
|
229
|
+
return objectAssignment;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
]);
|
|
233
|
+
return ObjectAssigment;
|
|
234
|
+
}(), _define_property(_ObjectAssigment, "name", "ObjectAssigment"), _ObjectAssigment));
|
|
235
|
+
function objectAssignmentFromObjectAssignmentNode(objectAssignmentNode, context) {
|
|
236
|
+
var Variable = _elements.default.Variable, NamedParameters = _elements.default.NamedParameters, ObjectAssigment = _elements.default.ObjectAssigment, namedParameters = NamedParameters.fromObjectAssignmentNode(objectAssignmentNode, context), variable = Variable.fromObjectAssignmentNode(objectAssignmentNode, context), string = stringFromVariableAndNamesParameters(variable, namedParameters, context), objectAssignment = new ObjectAssigment(string, variable, namedParameters);
|
|
237
|
+
return objectAssignment;
|
|
238
|
+
}
|
|
239
|
+
function stringFromVariableAndNamesParameters(variable, namedParameters, context) {
|
|
240
|
+
var namedParametersString = namedParameters.getString(), variableString = variable.getString(), string = "{ ".concat(namedParametersString, " } = ").concat(variableString, ";");
|
|
241
|
+
return string;
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZWxlbWVudHMgZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi8uLi9leGNlcHRpb25cIjtcbmltcG9ydCBub2RlUHJvcGVydGllcyBmcm9tIFwiLi4vLi4vbm9kZVByb3BlcnRpZXNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBOT0RFX1RZUEUsIE5PREVTX1RZUEUsIFNUUklOR19UWVBFLCBCT09MRUFOX1RZUEUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IENPTlRFTlRfUEFSQU1FVEVSX05BTUUsIFRFUk1JTkFMX1BBUkFNRVRFUl9OQU1FLCBDSElMRF9OT0RFU19QQVJBTUVURVJfTkFNRSB9IGZyb20gXCIuLi8uLi9wYXJhbWV0ZXJOYW1lc1wiO1xuXG5jb25zdCBzdGVwT2JqZWN0QXNzaWdubWVudE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9zdGVwL29iamVjdEFzc2lnbm1lbnRcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBPYmplY3RBc3NpZ21lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBuYW1lZFBhcmFtZXRlcnMpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5uYW1lZFBhcmFtZXRlcnMgPSBuYW1lZFBhcmFtZXRlcnM7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXROYW1lZFBhcmFtZXRlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubmFtZWRQYXJhbWV0ZXJzO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IG9iamVjdEFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuLi5gKTtcblxuICAgIGNvbnN0IGV4cHJlc3Npb24gPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24ncyAnJHtleHByZXNzaW9uVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PREVfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBub2RlUHJvcGVydGllcy5tYXRjaE5hbWVkUGFyYW1ldGVycyh0aGlzLm5hbWVkUGFyYW1ldGVycywgY29udGV4dCk7XG5cbiAgICB0aGlzLm5hbWVkUGFyYW1ldGVycy5mb3JFYWNoTmFtZWRQYXJhbWV0ZXIoKG5hbWVkUGFyYW1ldGVyKSA9PiB7XG4gICAgICB0aGlzLmV2YWx1YXRlTmFtZWRQYXJhbWV0ZXIobmFtZWRQYXJhbWV0ZXIsIGV4cHJlc3Npb24sIGNvbnRleHQpO1xuICAgIH0pO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtvYmplY3RBc3NpZ25tZW50U3RyaW5nfScgb2JqZWN0IGFzc2lnbm1lbnQuYCk7XG4gIH1cblxuICBldmFsdWF0ZU5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgbmFtZWRQYXJhbWV0ZXJTdHJpbmcgPSBuYW1lZFBhcmFtZXRlci5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke25hbWVkUGFyYW1ldGVyU3RyaW5nfScgbmFtZWQgcGFyYW1ldGVyIGFnYWluc3QgdGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbi4uLmApO1xuXG4gICAgY29uc3QgbmFtZSA9IG5hbWVkUGFyYW1ldGVyLmdldE5hbWUoKTtcblxuICAgIHN3aXRjaCAobmFtZSkge1xuICAgICAgY2FzZSBDT05URU5UX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0aGlzLmV2YWx1YXRlQ29udGVudE5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSBURVJNSU5BTF9QQVJBTUVURVJfTkFNRToge1xuICAgICAgICBleHByZXNzaW9uID0gdGhpcy5ldmFsdWF0ZVRlcm1pbmFsTmFtZWRQYXJhbWV0ZXIobmFtZWRQYXJhbWV0ZXIsIGV4cHJlc3Npb24sIGNvbnRleHQpO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIENISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FOiB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0aGlzLmV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KTtcblxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB7IFZhcmlhYmxlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21OYW1lZFBhcmFtZXRlcihuYW1lZFBhcmFtZXRlciwgY29udGV4dCk7XG5cbiAgICB2YXJpYWJsZS5hc3NpZ24oZXhwcmVzc2lvbiwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke25hbWVkUGFyYW1ldGVyU3RyaW5nfScgcGFyYW1ldGVyIG5hbWVkIGFnYWluc3QgdGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbi5gKTtcbiAgfVxuXG4gIGV2YWx1YXRlQ29udGVudE5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkUGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlICE9PSBTVFJJTkdfVFlQRSkge1xuICAgICAgY29uc3QgbmFtZWRQYXJhbWV0ZXJTdHJpbmcgPSBuYW1lZFBhcmFtZXRlci5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke25hbWVkUGFyYW1ldGVyU3RyaW5nfScgbmFtZWQgcGFyYW1ldGVyJ3MgdHlwZSBzaG91bGQgYmUgJyR7U1RSSU5HX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZSA9IGV4cHJlc3Npb24uZ2V0Tm9kZSgpLFxuICAgICAgICAgIG5vZGVUZXJtaW5hbE5vZGUgPSBub2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICBpZiAoIW5vZGVUZXJtaW5hbE5vZGUpIHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHtleHByZXNzaW9uU3RyaW5nfSBleHByZXNzaW9uJ3Mgbm9kZSBtdXN0IGJlIHRlcm1pbmFsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB7IEV4cHJlc3Npb24gfSA9IGVsZW1lbnRzLFxuICAgICAgICAgIHRlcm1pbmFsTm9kZSA9IG5vZGUsICAvLy9cbiAgICAgICAgICBjb250ZW50ID0gdGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgICBzdHJpbmcgPSBjb250ZW50OyAgLy8vXG5cbiAgICBleHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tU3RyaW5nKHN0cmluZywgY29udGV4dCk7ICAvLy9cblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgZXZhbHVhdGVUZXJtaW5hbE5hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkUGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IG5hbWVkUGFyYW1ldGVyU3RyaW5nID0gbmFtZWRQYXJhbWV0ZXIuZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHtuYW1lZFBhcmFtZXRlclN0cmluZ30nIG5hbWVkIHBhcmFtZXRlcidzIHR5cGUgc2hvdWxkIGJlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlID0gZXhwcmVzc2lvbi5nZXROb2RlKCksXG4gICAgICAgICAgbm9kZVRlcm1pbmFsTm9kZSA9IG5vZGUuaXNUZXJtaW5hbE5vZGUoKSxcbiAgICAgICAgICB0ZXJtaW5hbCA9IG5vZGVUZXJtaW5hbE5vZGU7ICAvLy9cblxuICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgYm9vbGVhbiA9IHRlcm1pbmFsOyAvLy9cblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpOyAgLy8vXG5cbiAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlQ2hpbGROb2Rlc05hbWVkUGFyYW1ldGVyKG5hbWVkUGFyYW1ldGVyLCBleHByZXNzaW9uLCBjb250ZXh0KSB7XG4gICAgY29uc3QgdHlwZSA9IG5hbWVkUGFyYW1ldGVyLmdldFR5cGUoKTtcblxuICAgIGlmICh0eXBlICE9PSBOT0RFU19UWVBFKSB7XG4gICAgICBjb25zdCBuYW1lZFBhcmFtZXRlclN0cmluZyA9IG5hbWVkUGFyYW1ldGVyLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7bmFtZWRQYXJhbWV0ZXJTdHJpbmd9JyBuYW1lZCBwYXJhbWV0ZXIncyB0eXBlIHNob3VsZCBiZSAnJHtOT0RFU19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSBleHByZXNzaW9uLmdldE5vZGUoKSxcbiAgICAgICAgICBub2RlTm9uVGVybWluYWxOb2RlID0gbm9kZS5pc05vblRlcm1pbmFsTm9kZSgpO1xuXG4gICAgaWYgKCFub2RlTm9uVGVybWluYWxOb2RlKSB7XG4gICAgICBjb25zdCBleHByZXNzaW9uU3RyaW5nID0gZXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzIG5vZGUgbXVzdCBiZSBub24tdGVybWluYWwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgbm9uVGVybWluYWxOb2RlID0gbm9kZSwgIC8vL1xuICAgICAgICAgIGNoaWxkTm9kZXMgPSBub25UZXJtaW5hbE5vZGUuZ2V0Q2hpbGROb2RlcygpLFxuICAgICAgICAgIG5vZGVzID0gY2hpbGROb2RlczsgIC8vL1xuXG4gICAgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiT2JqZWN0QXNzaWdtZW50XCI7XG5cbiAgc3RhdGljIGZyb21TdGVwTm9kZShzdGVwTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBvYmplY3RBc3NpZ25tZW50ID0gbnVsbDtcblxuICAgIGNvbnN0IHN0ZXBPYmplY3RBc3NpZ25tZW50Tm9kZSA9IHN0ZXBPYmplY3RBc3NpZ25tZW50Tm9kZVF1ZXJ5KHN0ZXBOb2RlKTtcblxuICAgIGlmIChzdGVwT2JqZWN0QXNzaWdubWVudE5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG9iamVjdEFzc2lnbm1lbnROb2RlID0gc3RlcE9iamVjdEFzc2lnbm1lbnROb2RlOyAgLy8vXG5cbiAgICAgIG9iamVjdEFzc2lnbm1lbnQgPSBvYmplY3RBc3NpZ25tZW50RnJvbU9iamVjdEFzc2lnbm1lbnROb2RlKG9iamVjdEFzc2lnbm1lbnROb2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb2JqZWN0QXNzaWdubWVudDtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG9iamVjdEFzc2lnbm1lbnRGcm9tT2JqZWN0QXNzaWdubWVudE5vZGUob2JqZWN0QXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgTmFtZWRQYXJhbWV0ZXJzLCBPYmplY3RBc3NpZ21lbnQgfSA9IGVsZW1lbnRzLFxuICAgICAgICBuYW1lZFBhcmFtZXRlcnMgPSBOYW1lZFBhcmFtZXRlcnMuZnJvbU9iamVjdEFzc2lnbm1lbnROb2RlKG9iamVjdEFzc2lnbm1lbnROb2RlLCBjb250ZXh0KSxcbiAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tT2JqZWN0QXNzaWdubWVudE5vZGUob2JqZWN0QXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVmFyaWFibGVBbmROYW1lc1BhcmFtZXRlcnModmFyaWFibGUsIG5hbWVkUGFyYW1ldGVycywgY29udGV4dCksXG4gICAgICAgIG9iamVjdEFzc2lnbm1lbnQgPSBuZXcgT2JqZWN0QXNzaWdtZW50KHN0cmluZywgdmFyaWFibGUsIG5hbWVkUGFyYW1ldGVycyk7XG5cbiAgcmV0dXJuIG9iamVjdEFzc2lnbm1lbnQ7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21WYXJpYWJsZUFuZE5hbWVzUGFyYW1ldGVycyh2YXJpYWJsZSwgbmFtZWRQYXJhbWV0ZXJzLCBjb250ZXh0KSB7XG4gIGNvbnN0IG5hbWVkUGFyYW1ldGVyc1N0cmluZyA9IG5hbWVkUGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgc3RyaW5nID0gYHsgJHtuYW1lZFBhcmFtZXRlcnNTdHJpbmd9IH0gPSAke3ZhcmlhYmxlU3RyaW5nfTtgO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsic3RlcE9iamVjdEFzc2lnbm1lbnROb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkZWZpbmUiLCJPYmplY3RBc3NpZ21lbnQiLCJzdHJpbmciLCJ2YXJpYWJsZSIsIm5hbWVkUGFyYW1ldGVycyIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0TmFtZWRQYXJhbWV0ZXJzIiwiZXZhbHVhdGUiLCJjb250ZXh0Iiwib2JqZWN0QXNzaWdubWVudFN0cmluZyIsInRyYWNlIiwiZXhwcmVzc2lvbiIsImV4cHJlc3Npb25UeXBlIiwiZ2V0VHlwZSIsIk5PREVfVFlQRSIsImV4cHJlc3Npb25TdHJpbmciLCJhc1N0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsIm5vZGVQcm9wZXJ0aWVzIiwibWF0Y2hOYW1lZFBhcmFtZXRlcnMiLCJmb3JFYWNoTmFtZWRQYXJhbWV0ZXIiLCJuYW1lZFBhcmFtZXRlciIsImV2YWx1YXRlTmFtZWRQYXJhbWV0ZXIiLCJkZWJ1ZyIsIm5hbWVkUGFyYW1ldGVyU3RyaW5nIiwibmFtZSIsImdldE5hbWUiLCJDT05URU5UX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVDb250ZW50TmFtZWRQYXJhbWV0ZXIiLCJURVJNSU5BTF9QQVJBTUVURVJfTkFNRSIsImV2YWx1YXRlVGVybWluYWxOYW1lZFBhcmFtZXRlciIsIkNISUxEX05PREVTX1BBUkFNRVRFUl9OQU1FIiwiZXZhbHVhdGVDaGlsZE5vZGVzTmFtZWRQYXJhbWV0ZXIiLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiZnJvbU5hbWVkUGFyYW1ldGVyIiwiYXNzaWduIiwidHlwZSIsIlNUUklOR19UWVBFIiwibm9kZSIsImdldE5vZGUiLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJFeHByZXNzaW9uIiwidGVybWluYWxOb2RlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJmcm9tU3RyaW5nIiwiQk9PTEVBTl9UWVBFIiwidGVybWluYWwiLCJib29sZWFuIiwiZnJvbUJvb2xlYW4iLCJOT0RFU19UWVBFIiwibm9kZU5vblRlcm1pbmFsTm9kZSIsImlzTm9uVGVybWluYWxOb2RlIiwibm9uVGVybWluYWxOb2RlIiwiY2hpbGROb2RlcyIsImdldENoaWxkTm9kZXMiLCJub2RlcyIsImZyb21Ob2RlcyIsImZyb21TdGVwTm9kZSIsInN0ZXBOb2RlIiwib2JqZWN0QXNzaWdubWVudCIsInN0ZXBPYmplY3RBc3NpZ25tZW50Tm9kZSIsIm9iamVjdEFzc2lnbm1lbnROb2RlIiwib2JqZWN0QXNzaWdubWVudEZyb21PYmplY3RBc3NpZ25tZW50Tm9kZSIsIk5hbWVkUGFyYW1ldGVycyIsImZyb21PYmplY3RBc3NpZ25tZW50Tm9kZSIsInN0cmluZ0Zyb21WYXJpYWJsZUFuZE5hbWVzUGFyYW1ldGVycyIsIm5hbWVkUGFyYW1ldGVyc1N0cmluZyIsInZhcmlhYmxlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFhQTs7O2VBQUE7OztnRUFYcUI7Z0VBQ0M7cUVBQ0s7cUJBR0Q7cUJBQ3VDOzhCQUMyQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUYsSUFBTUEsZ0NBQWdDQyxJQUFBQSxnQkFBUyxFQUFDO0lBRWhELFdBQWVDLElBQUFBLGdCQUFNLG9DQUFDO2FBQU1DLGdCQUNkQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsZUFBZTtnQ0FEbkJIO1FBRXhCLElBQUksQ0FBQ0MsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtRQUNoQixJQUFJLENBQUNDLGVBQWUsR0FBR0E7Ozs7WUFHekJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsTUFBTTtZQUNwQjs7O1lBRUFJLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0gsUUFB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
|
|
@@ -0,0 +1,144 @@
|
|
|
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 _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
|
|
12
|
+
function _class_call_check(instance, Constructor) {
|
|
13
|
+
if (!(instance instanceof Constructor)) {
|
|
14
|
+
throw new TypeError("Cannot call a class as a function");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function _defineProperties(target, props) {
|
|
18
|
+
for(var i = 0; i < props.length; i++){
|
|
19
|
+
var descriptor = props[i];
|
|
20
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
21
|
+
descriptor.configurable = true;
|
|
22
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
23
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
27
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
28
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
29
|
+
return Constructor;
|
|
30
|
+
}
|
|
31
|
+
function _define_property(obj, key, value) {
|
|
32
|
+
if (key in obj) {
|
|
33
|
+
Object.defineProperty(obj, key, {
|
|
34
|
+
value: value,
|
|
35
|
+
enumerable: true,
|
|
36
|
+
configurable: true,
|
|
37
|
+
writable: true
|
|
38
|
+
});
|
|
39
|
+
} else {
|
|
40
|
+
obj[key] = value;
|
|
41
|
+
}
|
|
42
|
+
return obj;
|
|
43
|
+
}
|
|
44
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
45
|
+
if (typeof WeakMap !== "function") return null;
|
|
46
|
+
var cacheBabelInterop = new WeakMap();
|
|
47
|
+
var cacheNodeInterop = new WeakMap();
|
|
48
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
49
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
50
|
+
})(nodeInterop);
|
|
51
|
+
}
|
|
52
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
53
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
54
|
+
return obj;
|
|
55
|
+
}
|
|
56
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
57
|
+
return {
|
|
58
|
+
default: obj
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
62
|
+
if (cache && cache.has(obj)) {
|
|
63
|
+
return cache.get(obj);
|
|
64
|
+
}
|
|
65
|
+
var newObj = {
|
|
66
|
+
__proto__: null
|
|
67
|
+
};
|
|
68
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
69
|
+
for(var key in obj){
|
|
70
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
71
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
72
|
+
if (desc && (desc.get || desc.set)) {
|
|
73
|
+
Object.defineProperty(newObj, key, desc);
|
|
74
|
+
} else {
|
|
75
|
+
newObj[key] = obj[key];
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
newObj.default = obj;
|
|
80
|
+
if (cache) {
|
|
81
|
+
cache.set(obj, newObj);
|
|
82
|
+
}
|
|
83
|
+
return newObj;
|
|
84
|
+
}
|
|
85
|
+
var _VariableAssignment;
|
|
86
|
+
var _default = (0, _elements.define)((_VariableAssignment = /*#__PURE__*/ function() {
|
|
87
|
+
function VariableAssignment(string, variable, expression) {
|
|
88
|
+
_class_call_check(this, VariableAssignment);
|
|
89
|
+
this.string = string;
|
|
90
|
+
this.variable = variable;
|
|
91
|
+
this.expression = expression;
|
|
92
|
+
}
|
|
93
|
+
_create_class(VariableAssignment, [
|
|
94
|
+
{
|
|
95
|
+
key: "getString",
|
|
96
|
+
value: function getString() {
|
|
97
|
+
return this.string;
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
key: "getVariable",
|
|
102
|
+
value: function getVariable() {
|
|
103
|
+
return this.variable;
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
key: "getExpression",
|
|
108
|
+
value: function getExpression() {
|
|
109
|
+
return this.expression;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
key: "evaluate",
|
|
114
|
+
value: function evaluate(context) {
|
|
115
|
+
var expression;
|
|
116
|
+
var variableAssignmentString = this.string; ///
|
|
117
|
+
context.trace("Evaluating the '".concat(variableAssignmentString, "' variable assignment..."));
|
|
118
|
+
expression = this.expression.evaluate(context);
|
|
119
|
+
this.variable.assign(expression, context);
|
|
120
|
+
context.debug("...evaluated the '".concat(variableAssignmentString, "' variable assignment."));
|
|
121
|
+
return expression;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
], [
|
|
125
|
+
{
|
|
126
|
+
key: "fromTypeAndVariableAssignmentNode",
|
|
127
|
+
value: function fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context) {
|
|
128
|
+
var variableAssignment = variableAssignmentFromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context);
|
|
129
|
+
return variableAssignment;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
]);
|
|
133
|
+
return VariableAssignment;
|
|
134
|
+
}(), _define_property(_VariableAssignment, "name", "VariableAssignment"), _VariableAssignment));
|
|
135
|
+
function variableAssignmentFromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context) {
|
|
136
|
+
var Variable = _elements.default.Variable, Expression = _elements.default.Expression, VariableAssignment = _elements.default.VariableAssignment, expression = Expression.fromVariableAssignmentNode(variableAssignmentNode, context), variable = Variable.fromTypeAndVariableAssignmentNode(type, variableAssignmentNode, context), string = stringFromExpressionAndVariable(expression, variable, context), assignment = new VariableAssignment(string, variable, expression);
|
|
137
|
+
return assignment;
|
|
138
|
+
}
|
|
139
|
+
function stringFromExpressionAndVariable(expression, variable, context) {
|
|
140
|
+
var variableString = variable.getString(), expressionString = expression.asString(context), string = "".concat(variableString, " = ").concat(expressionString, ";");
|
|
141
|
+
return string;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2Fzc2lnbm1lbnQvdmFyaWFibGUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vLi4vZWxlbWVudHNcIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uLy4uL2VsZW1lbnRzXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBWYXJpYWJsZUFzc2lnbm1lbnQge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBleHByZXNzaW9uKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmV4cHJlc3Npb247XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IGV4cHJlc3Npb247XG5cbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHt2YXJpYWJsZUFzc2lnbm1lbnRTdHJpbmd9JyB2YXJpYWJsZSBhc3NpZ25tZW50Li4uYCk7XG5cbiAgICBleHByZXNzaW9uID0gdGhpcy5leHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgdGhpcy52YXJpYWJsZS5hc3NpZ24oZXhwcmVzc2lvbiwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke3ZhcmlhYmxlQXNzaWdubWVudFN0cmluZ30nIHZhcmlhYmxlIGFzc2lnbm1lbnQuYCk7XG5cbiAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJWYXJpYWJsZUFzc2lnbm1lbnRcIjtcblxuICBzdGF0aWMgZnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnROb2RlKHR5cGUsIHZhcmlhYmxlQXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnQgPSB2YXJpYWJsZUFzc2lnbm1lbnRGcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudE5vZGUodHlwZSwgdmFyaWFibGVBc3NpZ25tZW50Tm9kZSwgY29udGV4dCk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50O1xuICB9XG59KTtcblxuZnVuY3Rpb24gdmFyaWFibGVBc3NpZ25tZW50RnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnROb2RlKHR5cGUsIHZhcmlhYmxlQXNzaWdubWVudE5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgRXhwcmVzc2lvbiwgVmFyaWFibGVBc3NpZ25tZW50IH0gPSBlbGVtZW50cyxcbiAgICAgICAgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbVZhcmlhYmxlQXNzaWdubWVudE5vZGUodmFyaWFibGVBc3NpZ25tZW50Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVR5cGVBbmRWYXJpYWJsZUFzc2lnbm1lbnROb2RlKHR5cGUsIHZhcmlhYmxlQXNzaWdubWVudE5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tRXhwcmVzc2lvbkFuZFZhcmlhYmxlKGV4cHJlc3Npb24sIHZhcmlhYmxlLCBjb250ZXh0KSxcbiAgICAgICAgYXNzaWdubWVudCA9IG5ldyBWYXJpYWJsZUFzc2lnbm1lbnQoc3RyaW5nLCB2YXJpYWJsZSwgZXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGFzc2lnbm1lbnQ7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21FeHByZXNzaW9uQW5kVmFyaWFibGUoZXhwcmVzc2lvbiwgdmFyaWFibGUsIGNvbnRleHQpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IGAke3ZhcmlhYmxlU3RyaW5nfSA9ICR7ZXhwcmVzc2lvblN0cmluZ307YDtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImRlZmluZSIsIlZhcmlhYmxlQXNzaWdubWVudCIsInN0cmluZyIsInZhcmlhYmxlIiwiZXhwcmVzc2lvbiIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0RXhwcmVzc2lvbiIsImV2YWx1YXRlIiwiY29udGV4dCIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZyIsInRyYWNlIiwiYXNzaWduIiwiZGVidWciLCJmcm9tVHlwZUFuZFZhcmlhYmxlQXNzaWdubWVudE5vZGUiLCJ0eXBlIiwidmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsInZhcmlhYmxlQXNzaWdubWVudCIsInZhcmlhYmxlQXNzaWdubWVudEZyb21UeXBlQW5kVmFyaWFibGVBc3NpZ25tZW50Tm9kZSIsIm5hbWUiLCJWYXJpYWJsZSIsImVsZW1lbnRzIiwiRXhwcmVzc2lvbiIsImZyb21WYXJpYWJsZUFzc2lnbm1lbnROb2RlIiwic3RyaW5nRnJvbUV4cHJlc3Npb25BbmRWYXJpYWJsZSIsImFzc2lnbm1lbnQiLCJ2YXJpYWJsZVN0cmluZyIsImV4cHJlc3Npb25TdHJpbmciLCJhc1N0cmluZyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7Z0VBSnFCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFJckIsV0FBZUEsSUFBQUEsZ0JBQU0sdUNBQUM7YUFBTUMsbUJBQ2RDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxVQUFVO2dDQURkSDtRQUV4QixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLFFBQVEsR0FBR0E7UUFDaEIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBOzs7O1lBR3BCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFVBQVU7WUFDeEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsT0FBTztnQkFDZCxJQUFJTDtnQkFFSixJQUFNTSwyQkFBMkIsSUFBSSxDQUFDUixNQUFNLEVBQUUsR0FBRztnQkFFakRPLFFBQVFFLEtBQUssQ0FBQyxBQUFDLG1CQUEyQyxPQUF6QkQsMEJBQXlCO2dCQUUxRE4sYUFBYSxJQUFJLENBQUNBLFVBQVUsQ0FBQ0ksUUFBUSxDQUFDQztnQkFFdEMsSUFBSSxDQUFDTixRQUFRLENBQUNTLE1BQU0sQ0FBQ1IsWUFBWUs7Z0JBRWpDQSxRQUFRSSxLQUFLLENBQUMsQUFBQyxxQkFBNkMsT0FBekJILDBCQUF5QjtnQkFFNUQsT0FBT047WUFDVDs7OztZQUlPVSxLQUFBQTttQkFBUCxTQUFPQSxrQ0FBa0NDLElBQUksRUFBRUMsc0JBQXNCLEVBQUVQLE9BQU87Z0JBQzVFLElBQU1RLHFCQUFxQkMsb0RBQW9ESCxNQUFNQyx3QkFBd0JQO2dCQUU3RyxPQUFPUTtZQUNUOzs7O0tBTkEsc0NBQU9FLFFBQU87QUFTaEIsU0FBU0Qsb0RBQW9ESCxJQUFJLEVBQUVDLHNCQUFzQixFQUFFUCxPQUFPO0lBQ2hHLElBQVFXLFdBQTZDQyxpQkFBUSxDQUFyREQsVUFBVUUsYUFBbUNELGlCQUFRLENBQTNDQyxZQUFZckIscUJBQXVCb0IsaUJBQVEsQ0FBL0JwQixvQkFDeEJHLGFBQWFrQixXQUFXQywwQkFBMEIsQ0FBQ1Asd0JBQXdCUCxVQUMzRU4sV0FBV2lCLFNBQVNOLGlDQUFpQyxDQUFDQyxNQUFNQyx3QkFBd0JQLFVBQ3BGUCxTQUFTc0IsZ0NBQWdDcEIsWUFBWUQsVUFBVU0sVUFDL0RnQixhQUFhLElBQUl4QixtQkFBbUJDLFFBQVFDLFVBQVVDO0lBRTVELE9BQU9xQjtBQUNUO0FBRUEsU0FBU0QsZ0NBQWdDcEIsVUFBVSxFQUFFRCxRQUFRLEVBQUVNLE9BQU87SUFDcEUsSUFBTWlCLGlCQUFpQnZCLFNBQVNFLFNBQVMsSUFDbkNzQixtQkFBbUJ2QixXQUFXd0IsUUFBUSxDQUFDbkIsVUFDdkNQLFNBQVMsQUFBQyxHQUFzQnlCLE9BQXBCRCxnQkFBZSxPQUFzQixPQUFqQkMsa0JBQWlCO0lBRXZELE9BQU96QjtBQUNUIn0=
|