occam-furtle 2.0.110 → 2.0.112
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/query/node.js +20 -11
- package/lib/dom/query/nodes.js +17 -7
- package/package.json +4 -4
- package/src/dom/query/node.js +23 -7
- package/src/dom/query/nodes.js +23 -6
package/lib/dom/query/node.js
CHANGED
|
@@ -8,8 +8,9 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
var _necessary = require("necessary");
|
|
12
11
|
var _occamquery = require("occam-query");
|
|
12
|
+
var _necessary = require("necessary");
|
|
13
|
+
var _occamentities = require("occam-entities");
|
|
13
14
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
14
15
|
var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
15
16
|
var _types = require("../../types");
|
|
@@ -93,8 +94,8 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
93
94
|
return newObj;
|
|
94
95
|
}
|
|
95
96
|
var _NodeQuery;
|
|
96
|
-
var first = _necessary.arrayUtilities.first;
|
|
97
|
-
var
|
|
97
|
+
var first = _necessary.arrayUtilities.first, trimDoubleQuotes = _occamentities.contentUtilities.trimDoubleQuotes;
|
|
98
|
+
var valueNodeQueryNodeQuery = (0, _query.nodeQuery)("/value/nodeQuery"), stringLiteralTerminalNodeQuery = (0, _query.nodeQuery)("/nodeQuery/@string-literal");
|
|
98
99
|
var _default = (0, _dom.domAssigned)((_NodeQuery = /*#__PURE__*/ function() {
|
|
99
100
|
function NodeQuery(string, variable, query) {
|
|
100
101
|
_class_call_check(this, NodeQuery);
|
|
@@ -127,23 +128,27 @@ var _default = (0, _dom.domAssigned)((_NodeQuery = /*#__PURE__*/ function() {
|
|
|
127
128
|
var value;
|
|
128
129
|
var nodeQueryString = this.string; ///
|
|
129
130
|
context.trace("Evaluating the '".concat(nodeQueryString, "' node query..."));
|
|
131
|
+
if (this.query === null) {
|
|
132
|
+
var message = "Cannot evaluate the '".concat(nodeQueryString, "' node query because its expression is malformed."), exception = _exception.default.fromMessage(message);
|
|
133
|
+
throw exception;
|
|
134
|
+
}
|
|
130
135
|
value = this.variable.evaluate(context);
|
|
131
136
|
var valueType = value.getType();
|
|
132
137
|
if (valueType !== _types.NODE_TYPE) {
|
|
133
|
-
var valueString = value.asString(context),
|
|
134
|
-
throw
|
|
138
|
+
var valueString = value.asString(context), message1 = "The ".concat(valueString, " value's '").concat(valueType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception1 = _exception.default.fromMessage(message1);
|
|
139
|
+
throw exception1;
|
|
135
140
|
}
|
|
136
141
|
var valueNode = value.getNode();
|
|
137
142
|
if (valueNode === null) {
|
|
138
|
-
var valueString1 = value.asString(context),
|
|
139
|
-
throw
|
|
143
|
+
var valueString1 = value.asString(context), message2 = "The ".concat(valueString1, " value's node is null."), exception2 = _exception.default.fromMessage(message2);
|
|
144
|
+
throw exception2;
|
|
140
145
|
}
|
|
141
146
|
var node;
|
|
142
147
|
node = valueNode; ///
|
|
143
148
|
var nodes = this.query.execute(node), nodesLength = nodes.length;
|
|
144
149
|
if (nodesLength !== 1) {
|
|
145
|
-
var
|
|
146
|
-
throw
|
|
150
|
+
var message3 = "The length of the returned nodes is ".concat(nodesLength, " when it should be 1."), exception3 = _exception.default.fromMessage(message3);
|
|
151
|
+
throw exception3;
|
|
147
152
|
}
|
|
148
153
|
var firstNode = first(nodes);
|
|
149
154
|
node = firstNode; ///
|
|
@@ -170,8 +175,12 @@ var _default = (0, _dom.domAssigned)((_NodeQuery = /*#__PURE__*/ function() {
|
|
|
170
175
|
return NodeQuery;
|
|
171
176
|
}(), _define_property(_NodeQuery, "name", "NodeQuery"), _NodeQuery));
|
|
172
177
|
function nodeQueryFromNodeQueryNode(nodeQueryNode, context) {
|
|
173
|
-
var Variable = _dom.default.Variable, NodeQuery = _dom.default.NodeQuery, node = nodeQueryNode, string = context.nodeAsString(node),
|
|
178
|
+
var Variable = _dom.default.Variable, NodeQuery = _dom.default.NodeQuery, node = nodeQueryNode, string = context.nodeAsString(node), expressionString = expressionStringFromNodeQueryNode(nodeQueryNode, context), variable = Variable.fromNodeQueryNode(nodeQueryNode, context), query = _occamquery.Query.fromExpressionString(expressionString), _$nodeQuery = new NodeQuery(string, variable, query);
|
|
174
179
|
return _$nodeQuery;
|
|
175
180
|
}
|
|
181
|
+
function expressionStringFromNodeQueryNode(nodeQueryNode, context) {
|
|
182
|
+
var stringLiteralTerminalNode = stringLiteralTerminalNodeQuery(nodeQueryNode), stringLiteralTerminalNodeContent = stringLiteralTerminalNode.getContent(), expressionString = trimDoubleQuotes(stringLiteralTerminalNodeContent);
|
|
183
|
+
return expressionString;
|
|
184
|
+
}
|
|
176
185
|
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1lbnRpdGllc1wiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBOT0RFX1RZUEUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgdHJpbURvdWJsZVF1b3RlcyB9ID0gY29udGVudFV0aWxpdGllcztcblxuY29uc3QgdmFsdWVOb2RlUXVlcnlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvbm9kZVF1ZXJ5XCIpLFxuICAgICAgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25vZGVRdWVyeS9Ac3RyaW5nLWxpdGVyYWxcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIE5vZGVRdWVyeSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFyaWFibGUsIHF1ZXJ5KSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5O1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IG5vZGVRdWVyeVN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBub2RlIHF1ZXJ5Li4uYCk7XG5cbiAgICBpZiAodGhpcy5xdWVyeSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBDYW5ub3QgZXZhbHVhdGUgdGhlICcke25vZGVRdWVyeVN0cmluZ30nIG5vZGUgcXVlcnkgYmVjYXVzZSBpdHMgZXhwcmVzc2lvbiBpcyBtYWxmb3JtZWQuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlTm9kZSA9IHZhbHVlLmdldE5vZGUoKTtcblxuICAgIGlmICh2YWx1ZU5vZGUgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZSdzIG5vZGUgaXMgbnVsbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgbGV0IG5vZGU7XG5cbiAgICBub2RlID0gdmFsdWVOb2RlOyAvLy9cblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5xdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoICE9PSAxKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSBsZW5ndGggb2YgdGhlIHJldHVybmVkIG5vZGVzIGlzICR7bm9kZXNMZW5ndGh9IHdoZW4gaXQgc2hvdWxkIGJlIDEuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgIG5vZGUgPSBmaXJzdE5vZGU7IC8vL1xuXG4gICAgY29uc3QgeyBWYWx1ZSB9ID0gZG9tO1xuXG4gICAgdmFsdWUgPSBWYWx1ZS5mcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bm9kZVF1ZXJ5U3RyaW5nfScgbm9kZSBxdWVyeS5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOb2RlUXVlcnlcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgbm9kZVF1ZXJ5ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhbHVlTm9kZVF1ZXJ5Tm9kZSA9IHZhbHVlTm9kZVF1ZXJ5Tm9kZVF1ZXJ5KHZhbHVlTm9kZSk7XG5cbiAgICBpZiAodmFsdWVOb2RlUXVlcnlOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlUXVlcnlOb2RlID0gdmFsdWVOb2RlUXVlcnlOb2RlOyAvLy9cblxuICAgICAgbm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5RnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVRdWVyeTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5vZGVRdWVyeUZyb21Ob2RlUXVlcnlOb2RlKG5vZGVRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgTm9kZVF1ZXJ5IH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBub2RlUXVlcnlOb2RlLCAvLy9cbiAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uU3RyaW5nRnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyksXG4gICAgICAgIG5vZGVRdWVyeSA9IG5ldyBOb2RlUXVlcnkoc3RyaW5nLCB2YXJpYWJsZSwgcXVlcnkpO1xuXG4gIHJldHVybiBub2RlUXVlcnk7XG59XG5cbmZ1bmN0aW9uIGV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZVF1ZXJ5Tm9kZShub2RlUXVlcnlOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUgPSBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkobm9kZVF1ZXJ5Tm9kZSksXG4gICAgICAgIHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50ID0gc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSB0cmltRG91YmxlUXVvdGVzKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50KTtcblxuICByZXR1cm4gZXhwcmVzc2lvblN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwidHJpbURvdWJsZVF1b3RlcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJ2YWx1ZU5vZGVRdWVyeU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiTm9kZVF1ZXJ5Iiwic3RyaW5nIiwidmFyaWFibGUiLCJxdWVyeSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0UXVlcnkiLCJldmFsdWF0ZSIsImNvbnRleHQiLCJ2YWx1ZSIsIm5vZGVRdWVyeVN0cmluZyIsInRyYWNlIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIk5PREVfVFlQRSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJ2YWx1ZU5vZGUiLCJnZXROb2RlIiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb2RlIiwiVmFsdWUiLCJkb20iLCJmcm9tTm9kZSIsImRlYnVnIiwiZnJvbVZhbHVlTm9kZSIsInZhbHVlTm9kZVF1ZXJ5Tm9kZSIsIm5vZGVRdWVyeU5vZGUiLCJub2RlUXVlcnlGcm9tTm9kZVF1ZXJ5Tm9kZSIsIm5hbWUiLCJWYXJpYWJsZSIsIm5vZGVBc1N0cmluZyIsImV4cHJlc3Npb25TdHJpbmciLCJleHByZXNzaW9uU3RyaW5nRnJvbU5vZGVRdWVyeU5vZGUiLCJmcm9tTm9kZVF1ZXJ5Tm9kZSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtQkE7OztlQUFBOzs7MEJBakJzQjt5QkFDUzs2QkFDRTsyREFFakI7Z0VBQ007cUJBRUk7cUJBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU0sQUFBRUEsUUFBVUMseUJBQWMsQ0FBeEJELE9BQ0YsQUFBRUUsbUJBQXFCQywrQkFBZ0IsQ0FBckNEO0FBRVIsSUFBTUUsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLHFCQUNwQ0MsaUNBQWlDRCxJQUFBQSxnQkFBUyxFQUFDO0lBRWpELFdBQWVFLElBQUFBLGdCQUFXLDhCQUFDO2FBQU1DLFVBQ25CQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsS0FBSztnQ0FESkg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTs7OztZQUdmQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsT0FB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
|
package/lib/dom/query/nodes.js
CHANGED
|
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
|
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
11
|
var _occamquery = require("occam-query");
|
|
12
|
+
var _occamentities = require("occam-entities");
|
|
12
13
|
var _dom = /*#__PURE__*/ _interop_require_wildcard(require("../../dom"));
|
|
13
14
|
var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
|
|
14
15
|
var _query = require("../../utilities/query");
|
|
@@ -92,7 +93,8 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
92
93
|
return newObj;
|
|
93
94
|
}
|
|
94
95
|
var _NodesQuery;
|
|
95
|
-
var
|
|
96
|
+
var trimDoubleQuotes = _occamentities.contentUtilities.trimDoubleQuotes;
|
|
97
|
+
var valueNodesQueryNodeQuery = (0, _query.nodeQuery)("/value/nodesQuery"), stringLiteralTerminalNodesQuery = (0, _query.nodeQuery)("/nodesQuery/@string-literal");
|
|
96
98
|
var _default = (0, _dom.domAssigned)((_NodesQuery = /*#__PURE__*/ function() {
|
|
97
99
|
function NodesQuery(string, variable, query) {
|
|
98
100
|
_class_call_check(this, NodesQuery);
|
|
@@ -125,16 +127,20 @@ var _default = (0, _dom.domAssigned)((_NodesQuery = /*#__PURE__*/ function() {
|
|
|
125
127
|
var value;
|
|
126
128
|
var nodesQueryString = this.string; ///
|
|
127
129
|
context.trace("Evaluating the '".concat(nodesQueryString, "' nodes query..."));
|
|
130
|
+
if (this.query === null) {
|
|
131
|
+
var message = "Cannot evaluate the '".concat(nodesQueryString, "' nodes query because its expression is malformed."), exception = _exception.default.fromMessage(message);
|
|
132
|
+
throw exception;
|
|
133
|
+
}
|
|
128
134
|
value = this.variable.evaluate(context);
|
|
129
135
|
var valueType = value.getType();
|
|
130
136
|
if (valueType !== _types.NODE_TYPE) {
|
|
131
|
-
var valueString = value.asString(context),
|
|
132
|
-
throw
|
|
137
|
+
var valueString = value.asString(context), message1 = "The ".concat(valueString, " value's '").concat(valueType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception1 = _exception.default.fromMessage(message1);
|
|
138
|
+
throw exception1;
|
|
133
139
|
}
|
|
134
140
|
var valueNode = value.getNode();
|
|
135
141
|
if (valueNode === null) {
|
|
136
|
-
var valueString1 = value.asString(context),
|
|
137
|
-
throw
|
|
142
|
+
var valueString1 = value.asString(context), message2 = "The ".concat(valueString1, " value's node is null."), exception2 = _exception.default.fromMessage(message2);
|
|
143
|
+
throw exception2;
|
|
138
144
|
}
|
|
139
145
|
var node;
|
|
140
146
|
node = valueNode; ///
|
|
@@ -162,8 +168,12 @@ var _default = (0, _dom.domAssigned)((_NodesQuery = /*#__PURE__*/ function() {
|
|
|
162
168
|
return NodesQuery;
|
|
163
169
|
}(), _define_property(_NodesQuery, "name", "NodesQuery"), _NodesQuery));
|
|
164
170
|
function nodesQueryFromNodesQueryNode(nodesQueryNode, context) {
|
|
165
|
-
var Variable = _dom.default.Variable, NodesQuery = _dom.default.NodesQuery, node = nodesQueryNode, string = context.nodeAsString(node),
|
|
171
|
+
var Variable = _dom.default.Variable, NodesQuery = _dom.default.NodesQuery, node = nodesQueryNode, string = context.nodeAsString(node), expressionString = expressionStringFromNodesQueryNode(nodesQueryNode, context), variable = Variable.fromNodesQueryNode(nodesQueryNode, context), query = _occamquery.Query.fromExpressionString(expressionString), nodesQuery = new NodesQuery(string, variable, query);
|
|
166
172
|
return nodesQuery;
|
|
167
173
|
}
|
|
174
|
+
function expressionStringFromNodesQueryNode(nodesQueryNode, context) {
|
|
175
|
+
var stringLiteralTerminalNode = stringLiteralTerminalNodesQuery(nodesQueryNode), stringLiteralTerminalNodeContent = stringLiteralTerminalNode.getContent(), expressionString = trimDoubleQuotes(stringLiteralTerminalNodeContent);
|
|
176
|
+
return expressionString;
|
|
177
|
+
}
|
|
168
178
|
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBjb250ZW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWVudGl0aWVzXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE5PREVfVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmNvbnN0IHsgdHJpbURvdWJsZVF1b3RlcyB9ID0gY29udGVudFV0aWxpdGllcztcblxuY29uc3QgdmFsdWVOb2Rlc1F1ZXJ5Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ZhbHVlL25vZGVzUXVlcnlcIiksXG4gICAgICBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2Rlc1F1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25vZGVzUXVlcnkvQHN0cmluZy1saXRlcmFsXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBOb2Rlc1F1ZXJ5IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YXJpYWJsZSwgcXVlcnkpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnk7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3Qgbm9kZXNRdWVyeVN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtub2Rlc1F1ZXJ5U3RyaW5nfScgbm9kZXMgcXVlcnkuLi5gKTtcblxuICAgIGlmICh0aGlzLnF1ZXJ5ID09PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYENhbm5vdCBldmFsdWF0ZSB0aGUgJyR7bm9kZXNRdWVyeVN0cmluZ30nIG5vZGVzIHF1ZXJ5IGJlY2F1c2UgaXRzIGV4cHJlc3Npb24gaXMgbWFsZm9ybWVkLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAodmFsdWVUeXBlICE9PSBOT0RFX1RZUEUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PREVfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZU5vZGUgPSB2YWx1ZS5nZXROb2RlKCk7XG5cbiAgICBpZiAodmFsdWVOb2RlID09PSBudWxsKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyBub2RlIGlzIG51bGwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGxldCBub2RlO1xuXG4gICAgbm9kZSA9IHZhbHVlTm9kZTsgLy8vXG5cbiAgICBjb25zdCBub2RlcyA9IHRoaXMucXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIGNvbnN0IHsgVmFsdWUgfSA9IGRvbTtcblxuICAgIHZhbHVlID0gVmFsdWUuZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bm9kZXNRdWVyeVN0cmluZ30nIG5vZGVzIHF1ZXJ5LmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk5vZGVzUXVlcnlcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgbm9kZXNRdWVyeSA9IG51bGw7XG5cbiAgICBjb25zdCB2YWx1ZU5vZGVzUXVlcnlOb2RlID0gdmFsdWVOb2Rlc1F1ZXJ5Tm9kZVF1ZXJ5KHZhbHVlTm9kZSk7XG5cbiAgICBpZiAodmFsdWVOb2Rlc1F1ZXJ5Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZXNRdWVyeU5vZGUgPSB2YWx1ZU5vZGVzUXVlcnlOb2RlOyAvLy9cblxuICAgICAgbm9kZXNRdWVyeSA9IG5vZGVzUXVlcnlGcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBub2Rlc1F1ZXJ5O1xuICB9XG59KTtcblxuZnVuY3Rpb24gbm9kZXNRdWVyeUZyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFZhcmlhYmxlLCBOb2Rlc1F1ZXJ5IH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBub2Rlc1F1ZXJ5Tm9kZSwgIC8vL1xuICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyksXG4gICAgICAgIG5vZGVzUXVlcnkgPSBuZXcgTm9kZXNRdWVyeShzdHJpbmcsIHZhcmlhYmxlLCBxdWVyeSk7XG5cbiAgcmV0dXJuIG5vZGVzUXVlcnk7XG59XG5cbmZ1bmN0aW9uIGV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3Qgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSA9IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzUXVlcnkobm9kZXNRdWVyeU5vZGUpLFxuICAgICAgICBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlQ29udGVudCA9IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBleHByZXNzaW9uU3RyaW5nID0gdHJpbURvdWJsZVF1b3RlcyhzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlQ29udGVudCk7XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25TdHJpbmc7XG59XG4iXSwibmFtZXMiOlsidHJpbURvdWJsZVF1b3RlcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJ2YWx1ZU5vZGVzUXVlcnlOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdHJpbmdMaXRlcmFsVGVybWluYWxOb2Rlc1F1ZXJ5IiwiZG9tQXNzaWduZWQiLCJOb2Rlc1F1ZXJ5Iiwic3RyaW5nIiwidmFyaWFibGUiLCJxdWVyeSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0UXVlcnkiLCJldmFsdWF0ZSIsImNvbnRleHQiLCJ2YWx1ZSIsIm5vZGVzUXVlcnlTdHJpbmciLCJ0cmFjZSIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJOT0RFX1RZUEUiLCJ2YWx1ZVN0cmluZyIsImFzU3RyaW5nIiwidmFsdWVOb2RlIiwiZ2V0Tm9kZSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJWYWx1ZSIsImRvbSIsImZyb21Ob2RlcyIsImRlYnVnIiwiZnJvbVZhbHVlTm9kZSIsIm5vZGVzUXVlcnkiLCJ2YWx1ZU5vZGVzUXVlcnlOb2RlIiwibm9kZXNRdWVyeU5vZGUiLCJub2Rlc1F1ZXJ5RnJvbU5vZGVzUXVlcnlOb2RlIiwibmFtZSIsIlZhcmlhYmxlIiwibm9kZUFzU3RyaW5nIiwiZXhwcmVzc2lvblN0cmluZyIsImV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZXNRdWVyeU5vZGUiLCJmcm9tTm9kZXNRdWVyeU5vZGUiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsInN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBQTs7OzBCQWZzQjs2QkFDVzsyREFFakI7Z0VBQ007cUJBRUk7cUJBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU0sQUFBRUEsbUJBQXFCQywrQkFBZ0IsQ0FBckNEO0FBRVIsSUFBTUUsMkJBQTJCQyxJQUFBQSxnQkFBUyxFQUFDLHNCQUNyQ0Msa0NBQWtDRCxJQUFBQSxnQkFBUyxFQUFDO0lBRWxELFdBQWVFLElBQUFBLGdCQUFXLCtCQUFDO2FBQU1DLFdBQ25CQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsS0FBSztnQ0FESkg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTs7OztZQUdmQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsT0FBTztnQkFDZCxJQUFJQztnQkFFSixJQUFNQyxtQkFBbUIsSUFBSSxDQUFDVCxNQUFNLEVBQUcsR0FBRztnQkFFMUNPLFFBQVFHLEtBQUssQ0FBQyxBQUFDLG1CQUFtQyxPQUFqQkQsa0JBQWlCO2dCQUVsRCxJQUFJLElBQUksQ0FBQ1AsS0FBSyxLQUFLLE1BQU07b0JBQ3ZCLElBQU1TLFVBQVUsQUFBQyx3QkFBd0MsT0FBakJGLGtCQUFpQix1REFDbkRHLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBSixRQUFRLElBQUksQ0FBQ1AsUUFBUSxDQUFDSyxRQUFRLENBQUNDO2dCQUUvQixJQUFNUSxZQUFZUCxNQUFNUSxPQUFPO2dCQUUvQixJQUFJRCxjQUFjRSxnQkFBUyxFQUFFO29CQUMzQixJQUFNQyxjQUFjVixNQUFNVyxRQUFRLENBQUNaLFVBQzdCSSxXQUFVLEFBQUMsT0FBOEJJLE9BQXhCRyxhQUFZLGNBQTBDRCxPQUE5QkYsV0FBVSxzQkFBOEIsT0FBVkUsZ0JBQVMsRUFBQyxPQUNqRkwsYUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUEsSUFBTVEsWUFBWVosTUFBTWEsT0FBTztnQkFFL0IsSUFBSUQsY0FBYyxNQUFNO29CQUN0QixJQUFNRixlQUFjVixNQUFNVyxRQUFRLENBQUNaLFVBQzdCSSxXQUFVLEFBQUMsT0FBa0IsT0FBWk8sY0FBWSwyQkFDN0JOLGFBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBLElBQUlVO2dCQUVKQSxPQUFPRixXQUFXLEdBQUc7Z0JBRXJCLElBQU1HLFFBQVEsSUFBSSxDQUFDckIsS0FBSyxDQUFDc0IsT0FBTyxDQUFDRjtnQkFFakMsSUFBTSxBQUFFRyxRQUFVQyxZQUFHLENBQWJEO2dCQUVSakIsUUFBUWlCLE1BQU1FLFNBQVMsQ0FBQ0osT0FBT2hCO2dCQUUvQkEsUUFBUXFCLEtBQUssQ0FBQyxBQUFDLHFCQUFxQyxPQUFqQm5CLGtCQUFpQjtnQkFFcEQsT0FBT0Q7WUFDVDs7OztZQUlPcUIsS0FBQUE7bUJBQVAsU0FBT0EsY0FBY1QsU0FBUyxFQUFFYixPQUFPO2dCQUNyQyxJQUFJdUIsYUFBYTtnQkFFakIsSUFBTUMsc0JBQXNCcEMseUJBQXlCeUI7Z0JBRXJELElBQUlXLHdCQUF3QixNQUFNO29CQUNoQyxJQUFNQyxpQkFBaUJELHFCQUFxQixHQUFHO29CQUUvQ0QsYUFBYUcsNkJBQTZCRCxnQkFBZ0J6QjtnQkFDNUQ7Z0JBRUEsT0FBT3VCO1lBQ1Q7Ozs7S0FkQSw4QkFBT0ksUUFBTztBQWlCaEIsU0FBU0QsNkJBQTZCRCxjQUFjLEVBQUV6QixPQUFPO0lBQzNELElBQVE0QixXQUF5QlQsWUFBRyxDQUE1QlMsVUFBVXBDLGFBQWUyQixZQUFHLENBQWxCM0IsWUFDWnVCLE9BQU9VLGdCQUNQaEMsU0FBU08sUUFBUTZCLFlBQVksQ0FBQ2QsT0FDOUJlLG1CQUFtQkMsbUNBQW1DTixnQkFBZ0J6QixVQUN0RU4sV0FBV2tDLFNBQVNJLGtCQUFrQixDQUFDUCxnQkFBZ0J6QixVQUN2REwsUUFBUXNDLGlCQUFLLENBQUNDLG9CQUFvQixDQUFDSixtQkFDbkNQLGFBQWEsSUFBSS9CLFdBQVdDLFFBQVFDLFVBQVVDO0lBRXBELE9BQU80QjtBQUNUO0FBRUEsU0FBU1EsbUNBQW1DTixjQUFjLEVBQUV6QixPQUFPO0lBQ2pFLElBQU1tQyw0QkFBNEI3QyxnQ0FBZ0NtQyxpQkFDNURXLG1DQUFtQ0QsMEJBQTBCRSxVQUFVLElBQ3ZFUCxtQkFBbUI1QyxpQkFBaUJrRDtJQUUxQyxPQUFPTjtBQUNUIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-furtle",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.112",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-furtle",
|
|
7
7
|
"description": "Occam's Furtle language.",
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"necessary": "^14.3.2",
|
|
14
|
-
"occam-grammars": "^1.3.
|
|
14
|
+
"occam-grammars": "^1.3.215"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@swc/core": "^1.5.6",
|
|
18
|
-
"occam-custom-grammars": "^5.0.
|
|
19
|
-
"occam-entities": "^1.0.
|
|
18
|
+
"occam-custom-grammars": "^5.0.1122",
|
|
19
|
+
"occam-entities": "^1.0.326",
|
|
20
20
|
"occam-query": "^4.1.48",
|
|
21
21
|
"watchful-cli": "^1.7.56"
|
|
22
22
|
},
|
package/src/dom/query/node.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { Query } from "occam-query";
|
|
3
4
|
import { arrayUtilities } from "necessary";
|
|
4
|
-
import {
|
|
5
|
+
import { contentUtilities } from "occam-entities";
|
|
5
6
|
|
|
6
7
|
import dom from "../../dom";
|
|
7
8
|
import Exception from "../../exception";
|
|
@@ -10,10 +11,11 @@ import { NODE_TYPE } from "../../types";
|
|
|
10
11
|
import { nodeQuery } from "../../utilities/query";
|
|
11
12
|
import { domAssigned } from "../../dom";
|
|
12
13
|
|
|
13
|
-
const { first } = arrayUtilities
|
|
14
|
+
const { first } = arrayUtilities,
|
|
15
|
+
{ trimDoubleQuotes } = contentUtilities;
|
|
14
16
|
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
+
const valueNodeQueryNodeQuery = nodeQuery("/value/nodeQuery"),
|
|
18
|
+
stringLiteralTerminalNodeQuery = nodeQuery("/nodeQuery/@string-literal");
|
|
17
19
|
|
|
18
20
|
export default domAssigned(class NodeQuery {
|
|
19
21
|
constructor(string, variable, query) {
|
|
@@ -41,6 +43,13 @@ export default domAssigned(class NodeQuery {
|
|
|
41
43
|
|
|
42
44
|
context.trace(`Evaluating the '${nodeQueryString}' node query...`);
|
|
43
45
|
|
|
46
|
+
if (this.query === null) {
|
|
47
|
+
const message = `Cannot evaluate the '${nodeQueryString}' node query because its expression is malformed.`,
|
|
48
|
+
exception = Exception.fromMessage(message);
|
|
49
|
+
|
|
50
|
+
throw exception;
|
|
51
|
+
}
|
|
52
|
+
|
|
44
53
|
value = this.variable.evaluate(context);
|
|
45
54
|
|
|
46
55
|
const valueType = value.getType();
|
|
@@ -111,11 +120,18 @@ function nodeQueryFromNodeQueryNode(nodeQueryNode, context) {
|
|
|
111
120
|
const { Variable, NodeQuery } = dom,
|
|
112
121
|
node = nodeQueryNode, ///
|
|
113
122
|
string = context.nodeAsString(node),
|
|
114
|
-
|
|
115
|
-
expression = Expression.fromExpressionNode(expressionNode),
|
|
123
|
+
expressionString = expressionStringFromNodeQueryNode(nodeQueryNode, context),
|
|
116
124
|
variable = Variable.fromNodeQueryNode(nodeQueryNode, context),
|
|
117
|
-
query = Query.
|
|
125
|
+
query = Query.fromExpressionString(expressionString),
|
|
118
126
|
nodeQuery = new NodeQuery(string, variable, query);
|
|
119
127
|
|
|
120
128
|
return nodeQuery;
|
|
121
129
|
}
|
|
130
|
+
|
|
131
|
+
function expressionStringFromNodeQueryNode(nodeQueryNode, context) {
|
|
132
|
+
const stringLiteralTerminalNode = stringLiteralTerminalNodeQuery(nodeQueryNode),
|
|
133
|
+
stringLiteralTerminalNodeContent = stringLiteralTerminalNode.getContent(),
|
|
134
|
+
expressionString = trimDoubleQuotes(stringLiteralTerminalNodeContent);
|
|
135
|
+
|
|
136
|
+
return expressionString;
|
|
137
|
+
}
|
package/src/dom/query/nodes.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { Query
|
|
3
|
+
import { Query } from "occam-query";
|
|
4
|
+
import { contentUtilities } from "occam-entities";
|
|
4
5
|
|
|
5
6
|
import dom from "../../dom";
|
|
6
7
|
import Exception from "../../exception";
|
|
@@ -9,8 +10,10 @@ import { nodeQuery } from "../../utilities/query";
|
|
|
9
10
|
import { NODE_TYPE } from "../../types";
|
|
10
11
|
import { domAssigned } from "../../dom";
|
|
11
12
|
|
|
12
|
-
const
|
|
13
|
-
|
|
13
|
+
const { trimDoubleQuotes } = contentUtilities;
|
|
14
|
+
|
|
15
|
+
const valueNodesQueryNodeQuery = nodeQuery("/value/nodesQuery"),
|
|
16
|
+
stringLiteralTerminalNodesQuery = nodeQuery("/nodesQuery/@string-literal");
|
|
14
17
|
|
|
15
18
|
export default domAssigned(class NodesQuery {
|
|
16
19
|
constructor(string, variable, query) {
|
|
@@ -38,6 +41,13 @@ export default domAssigned(class NodesQuery {
|
|
|
38
41
|
|
|
39
42
|
context.trace(`Evaluating the '${nodesQueryString}' nodes query...`);
|
|
40
43
|
|
|
44
|
+
if (this.query === null) {
|
|
45
|
+
const message = `Cannot evaluate the '${nodesQueryString}' nodes query because its expression is malformed.`,
|
|
46
|
+
exception = Exception.fromMessage(message);
|
|
47
|
+
|
|
48
|
+
throw exception;
|
|
49
|
+
}
|
|
50
|
+
|
|
41
51
|
value = this.variable.evaluate(context);
|
|
42
52
|
|
|
43
53
|
const valueType = value.getType();
|
|
@@ -96,11 +106,18 @@ function nodesQueryFromNodesQueryNode(nodesQueryNode, context) {
|
|
|
96
106
|
const { Variable, NodesQuery } = dom,
|
|
97
107
|
node = nodesQueryNode, ///
|
|
98
108
|
string = context.nodeAsString(node),
|
|
99
|
-
|
|
100
|
-
expression = Expression.fromExpressionNode(expressionNode),
|
|
109
|
+
expressionString = expressionStringFromNodesQueryNode(nodesQueryNode, context),
|
|
101
110
|
variable = Variable.fromNodesQueryNode(nodesQueryNode, context),
|
|
102
|
-
query = Query.
|
|
111
|
+
query = Query.fromExpressionString(expressionString),
|
|
103
112
|
nodesQuery = new NodesQuery(string, variable, query);
|
|
104
113
|
|
|
105
114
|
return nodesQuery;
|
|
106
115
|
}
|
|
116
|
+
|
|
117
|
+
function expressionStringFromNodesQueryNode(nodesQueryNode, context) {
|
|
118
|
+
const stringLiteralTerminalNode = stringLiteralTerminalNodesQuery(nodesQueryNode),
|
|
119
|
+
stringLiteralTerminalNodeContent = stringLiteralTerminalNode.getContent(),
|
|
120
|
+
expressionString = trimDoubleQuotes(stringLiteralTerminalNodeContent);
|
|
121
|
+
|
|
122
|
+
return expressionString;
|
|
123
|
+
}
|