occam-furtle 2.0.111 → 2.0.113

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 CHANGED
@@ -27,7 +27,7 @@ Rule (FreeVariable)
27
27
 
28
28
  ```
29
29
  String variableNameFromTermNode(Node termNode) {
30
- Node variableNameTerminalNode = nodeQuery(termNode, /term/variable/@name);
30
+ Node variableNameTerminalNode = nodeQuery(termNode, "/term/variable/@name");
31
31
 
32
32
  String variableName =
33
33
 
@@ -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 expressionNodeQuery = (0, _query.nodeQuery)("/nodeQuery/expression"), valueNodeQueryNodeQuery = (0, _query.nodeQuery)("/value/nodeQuery");
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), message = "The ".concat(valueString, " value's '").concat(valueType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception = _exception.default.fromMessage(message);
134
- throw exception;
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), message1 = "The ".concat(valueString1, " value's node is null."), exception1 = _exception.default.fromMessage(message1);
139
- throw exception1;
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 message2 = "The length of the returned nodes is ".concat(nodesLength, " when it should be 1."), exception2 = _exception.default.fromMessage(message2);
146
- throw exception2;
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), expressionNode = expressionNodeQuery(nodeQueryNode), expression = _occamquery.Expression.fromExpressionNode(expressionNode), variable = Variable.fromNodeQueryNode(nodeQueryNode, context), query = _occamquery.Query.fromExpression(expression), _$nodeQuery = new NodeQuery(string, variable, query);
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5pbXBvcnQgeyBRdWVyeSwgRXhwcmVzc2lvbiB9IGZyb20gXCJvY2NhbS1xdWVyeVwiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBOT0RFX1RZUEUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuY29uc3QgZXhwcmVzc2lvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9ub2RlUXVlcnkvZXhwcmVzc2lvblwiKSxcbiAgICAgIHZhbHVlTm9kZVF1ZXJ5Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ZhbHVlL25vZGVRdWVyeVwiKTtcblxuZXhwb3J0IGRlZmF1bHQgZG9tQXNzaWduZWQoY2xhc3MgTm9kZVF1ZXJ5IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YXJpYWJsZSwgcXVlcnkpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnk7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3Qgbm9kZVF1ZXJ5U3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke25vZGVRdWVyeVN0cmluZ30nIG5vZGUgcXVlcnkuLi5gKTtcblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlTm9kZSA9IHZhbHVlLmdldE5vZGUoKTtcblxuICAgIGlmICh2YWx1ZU5vZGUgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZSdzIG5vZGUgaXMgbnVsbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgbGV0IG5vZGU7XG5cbiAgICBub2RlID0gdmFsdWVOb2RlOyAvLy9cblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5xdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoICE9PSAxKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSBsZW5ndGggb2YgdGhlIHJldHVybmVkIG5vZGVzIGlzICR7bm9kZXNMZW5ndGh9IHdoZW4gaXQgc2hvdWxkIGJlIDEuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgIG5vZGUgPSBmaXJzdE5vZGU7IC8vL1xuXG4gICAgY29uc3QgeyBWYWx1ZSB9ID0gZG9tO1xuXG4gICAgdmFsdWUgPSBWYWx1ZS5mcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bm9kZVF1ZXJ5U3RyaW5nfScgbm9kZSBxdWVyeS5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOb2RlUXVlcnlcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgbm9kZVF1ZXJ5ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhbHVlTm9kZVF1ZXJ5Tm9kZSA9IHZhbHVlTm9kZVF1ZXJ5Tm9kZVF1ZXJ5KHZhbHVlTm9kZSk7XG5cbiAgICBpZiAodmFsdWVOb2RlUXVlcnlOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlUXVlcnlOb2RlID0gdmFsdWVOb2RlUXVlcnlOb2RlOyAvLy9cblxuICAgICAgbm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5RnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVRdWVyeTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5vZGVRdWVyeUZyb21Ob2RlUXVlcnlOb2RlKG5vZGVRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgTm9kZVF1ZXJ5IH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBub2RlUXVlcnlOb2RlLCAvLy9cbiAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgIGV4cHJlc3Npb25Ob2RlID0gZXhwcmVzc2lvbk5vZGVRdWVyeShub2RlUXVlcnlOb2RlKSxcbiAgICAgICAgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgdmFyaWFibGUgPSBWYXJpYWJsZS5mcm9tTm9kZVF1ZXJ5Tm9kZShub2RlUXVlcnlOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKSxcbiAgICAgICAgbm9kZVF1ZXJ5ID0gbmV3IE5vZGVRdWVyeShzdHJpbmcsIHZhcmlhYmxlLCBxdWVyeSk7XG5cbiAgcmV0dXJuIG5vZGVRdWVyeTtcbn1cbiJdLCJuYW1lcyI6WyJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwiZXhwcmVzc2lvbk5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInZhbHVlTm9kZVF1ZXJ5Tm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJOb2RlUXVlcnkiLCJzdHJpbmciLCJ2YXJpYWJsZSIsInF1ZXJ5IiwiZ2V0U3RyaW5nIiwiZ2V0VmFyaWFibGUiLCJnZXRRdWVyeSIsImV2YWx1YXRlIiwiY29udGV4dCIsInZhbHVlIiwibm9kZVF1ZXJ5U3RyaW5nIiwidHJhY2UiLCJ2YWx1ZVR5cGUiLCJnZXRUeXBlIiwiTk9ERV9UWVBFIiwidmFsdWVTdHJpbmciLCJhc1N0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInZhbHVlTm9kZSIsImdldE5vZGUiLCJub2RlIiwibm9kZXMiLCJleGVjdXRlIiwibm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJmaXJzdE5vZGUiLCJWYWx1ZSIsImRvbSIsImZyb21Ob2RlIiwiZGVidWciLCJmcm9tVmFsdWVOb2RlIiwidmFsdWVOb2RlUXVlcnlOb2RlIiwibm9kZVF1ZXJ5Tm9kZSIsIm5vZGVRdWVyeUZyb21Ob2RlUXVlcnlOb2RlIiwibmFtZSIsIlZhcmlhYmxlIiwibm9kZUFzU3RyaW5nIiwiZXhwcmVzc2lvbk5vZGUiLCJleHByZXNzaW9uIiwiRXhwcmVzc2lvbiIsImZyb21FeHByZXNzaW9uTm9kZSIsImZyb21Ob2RlUXVlcnlOb2RlIiwiUXVlcnkiLCJmcm9tRXhwcmVzc2lvbiJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBQTs7O3lCQWYrQjswQkFDRzsyREFFbEI7Z0VBQ007cUJBRUk7cUJBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU0sQUFBRUEsUUFBVUMseUJBQWMsQ0FBeEJEO0FBRVIsSUFBTUUsc0JBQXNCQyxJQUFBQSxnQkFBUyxFQUFDLDBCQUNoQ0MsMEJBQTBCRCxJQUFBQSxnQkFBUyxFQUFDO0lBRTFDLFdBQWVFLElBQUFBLGdCQUFXLDhCQUFDO2FBQU1DLFVBQ25CQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsS0FBSztnQ0FESkg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTs7OztZQUdmQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FB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
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgUXVlcnkgfSBmcm9tIFwib2NjYW0tcXVlcnlcIjtcbmltcG9ydCB7IGFycmF5VXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuaW1wb3J0IHsgY29udGVudFV0aWxpdGllcyB9IGZyb20gXCJvY2NhbS1lbnRpdGllc1wiO1xuXG5pbXBvcnQgZG9tIGZyb20gXCIuLi8uLi9kb21cIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uLy4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBOT0RFX1RZUEUgfSBmcm9tIFwiLi4vLi4vdHlwZXNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IGRvbUFzc2lnbmVkIH0gZnJvbSBcIi4uLy4uL2RvbVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgdHJpbURvdWJsZVF1b3RlcyB9ID0gY29udGVudFV0aWxpdGllcztcblxuY29uc3QgdmFsdWVOb2RlUXVlcnlOb2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvdmFsdWUvbm9kZVF1ZXJ5XCIpLFxuICAgICAgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25vZGVRdWVyeS9Ac3RyaW5nLWxpdGVyYWxcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIE5vZGVRdWVyeSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFyaWFibGUsIHF1ZXJ5KSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMucXVlcnkgPSBxdWVyeTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5O1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB2YWx1ZTtcblxuICAgIGNvbnN0IG5vZGVRdWVyeVN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBub2RlIHF1ZXJ5Li4uYCk7XG5cbiAgICBpZiAodGhpcy5xdWVyeSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBDYW5ub3QgZXZhbHVhdGUgdGhlICcke25vZGVRdWVyeVN0cmluZ30nIG5vZGUgcXVlcnkgYmVjYXVzZSBpdHMgZXhwcmVzc2lvbiBpcyBtYWxmb3JtZWQuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIHZhbHVlID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHZhbHVlVHlwZSA9IHZhbHVlLmdldFR5cGUoKTtcblxuICAgIGlmICh2YWx1ZVR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlJ3MgJyR7dmFsdWVUeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlTm9kZSA9IHZhbHVlLmdldE5vZGUoKTtcblxuICAgIGlmICh2YWx1ZU5vZGUgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZSdzIG5vZGUgaXMgbnVsbC5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgbGV0IG5vZGU7XG5cbiAgICBub2RlID0gdmFsdWVOb2RlOyAvLy9cblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5xdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoICE9PSAxKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSBsZW5ndGggb2YgdGhlIHJldHVybmVkIG5vZGVzIGlzICR7bm9kZXNMZW5ndGh9IHdoZW4gaXQgc2hvdWxkIGJlIDEuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgIG5vZGUgPSBmaXJzdE5vZGU7IC8vL1xuXG4gICAgY29uc3QgeyBWYWx1ZSB9ID0gZG9tO1xuXG4gICAgdmFsdWUgPSBWYWx1ZS5mcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bm9kZVF1ZXJ5U3RyaW5nfScgbm9kZSBxdWVyeS5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOb2RlUXVlcnlcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgbm9kZVF1ZXJ5ID0gbnVsbDtcblxuICAgIGNvbnN0IHZhbHVlTm9kZVF1ZXJ5Tm9kZSA9IHZhbHVlTm9kZVF1ZXJ5Tm9kZVF1ZXJ5KHZhbHVlTm9kZSk7XG5cbiAgICBpZiAodmFsdWVOb2RlUXVlcnlOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBub2RlUXVlcnlOb2RlID0gdmFsdWVOb2RlUXVlcnlOb2RlOyAvLy9cblxuICAgICAgbm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5RnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5vZGVRdWVyeTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5vZGVRdWVyeUZyb21Ob2RlUXVlcnlOb2RlKG5vZGVRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgTm9kZVF1ZXJ5IH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBub2RlUXVlcnlOb2RlLCAvLy9cbiAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uU3RyaW5nRnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU5vZGVRdWVyeU5vZGUobm9kZVF1ZXJ5Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyksXG4gICAgICAgIG5vZGVRdWVyeSA9IG5ldyBOb2RlUXVlcnkoc3RyaW5nLCB2YXJpYWJsZSwgcXVlcnkpO1xuXG4gIHJldHVybiBub2RlUXVlcnk7XG59XG5cbmZ1bmN0aW9uIGV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZVF1ZXJ5Tm9kZShub2RlUXVlcnlOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUgPSBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlUXVlcnkobm9kZVF1ZXJ5Tm9kZSksXG4gICAgICAgIHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50ID0gc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCksXG4gICAgICAgIGV4cHJlc3Npb25TdHJpbmcgPSB0cmltRG91YmxlUXVvdGVzKHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50KTtcblxuICByZXR1cm4gZXhwcmVzc2lvblN0cmluZztcbn1cbiJdLCJuYW1lcyI6WyJmaXJzdCIsImFycmF5VXRpbGl0aWVzIiwidHJpbURvdWJsZVF1b3RlcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJ2YWx1ZU5vZGVRdWVyeU5vZGVRdWVyeSIsIm5vZGVRdWVyeSIsInN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVRdWVyeSIsImRvbUFzc2lnbmVkIiwiTm9kZVF1ZXJ5Iiwic3RyaW5nIiwidmFyaWFibGUiLCJxdWVyeSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0UXVlcnkiLCJldmFsdWF0ZSIsImNvbnRleHQiLCJ2YWx1ZSIsIm5vZGVRdWVyeVN0cmluZyIsInRyYWNlIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFsdWVUeXBlIiwiZ2V0VHlwZSIsIk5PREVfVFlQRSIsInZhbHVlU3RyaW5nIiwiYXNTdHJpbmciLCJ2YWx1ZU5vZGUiLCJnZXROb2RlIiwibm9kZSIsIm5vZGVzIiwiZXhlY3V0ZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb2RlIiwiVmFsdWUiLCJkb20iLCJmcm9tTm9kZSIsImRlYnVnIiwiZnJvbVZhbHVlTm9kZSIsInZhbHVlTm9kZVF1ZXJ5Tm9kZSIsIm5vZGVRdWVyeU5vZGUiLCJub2RlUXVlcnlGcm9tTm9kZVF1ZXJ5Tm9kZSIsIm5hbWUiLCJWYXJpYWJsZSIsIm5vZGVBc1N0cmluZyIsImV4cHJlc3Npb25TdHJpbmciLCJleHByZXNzaW9uU3RyaW5nRnJvbU5vZGVRdWVyeU5vZGUiLCJmcm9tTm9kZVF1ZXJ5Tm9kZSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb25TdHJpbmciLCJzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZUNvbnRlbnQiLCJnZXRDb250ZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFtQkE7OztlQUFBOzs7MEJBakJzQjt5QkFDUzs2QkFDRTsyREFFakI7Z0VBQ007cUJBRUk7cUJBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU0sQUFBRUEsUUFBVUMseUJBQWMsQ0FBeEJELE9BQ0YsQUFBRUUsbUJBQXFCQywrQkFBZ0IsQ0FBckNEO0FBRVIsSUFBTUUsMEJBQTBCQyxJQUFBQSxnQkFBUyxFQUFDLHFCQUNwQ0MsaUNBQWlDRCxJQUFBQSxnQkFBUyxFQUFDO0lBRWpELFdBQWVFLElBQUFBLGdCQUFXLDhCQUFDO2FBQU1DLFVBQ25CQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsS0FBSztnQ0FESkg7UUFFN0IsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTs7OztZQUdmQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsT0FB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
@@ -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 expressionNodeQuery = (0, _query.nodeQuery)("/nodesQuery/expression"), valueNodesQueryNodeQuery = (0, _query.nodeQuery)("/value/nodesQuery");
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), message = "The ".concat(valueString, " value's '").concat(valueType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception = _exception.default.fromMessage(message);
132
- throw exception;
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), message1 = "The ".concat(valueString1, " value's node is null."), exception1 = _exception.default.fromMessage(message1);
137
- throw exception1;
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), expressionNode = expressionNodeQuery(nodesQueryNode), expression = _occamquery.Expression.fromExpressionNode(expressionNode), variable = Variable.fromNodesQueryNode(nodesQueryNode, context), query = _occamquery.Query.fromExpression(expression), nodesQuery = new NodesQuery(string, variable, query);
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5LCBFeHByZXNzaW9uIH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE5PREVfVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmNvbnN0IGV4cHJlc3Npb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvbm9kZXNRdWVyeS9leHByZXNzaW9uXCIpLFxuICAgICAgdmFsdWVOb2Rlc1F1ZXJ5Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ZhbHVlL25vZGVzUXVlcnlcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRvbUFzc2lnbmVkKGNsYXNzIE5vZGVzUXVlcnkge1xuICBjb25zdHJ1Y3RvcihzdHJpbmcsIHZhcmlhYmxlLCBxdWVyeSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnk7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5xdWVyeTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdmFsdWU7XG5cbiAgICBjb25zdCBub2Rlc1F1ZXJ5U3RyaW5nID0gdGhpcy5zdHJpbmc7ICAvLy9cblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke25vZGVzUXVlcnlTdHJpbmd9JyBub2RlcyBxdWVyeS4uLmApO1xuXG4gICAgdmFsdWUgPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgdmFsdWVUeXBlID0gdmFsdWUuZ2V0VHlwZSgpO1xuXG4gICAgaWYgKHZhbHVlVHlwZSAhPT0gTk9ERV9UWVBFKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyAnJHt2YWx1ZVR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT0RFX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3QgdmFsdWVOb2RlID0gdmFsdWUuZ2V0Tm9kZSgpO1xuXG4gICAgaWYgKHZhbHVlTm9kZSA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgdmFsdWVTdHJpbmcgPSB2YWx1ZS5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7dmFsdWVTdHJpbmd9IHZhbHVlJ3Mgbm9kZSBpcyBudWxsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBsZXQgbm9kZTtcblxuICAgIG5vZGUgPSB2YWx1ZU5vZGU7IC8vL1xuXG4gICAgY29uc3Qgbm9kZXMgPSB0aGlzLnF1ZXJ5LmV4ZWN1dGUobm9kZSk7XG5cbiAgICBjb25zdCB7IFZhbHVlIH0gPSBkb207XG5cbiAgICB2YWx1ZSA9IFZhbHVlLmZyb21Ob2Rlcyhub2RlcywgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke25vZGVzUXVlcnlTdHJpbmd9JyBub2RlcyBxdWVyeS5gKTtcblxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOb2Rlc1F1ZXJ5XCI7XG5cbiAgc3RhdGljIGZyb21WYWx1ZU5vZGUodmFsdWVOb2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IG5vZGVzUXVlcnkgPSBudWxsO1xuXG4gICAgY29uc3QgdmFsdWVOb2Rlc1F1ZXJ5Tm9kZSA9IHZhbHVlTm9kZXNRdWVyeU5vZGVRdWVyeSh2YWx1ZU5vZGUpO1xuXG4gICAgaWYgKHZhbHVlTm9kZXNRdWVyeU5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG5vZGVzUXVlcnlOb2RlID0gdmFsdWVOb2Rlc1F1ZXJ5Tm9kZTsgLy8vXG5cbiAgICAgIG5vZGVzUXVlcnkgPSBub2Rlc1F1ZXJ5RnJvbU5vZGVzUXVlcnlOb2RlKG5vZGVzUXVlcnlOb2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gbm9kZXNRdWVyeTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIG5vZGVzUXVlcnlGcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBWYXJpYWJsZSwgTm9kZXNRdWVyeSB9ID0gZG9tLFxuICAgICAgICBub2RlID0gbm9kZXNRdWVyeU5vZGUsICAvLy9cbiAgICAgICAgc3RyaW5nID0gY29udGV4dC5ub2RlQXNTdHJpbmcobm9kZSksXG4gICAgICAgIGV4cHJlc3Npb25Ob2RlID0gZXhwcmVzc2lvbk5vZGVRdWVyeShub2Rlc1F1ZXJ5Tm9kZSksXG4gICAgICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSksXG4gICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbU5vZGVzUXVlcnlOb2RlKG5vZGVzUXVlcnlOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgcXVlcnkgPSBRdWVyeS5mcm9tRXhwcmVzc2lvbihleHByZXNzaW9uKSxcbiAgICAgICAgbm9kZXNRdWVyeSA9IG5ldyBOb2Rlc1F1ZXJ5KHN0cmluZywgdmFyaWFibGUsIHF1ZXJ5KTtcblxuICByZXR1cm4gbm9kZXNRdWVyeTtcbn1cbiJdLCJuYW1lcyI6WyJleHByZXNzaW9uTm9kZVF1ZXJ5Iiwibm9kZVF1ZXJ5IiwidmFsdWVOb2Rlc1F1ZXJ5Tm9kZVF1ZXJ5IiwiZG9tQXNzaWduZWQiLCJOb2Rlc1F1ZXJ5Iiwic3RyaW5nIiwidmFyaWFibGUiLCJxdWVyeSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0UXVlcnkiLCJldmFsdWF0ZSIsImNvbnRleHQiLCJ2YWx1ZSIsIm5vZGVzUXVlcnlTdHJpbmciLCJ0cmFjZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJOT0RFX1RZUEUiLCJ2YWx1ZVN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidmFsdWVOb2RlIiwiZ2V0Tm9kZSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJWYWx1ZSIsImRvbSIsImZyb21Ob2RlcyIsImRlYnVnIiwiZnJvbVZhbHVlTm9kZSIsIm5vZGVzUXVlcnkiLCJ2YWx1ZU5vZGVzUXVlcnlOb2RlIiwibm9kZXNRdWVyeU5vZGUiLCJub2Rlc1F1ZXJ5RnJvbU5vZGVzUXVlcnlOb2RlIiwibmFtZSIsIlZhcmlhYmxlIiwibm9kZUFzU3RyaW5nIiwiZXhwcmVzc2lvbk5vZGUiLCJleHByZXNzaW9uIiwiRXhwcmVzc2lvbiIsImZyb21FeHByZXNzaW9uTm9kZSIsImZyb21Ob2Rlc1F1ZXJ5Tm9kZSIsIlF1ZXJ5IiwiZnJvbUV4cHJlc3Npb24iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWNBOzs7ZUFBQTs7OzBCQVprQzsyREFFbEI7Z0VBQ007cUJBRUk7cUJBQ0E7Ozs7Ozs7Ozs7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
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb20vcXVlcnkvbm9kZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFF1ZXJ5IH0gZnJvbSBcIm9jY2FtLXF1ZXJ5XCI7XG5pbXBvcnQgeyBjb250ZW50VXRpbGl0aWVzIH0gZnJvbSBcIm9jY2FtLWVudGl0aWVzXCI7XG5cbmltcG9ydCBkb20gZnJvbSBcIi4uLy4uL2RvbVwiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE5PREVfVFlQRSB9IGZyb20gXCIuLi8uLi90eXBlc1wiO1xuaW1wb3J0IHsgZG9tQXNzaWduZWQgfSBmcm9tIFwiLi4vLi4vZG9tXCI7XG5cbmNvbnN0IHsgdHJpbURvdWJsZVF1b3RlcyB9ID0gY29udGVudFV0aWxpdGllcztcblxuY29uc3QgdmFsdWVOb2Rlc1F1ZXJ5Tm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL3ZhbHVlL25vZGVzUXVlcnlcIiksXG4gICAgICBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2Rlc1F1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL25vZGVzUXVlcnkvQHN0cmluZy1saXRlcmFsXCIpO1xuXG5leHBvcnQgZGVmYXVsdCBkb21Bc3NpZ25lZChjbGFzcyBOb2Rlc1F1ZXJ5IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YXJpYWJsZSwgcXVlcnkpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnk7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHZhbHVlO1xuXG4gICAgY29uc3Qgbm9kZXNRdWVyeVN0cmluZyA9IHRoaXMuc3RyaW5nOyAgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtub2Rlc1F1ZXJ5U3RyaW5nfScgbm9kZXMgcXVlcnkuLi5gKTtcblxuICAgIGlmICh0aGlzLnF1ZXJ5ID09PSBudWxsKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYENhbm5vdCBldmFsdWF0ZSB0aGUgJyR7bm9kZXNRdWVyeVN0cmluZ30nIG5vZGVzIHF1ZXJ5IGJlY2F1c2UgaXRzIGV4cHJlc3Npb24gaXMgbWFsZm9ybWVkLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB2YWx1ZSA9IHRoaXMudmFyaWFibGUuZXZhbHVhdGUoY29udGV4dCk7XG5cbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB2YWx1ZS5nZXRUeXBlKCk7XG5cbiAgICBpZiAodmFsdWVUeXBlICE9PSBOT0RFX1RZUEUpIHtcbiAgICAgIGNvbnN0IHZhbHVlU3RyaW5nID0gdmFsdWUuYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke3ZhbHVlU3RyaW5nfSB2YWx1ZSdzICcke3ZhbHVlVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PREVfVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZU5vZGUgPSB2YWx1ZS5nZXROb2RlKCk7XG5cbiAgICBpZiAodmFsdWVOb2RlID09PSBudWxsKSB7XG4gICAgICBjb25zdCB2YWx1ZVN0cmluZyA9IHZhbHVlLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHt2YWx1ZVN0cmluZ30gdmFsdWUncyBub2RlIGlzIG51bGwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGxldCBub2RlO1xuXG4gICAgbm9kZSA9IHZhbHVlTm9kZTsgLy8vXG5cbiAgICBjb25zdCBub2RlcyA9IHRoaXMucXVlcnkuZXhlY3V0ZShub2RlKTtcblxuICAgIGNvbnN0IHsgVmFsdWUgfSA9IGRvbTtcblxuICAgIHZhbHVlID0gVmFsdWUuZnJvbU5vZGVzKG5vZGVzLCBjb250ZXh0KTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bm9kZXNRdWVyeVN0cmluZ30nIG5vZGVzIHF1ZXJ5LmApO1xuXG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk5vZGVzUXVlcnlcIjtcblxuICBzdGF0aWMgZnJvbVZhbHVlTm9kZSh2YWx1ZU5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgbm9kZXNRdWVyeSA9IG51bGw7XG5cbiAgICBjb25zdCB2YWx1ZU5vZGVzUXVlcnlOb2RlID0gdmFsdWVOb2Rlc1F1ZXJ5Tm9kZVF1ZXJ5KHZhbHVlTm9kZSk7XG5cbiAgICBpZiAodmFsdWVOb2Rlc1F1ZXJ5Tm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZXNRdWVyeU5vZGUgPSB2YWx1ZU5vZGVzUXVlcnlOb2RlOyAvLy9cblxuICAgICAgbm9kZXNRdWVyeSA9IG5vZGVzUXVlcnlGcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBub2Rlc1F1ZXJ5O1xuICB9XG59KTtcblxuZnVuY3Rpb24gbm9kZXNRdWVyeUZyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IFZhcmlhYmxlLCBOb2Rlc1F1ZXJ5IH0gPSBkb20sXG4gICAgICAgIG5vZGUgPSBub2Rlc1F1ZXJ5Tm9kZSwgIC8vL1xuICAgICAgICBzdHJpbmcgPSBjb250ZXh0Lm5vZGVBc1N0cmluZyhub2RlKSxcbiAgICAgICAgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21Ob2Rlc1F1ZXJ5Tm9kZShub2Rlc1F1ZXJ5Tm9kZSwgY29udGV4dCksXG4gICAgICAgIHF1ZXJ5ID0gUXVlcnkuZnJvbUV4cHJlc3Npb25TdHJpbmcoZXhwcmVzc2lvblN0cmluZyksXG4gICAgICAgIG5vZGVzUXVlcnkgPSBuZXcgTm9kZXNRdWVyeShzdHJpbmcsIHZhcmlhYmxlLCBxdWVyeSk7XG5cbiAgcmV0dXJuIG5vZGVzUXVlcnk7XG59XG5cbmZ1bmN0aW9uIGV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZXNRdWVyeU5vZGUobm9kZXNRdWVyeU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3Qgc3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSA9IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVzUXVlcnkobm9kZXNRdWVyeU5vZGUpLFxuICAgICAgICBzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlQ29udGVudCA9IHN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBleHByZXNzaW9uU3RyaW5nID0gdHJpbURvdWJsZVF1b3RlcyhzdHJpbmdMaXRlcmFsVGVybWluYWxOb2RlQ29udGVudCk7XG5cbiAgcmV0dXJuIGV4cHJlc3Npb25TdHJpbmc7XG59XG4iXSwibmFtZXMiOlsidHJpbURvdWJsZVF1b3RlcyIsImNvbnRlbnRVdGlsaXRpZXMiLCJ2YWx1ZU5vZGVzUXVlcnlOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJzdHJpbmdMaXRlcmFsVGVybWluYWxOb2Rlc1F1ZXJ5IiwiZG9tQXNzaWduZWQiLCJOb2Rlc1F1ZXJ5Iiwic3RyaW5nIiwidmFyaWFibGUiLCJxdWVyeSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0UXVlcnkiLCJldmFsdWF0ZSIsImNvbnRleHQiLCJ2YWx1ZSIsIm5vZGVzUXVlcnlTdHJpbmciLCJ0cmFjZSIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInZhbHVlVHlwZSIsImdldFR5cGUiLCJOT0RFX1RZUEUiLCJ2YWx1ZVN0cmluZyIsImFzU3RyaW5nIiwidmFsdWVOb2RlIiwiZ2V0Tm9kZSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJWYWx1ZSIsImRvbSIsImZyb21Ob2RlcyIsImRlYnVnIiwiZnJvbVZhbHVlTm9kZSIsIm5vZGVzUXVlcnkiLCJ2YWx1ZU5vZGVzUXVlcnlOb2RlIiwibm9kZXNRdWVyeU5vZGUiLCJub2Rlc1F1ZXJ5RnJvbU5vZGVzUXVlcnlOb2RlIiwibmFtZSIsIlZhcmlhYmxlIiwibm9kZUFzU3RyaW5nIiwiZXhwcmVzc2lvblN0cmluZyIsImV4cHJlc3Npb25TdHJpbmdGcm9tTm9kZXNRdWVyeU5vZGUiLCJmcm9tTm9kZXNRdWVyeU5vZGUiLCJRdWVyeSIsImZyb21FeHByZXNzaW9uU3RyaW5nIiwic3RyaW5nTGl0ZXJhbFRlcm1pbmFsTm9kZSIsInN0cmluZ0xpdGVyYWxUZXJtaW5hbE5vZGVDb250ZW50IiwiZ2V0Q29udGVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBaUJBOzs7ZUFBQTs7OzBCQWZzQjs2QkFDVzsyREFFakI7Z0VBQ007cUJBRUk7cUJBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRzFCLElBQU0sQUFBRUEsbUJBQXFC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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-furtle",
3
3
  "author": "James Smith",
4
- "version": "2.0.111",
4
+ "version": "2.0.113",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-furtle",
7
7
  "description": "Occam's Furtle language.",
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
 
3
+ import { Query } from "occam-query";
3
4
  import { arrayUtilities } from "necessary";
4
- import { Query, Expression } from "occam-query";
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 expressionNodeQuery = nodeQuery("/nodeQuery/expression"),
16
- valueNodeQueryNodeQuery = nodeQuery("/value/nodeQuery");
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
- expressionNode = expressionNodeQuery(nodeQueryNode),
115
- expression = Expression.fromExpressionNode(expressionNode),
123
+ expressionString = expressionStringFromNodeQueryNode(nodeQueryNode, context),
116
124
  variable = Variable.fromNodeQueryNode(nodeQueryNode, context),
117
- query = Query.fromExpression(expression),
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
+ }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
- import { Query, Expression } from "occam-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 expressionNodeQuery = nodeQuery("/nodesQuery/expression"),
13
- valueNodesQueryNodeQuery = nodeQuery("/value/nodesQuery");
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
- expressionNode = expressionNodeQuery(nodesQueryNode),
100
- expression = Expression.fromExpressionNode(expressionNode),
109
+ expressionString = expressionStringFromNodesQueryNode(nodesQueryNode, context),
101
110
  variable = Variable.fromNodesQueryNode(nodesQueryNode, context),
102
- query = Query.fromExpression(expression),
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
+ }