occam-furtle 2.0.120 → 2.0.121
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/dom/assignment/array.js +12 -12
- package/lib/dom/assignment/object.js +30 -30
- package/lib/dom/assignment/variable.js +13 -13
- package/lib/dom/block/return.js +9 -9
- package/lib/dom/comparison.js +28 -28
- package/lib/dom/every.js +25 -25
- package/lib/dom/expression/bitwise.js +186 -0
- package/lib/dom/expression/bracketed.js +149 -0
- package/lib/dom/expression/negated.js +166 -0
- package/lib/dom/expression.js +578 -0
- package/lib/dom/expressions.js +210 -0
- package/lib/dom/parameter/named.js +9 -9
- package/lib/dom/parameter.js +9 -9
- package/lib/dom/parameters/named.js +11 -11
- package/lib/dom/parameters.js +11 -11
- package/lib/dom/procedure/anonymous.js +7 -7
- package/lib/dom/procedure.js +12 -12
- package/lib/dom/procedureCall.js +17 -17
- package/lib/dom/query/node.js +19 -19
- package/lib/dom/query/nodes.js +19 -19
- package/lib/dom/reduce.js +32 -32
- package/lib/dom/some.js +25 -25
- package/lib/dom/statement/return.js +12 -12
- package/lib/dom/ternary.js +27 -27
- package/lib/dom/variable.js +30 -30
- package/lib/example/utilities/expressions.js +29 -0
- package/lib/example.js +4 -4
- package/lib/index.js +9 -9
- package/package.json +1 -1
- package/src/dom/assignment/array.js +14 -14
- package/src/dom/assignment/object.js +33 -33
- package/src/dom/assignment/variable.js +15 -15
- package/src/dom/block/return.js +7 -7
- package/src/dom/comparison.js +39 -39
- package/src/dom/every.js +25 -25
- package/src/dom/expression/bitwise.js +135 -0
- package/src/dom/expression/bracketed.js +73 -0
- package/src/dom/expression/negated.js +97 -0
- package/src/dom/{value.js → expression.js} +128 -128
- package/src/dom/expressions.js +138 -0
- package/src/dom/parameter/named.js +7 -7
- package/src/dom/parameter.js +7 -7
- package/src/dom/parameters/named.js +9 -9
- package/src/dom/parameters.js +9 -9
- package/src/dom/procedure/anonymous.js +10 -10
- package/src/dom/procedure.js +12 -12
- package/src/dom/procedureCall.js +19 -19
- package/src/dom/query/node.js +19 -19
- package/src/dom/query/nodes.js +19 -19
- package/src/dom/reduce.js +36 -36
- package/src/dom/some.js +25 -25
- package/src/dom/statement/return.js +14 -14
- package/src/dom/ternary.js +39 -39
- package/src/dom/variable.js +31 -31
- package/src/example/utilities/{values.js → expressions.js} +4 -4
- package/src/example.js +4 -4
- package/src/index.js +6 -6
- package/lib/dom/value/bitwise.js +0 -186
- package/lib/dom/value/bracketed.js +0 -149
- package/lib/dom/value/negated.js +0 -166
- package/lib/dom/value.js +0 -578
- package/lib/dom/values.js +0 -210
- package/lib/example/utilities/values.js +0 -29
- package/src/dom/value/bitwise.js +0 -135
- package/src/dom/value/bracketed.js +0 -73
- package/src/dom/value/negated.js +0 -97
- package/src/dom/values.js +0 -138
package/lib/dom/comparison.js
CHANGED
|
@@ -91,14 +91,14 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
91
91
|
return newObj;
|
|
92
92
|
}
|
|
93
93
|
var _Comparison;
|
|
94
|
-
var terminalNodeQuery = (0, _query.nodeQuery)("/comparison/@*"),
|
|
94
|
+
var terminalNodeQuery = (0, _query.nodeQuery)("/comparison/@*"), leftExpressionNodeQuery = (0, _query.nodeQuery)("/comparison/expression[0]"), rightExpressionNodeQuery = (0, _query.nodeQuery)("/comparison/expression[1]"), expressionComparisonNodeQuery = (0, _query.nodeQuery)("/expression/comparison");
|
|
95
95
|
var _default = (0, _dom.domAssigned)((_Comparison = /*#__PURE__*/ function() {
|
|
96
|
-
function Comparison(string, negated,
|
|
96
|
+
function Comparison(string, negated, leftExpression, rightExpression) {
|
|
97
97
|
_class_call_check(this, Comparison);
|
|
98
98
|
this.string = string;
|
|
99
99
|
this.negated = negated;
|
|
100
|
-
this.
|
|
101
|
-
this.
|
|
100
|
+
this.leftExpression = leftExpression;
|
|
101
|
+
this.rightExpression = rightExpression;
|
|
102
102
|
}
|
|
103
103
|
_create_class(Comparison, [
|
|
104
104
|
{
|
|
@@ -114,47 +114,47 @@ var _default = (0, _dom.domAssigned)((_Comparison = /*#__PURE__*/ function() {
|
|
|
114
114
|
}
|
|
115
115
|
},
|
|
116
116
|
{
|
|
117
|
-
key: "
|
|
118
|
-
value: function
|
|
119
|
-
return this.
|
|
117
|
+
key: "getLeftExpression",
|
|
118
|
+
value: function getLeftExpression() {
|
|
119
|
+
return this.leftExpression;
|
|
120
120
|
}
|
|
121
121
|
},
|
|
122
122
|
{
|
|
123
|
-
key: "
|
|
124
|
-
value: function
|
|
125
|
-
return this.
|
|
123
|
+
key: "getRightExpression",
|
|
124
|
+
value: function getRightExpression() {
|
|
125
|
+
return this.rightExpression;
|
|
126
126
|
}
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
129
|
key: "evaluate",
|
|
130
130
|
value: function evaluate(context) {
|
|
131
|
-
var
|
|
131
|
+
var expression;
|
|
132
132
|
var comparisonString = this.string; ///
|
|
133
133
|
context.trace("Evaluating the '".concat(comparisonString, "' comparison..."));
|
|
134
|
-
var
|
|
135
|
-
if (
|
|
136
|
-
var
|
|
134
|
+
var leftExpression = this.leftExpression.evaluate(context), rightExpression = this.rightExpression.evaluate(context), leftExpressionType = leftExpression.getType(), rightExpressionType = rightExpression.getType();
|
|
135
|
+
if (leftExpressionType !== rightExpressionType) {
|
|
136
|
+
var leftExpressionString = leftExpression.asString(context), rightExpressionString = rightExpression.asString(context), message = "The ".concat(leftExpressionString, " left expression's type is '").concat(leftExpressionType, "' whereas the ").concat(rightExpressionString, " right expression's type is '").concat(rightExpressionType, "'."), exception = _exception.default.fromMessage(message);
|
|
137
137
|
throw exception;
|
|
138
138
|
}
|
|
139
|
-
var
|
|
140
|
-
var boolean =
|
|
139
|
+
var leftExpressionEqualToRightExpression = leftExpression.isEqualTo(rightExpression);
|
|
140
|
+
var boolean = leftExpressionEqualToRightExpression; ///
|
|
141
141
|
if (this.negated) {
|
|
142
142
|
boolean = !boolean; ///
|
|
143
143
|
}
|
|
144
|
-
var
|
|
145
|
-
|
|
144
|
+
var Expression = _dom.default.Expression;
|
|
145
|
+
expression = Expression.fromBoolean(boolean, context);
|
|
146
146
|
context.debug("...evaluated the '".concat(comparisonString, "' comparison."));
|
|
147
|
-
return
|
|
147
|
+
return expression;
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
], [
|
|
151
151
|
{
|
|
152
|
-
key: "
|
|
153
|
-
value: function
|
|
152
|
+
key: "fromExpressionNode",
|
|
153
|
+
value: function fromExpressionNode(valudNode, context) {
|
|
154
154
|
var comparison = null;
|
|
155
|
-
var
|
|
156
|
-
if (
|
|
157
|
-
var comparisonNode =
|
|
155
|
+
var expressionComparisonNode = expressionComparisonNodeQuery(valudNode);
|
|
156
|
+
if (expressionComparisonNode !== null) {
|
|
157
|
+
var comparisonNode = expressionComparisonNode; ///
|
|
158
158
|
comparison = comparisonFromComparisonNode(comparisonNode, context);
|
|
159
159
|
}
|
|
160
160
|
return comparison;
|
|
@@ -168,12 +168,12 @@ function negatedFromComparisonNode(comparisonNode) {
|
|
|
168
168
|
return negated;
|
|
169
169
|
}
|
|
170
170
|
function comparisonFromComparisonNode(comparisonNode, context) {
|
|
171
|
-
var
|
|
171
|
+
var Expression = _dom.default.Expression, Comparison = _dom.default.Comparison, leftExpressionNode = leftExpressionNodeQuery(comparisonNode), rightExpressionNode = rightExpressionNodeQuery(comparisonNode), rightExpression = Expression.fromExpressionNode(rightExpressionNode, context), leftExpression = Expression.fromExpressionNode(leftExpressionNode, context), negated = negatedFromComparisonNode(comparisonNode, context), string = stringFromNegatedLeftExpressionAndRightExpression(negated, leftExpression, rightExpression, context), comparison = new Comparison(string, negated, leftExpression, rightExpression);
|
|
172
172
|
return comparison;
|
|
173
173
|
}
|
|
174
|
-
function
|
|
175
|
-
var operatorString = negated ? _constants.EQUAL_TO : _constants.NOT_EQUAL_TO,
|
|
174
|
+
function stringFromNegatedLeftExpressionAndRightExpression(negated, leftExpression, rightExpression, context) {
|
|
175
|
+
var operatorString = negated ? _constants.EQUAL_TO : _constants.NOT_EQUAL_TO, leftExpressionString = leftExpression.asString(context), rightExpressionString = rightExpression.asString(context), string = "".concat(leftExpressionString, " ").concat(operatorString, " ").concat(rightExpressionString);
|
|
176
176
|
return string;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29tcGFyaXNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBFUVVBTF9UTywgTk9UX0VRVUFMX1RPIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB0ZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21wYXJpc29uL0AqXCIpLFxuICAgICAgbGVmdFZhbHVlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBhcmlzb24vdmFsdWVbMF1cIiksXG4gICAgICByaWdodFZhbHVlTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBhcmlzb24vdmFsdWVbMV1cIiksXG4gICAgICB2YWx1ZUNvbXBhcmlzb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvY29tcGFyaXNvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29tcGFyaXNvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbmVnYXRlZCwgbGVmdFZhbHVlLCByaWdodFZhbHVlKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5uZWdhdGVkID0gbmVnYXRlZDtcbiAgICB0aGlzLmxlZnRWYWx1ZSA9IGxlZnRWYWx1ZTtcbiAgICB0aGlzLnJpZ2h0VmFsdWUgPSByaWdodFZhbHVlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGlzTmVnYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGVkO1xuICB9XG5cbiAgZ2V0TGVmdFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLmxlZnRWYWx1ZTtcbiAgfVxuXG4gIGdldFJpZ2h0VmFsdWUoKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRWYWx1ZTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBjb21wYXJpc29uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7Y29tcGFyaXNvblN0cmluZ30nIGNvbXBhcmlzb24uLi5gKTtcblxuICAgIGNvbnN0IGxlZnRWYWx1ZSA9IHRoaXMubGVmdFZhbHVlLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIHJpZ2h0VmFsdWUgPSB0aGlzLnJpZ2h0VmFsdWUuZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdFZhbHVlVHlwZSA9IGxlZnRWYWx1ZS5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRWYWx1ZVR5cGUgPSByaWdodFZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmIChsZWZ0VmFsdWVUeXBlICE9PSByaWdodFZhbHVlVHlwZSkge1xuICAgICAgY29uc3QgbGVmdFZhbHVlU3RyaW5nID0gbGVmdFZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgcmlnaHRWYWx1ZVN0cmluZyA9IHJpZ2h0VmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2xlZnRWYWx1ZVN0cmluZ30gbGVmdCB2YWx1ZSdzIHR5cGUgaXMgJyR7bGVmdFZhbHVlVHlwZX0nIHdoZXJlYXMgdGhlICR7cmlnaHRWYWx1ZVN0cmluZ30gcmlnaHQgdmFsdWUncyB0eXBlIGlzICcke3JpZ2h0VmFsdWVUeXBlfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGxlZnRWYWx1ZUVxdWFsVG9SaWdodFZhbHVlID0gbGVmdFZhbHVlLmlzRXF1YWxUbyhyaWdodFZhbHVlKTtcblxuICAgIGxldCBib29sZWFuID0gbGVmdFZhbHVlRXF1YWxUb1JpZ2h0VmFsdWU7IC8vL1xuXG4gICAgaWYgKHRoaXMubmVnYXRlZCkge1xuICAgICAgYm9vbGVhbiA9ICFib29sZWFuOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCB7IFZhbHVlIH0gPSBkb207XG5cbiAgICB2YWx1ZSA9IFZhbHVlLmZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtjb21wYXJpc29uU3RyaW5nfScgY29tcGFyaXNvbi5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJDb21wYXJpc29uXCI7XG5cbiAgc3RhdGljIGZyb21WYWx1ZU5vZGUodmFsdWROb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IGNvbXBhcmlzb24gPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWVDb21wYXJpc29uTm9kZSA9IHZhbHVlQ29tcGFyaXNvbk5vZGVRdWVyeSh2YWx1ZE5vZGUpO1xuXG4gICAgaWYgKHZhbHVlQ29tcGFyaXNvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGNvbXBhcmlzb25Ob2RlID0gdmFsdWVDb21wYXJpc29uTm9kZTsgLy8vXG5cbiAgICAgIGNvbXBhcmlzb24gPSBjb21wYXJpc29uRnJvbUNvbXBhcmlzb25Ob2RlKGNvbXBhcmlzb25Ob2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcGFyaXNvbjtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5lZ2F0ZWRGcm9tQ29tcGFyaXNvbk5vZGUoY29tcGFyaXNvbk5vZGUpIHtcbiAgY29uc3QgdGVybWluYWxOb2RlID0gdGVybWluYWxOb2RlUXVlcnkoY29tcGFyaXNvbk5vZGUpLFxuICAgICAgICB0ZXJtaW5hbE5vZGVDb250ZW50ID0gdGVybWluYWxOb2RlLmdldENvbnRlbnQoKSxcbiAgICAgICAgbmVnYXRlZCA9ICh0ZXJtaW5hbE5vZGVDb250ZW50ICE9PSBFUVVBTF9UTyk7XG5cbiAgcmV0dXJuIG5lZ2F0ZWQ7XG59XG5cbmZ1bmN0aW9uIGNvbXBhcmlzb25Gcm9tQ29tcGFyaXNvbk5vZGUoY29tcGFyaXNvbk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYWx1ZSwgQ29tcGFyaXNvbiB9ID0gZG9tLFxuICAgICAgICBsZWZ0VmFsdWVOb2RlID0gbGVmdFZhbHVlTm9kZVF1ZXJ5KGNvbXBhcmlzb25Ob2RlKSxcbiAgICAgICAgcmlnaHRWYWx1ZU5vZGUgPSByaWdodFZhbHVlTm9kZVF1ZXJ5KGNvbXBhcmlzb25Ob2RlKSxcbiAgICAgICAgcmlnaHRWYWx1ZSA9IFZhbHVlLmZyb21WYWx1ZU5vZGUocmlnaHRWYWx1ZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICBsZWZ0VmFsdWUgPSBWYWx1ZS5mcm9tVmFsdWVOb2RlKGxlZnRWYWx1ZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICBuZWdhdGVkID0gbmVnYXRlZEZyb21Db21wYXJpc29uTm9kZShjb21wYXJpc29uTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21OZWdhdGVkTGVmdFZhbHVlQW5kUmlnaHRWYWx1ZShuZWdhdGVkLCBsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUsIGNvbnRleHQpLFxuICAgICAgICBjb21wYXJpc29uID0gbmV3IENvbXBhcmlzb24oc3RyaW5nLCBuZWdhdGVkLCBsZWZ0VmFsdWUsIHJpZ2h0VmFsdWUpO1xuXG4gIHJldHVybiBjb21wYXJpc29uO1xufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tTmVnYXRlZExlZnRWYWx1ZUFuZFJpZ2h0VmFsdWUobmVnYXRlZCwgbGVmdFZhbHVlLCByaWdodFZhbHVlLCBjb250ZXh0KSB7XG4gIGNvbnN0IG9wZXJhdG9yU3RyaW5nID0gbmVnYXRlZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBFUVVBTF9UTyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9UX0VRVUFMX1RPLFxuICAgICAgICBsZWZ0VmFsdWVTdHJpbmcgPSBsZWZ0VmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIHJpZ2h0VmFsdWVTdHJpbmcgPSByaWdodFZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBgJHtsZWZ0VmFsdWVTdHJpbmd9ICR7b3BlcmF0b3JTdHJpbmd9ICR7cmlnaHRWYWx1ZVN0cmluZ31gO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsidGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsZWZ0VmFsdWVOb2RlUXVlcnkiLCJyaWdodFZhbHVlTm9kZVF1ZXJ5IiwidmFsdWVDb21wYXJpc29uTm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJDb21wYXJpc29uIiwic3RyaW5nIiwibmVnYXRlZCIsImxlZnRWYWx1ZSIsInJpZ2h0VmFsdWUiLCJnZXRTdHJpbmciLCJpc05lZ2F0ZWQiLCJnZXRMZWZ0VmFsdWUiLCJnZXRSaWdodFZhbHVlIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwidmFsdWUiLCJjb21wYXJpc29uU3RyaW5nIiwidHJhY2UiLCJsZWZ0VmFsdWVUeXBlIiwiZ2V0VHlwZSIsInJpZ2h0VmFsdWVUeXBlIiwibGVmdFZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJyaWdodFZhbHVlU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibGVmdFZhbHVlRXF1YWxUb1JpZ2h0VmFsdWUiLCJpc0VxdWFsVG8iLCJib29sZWFuIiwiVmFsdWUiLCJkb20iLCJmcm9tQm9vbGVhbiIsImRlYnVnIiwiZnJvbVZhbHVlTm9kZSIsInZhbHVkTm9kZSIsImNvbXBhcmlzb24iLCJ2YWx1ZUNvbXBhcmlzb25Ob2RlIiwiY29tcGFyaXNvbk5vZGUiLCJjb21wYXJpc29uRnJvbUNvbXBhcmlzb25Ob2RlIiwibmFtZSIsIm5lZ2F0ZWRGcm9tQ29tcGFyaXNvbk5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCIsIkVRVUFMX1RPIiwibGVmdFZhbHVlTm9kZSIsInJpZ2h0VmFsdWVOb2RlIiwic3RyaW5nRnJvbU5lZ2F0ZWRMZWZ0VmFsdWVBbmRSaWdodFZhbHVlIiwib3BlcmF0b3JTdHJpbmciLCJOT1RfRVFVQUxfVE8iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7OzJEQVpnQjtnRUFDTTtxQkFFSTt5QkFFYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFdkMsSUFBTUEsb0JBQW9CQyxJQUFBQSxnQkFBUyxFQUFDLG1CQUM5QkMscUJBQXFCRCxJQUFBQSxnQkFBUyxFQUFDLHlCQUMvQkUsc0JBQXNCRixJQUFBQSxnQkFBUyxFQUFDLHlCQUNoQ0csMkJBQTJCSCxJQUFBQSxnQkFBUyxFQUFDO0lBRTNDLFdBQWVJLElBQUFBLGdCQUFXLCtCQUFDO2FBQU1DLFdBQ25CQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxVQUFVO2dDQURuQko7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxPQUFPLEdBQUdBO1FBQ2YsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7OztZQUdwQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixNQUFNO1lBQ3BCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSixPQUFPO1lBQ3JCOzs7WUFFQUssS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxD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
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vY29tcGFyaXNvbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGRvbSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vZG9tXCI7XG5pbXBvcnQgeyBFUVVBTF9UTywgTk9UX0VRVUFMX1RPIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB0ZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9jb21wYXJpc29uL0AqXCIpLFxuICAgICAgbGVmdEV4cHJlc3Npb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvY29tcGFyaXNvbi9leHByZXNzaW9uWzBdXCIpLFxuICAgICAgcmlnaHRFeHByZXNzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2NvbXBhcmlzb24vZXhwcmVzc2lvblsxXVwiKSxcbiAgICAgIGV4cHJlc3Npb25Db21wYXJpc29uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2V4cHJlc3Npb24vY29tcGFyaXNvblwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgQ29tcGFyaXNvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgbmVnYXRlZCwgbGVmdEV4cHJlc3Npb24sIHJpZ2h0RXhwcmVzc2lvbikge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMubmVnYXRlZCA9IG5lZ2F0ZWQ7XG4gICAgdGhpcy5sZWZ0RXhwcmVzc2lvbiA9IGxlZnRFeHByZXNzaW9uO1xuICAgIHRoaXMucmlnaHRFeHByZXNzaW9uID0gcmlnaHRFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGlzTmVnYXRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5uZWdhdGVkO1xuICB9XG5cbiAgZ2V0TGVmdEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdEV4cHJlc3Npb247XG4gIH1cblxuICBnZXRSaWdodEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRFeHByZXNzaW9uO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCBleHByZXNzaW9uO1xuXG4gICAgY29uc3QgY29tcGFyaXNvblN0cmluZyA9IHRoaXMuc3RyaW5nOyAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke2NvbXBhcmlzb25TdHJpbmd9JyBjb21wYXJpc29uLi4uYCk7XG5cbiAgICBjb25zdCBsZWZ0RXhwcmVzc2lvbiA9IHRoaXMubGVmdEV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgcmlnaHRFeHByZXNzaW9uID0gdGhpcy5yaWdodEV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdEV4cHJlc3Npb25UeXBlID0gbGVmdEV4cHJlc3Npb24uZ2V0VHlwZSgpLFxuICAgICAgICAgIHJpZ2h0RXhwcmVzc2lvblR5cGUgPSByaWdodEV4cHJlc3Npb24uZ2V0VHlwZSgpO1xuXG4gICAgaWYgKGxlZnRFeHByZXNzaW9uVHlwZSAhPT0gcmlnaHRFeHByZXNzaW9uVHlwZSkge1xuICAgICAgY29uc3QgbGVmdEV4cHJlc3Npb25TdHJpbmcgPSBsZWZ0RXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIHJpZ2h0RXhwcmVzc2lvblN0cmluZyA9IHJpZ2h0RXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7bGVmdEV4cHJlc3Npb25TdHJpbmd9IGxlZnQgZXhwcmVzc2lvbidzIHR5cGUgaXMgJyR7bGVmdEV4cHJlc3Npb25UeXBlfScgd2hlcmVhcyB0aGUgJHtyaWdodEV4cHJlc3Npb25TdHJpbmd9IHJpZ2h0IGV4cHJlc3Npb24ncyB0eXBlIGlzICcke3JpZ2h0RXhwcmVzc2lvblR5cGV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdEV4cHJlc3Npb25FcXVhbFRvUmlnaHRFeHByZXNzaW9uID0gbGVmdEV4cHJlc3Npb24uaXNFcXVhbFRvKHJpZ2h0RXhwcmVzc2lvbik7XG5cbiAgICBsZXQgYm9vbGVhbiA9IGxlZnRFeHByZXNzaW9uRXF1YWxUb1JpZ2h0RXhwcmVzc2lvbjsgLy8vXG5cbiAgICBpZiAodGhpcy5uZWdhdGVkKSB7XG4gICAgICBib29sZWFuID0gIWJvb2xlYW47IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZG9tO1xuXG4gICAgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2NvbXBhcmlzb25TdHJpbmd9JyBjb21wYXJpc29uLmApO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQ29tcGFyaXNvblwiO1xuXG4gIHN0YXRpYyBmcm9tRXhwcmVzc2lvbk5vZGUodmFsdWROb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IGNvbXBhcmlzb24gPSBudWxsO1xuXG4gICAgY29uc3QgZXhwcmVzc2lvbkNvbXBhcmlzb25Ob2RlID0gZXhwcmVzc2lvbkNvbXBhcmlzb25Ob2RlUXVlcnkodmFsdWROb2RlKTtcblxuICAgIGlmIChleHByZXNzaW9uQ29tcGFyaXNvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGNvbXBhcmlzb25Ob2RlID0gZXhwcmVzc2lvbkNvbXBhcmlzb25Ob2RlOyAvLy9cblxuICAgICAgY29tcGFyaXNvbiA9IGNvbXBhcmlzb25Gcm9tQ29tcGFyaXNvbk5vZGUoY29tcGFyaXNvbk5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBjb21wYXJpc29uO1xuICB9XG59KTtcblxuZnVuY3Rpb24gbmVnYXRlZEZyb21Db21wYXJpc29uTm9kZShjb21wYXJpc29uTm9kZSkge1xuICBjb25zdCB0ZXJtaW5hbE5vZGUgPSB0ZXJtaW5hbE5vZGVRdWVyeShjb21wYXJpc29uTm9kZSksXG4gICAgICAgIHRlcm1pbmFsTm9kZUNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBuZWdhdGVkID0gKHRlcm1pbmFsTm9kZUNvbnRlbnQgIT09IEVRVUFMX1RPKTtcblxuICByZXR1cm4gbmVnYXRlZDtcbn1cblxuZnVuY3Rpb24gY29tcGFyaXNvbkZyb21Db21wYXJpc29uTm9kZShjb21wYXJpc29uTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IEV4cHJlc3Npb24sIENvbXBhcmlzb24gfSA9IGRvbSxcbiAgICAgICAgbGVmdEV4cHJlc3Npb25Ob2RlID0gbGVmdEV4cHJlc3Npb25Ob2RlUXVlcnkoY29tcGFyaXNvbk5vZGUpLFxuICAgICAgICByaWdodEV4cHJlc3Npb25Ob2RlID0gcmlnaHRFeHByZXNzaW9uTm9kZVF1ZXJ5KGNvbXBhcmlzb25Ob2RlKSxcbiAgICAgICAgcmlnaHRFeHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tRXhwcmVzc2lvbk5vZGUocmlnaHRFeHByZXNzaW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgIGxlZnRFeHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tRXhwcmVzc2lvbk5vZGUobGVmdEV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgbmVnYXRlZCA9IG5lZ2F0ZWRGcm9tQ29tcGFyaXNvbk5vZGUoY29tcGFyaXNvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tTmVnYXRlZExlZnRFeHByZXNzaW9uQW5kUmlnaHRFeHByZXNzaW9uKG5lZ2F0ZWQsIGxlZnRFeHByZXNzaW9uLCByaWdodEV4cHJlc3Npb24sIGNvbnRleHQpLFxuICAgICAgICBjb21wYXJpc29uID0gbmV3IENvbXBhcmlzb24oc3RyaW5nLCBuZWdhdGVkLCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uKTtcblxuICByZXR1cm4gY29tcGFyaXNvbjtcbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbU5lZ2F0ZWRMZWZ0RXhwcmVzc2lvbkFuZFJpZ2h0RXhwcmVzc2lvbihuZWdhdGVkLCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IG9wZXJhdG9yU3RyaW5nID0gbmVnYXRlZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBFUVVBTF9UTyA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgTk9UX0VRVUFMX1RPLFxuICAgICAgICBsZWZ0RXhwcmVzc2lvblN0cmluZyA9IGxlZnRFeHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICByaWdodEV4cHJlc3Npb25TdHJpbmcgPSByaWdodEV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IGAke2xlZnRFeHByZXNzaW9uU3RyaW5nfSAke29wZXJhdG9yU3RyaW5nfSAke3JpZ2h0RXhwcmVzc2lvblN0cmluZ31gO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsidGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsZWZ0RXhwcmVzc2lvbk5vZGVRdWVyeSIsInJpZ2h0RXhwcmVzc2lvbk5vZGVRdWVyeSIsImV4cHJlc3Npb25Db21wYXJpc29uTm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJDb21wYXJpc29uIiwic3RyaW5nIiwibmVnYXRlZCIsImxlZnRFeHByZXNzaW9uIiwicmlnaHRFeHByZXNzaW9uIiwiZ2V0U3RyaW5nIiwiaXNOZWdhdGVkIiwiZ2V0TGVmdEV4cHJlc3Npb24iLCJnZXRSaWdodEV4cHJlc3Npb24iLCJldmFsdWF0ZSIsImNvbnRleHQiLCJleHByZXNzaW9uIiwiY29tcGFyaXNvblN0cmluZyIsInRyYWNlIiwibGVmdEV4cHJlc3Npb25UeXBlIiwiZ2V0VHlwZSIsInJpZ2h0RXhwcmVzc2lvblR5cGUiLCJsZWZ0RXhwcmVzc2lvblN0cmluZyIsImFzU3RyaW5nIiwicmlnaHRFeHByZXNzaW9uU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibGVmdEV4cHJlc3Npb25FcXVhbFRvUmlnaHRFeHByZXNzaW9uIiwiaXNFcXVhbFRvIiwiYm9vbGVhbiIsIkV4cHJlc3Npb24iLCJkb20iLCJmcm9tQm9vbGVhbiIsImRlYnVnIiwiZnJvbUV4cHJlc3Npb25Ob2RlIiwidmFsdWROb2RlIiwiY29tcGFyaXNvbiIsImV4cHJlc3Npb25Db21wYXJpc29uTm9kZSIsImNvbXBhcmlzb25Ob2RlIiwiY29tcGFyaXNvbkZyb21Db21wYXJpc29uTm9kZSIsIm5hbWUiLCJuZWdhdGVkRnJvbUNvbXBhcmlzb25Ob2RlIiwidGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJFUVVBTF9UTyIsImxlZnRFeHByZXNzaW9uTm9kZSIsInJpZ2h0RXhwcmVzc2lvbk5vZGUiLCJzdHJpbmdGcm9tTmVnYXRlZExlZnRFeHByZXNzaW9uQW5kUmlnaHRFeHByZXNzaW9uIiwib3BlcmF0b3JTdHJpbmciLCJOT1RfRVFVQUxfVE8iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7OzJEQVpnQjtnRUFDTTtxQkFFSTt5QkFFYTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
package/lib/dom/every.js
CHANGED
|
@@ -91,7 +91,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
91
91
|
return newObj;
|
|
92
92
|
}
|
|
93
93
|
var _Every;
|
|
94
|
-
var
|
|
94
|
+
var expressionEveryNodeQuery = (0, _query.nodeQuery)("/expression/every");
|
|
95
95
|
var _default = (0, _dom.domAssigned)((_Every = /*#__PURE__*/ function() {
|
|
96
96
|
function Every(string, variable, anonymousProcedure) {
|
|
97
97
|
_class_call_check(this, Every);
|
|
@@ -122,43 +122,43 @@ var _default = (0, _dom.domAssigned)((_Every = /*#__PURE__*/ function() {
|
|
|
122
122
|
key: "evaluate",
|
|
123
123
|
value: function evaluate(context) {
|
|
124
124
|
var _this = this;
|
|
125
|
-
var
|
|
125
|
+
var expression;
|
|
126
126
|
var everyString = this.getString();
|
|
127
127
|
context.trace("Evaluating the '".concat(everyString, "' every..."));
|
|
128
|
-
|
|
129
|
-
var
|
|
130
|
-
if (
|
|
131
|
-
var
|
|
128
|
+
expression = this.variable.evaluate(context);
|
|
129
|
+
var expressionType = expression.getType();
|
|
130
|
+
if (expressionType !== _types.NODES_TYPE) {
|
|
131
|
+
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);
|
|
132
132
|
throw exception;
|
|
133
133
|
}
|
|
134
|
-
var nodes =
|
|
135
|
-
var
|
|
136
|
-
var
|
|
137
|
-
|
|
138
|
-
var
|
|
139
|
-
|
|
140
|
-
var
|
|
141
|
-
if (
|
|
142
|
-
var
|
|
134
|
+
var nodes = expression.getNodes(), boolean = nodes.every(function(node) {
|
|
135
|
+
var expression;
|
|
136
|
+
var Expression = _dom.default.Expression, Expressions = _dom.default.Expressions;
|
|
137
|
+
expression = Expression.fromNode(node, context);
|
|
138
|
+
var expressions = Expressions.fromExpression(expression, context);
|
|
139
|
+
expression = _this.anonymousProcedure.call(expressions, context);
|
|
140
|
+
var expressionType = expression.getType();
|
|
141
|
+
if (expressionType !== _types.BOOLEAN_TYPE) {
|
|
142
|
+
var expressionString = expression.asString(context), message = "The ".concat(expressionString, " expression's type is '").concat(expressionType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
143
143
|
throw exception;
|
|
144
144
|
}
|
|
145
|
-
var boolean =
|
|
145
|
+
var boolean = expression.getBoolean();
|
|
146
146
|
return boolean;
|
|
147
147
|
});
|
|
148
|
-
var
|
|
149
|
-
|
|
148
|
+
var Expression = _dom.default.Expression;
|
|
149
|
+
expression = Expression.fromBoolean(boolean, context);
|
|
150
150
|
context.trace("...evaluated the '".concat(everyString, "' every."));
|
|
151
|
-
return
|
|
151
|
+
return expression;
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
], [
|
|
155
155
|
{
|
|
156
|
-
key: "
|
|
157
|
-
value: function
|
|
156
|
+
key: "fromExpressionNode",
|
|
157
|
+
value: function fromExpressionNode(expressionNode, context) {
|
|
158
158
|
var every = null;
|
|
159
|
-
var
|
|
160
|
-
if (
|
|
161
|
-
var everyNode =
|
|
159
|
+
var expressionEveryNode = expressionEveryNodeQuery(expressionNode);
|
|
160
|
+
if (expressionEveryNode !== null) {
|
|
161
|
+
var everyNode = expressionEveryNode; ///
|
|
162
162
|
every = everyFromEveryNode(everyNode, context);
|
|
163
163
|
}
|
|
164
164
|
return every;
|
|
@@ -176,4 +176,4 @@ function stringFromVariableAndAnonymousProcedure(variable, anonymousProcedure, c
|
|
|
176
176
|
return string;
|
|
177
177
|
}
|
|
178
178
|
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb20vZXZlcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uL2RvbVwiO1xuaW1wb3J0IHsgTk9ERVNfVFlQRSwgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uL3R5cGVzXCI7XG5cbmNvbnN0IGV4cHJlc3Npb25FdmVyeU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9leHByZXNzaW9uL2V2ZXJ5XCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBFdmVyeSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZSA9IGFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IGV4cHJlc3Npb247XG5cbiAgICBjb25zdCBldmVyeVN0cmluZyA9IHRoaXMuZ2V0U3RyaW5nKCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtldmVyeVN0cmluZ30nIGV2ZXJ5Li4uYCk7XG5cbiAgICBleHByZXNzaW9uID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblR5cGUgIT09IE5PREVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHtleHByZXNzaW9uU3RyaW5nfSBleHByZXNzaW9uJ3MgJyR7ZXhwcmVzc2lvblR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT0RFU19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gZXhwcmVzc2lvbi5nZXROb2RlcygpLFxuICAgICAgICAgIGJvb2xlYW4gPSBub2Rlcy5ldmVyeSgobm9kZSkgPT4ge1xuICAgICAgICAgICAgbGV0IGV4cHJlc3Npb247XG5cbiAgICAgICAgICAgIGNvbnN0IHsgRXhwcmVzc2lvbiwgRXhwcmVzc2lvbnMgfSA9IGRvbTtcblxuICAgICAgICAgICAgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbU5vZGUobm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gRXhwcmVzc2lvbnMuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbiwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGV4cHJlc3Npb24gPSB0aGlzLmFub255bW91c1Byb2NlZHVyZS5jYWxsKGV4cHJlc3Npb25zLCBjb250ZXh0KTtcblxuICAgICAgICAgICAgY29uc3QgZXhwcmVzc2lvblR5cGUgPSBleHByZXNzaW9uLmdldFR5cGUoKTtcblxuICAgICAgICAgICAgaWYgKGV4cHJlc3Npb25UeXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgICAgICAgICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzIHR5cGUgaXMgJyR7ZXhwcmVzc2lvblR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGJvb2xlYW4gPSBleHByZXNzaW9uLmdldEJvb2xlYW4oKTtcblxuICAgICAgICAgICAgcmV0dXJuIGJvb2xlYW47XG4gICAgICAgICAgfSk7XG5cbiAgICBjb25zdCB7IEV4cHJlc3Npb24gfSA9IGRvbTtcblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29udGV4dC50cmFjZShgLi4uZXZhbHVhdGVkIHRoZSAnJHtldmVyeVN0cmluZ30nIGV2ZXJ5LmApO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXZlcnlcIjtcblxuICBzdGF0aWMgZnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IGV2ZXJ5ID0gbnVsbDtcblxuICAgIGNvbnN0IGV4cHJlc3Npb25FdmVyeU5vZGUgPSBleHByZXNzaW9uRXZlcnlOb2RlUXVlcnkoZXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgaWYgKGV4cHJlc3Npb25FdmVyeU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGV2ZXJ5Tm9kZSA9IGV4cHJlc3Npb25FdmVyeU5vZGU7IC8vL1xuXG4gICAgICBldmVyeSA9IGV2ZXJ5RnJvbUV2ZXJ5Tm9kZShldmVyeU5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBldmVyeTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIGV2ZXJ5RnJvbUV2ZXJ5Tm9kZShldmVyeU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBFdmVyeSwgVmFyaWFibGUsIEFub255bW91c1Byb2NlZHVyZSB9ID0gZG9tLFxuICAgICAgICBhbm9ueW1vdXNQcm9jZWR1cmUgPSBBbm9ueW1vdXNQcm9jZWR1cmUuZnJvbUV2ZXJ5Tm9kZShldmVyeU5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21FdmVyeU5vZGUoZXZlcnlOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUsIGNvbnRleHQpLFxuICAgICAgICBldmVyeSA9IG5ldyBFdmVyeShzdHJpbmcsIHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUpO1xuXG4gIHJldHVybiBldmVyeTtcbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUsIGNvbnRleHQpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBzdHJpbmcgPSBgRXZlcnkoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSkgYDtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImV4cHJlc3Npb25FdmVyeU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiRXZlcnkiLCJzdHJpbmciLCJ2YXJpYWJsZSIsImFub255bW91c1Byb2NlZHVyZSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0QW5vbnltb3VzUHJvY2VkdXJlIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwiZXhwcmVzc2lvbiIsImV2ZXJ5U3RyaW5nIiwidHJhY2UiLCJleHByZXNzaW9uVHlwZSIsImdldFR5cGUiLCJOT0RFU19UWVBFIiwiZXhwcmVzc2lvblN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9kZXMiLCJnZXROb2RlcyIsImJvb2xlYW4iLCJldmVyeSIsIm5vZGUiLCJFeHByZXNzaW9uIiwiZG9tIiwiRXhwcmVzc2lvbnMiLCJmcm9tTm9kZSIsImV4cHJlc3Npb25zIiwiZnJvbUV4cHJlc3Npb24iLCJjYWxsIiwiQk9PTEVBTl9UWVBFIiwiZ2V0Qm9vbGVhbiIsImZyb21Cb29sZWFuIiwiZnJvbUV4cHJlc3Npb25Ob2RlIiwiZXhwcmVzc2lvbk5vZGUiLCJleHByZXNzaW9uRXZlcnlOb2RlIiwiZXZlcnlOb2RlIiwiZXZlcnlGcm9tRXZlcnlOb2RlIiwibmFtZSIsIlZhcmlhYmxlIiwiQW5vbnltb3VzUHJvY2VkdXJlIiwiZnJvbUV2ZXJ5Tm9kZSIsInN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSIsInZhcmlhYmxlU3RyaW5nIiwiYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFXQTs7O2VBQUE7OzsyREFUZ0I7Z0VBQ007cUJBRUk7cUJBRWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXpDLElBQU1BLDJC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
|
|
@@ -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 _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
12
|
+
var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
13
|
+
var _query = require("../../utilities/query");
|
|
14
|
+
var _types = require("../../types");
|
|
15
|
+
var _constants = require("../../constants");
|
|
16
|
+
function _class_call_check(instance, Constructor) {
|
|
17
|
+
if (!(instance instanceof Constructor)) {
|
|
18
|
+
throw new TypeError("Cannot call a class as a function");
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
function _defineProperties(target, props) {
|
|
22
|
+
for(var i = 0; i < props.length; i++){
|
|
23
|
+
var descriptor = props[i];
|
|
24
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
25
|
+
descriptor.configurable = true;
|
|
26
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
27
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
function _create_class(Constructor, protoProps, staticProps) {
|
|
31
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
32
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
33
|
+
return Constructor;
|
|
34
|
+
}
|
|
35
|
+
function _define_property(obj, key, value) {
|
|
36
|
+
if (key in obj) {
|
|
37
|
+
Object.defineProperty(obj, key, {
|
|
38
|
+
value: value,
|
|
39
|
+
enumerable: true,
|
|
40
|
+
configurable: true,
|
|
41
|
+
writable: true
|
|
42
|
+
});
|
|
43
|
+
} else {
|
|
44
|
+
obj[key] = value;
|
|
45
|
+
}
|
|
46
|
+
return obj;
|
|
47
|
+
}
|
|
48
|
+
function _interop_require_default(obj) {
|
|
49
|
+
return obj && obj.__esModule ? obj : {
|
|
50
|
+
default: obj
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
54
|
+
if (typeof WeakMap !== "function") return null;
|
|
55
|
+
var cacheBabelInterop = new WeakMap();
|
|
56
|
+
var cacheNodeInterop = new WeakMap();
|
|
57
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
58
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
59
|
+
})(nodeInterop);
|
|
60
|
+
}
|
|
61
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
62
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
66
|
+
return {
|
|
67
|
+
default: obj
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
71
|
+
if (cache && cache.has(obj)) {
|
|
72
|
+
return cache.get(obj);
|
|
73
|
+
}
|
|
74
|
+
var newObj = {
|
|
75
|
+
__proto__: null
|
|
76
|
+
};
|
|
77
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
78
|
+
for(var key in obj){
|
|
79
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
80
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
81
|
+
if (desc && (desc.get || desc.set)) {
|
|
82
|
+
Object.defineProperty(newObj, key, desc);
|
|
83
|
+
} else {
|
|
84
|
+
newObj[key] = obj[key];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
newObj.default = obj;
|
|
89
|
+
if (cache) {
|
|
90
|
+
cache.set(obj, newObj);
|
|
91
|
+
}
|
|
92
|
+
return newObj;
|
|
93
|
+
}
|
|
94
|
+
var _BitwiseExpression;
|
|
95
|
+
var terminalNodeQuery = (0, _query.nodeQuery)("/bitwiseExpression/@*"), leftExpressionNodeQuery = (0, _query.nodeQuery)("/bitwiseExpression/expression[0]"), rightExpressionNodeQuery = (0, _query.nodeQuery)("/bitwiseExpression/expression[1]"), expressionBitwiseExpressionNodeQuery = (0, _query.nodeQuery)("/expression/bitwiseExpression");
|
|
96
|
+
var _default = (0, _dom.domAssigned)((_BitwiseExpression = /*#__PURE__*/ function() {
|
|
97
|
+
function BitwiseExpression(string, type, disjoint, leftExpression, rightExpression) {
|
|
98
|
+
_class_call_check(this, BitwiseExpression);
|
|
99
|
+
this.string = string;
|
|
100
|
+
this.type = type;
|
|
101
|
+
this.disjoint = disjoint;
|
|
102
|
+
this.leftExpression = leftExpression;
|
|
103
|
+
this.rightExpression = rightExpression;
|
|
104
|
+
}
|
|
105
|
+
_create_class(BitwiseExpression, [
|
|
106
|
+
{
|
|
107
|
+
key: "getString",
|
|
108
|
+
value: function getString() {
|
|
109
|
+
return this.string;
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
key: "getType",
|
|
114
|
+
value: function getType() {
|
|
115
|
+
return this.type;
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
key: "isDisjoint",
|
|
120
|
+
value: function isDisjoint() {
|
|
121
|
+
return this.disjoint;
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
key: "getLeftExpression",
|
|
126
|
+
value: function getLeftExpression() {
|
|
127
|
+
return this.leftExpression;
|
|
128
|
+
}
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
key: "getRightExpression",
|
|
132
|
+
value: function getRightExpression() {
|
|
133
|
+
return this.rightExpression;
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
key: "evaluate",
|
|
138
|
+
value: function evaluate(context) {
|
|
139
|
+
var expression;
|
|
140
|
+
var bitwiseExpressionString = this.string; ///
|
|
141
|
+
context.trace("Evaluating the '".concat(bitwiseExpressionString, "' bitwise expression..."));
|
|
142
|
+
var Expression = _dom.default.Expression, leftExpression = this.leftExpression.evaluate(context), rightExpression = this.rightExpression.evaluate(context), leftExpressionType = leftExpression.getType(), rightExpressionType = rightExpression.getType();
|
|
143
|
+
if (leftExpressionType !== _types.BOOLEAN_TYPE) {
|
|
144
|
+
var leftExpressionString = leftExpression.asString(context), message = "The ".concat(leftExpressionString, " left expression's type is '").concat(leftExpressionType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception = _exception.default.fromMessage(message);
|
|
145
|
+
throw exception;
|
|
146
|
+
}
|
|
147
|
+
if (rightExpressionType !== _types.BOOLEAN_TYPE) {
|
|
148
|
+
var rightExpressionString = rightExpression.asString(context), message1 = "The ".concat(rightExpressionString, " right expression's type is '").concat(rightExpressionType, "' when it should be of type '").concat(_types.BOOLEAN_TYPE, "'."), exception1 = _exception.default.fromMessage(message1);
|
|
149
|
+
throw exception1;
|
|
150
|
+
}
|
|
151
|
+
var leftExpressionBoolean = leftExpression.getBoolean(), rightExpressionBoolean = rightExpression.getBoolean(), boolean = this.disjoint ? leftExpressionBoolean || rightExpressionBoolean : leftExpressionBoolean && rightExpressionBoolean;
|
|
152
|
+
expression = Expression.fromBoolean(boolean, context); ///
|
|
153
|
+
context.debug("...evaluated the '".concat(bitwiseExpressionString, "' bitwise expression."));
|
|
154
|
+
return expression;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
], [
|
|
158
|
+
{
|
|
159
|
+
key: "fromExpressionNode",
|
|
160
|
+
value: function fromExpressionNode(expressionNode, context) {
|
|
161
|
+
var bitwiseExpression = null;
|
|
162
|
+
var expressionBitwiseExpressionNode = expressionBitwiseExpressionNodeQuery(expressionNode);
|
|
163
|
+
if (expressionBitwiseExpressionNode !== null) {
|
|
164
|
+
var bitwiseExpressionNode = expressionBitwiseExpressionNode; ///
|
|
165
|
+
bitwiseExpression = bitwiseExpressionFromBitwiseExpressionNode(bitwiseExpressionNode, context);
|
|
166
|
+
}
|
|
167
|
+
return bitwiseExpression;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
]);
|
|
171
|
+
return BitwiseExpression;
|
|
172
|
+
}(), _define_property(_BitwiseExpression, "name", "BitwiseExpression"), _BitwiseExpression));
|
|
173
|
+
function bitwiseExpressionFromBitwiseExpressionNode(bitwiseExpressionNode, context) {
|
|
174
|
+
var Expression = _dom.default.Expression, BitwiseExpression = _dom.default.BitwiseExpression, leftExpressionNode = leftExpressionNodeQuery(bitwiseExpressionNode), rightExpressionNode = rightExpressionNodeQuery(bitwiseExpressionNode), type = _types.BOOLEAN_TYPE, disjoint = disjointFromBitwiseExpressionNode(bitwiseExpressionNode, context), leftExpression = Expression.fromExpressionNode(leftExpressionNode, context), rightExpression = Expression.fromExpressionNode(rightExpressionNode, context), string = stringFromTypeDisjointLeftExpressionAndRightExpression(disjoint, leftExpression, rightExpression, context), bitwiseExpression = new BitwiseExpression(string, type, disjoint, leftExpression, rightExpression);
|
|
175
|
+
return bitwiseExpression;
|
|
176
|
+
}
|
|
177
|
+
function disjointFromBitwiseExpressionNode(bitwiseExpressionNode, context) {
|
|
178
|
+
var terminalNode = terminalNodeQuery(bitwiseExpressionNode), terminalNodeContent = terminalNode.getContent(), disjoint = terminalNodeContent === _constants.DISJUNCTION;
|
|
179
|
+
return disjoint;
|
|
180
|
+
}
|
|
181
|
+
function stringFromTypeDisjointLeftExpressionAndRightExpression(disjoint, leftExpression, rightExpression, context) {
|
|
182
|
+
var operatorString = disjoint ? _constants.DISJUNCTION : _constants.CONJUNCTION, leftExpressionString = leftExpression.asString(context), rightExpressionString = rightExpression.asString(context), string = "".concat(leftExpressionString, " ").concat(operatorString, " ").concat(rightExpressionString);
|
|
183
|
+
return string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vZXhwcmVzc2lvbi9iaXR3aXNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBub2RlUXVlcnkgfSBmcm9tIFwiLi4vLi4vdXRpbGl0aWVzL3F1ZXJ5XCI7XG5pbXBvcnQgeyBkb21Bc3NpZ25lZCB9IGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCB7IEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgQ09OSlVOQ1RJT04sIERJU0pVTkNUSU9OIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB0ZXJtaW5hbE5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9iaXR3aXNlRXhwcmVzc2lvbi9AKlwiKSxcbiAgICAgIGxlZnRFeHByZXNzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2JpdHdpc2VFeHByZXNzaW9uL2V4cHJlc3Npb25bMF1cIiksXG4gICAgICByaWdodEV4cHJlc3Npb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYml0d2lzZUV4cHJlc3Npb24vZXhwcmVzc2lvblsxXVwiKSxcbiAgICAgIGV4cHJlc3Npb25CaXR3aXNlRXhwcmVzc2lvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9leHByZXNzaW9uL2JpdHdpc2VFeHByZXNzaW9uXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBCaXR3aXNlRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdHlwZSwgZGlzam9pbnQsIGxlZnRFeHByZXNzaW9uLCByaWdodEV4cHJlc3Npb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuZGlzam9pbnQgPSBkaXNqb2ludDtcbiAgICB0aGlzLmxlZnRFeHByZXNzaW9uID0gbGVmdEV4cHJlc3Npb247XG4gICAgdGhpcy5yaWdodEV4cHJlc3Npb24gPSByaWdodEV4cHJlc3Npb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgaXNEaXNqb2ludCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNqb2ludDtcbiAgfVxuXG4gIGdldExlZnRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmxlZnRFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0UmlnaHRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnJpZ2h0RXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgZXhwcmVzc2lvbjtcblxuICAgIGNvbnN0IGJpdHdpc2VFeHByZXNzaW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7Yml0d2lzZUV4cHJlc3Npb25TdHJpbmd9JyBiaXR3aXNlIGV4cHJlc3Npb24uLi5gKTtcblxuICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZG9tLFxuICAgICAgICAgIGxlZnRFeHByZXNzaW9uID0gdGhpcy5sZWZ0RXhwcmVzc2lvbi5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICByaWdodEV4cHJlc3Npb24gPSB0aGlzLnJpZ2h0RXhwcmVzc2lvbi5ldmFsdWF0ZShjb250ZXh0KSxcbiAgICAgICAgICBsZWZ0RXhwcmVzc2lvblR5cGUgPSBsZWZ0RXhwcmVzc2lvbi5nZXRUeXBlKCksXG4gICAgICAgICAgcmlnaHRFeHByZXNzaW9uVHlwZSA9IHJpZ2h0RXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAobGVmdEV4cHJlc3Npb25UeXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IGxlZnRFeHByZXNzaW9uU3RyaW5nID0gbGVmdEV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2xlZnRFeHByZXNzaW9uU3RyaW5nfSBsZWZ0IGV4cHJlc3Npb24ncyB0eXBlIGlzICcke2xlZnRFeHByZXNzaW9uVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGlmIChyaWdodEV4cHJlc3Npb25UeXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgIGNvbnN0IHJpZ2h0RXhwcmVzc2lvblN0cmluZyA9IHJpZ2h0RXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7cmlnaHRFeHByZXNzaW9uU3RyaW5nfSByaWdodCBleHByZXNzaW9uJ3MgdHlwZSBpcyAnJHtyaWdodEV4cHJlc3Npb25UeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgbGVmdEV4cHJlc3Npb25Cb29sZWFuID0gbGVmdEV4cHJlc3Npb24uZ2V0Qm9vbGVhbigpLFxuICAgICAgICAgIHJpZ2h0RXhwcmVzc2lvbkJvb2xlYW4gPSByaWdodEV4cHJlc3Npb24uZ2V0Qm9vbGVhbigpLFxuICAgICAgICAgIGJvb2xlYW4gPSB0aGlzLmRpc2pvaW50ID9cbiAgICAgICAgICAgICAgICAgICAgICAobGVmdEV4cHJlc3Npb25Cb29sZWFuIHx8IHJpZ2h0RXhwcmVzc2lvbkJvb2xlYW4pIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIChsZWZ0RXhwcmVzc2lvbkJvb2xlYW4gJiYgcmlnaHRFeHByZXNzaW9uQm9vbGVhbik7XG5cbiAgICBleHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtiaXR3aXNlRXhwcmVzc2lvblN0cmluZ30nIGJpdHdpc2UgZXhwcmVzc2lvbi5gKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkJpdHdpc2VFeHByZXNzaW9uXCI7XG5cbiAgc3RhdGljIGZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBiaXR3aXNlRXhwcmVzc2lvbiA9IG51bGw7XG5cbiAgICBjb25zdCBleHByZXNzaW9uQml0d2lzZUV4cHJlc3Npb25Ob2RlID0gZXhwcmVzc2lvbkJpdHdpc2VFeHByZXNzaW9uTm9kZVF1ZXJ5KGV4cHJlc3Npb25Ob2RlKTtcblxuICAgIGlmIChleHByZXNzaW9uQml0d2lzZUV4cHJlc3Npb25Ob2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBiaXR3aXNlRXhwcmVzc2lvbk5vZGUgPSBleHByZXNzaW9uQml0d2lzZUV4cHJlc3Npb25Ob2RlOyAvLy9cblxuICAgICAgYml0d2lzZUV4cHJlc3Npb24gPSBiaXR3aXNlRXhwcmVzc2lvbkZyb21CaXR3aXNlRXhwcmVzc2lvbk5vZGUoYml0d2lzZUV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gYml0d2lzZUV4cHJlc3Npb247XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBiaXR3aXNlRXhwcmVzc2lvbkZyb21CaXR3aXNlRXhwcmVzc2lvbk5vZGUoYml0d2lzZUV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgRXhwcmVzc2lvbiwgQml0d2lzZUV4cHJlc3Npb24gfSA9IGRvbSxcbiAgICAgICAgbGVmdEV4cHJlc3Npb25Ob2RlID0gbGVmdEV4cHJlc3Npb25Ob2RlUXVlcnkoYml0d2lzZUV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgcmlnaHRFeHByZXNzaW9uTm9kZSA9IHJpZ2h0RXhwcmVzc2lvbk5vZGVRdWVyeShiaXR3aXNlRXhwcmVzc2lvbk5vZGUpLFxuICAgICAgICB0eXBlID0gQk9PTEVBTl9UWVBFLFxuICAgICAgICBkaXNqb2ludCA9IGRpc2pvaW50RnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZShiaXR3aXNlRXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICBsZWZ0RXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUV4cHJlc3Npb25Ob2RlKGxlZnRFeHByZXNzaW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgIHJpZ2h0RXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUV4cHJlc3Npb25Ob2RlKHJpZ2h0RXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBzdHJpbmdGcm9tVHlwZURpc2pvaW50TGVmdEV4cHJlc3Npb25BbmRSaWdodEV4cHJlc3Npb24oZGlzam9pbnQsIGxlZnRFeHByZXNzaW9uLCByaWdodEV4cHJlc3Npb24sIGNvbnRleHQpLFxuICAgICAgICBiaXR3aXNlRXhwcmVzc2lvbiA9IG5ldyBCaXR3aXNlRXhwcmVzc2lvbihzdHJpbmcsIHR5cGUsIGRpc2pvaW50LCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uKTtcblxuICByZXR1cm4gYml0d2lzZUV4cHJlc3Npb247XG59XG5cbmZ1bmN0aW9uIGRpc2pvaW50RnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZShiaXR3aXNlRXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgdGVybWluYWxOb2RlID0gdGVybWluYWxOb2RlUXVlcnkoYml0d2lzZUV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgdGVybWluYWxOb2RlQ29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGRpc2pvaW50ID0gKHRlcm1pbmFsTm9kZUNvbnRlbnQgPT09IERJU0pVTkNUSU9OKTtcblxuICByZXR1cm4gZGlzam9pbnQ7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21UeXBlRGlzam9pbnRMZWZ0RXhwcmVzc2lvbkFuZFJpZ2h0RXhwcmVzc2lvbihkaXNqb2ludCwgbGVmdEV4cHJlc3Npb24sIHJpZ2h0RXhwcmVzc2lvbiwgY29udGV4dCkge1xuICBjb25zdCBvcGVyYXRvclN0cmluZyA9IGRpc2pvaW50ID9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgIERJU0pVTkNUSU9OIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09OSlVOQ1RJT04sXG4gICAgICAgIGxlZnRFeHByZXNzaW9uU3RyaW5nID0gbGVmdEV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIHJpZ2h0RXhwcmVzc2lvblN0cmluZyA9IHJpZ2h0RXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gYCR7bGVmdEV4cHJlc3Npb25TdHJpbmd9ICR7b3BlcmF0b3JTdHJpbmd9ICR7cmlnaHRFeHByZXNzaW9uU3RyaW5nfWA7XG5cbiAgcmV0dXJuIHN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJ0ZXJtaW5hbE5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsImxlZnRFeHByZXNzaW9uTm9kZVF1ZXJ5IiwicmlnaHRFeHByZXNzaW9uTm9kZVF1ZXJ5IiwiZXhwcmVzc2lvbkJpdHdpc2VFeHByZXNzaW9uTm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJCaXR3aXNlRXhwcmVzc2lvbiIsInN0cmluZyIsInR5cGUiLCJkaXNqb2ludCIsImxlZnRFeHByZXNzaW9uIiwicmlnaHRFeHByZXNzaW9uIiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsImlzRGlzam9pbnQiLCJnZXRMZWZ0RXhwcmVzc2lvbiIsImdldFJpZ2h0RXhwcmVzc2lvbiIsImV2YWx1YXRlIiwiY29udGV4dCIsImV4cHJlc3Npb24iLCJiaXR3aXNlRXhwcmVzc2lvblN0cmluZyIsInRyYWNlIiwiRXhwcmVzc2lvbiIsImRvbSIsImxlZnRFeHByZXNzaW9uVHlwZSIsInJpZ2h0RXhwcmVzc2lvblR5cGUiLCJCT09MRUFOX1RZUEUiLCJsZWZ0RXhwcmVzc2lvblN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwicmlnaHRFeHByZXNzaW9uU3RyaW5nIiwibGVmdEV4cHJlc3Npb25Cb29sZWFuIiwiZ2V0Qm9vbGVhbiIsInJpZ2h0RXhwcmVzc2lvbkJvb2xlYW4iLCJib29sZWFuIiwiZnJvbUJvb2xlYW4iLCJkZWJ1ZyIsImZyb21FeHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb25Ob2RlIiwiYml0d2lzZUV4cHJlc3Npb24iLCJleHByZXNzaW9uQml0d2lzZUV4cHJlc3Npb25Ob2RlIiwiYml0d2lzZUV4cHJlc3Npb25Ob2RlIiwiYml0d2lzZUV4cHJlc3Npb25Gcm9tQml0d2lzZUV4cHJlc3Npb25Ob2RlIiwibmFtZSIsImxlZnRFeHByZXNzaW9uTm9kZSIsInJpZ2h0RXhwcmVzc2lvbk5vZGUiLCJkaXNqb2ludEZyb21CaXR3aXNlRXhwcmVzc2lvbk5vZGUiLCJzdHJpbmdGcm9tVHlwZURpc2pvaW50TGVmdEV4cHJlc3Npb25BbmRSaWdodEV4cHJlc3Npb24iLCJ0ZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCIsIkRJU0pVTkNUSU9OIiwib3BlcmF0b3JTdHJpbmciLCJDT05KVU5DVElPTiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBZUE7OztlQUFBOzs7MkRBYmdCO2dFQUNNO3FCQUVJO3FCQUVHO3lCQUNZOzs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|