occam-furtle 2.0.306 → 2.0.307

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/constants.js CHANGED
@@ -9,11 +9,11 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
- get CONJUNCTION () {
13
- return CONJUNCTION;
12
+ get CONJUNCTION_OPERATOR () {
13
+ return CONJUNCTION_OPERATOR;
14
14
  },
15
- get DISJUNCTION () {
16
- return DISJUNCTION;
15
+ get DISJUNCTION_OPERATOR () {
16
+ return DISJUNCTION_OPERATOR;
17
17
  },
18
18
  get DOUBLE_SPACE () {
19
19
  return DOUBLE_SPACE;
@@ -70,13 +70,13 @@ var FALSE = "false";
70
70
  var FUNCTION = "function";
71
71
  var EQUAL_TO = "==";
72
72
  var UNDERSCORE = "_";
73
- var CONJUNCTION = "&&";
74
- var DISJUNCTION = "||";
75
73
  var EMPTY_STRING = "";
76
74
  var SINGLE_SPACE = " ";
77
75
  var DOUBLE_SPACE = " ";
78
76
  var NOT_EQUAL_TO = "!=";
79
77
  var LEVEL_MAXIMUM_LENGTH = 7;
78
+ var CONJUNCTION_OPERATOR = "&&";
79
+ var DISJUNCTION_OPERATOR = "||";
80
80
  var LINE_INDEX_MAXIMUM_LENGTH = 4;
81
81
 
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxldmVscyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBUUkFDRV9MRVZFTCwgREVCVUdfTEVWRUwsIElORk9fTEVWRUwsIFdBUk5JTkdfTEVWRUwsIEVSUk9SX0xFVkVMIH0gPSBsZXZlbHM7XG5cbmV4cG9ydCBjb25zdCBMRVZFTFMgPSBbXG4gIFRSQUNFX0xFVkVMLFxuICBERUJVR19MRVZFTCxcbiAgSU5GT19MRVZFTCxcbiAgV0FSTklOR19MRVZFTCxcbiAgRVJST1JfTEVWRUxcbl07XG5cbmV4cG9ydCBjb25zdCBOVUxMID0gXCJudWxsXCI7XG5leHBvcnQgY29uc3QgVFJVRSA9IFwidHJ1ZVwiO1xuZXhwb3J0IGNvbnN0IEZBTFNFID0gXCJmYWxzZVwiO1xuZXhwb3J0IGNvbnN0IEZVTkNUSU9OID0gXCJmdW5jdGlvblwiO1xuZXhwb3J0IGNvbnN0IEVRVUFMX1RPID0gXCI9PVwiO1xuZXhwb3J0IGNvbnN0IFVOREVSU0NPUkUgPSBcIl9cIjtcbmV4cG9ydCBjb25zdCBDT05KVU5DVElPTiA9IFwiJiZcIjtcbmV4cG9ydCBjb25zdCBESVNKVU5DVElPTiA9IFwifHxcIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IFNJTkdMRV9TUEFDRSA9IFwiIFwiO1xuZXhwb3J0IGNvbnN0IERPVUJMRV9TUEFDRSA9IFwiICBcIjtcbmV4cG9ydCBjb25zdCBOT1RfRVFVQUxfVE8gPSBcIiE9XCI7XG5leHBvcnQgY29uc3QgTEVWRUxfTUFYSU1VTV9MRU5HVEggPSA3O1xuZXhwb3J0IGNvbnN0IExJTkVfSU5ERVhfTUFYSU1VTV9MRU5HVEggPSA0O1xuIl0sIm5hbWVzIjpbIkNPTkpVTkNUSU9OIiwiRElTSlVOQ1RJT04iLCJET1VCTEVfU1BBQ0UiLCJFTVBUWV9TVFJJTkciLCJFUVVBTF9UTyIsIkZBTFNFIiwiRlVOQ1RJT04iLCJMRVZFTFMiLCJMRVZFTF9NQVhJTVVNX0xFTkdUSCIsIkxJTkVfSU5ERVhfTUFYSU1VTV9MRU5HVEgiLCJOT1RfRVFVQUxfVE8iLCJOVUxMIiwiU0lOR0xFX1NQQUNFIiwiVFJVRSIsIlVOREVSU0NPUkUiLCJUUkFDRV9MRVZFTCIsImxldmVscyIsIkRFQlVHX0xFVkVMIiwiSU5GT19MRVZFTCIsIldBUk5JTkdfTEVWRUwiLCJFUlJPUl9MRVZFTCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBb0JhQTtlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBR0FDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFKQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUFYQUM7ZUFBQUE7O1FBb0JBQztlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQVhBQztlQUFBQTs7UUFTQUM7ZUFBQUE7O1FBUkFDO2VBQUFBOztRQUlBQztlQUFBQTs7O3lCQWpCVTtBQUV2QixJQUFRQyxjQUFxRUMsaUJBQU0sQ0FBM0VELGFBQWFFLGNBQXdERCxpQkFBTSxDQUE5REMsYUFBYUMsYUFBMkNGLGlCQUFNLENBQWpERSxZQUFZQyxnQkFBK0JILGlCQUFNLENBQXJDRyxlQUFlQyxjQUFnQkosaUJBQU0sQ0FBdEJJO0FBRXRELElBQU1iLFNBQVM7SUFDcEJRO0lBQ0FFO0lBQ0FDO0lBQ0FDO0lBQ0FDO0NBQ0Q7QUFFTSxJQUFNVCxPQUFPO0FBQ2IsSUFBTUUsT0FBTztBQUNiLElBQU1SLFFBQVE7QUFDZCxJQUFNQyxXQUFXO0FBQ2pCLElBQU1GLFdBQVc7QUFDakIsSUFBTVUsYUFBYTtBQUNuQixJQUFNZCxjQUFjO0FBQ3BCLElBQU1DLGNBQWM7QUFDcEIsSUFBTUUsZUFBZTtBQUNyQixJQUFNUyxlQUFlO0FBQ3JCLElBQU1WLGVBQWU7QUFDckIsSUFBTVEsZUFBZTtBQUNyQixJQUFNRix1QkFBdUI7QUFDN0IsSUFBTUMsNEJBQTRCIn0=
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGxldmVscyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBUUkFDRV9MRVZFTCwgREVCVUdfTEVWRUwsIElORk9fTEVWRUwsIFdBUk5JTkdfTEVWRUwsIEVSUk9SX0xFVkVMIH0gPSBsZXZlbHM7XG5cbmV4cG9ydCBjb25zdCBMRVZFTFMgPSBbXG4gIFRSQUNFX0xFVkVMLFxuICBERUJVR19MRVZFTCxcbiAgSU5GT19MRVZFTCxcbiAgV0FSTklOR19MRVZFTCxcbiAgRVJST1JfTEVWRUxcbl07XG5cbmV4cG9ydCBjb25zdCBOVUxMID0gXCJudWxsXCI7XG5leHBvcnQgY29uc3QgVFJVRSA9IFwidHJ1ZVwiO1xuZXhwb3J0IGNvbnN0IEZBTFNFID0gXCJmYWxzZVwiO1xuZXhwb3J0IGNvbnN0IEZVTkNUSU9OID0gXCJmdW5jdGlvblwiO1xuZXhwb3J0IGNvbnN0IEVRVUFMX1RPID0gXCI9PVwiO1xuZXhwb3J0IGNvbnN0IFVOREVSU0NPUkUgPSBcIl9cIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IFNJTkdMRV9TUEFDRSA9IFwiIFwiO1xuZXhwb3J0IGNvbnN0IERPVUJMRV9TUEFDRSA9IFwiICBcIjtcbmV4cG9ydCBjb25zdCBOT1RfRVFVQUxfVE8gPSBcIiE9XCI7XG5leHBvcnQgY29uc3QgTEVWRUxfTUFYSU1VTV9MRU5HVEggPSA3O1xuZXhwb3J0IGNvbnN0IENPTkpVTkNUSU9OX09QRVJBVE9SID0gXCImJlwiO1xuZXhwb3J0IGNvbnN0IERJU0pVTkNUSU9OX09QRVJBVE9SID0gXCJ8fFwiO1xuZXhwb3J0IGNvbnN0IExJTkVfSU5ERVhfTUFYSU1VTV9MRU5HVEggPSA0O1xuIl0sIm5hbWVzIjpbIkNPTkpVTkNUSU9OX09QRVJBVE9SIiwiRElTSlVOQ1RJT05fT1BFUkFUT1IiLCJET1VCTEVfU1BBQ0UiLCJFTVBUWV9TVFJJTkciLCJFUVVBTF9UTyIsIkZBTFNFIiwiRlVOQ1RJT04iLCJMRVZFTFMiLCJMRVZFTF9NQVhJTVVNX0xFTkdUSCIsIkxJTkVfSU5ERVhfTUFYSU1VTV9MRU5HVEgiLCJOT1RfRVFVQUxfVE8iLCJOVUxMIiwiU0lOR0xFX1NQQUNFIiwiVFJVRSIsIlVOREVSU0NPUkUiLCJUUkFDRV9MRVZFTCIsImxldmVscyIsIkRFQlVHX0xFVkVMIiwiSU5GT19MRVZFTCIsIldBUk5JTkdfTEVWRUwiLCJFUlJPUl9MRVZFTCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBeUJhQTtlQUFBQTs7UUFDQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQUZBQztlQUFBQTs7UUFGQUM7ZUFBQUE7O1FBRkFDO2VBQUFBOztRQUNBQztlQUFBQTs7UUFYQUM7ZUFBQUE7O1FBa0JBQztlQUFBQTs7UUFHQUM7ZUFBQUE7O1FBSkFDO2VBQUFBOztRQVRBQztlQUFBQTs7UUFPQUM7ZUFBQUE7O1FBTkFDO2VBQUFBOztRQUlBQztlQUFBQTs7O3lCQWpCVTtBQUV2QixJQUFRQyxjQUFxRUMsaUJBQU0sQ0FBM0VELGFBQWFFLGNBQXdERCxpQkFBTSxDQUE5REMsYUFBYUMsYUFBMkNGLGlCQUFNLENBQWpERSxZQUFZQyxnQkFBK0JILGlCQUFNLENBQXJDRyxlQUFlQyxjQUFnQkosaUJBQU0sQ0FBdEJJO0FBRXRELElBQU1iLFNBQVM7SUFDcEJRO0lBQ0FFO0lBQ0FDO0lBQ0FDO0lBQ0FDO0NBQ0Q7QUFFTSxJQUFNVCxPQUFPO0FBQ2IsSUFBTUUsT0FBTztBQUNiLElBQU1SLFFBQVE7QUFDZCxJQUFNQyxXQUFXO0FBQ2pCLElBQU1GLFdBQVc7QUFDakIsSUFBTVUsYUFBYTtBQUNuQixJQUFNWCxlQUFlO0FBQ3JCLElBQU1TLGVBQWU7QUFDckIsSUFBTVYsZUFBZTtBQUNyQixJQUFNUSxlQUFlO0FBQ3JCLElBQU1GLHVCQUF1QjtBQUM3QixJQUFNUix1QkFBdUI7QUFDN0IsSUFBTUMsdUJBQXVCO0FBQzdCLElBQU1RLDRCQUE0QiJ9
@@ -10,9 +10,8 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _elements = /*#__PURE__*/ _interop_require_wildcard(require("../../elements"));
12
12
  var _exception = /*#__PURE__*/ _interop_require_default(require("../../exception"));
13
- var _query = require("../../utilities/query");
14
13
  var _types = require("../../types");
15
- var _constants = require("../../constants");
14
+ var _string = require("../../utilities/string");
16
15
  function _class_call_check(instance, Constructor) {
17
16
  if (!(instance instanceof Constructor)) {
18
17
  throw new TypeError("Cannot call a class as a function");
@@ -92,13 +91,12 @@ function _interop_require_wildcard(obj, nodeInterop) {
92
91
  return newObj;
93
92
  }
94
93
  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
94
  var _default = (0, _elements.define)((_BitwiseExpression = /*#__PURE__*/ function() {
97
- function BitwiseExpression(string, type, disjoint, leftExpression, rightExpression) {
95
+ function BitwiseExpression(string, type, disjection, leftExpression, rightExpression) {
98
96
  _class_call_check(this, BitwiseExpression);
99
97
  this.string = string;
100
98
  this.type = type;
101
- this.disjoint = disjoint;
99
+ this.disjection = disjection;
102
100
  this.leftExpression = leftExpression;
103
101
  this.rightExpression = rightExpression;
104
102
  }
@@ -116,9 +114,9 @@ var _default = (0, _elements.define)((_BitwiseExpression = /*#__PURE__*/ functio
116
114
  }
117
115
  },
118
116
  {
119
- key: "isDisjoint",
120
- value: function isDisjoint() {
121
- return this.disjoint;
117
+ key: "isDisjunction",
118
+ value: function isDisjunction() {
119
+ return this.disjection;
122
120
  }
123
121
  },
124
122
  {
@@ -148,7 +146,7 @@ var _default = (0, _elements.define)((_BitwiseExpression = /*#__PURE__*/ functio
148
146
  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
147
  throw exception1;
150
148
  }
151
- var leftExpressionBoolean = leftExpression.getBoolean(), rightExpressionBoolean = rightExpression.getBoolean(), boolean = this.disjoint ? leftExpressionBoolean || rightExpressionBoolean : leftExpressionBoolean && rightExpressionBoolean;
149
+ var leftExpressionBoolean = leftExpression.getBoolean(), rightExpressionBoolean = rightExpression.getBoolean(), boolean = this.disjection ? leftExpressionBoolean || rightExpressionBoolean : leftExpressionBoolean && rightExpressionBoolean;
152
150
  expression = Expression.fromBoolean(boolean, context); ///
153
151
  context.debug("...evaluated the '".concat(bitwiseExpressionString, "' bitwise expression."));
154
152
  return expression;
@@ -159,9 +157,8 @@ var _default = (0, _elements.define)((_BitwiseExpression = /*#__PURE__*/ functio
159
157
  key: "fromExpressionNode",
160
158
  value: function fromExpressionNode(expressionNode, context) {
161
159
  var bitwiseExpression = null;
162
- var expressionBitwiseExpressionNode = expressionBitwiseExpressionNodeQuery(expressionNode);
163
- if (expressionBitwiseExpressionNode !== null) {
164
- var bitwiseExpressionNode = expressionBitwiseExpressionNode; ///
160
+ var bitwiseExpressionNode = expressionNode.getBitwiseExpressionNode();
161
+ if (bitwiseExpressionNode !== null) {
165
162
  bitwiseExpression = bitwiseExpressionFromBitwiseExpressionNode(bitwiseExpressionNode, context);
166
163
  }
167
164
  return bitwiseExpression;
@@ -171,16 +168,12 @@ var _default = (0, _elements.define)((_BitwiseExpression = /*#__PURE__*/ functio
171
168
  return BitwiseExpression;
172
169
  }(), _define_property(_BitwiseExpression, "name", "BitwiseExpression"), _BitwiseExpression));
173
170
  function bitwiseExpressionFromBitwiseExpressionNode(bitwiseExpressionNode, context) {
174
- var Expression = _elements.default.Expression, BitwiseExpression = _elements.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);
171
+ var Expression = _elements.default.Expression, BitwiseExpression = _elements.default.BitwiseExpression, leftExpressionNode = bitwiseExpressionNode.getLeftExpressionNode(), rightExpressionNode = bitwiseExpressionNode.getRightExpressionNode(), type = _types.BOOLEAN_TYPE, disjection = disjunctionFromBitwiseExpressionNode(bitwiseExpressionNode, context), leftExpression = Expression.fromExpressionNode(leftExpressionNode, context), rightExpression = Expression.fromExpressionNode(rightExpressionNode, context), string = (0, _string.bitwiseExpressionStringFromTypeDisjunctionLeftExpressionAndRightExpression)(disjection, leftExpression, rightExpression, context), bitwiseExpression = new BitwiseExpression(string, type, disjection, leftExpression, rightExpression);
175
172
  return bitwiseExpression;
176
173
  }
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;
174
+ function disjunctionFromBitwiseExpressionNode(bitwiseExpressionNode, context) {
175
+ var disjection = bitwiseExpressionNode.isDisjunction();
176
+ return disjection;
184
177
  }
185
178
 
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24vYml0d2lzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgbm9kZVF1ZXJ5IH0gZnJvbSBcIi4uLy4uL3V0aWxpdGllcy9xdWVyeVwiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBDT05KVU5DVElPTiwgRElTSlVOQ1RJT04gfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XG5cbmNvbnN0IHRlcm1pbmFsTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2JpdHdpc2VFeHByZXNzaW9uL0AqXCIpLFxuICAgICAgbGVmdEV4cHJlc3Npb25Ob2RlUXVlcnkgPSBub2RlUXVlcnkoXCIvYml0d2lzZUV4cHJlc3Npb24vZXhwcmVzc2lvblswXVwiKSxcbiAgICAgIHJpZ2h0RXhwcmVzc2lvbk5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9iaXR3aXNlRXhwcmVzc2lvbi9leHByZXNzaW9uWzFdXCIpLFxuICAgICAgZXhwcmVzc2lvbkJpdHdpc2VFeHByZXNzaW9uTm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5KFwiL2V4cHJlc3Npb24vYml0d2lzZUV4cHJlc3Npb25cIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBCaXR3aXNlRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdHlwZSwgZGlzam9pbnQsIGxlZnRFeHByZXNzaW9uLCByaWdodEV4cHJlc3Npb24pIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgIHRoaXMuZGlzam9pbnQgPSBkaXNqb2ludDtcbiAgICB0aGlzLmxlZnRFeHByZXNzaW9uID0gbGVmdEV4cHJlc3Npb247XG4gICAgdGhpcy5yaWdodEV4cHJlc3Npb24gPSByaWdodEV4cHJlc3Npb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgaXNEaXNqb2ludCgpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNqb2ludDtcbiAgfVxuXG4gIGdldExlZnRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmxlZnRFeHByZXNzaW9uO1xuICB9XG5cbiAgZ2V0UmlnaHRFeHByZXNzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLnJpZ2h0RXhwcmVzc2lvbjtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgZXhwcmVzc2lvbjtcblxuICAgIGNvbnN0IGJpdHdpc2VFeHByZXNzaW9uU3RyaW5nID0gdGhpcy5zdHJpbmc7IC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7Yml0d2lzZUV4cHJlc3Npb25TdHJpbmd9JyBiaXR3aXNlIGV4cHJlc3Npb24uLi5gKTtcblxuICAgIGNvbnN0IHsgRXhwcmVzc2lvbiB9ID0gZWxlbWVudHMsXG4gICAgICAgICAgbGVmdEV4cHJlc3Npb24gPSB0aGlzLmxlZnRFeHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIHJpZ2h0RXhwcmVzc2lvbiA9IHRoaXMucmlnaHRFeHByZXNzaW9uLmV2YWx1YXRlKGNvbnRleHQpLFxuICAgICAgICAgIGxlZnRFeHByZXNzaW9uVHlwZSA9IGxlZnRFeHByZXNzaW9uLmdldFR5cGUoKSxcbiAgICAgICAgICByaWdodEV4cHJlc3Npb25UeXBlID0gcmlnaHRFeHByZXNzaW9uLmdldFR5cGUoKTtcblxuICAgIGlmIChsZWZ0RXhwcmVzc2lvblR5cGUgIT09IEJPT0xFQU5fVFlQRSkge1xuICAgICAgY29uc3QgbGVmdEV4cHJlc3Npb25TdHJpbmcgPSBsZWZ0RXhwcmVzc2lvbi5hc1N0cmluZyhjb250ZXh0KSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7bGVmdEV4cHJlc3Npb25TdHJpbmd9IGxlZnQgZXhwcmVzc2lvbidzIHR5cGUgaXMgJyR7bGVmdEV4cHJlc3Npb25UeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgaWYgKHJpZ2h0RXhwcmVzc2lvblR5cGUgIT09IEJPT0xFQU5fVFlQRSkge1xuICAgICAgY29uc3QgcmlnaHRFeHByZXNzaW9uU3RyaW5nID0gcmlnaHRFeHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHtyaWdodEV4cHJlc3Npb25TdHJpbmd9IHJpZ2h0IGV4cHJlc3Npb24ncyB0eXBlIGlzICcke3JpZ2h0RXhwcmVzc2lvblR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBsZWZ0RXhwcmVzc2lvbkJvb2xlYW4gPSBsZWZ0RXhwcmVzc2lvbi5nZXRCb29sZWFuKCksXG4gICAgICAgICAgcmlnaHRFeHByZXNzaW9uQm9vbGVhbiA9IHJpZ2h0RXhwcmVzc2lvbi5nZXRCb29sZWFuKCksXG4gICAgICAgICAgYm9vbGVhbiA9IHRoaXMuZGlzam9pbnQgP1xuICAgICAgICAgICAgICAgICAgICAgIChsZWZ0RXhwcmVzc2lvbkJvb2xlYW4gfHwgcmlnaHRFeHByZXNzaW9uQm9vbGVhbikgOlxuICAgICAgICAgICAgICAgICAgICAgICAgKGxlZnRFeHByZXNzaW9uQm9vbGVhbiAmJiByaWdodEV4cHJlc3Npb25Cb29sZWFuKTtcblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpOyAgLy8vXG5cbiAgICBjb250ZXh0LmRlYnVnKGAuLi5ldmFsdWF0ZWQgdGhlICcke2JpdHdpc2VFeHByZXNzaW9uU3RyaW5nfScgYml0d2lzZSBleHByZXNzaW9uLmApO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiQml0d2lzZUV4cHJlc3Npb25cIjtcblxuICBzdGF0aWMgZnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IGJpdHdpc2VFeHByZXNzaW9uID0gbnVsbDtcblxuICAgIGNvbnN0IGV4cHJlc3Npb25CaXR3aXNlRXhwcmVzc2lvbk5vZGUgPSBleHByZXNzaW9uQml0d2lzZUV4cHJlc3Npb25Ob2RlUXVlcnkoZXhwcmVzc2lvbk5vZGUpO1xuXG4gICAgaWYgKGV4cHJlc3Npb25CaXR3aXNlRXhwcmVzc2lvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGJpdHdpc2VFeHByZXNzaW9uTm9kZSA9IGV4cHJlc3Npb25CaXR3aXNlRXhwcmVzc2lvbk5vZGU7IC8vL1xuXG4gICAgICBiaXR3aXNlRXhwcmVzc2lvbiA9IGJpdHdpc2VFeHByZXNzaW9uRnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZShiaXR3aXNlRXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiBiaXR3aXNlRXhwcmVzc2lvbjtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIGJpdHdpc2VFeHByZXNzaW9uRnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZShiaXR3aXNlRXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBFeHByZXNzaW9uLCBCaXR3aXNlRXhwcmVzc2lvbiB9ID0gZWxlbWVudHMsXG4gICAgICAgIGxlZnRFeHByZXNzaW9uTm9kZSA9IGxlZnRFeHByZXNzaW9uTm9kZVF1ZXJ5KGJpdHdpc2VFeHByZXNzaW9uTm9kZSksXG4gICAgICAgIHJpZ2h0RXhwcmVzc2lvbk5vZGUgPSByaWdodEV4cHJlc3Npb25Ob2RlUXVlcnkoYml0d2lzZUV4cHJlc3Npb25Ob2RlKSxcbiAgICAgICAgdHlwZSA9IEJPT0xFQU5fVFlQRSxcbiAgICAgICAgZGlzam9pbnQgPSBkaXNqb2ludEZyb21CaXR3aXNlRXhwcmVzc2lvbk5vZGUoYml0d2lzZUV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgbGVmdEV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21FeHByZXNzaW9uTm9kZShsZWZ0RXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICByaWdodEV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21FeHByZXNzaW9uTm9kZShyaWdodEV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVR5cGVEaXNqb2ludExlZnRFeHByZXNzaW9uQW5kUmlnaHRFeHByZXNzaW9uKGRpc2pvaW50LCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uLCBjb250ZXh0KSxcbiAgICAgICAgYml0d2lzZUV4cHJlc3Npb24gPSBuZXcgQml0d2lzZUV4cHJlc3Npb24oc3RyaW5nLCB0eXBlLCBkaXNqb2ludCwgbGVmdEV4cHJlc3Npb24sIHJpZ2h0RXhwcmVzc2lvbik7XG5cbiAgcmV0dXJuIGJpdHdpc2VFeHByZXNzaW9uO1xufVxuXG5mdW5jdGlvbiBkaXNqb2ludEZyb21CaXR3aXNlRXhwcmVzc2lvbk5vZGUoYml0d2lzZUV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHRlcm1pbmFsTm9kZSA9IHRlcm1pbmFsTm9kZVF1ZXJ5KGJpdHdpc2VFeHByZXNzaW9uTm9kZSksXG4gICAgICAgIHRlcm1pbmFsTm9kZUNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpLFxuICAgICAgICBkaXNqb2ludCA9ICh0ZXJtaW5hbE5vZGVDb250ZW50ID09PSBESVNKVU5DVElPTik7XG5cbiAgcmV0dXJuIGRpc2pvaW50O1xufVxuXG5mdW5jdGlvbiBzdHJpbmdGcm9tVHlwZURpc2pvaW50TGVmdEV4cHJlc3Npb25BbmRSaWdodEV4cHJlc3Npb24oZGlzam9pbnQsIGxlZnRFeHByZXNzaW9uLCByaWdodEV4cHJlc3Npb24sIGNvbnRleHQpIHtcbiAgY29uc3Qgb3BlcmF0b3JTdHJpbmcgPSBkaXNqb2ludCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBESVNKVU5DVElPTiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTkpVTkNUSU9OLFxuICAgICAgICBsZWZ0RXhwcmVzc2lvblN0cmluZyA9IGxlZnRFeHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICByaWdodEV4cHJlc3Npb25TdHJpbmcgPSByaWdodEV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IGAke2xlZnRFeHByZXNzaW9uU3RyaW5nfSAke29wZXJhdG9yU3RyaW5nfSAke3JpZ2h0RXhwcmVzc2lvblN0cmluZ31gO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsidGVybWluYWxOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJsZWZ0RXhwcmVzc2lvbk5vZGVRdWVyeSIsInJpZ2h0RXhwcmVzc2lvbk5vZGVRdWVyeSIsImV4cHJlc3Npb25CaXR3aXNlRXhwcmVzc2lvbk5vZGVRdWVyeSIsImRlZmluZSIsIkJpdHdpc2VFeHByZXNzaW9uIiwic3RyaW5nIiwidHlwZSIsImRpc2pvaW50IiwibGVmdEV4cHJlc3Npb24iLCJyaWdodEV4cHJlc3Npb24iLCJnZXRTdHJpbmciLCJnZXRUeXBlIiwiaXNEaXNqb2ludCIsImdldExlZnRFeHByZXNzaW9uIiwiZ2V0UmlnaHRFeHByZXNzaW9uIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwiZXhwcmVzc2lvbiIsImJpdHdpc2VFeHByZXNzaW9uU3RyaW5nIiwidHJhY2UiLCJFeHByZXNzaW9uIiwiZWxlbWVudHMiLCJsZWZ0RXhwcmVzc2lvblR5cGUiLCJyaWdodEV4cHJlc3Npb25UeXBlIiwiQk9PTEVBTl9UWVBFIiwibGVmdEV4cHJlc3Npb25TdHJpbmciLCJhc1N0cmluZyIsIm1lc3NhZ2UiLCJleGNlcHRpb24iLCJFeGNlcHRpb24iLCJmcm9tTWVzc2FnZSIsInJpZ2h0RXhwcmVzc2lvblN0cmluZyIsImxlZnRFeHByZXNzaW9uQm9vbGVhbiIsImdldEJvb2xlYW4iLCJyaWdodEV4cHJlc3Npb25Cb29sZWFuIiwiYm9vbGVhbiIsImZyb21Cb29sZWFuIiwiZGVidWciLCJmcm9tRXhwcmVzc2lvbk5vZGUiLCJleHByZXNzaW9uTm9kZSIsImJpdHdpc2VFeHByZXNzaW9uIiwiZXhwcmVzc2lvbkJpdHdpc2VFeHByZXNzaW9uTm9kZSIsImJpdHdpc2VFeHByZXNzaW9uTm9kZSIsImJpdHdpc2VFeHByZXNzaW9uRnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZSIsIm5hbWUiLCJsZWZ0RXhwcmVzc2lvbk5vZGUiLCJyaWdodEV4cHJlc3Npb25Ob2RlIiwiZGlzam9pbnRGcm9tQml0d2lzZUV4cHJlc3Npb25Ob2RlIiwic3RyaW5nRnJvbVR5cGVEaXNqb2ludExlZnRFeHByZXNzaW9uQW5kUmlnaHRFeHByZXNzaW9uIiwidGVybWluYWxOb2RlIiwidGVybWluYWxOb2RlQ29udGVudCIsImdldENvbnRlbnQiLCJESVNKVU5DVElPTiIsIm9wZXJhdG9yU3RyaW5nIiwiQ09OSlVOQ1RJT04iXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQWVBOzs7ZUFBQTs7O2dFQWJxQjtnRUFDQztxQkFHSTtxQkFDRzt5QkFD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
179
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24vYml0d2lzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IGVsZW1lbnRzIGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IEV4Y2VwdGlvbiBmcm9tIFwiLi4vLi4vZXhjZXB0aW9uXCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi8uLi9lbGVtZW50c1wiO1xuaW1wb3J0IHsgQk9PTEVBTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3R5cGVzXCI7XG5pbXBvcnQgeyBiaXR3aXNlRXhwcmVzc2lvblN0cmluZ0Zyb21UeXBlRGlzanVuY3Rpb25MZWZ0RXhwcmVzc2lvbkFuZFJpZ2h0RXhwcmVzc2lvbiB9IGZyb20gXCIuLi8uLi91dGlsaXRpZXMvc3RyaW5nXCI7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBCaXR3aXNlRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdHlwZSwgZGlzamVjdGlvbiwgbGVmdEV4cHJlc3Npb24sIHJpZ2h0RXhwcmVzc2lvbikge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5kaXNqZWN0aW9uID0gZGlzamVjdGlvbjtcbiAgICB0aGlzLmxlZnRFeHByZXNzaW9uID0gbGVmdEV4cHJlc3Npb247XG4gICAgdGhpcy5yaWdodEV4cHJlc3Npb24gPSByaWdodEV4cHJlc3Npb247XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICByZXR1cm4gdGhpcy50eXBlO1xuICB9XG5cbiAgaXNEaXNqdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5kaXNqZWN0aW9uO1xuICB9XG5cbiAgZ2V0TGVmdEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubGVmdEV4cHJlc3Npb247XG4gIH1cblxuICBnZXRSaWdodEV4cHJlc3Npb24oKSB7XG4gICAgcmV0dXJuIHRoaXMucmlnaHRFeHByZXNzaW9uO1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCBleHByZXNzaW9uO1xuXG4gICAgY29uc3QgYml0d2lzZUV4cHJlc3Npb25TdHJpbmcgPSB0aGlzLnN0cmluZzsgLy8vXG5cbiAgICBjb250ZXh0LnRyYWNlKGBFdmFsdWF0aW5nIHRoZSAnJHtiaXR3aXNlRXhwcmVzc2lvblN0cmluZ30nIGJpdHdpc2UgZXhwcmVzc2lvbi4uLmApO1xuXG4gICAgY29uc3QgeyBFeHByZXNzaW9uIH0gPSBlbGVtZW50cyxcbiAgICAgICAgICBsZWZ0RXhwcmVzc2lvbiA9IHRoaXMubGVmdEV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgcmlnaHRFeHByZXNzaW9uID0gdGhpcy5yaWdodEV4cHJlc3Npb24uZXZhbHVhdGUoY29udGV4dCksXG4gICAgICAgICAgbGVmdEV4cHJlc3Npb25UeXBlID0gbGVmdEV4cHJlc3Npb24uZ2V0VHlwZSgpLFxuICAgICAgICAgIHJpZ2h0RXhwcmVzc2lvblR5cGUgPSByaWdodEV4cHJlc3Npb24uZ2V0VHlwZSgpO1xuXG4gICAgaWYgKGxlZnRFeHByZXNzaW9uVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCBsZWZ0RXhwcmVzc2lvblN0cmluZyA9IGxlZnRFeHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHtsZWZ0RXhwcmVzc2lvblN0cmluZ30gbGVmdCBleHByZXNzaW9uJ3MgdHlwZSBpcyAnJHtsZWZ0RXhwcmVzc2lvblR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBpZiAocmlnaHRFeHByZXNzaW9uVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICBjb25zdCByaWdodEV4cHJlc3Npb25TdHJpbmcgPSByaWdodEV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke3JpZ2h0RXhwcmVzc2lvblN0cmluZ30gcmlnaHQgZXhwcmVzc2lvbidzIHR5cGUgaXMgJyR7cmlnaHRFeHByZXNzaW9uVHlwZX0nIHdoZW4gaXQgc2hvdWxkIGJlIG9mIHR5cGUgJyR7Qk9PTEVBTl9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGxlZnRFeHByZXNzaW9uQm9vbGVhbiA9IGxlZnRFeHByZXNzaW9uLmdldEJvb2xlYW4oKSxcbiAgICAgICAgICByaWdodEV4cHJlc3Npb25Cb29sZWFuID0gcmlnaHRFeHByZXNzaW9uLmdldEJvb2xlYW4oKSxcbiAgICAgICAgICBib29sZWFuID0gdGhpcy5kaXNqZWN0aW9uID9cbiAgICAgICAgICAgICAgICAgICAgICAobGVmdEV4cHJlc3Npb25Cb29sZWFuIHx8IHJpZ2h0RXhwcmVzc2lvbkJvb2xlYW4pIDpcbiAgICAgICAgICAgICAgICAgICAgICAgIChsZWZ0RXhwcmVzc2lvbkJvb2xlYW4gJiYgcmlnaHRFeHByZXNzaW9uQm9vbGVhbik7XG5cbiAgICBleHByZXNzaW9uID0gRXhwcmVzc2lvbi5mcm9tQm9vbGVhbihib29sZWFuLCBjb250ZXh0KTsgIC8vL1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtiaXR3aXNlRXhwcmVzc2lvblN0cmluZ30nIGJpdHdpc2UgZXhwcmVzc2lvbi5gKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkJpdHdpc2VFeHByZXNzaW9uXCI7XG5cbiAgc3RhdGljIGZyb21FeHByZXNzaW9uTm9kZShleHByZXNzaW9uTm9kZSwgY29udGV4dCkge1xuICAgIGxldCBiaXR3aXNlRXhwcmVzc2lvbiA9IG51bGw7XG5cbiAgICBjb25zdCBiaXR3aXNlRXhwcmVzc2lvbk5vZGUgPSBleHByZXNzaW9uTm9kZS5nZXRCaXR3aXNlRXhwcmVzc2lvbk5vZGUoKTtcblxuICAgIGlmIChiaXR3aXNlRXhwcmVzc2lvbk5vZGUgIT09IG51bGwpIHtcbiAgICAgIGJpdHdpc2VFeHByZXNzaW9uID0gYml0d2lzZUV4cHJlc3Npb25Gcm9tQml0d2lzZUV4cHJlc3Npb25Ob2RlKGJpdHdpc2VFeHByZXNzaW9uTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJpdHdpc2VFeHByZXNzaW9uO1xuICB9XG59KTtcblxuZnVuY3Rpb24gYml0d2lzZUV4cHJlc3Npb25Gcm9tQml0d2lzZUV4cHJlc3Npb25Ob2RlKGJpdHdpc2VFeHByZXNzaW9uTm9kZSwgY29udGV4dCkge1xuICBjb25zdCB7IEV4cHJlc3Npb24sIEJpdHdpc2VFeHByZXNzaW9uIH0gPSBlbGVtZW50cyxcbiAgICAgICAgbGVmdEV4cHJlc3Npb25Ob2RlID0gYml0d2lzZUV4cHJlc3Npb25Ob2RlLmdldExlZnRFeHByZXNzaW9uTm9kZSgpLFxuICAgICAgICByaWdodEV4cHJlc3Npb25Ob2RlID0gYml0d2lzZUV4cHJlc3Npb25Ob2RlLmdldFJpZ2h0RXhwcmVzc2lvbk5vZGUoKSxcbiAgICAgICAgdHlwZSA9IEJPT0xFQU5fVFlQRSxcbiAgICAgICAgZGlzamVjdGlvbiA9IGRpc2p1bmN0aW9uRnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZShiaXR3aXNlRXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICBsZWZ0RXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUV4cHJlc3Npb25Ob2RlKGxlZnRFeHByZXNzaW9uTm9kZSwgY29udGV4dCksXG4gICAgICAgIHJpZ2h0RXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUV4cHJlc3Npb25Ob2RlKHJpZ2h0RXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpLFxuICAgICAgICBzdHJpbmcgPSBiaXR3aXNlRXhwcmVzc2lvblN0cmluZ0Zyb21UeXBlRGlzanVuY3Rpb25MZWZ0RXhwcmVzc2lvbkFuZFJpZ2h0RXhwcmVzc2lvbihkaXNqZWN0aW9uLCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uLCBjb250ZXh0KSxcbiAgICAgICAgYml0d2lzZUV4cHJlc3Npb24gPSBuZXcgQml0d2lzZUV4cHJlc3Npb24oc3RyaW5nLCB0eXBlLCBkaXNqZWN0aW9uLCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uKTtcblxuICByZXR1cm4gYml0d2lzZUV4cHJlc3Npb247XG59XG5cbmZ1bmN0aW9uIGRpc2p1bmN0aW9uRnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZShiaXR3aXNlRXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgZGlzamVjdGlvbiA9IGJpdHdpc2VFeHByZXNzaW9uTm9kZS5pc0Rpc2p1bmN0aW9uKCk7XG5cbiAgcmV0dXJuIGRpc2plY3Rpb247XG59XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiQml0d2lzZUV4cHJlc3Npb24iLCJzdHJpbmciLCJ0eXBlIiwiZGlzamVjdGlvbiIsImxlZnRFeHByZXNzaW9uIiwicmlnaHRFeHByZXNzaW9uIiwiZ2V0U3RyaW5nIiwiZ2V0VHlwZSIsImlzRGlzanVuY3Rpb24iLCJnZXRMZWZ0RXhwcmVzc2lvbiIsImdldFJpZ2h0RXhwcmVzc2lvbiIsImV2YWx1YXRlIiwiY29udGV4dCIsImV4cHJlc3Npb24iLCJiaXR3aXNlRXhwcmVzc2lvblN0cmluZyIsInRyYWNlIiwiRXhwcmVzc2lvbiIsImVsZW1lbnRzIiwibGVmdEV4cHJlc3Npb25UeXBlIiwicmlnaHRFeHByZXNzaW9uVHlwZSIsIkJPT0xFQU5fVFlQRSIsImxlZnRFeHByZXNzaW9uU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJyaWdodEV4cHJlc3Npb25TdHJpbmciLCJsZWZ0RXhwcmVzc2lvbkJvb2xlYW4iLCJnZXRCb29sZWFuIiwicmlnaHRFeHByZXNzaW9uQm9vbGVhbiIsImJvb2xlYW4iLCJmcm9tQm9vbGVhbiIsImRlYnVnIiwiZnJvbUV4cHJlc3Npb25Ob2RlIiwiZXhwcmVzc2lvbk5vZGUiLCJiaXR3aXNlRXhwcmVzc2lvbiIsImJpdHdpc2VFeHByZXNzaW9uTm9kZSIsImdldEJpdHdpc2VFeHByZXNzaW9uTm9kZSIsImJpdHdpc2VFeHByZXNzaW9uRnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZSIsIm5hbWUiLCJsZWZ0RXhwcmVzc2lvbk5vZGUiLCJnZXRMZWZ0RXhwcmVzc2lvbk5vZGUiLCJyaWdodEV4cHJlc3Npb25Ob2RlIiwiZ2V0UmlnaHRFeHByZXNzaW9uTm9kZSIsImRpc2p1bmN0aW9uRnJvbUJpdHdpc2VFeHByZXNzaW9uTm9kZSIsImJpdHdpc2VFeHByZXNzaW9uU3RyaW5nRnJvbVR5cGVEaXNqdW5jdGlvbkxlZnRFeHByZXNzaW9uQW5kUmlnaHRFeHByZXNzaW9uIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFTQTs7O2VBQUE7OztnRUFQcUI7Z0VBQ0M7cUJBR087c0JBQzhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUUzRixXQUFlQSxJQUFBQSxnQkFBTSxzQ0FBQzthQUFNQyxrQkFDZEMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsY0FBYyxFQUFFQyxlQUFlO2dDQUQzQ0w7UUFFeEIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBO1FBQ1osSUFBSSxD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
@@ -10,7 +10,6 @@ Object.defineProperty(exports, "default", {
10
10
  });
11
11
  var _elements = /*#__PURE__*/ _interop_require_wildcard(require("../elements"));
12
12
  var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
13
- var _query = require("../utilities/query");
14
13
  var _types = require("../types");
15
14
  function _class_call_check(instance, Constructor) {
16
15
  if (!(instance instanceof Constructor)) {
@@ -91,7 +90,6 @@ function _interop_require_wildcard(obj, nodeInterop) {
91
90
  return newObj;
92
91
  }
93
92
  var _Some;
94
- var expressionSomeNodeQuery = (0, _query.nodeQuery)("/expression/some");
95
93
  var _default = (0, _elements.define)((_Some = /*#__PURE__*/ function() {
96
94
  function Some(string, variable, anonymousProcedure) {
97
95
  _class_call_check(this, Some);
@@ -156,9 +154,8 @@ var _default = (0, _elements.define)((_Some = /*#__PURE__*/ function() {
156
154
  key: "fromExpressionNode",
157
155
  value: function fromExpressionNode(expressionNode, context) {
158
156
  var some = null;
159
- var expressionSomeNode = expressionSomeNodeQuery(expressionNode);
160
- if (expressionSomeNode !== null) {
161
- var someNode = expressionSomeNode; ///
157
+ var someNode = expressionNode.getSomeNode();
158
+ if (someNode !== null) {
162
159
  some = someFromSomeNode(someNode, context);
163
160
  }
164
161
  return some;
@@ -176,4 +173,4 @@ function stringFromVariableAndAnonymousProcedure(variable, anonymousProcedure, c
176
173
  return string;
177
174
  }
178
175
 
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3NvbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IG5vZGVRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvcXVlcnlcIjtcbmltcG9ydCB7IE5PREVTX1RZUEUsIEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5jb25zdCBleHByZXNzaW9uU29tZU5vZGVRdWVyeSA9IG5vZGVRdWVyeShcIi9leHByZXNzaW9uL3NvbWVcIik7XG5cbmV4cG9ydCBkZWZhdWx0IGRlZmluZShjbGFzcyBTb21lIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy52YXJpYWJsZSA9IHZhcmlhYmxlO1xuICAgIHRoaXMuYW5vbnltb3VzUHJvY2VkdXJlID0gYW5vbnltb3VzUHJvY2VkdXJlO1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0QW5vbnltb3VzUHJvY2VkdXJlKCkge1xuICAgIHJldHVybiB0aGlzLmFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgZXhwcmVzc2lvbjtcblxuICAgIGNvbnN0IHNvbWVTdHJpbmcgPSB0aGlzLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7c29tZVN0cmluZ30nIHNvbWUuLi5gKTtcblxuICAgIGV4cHJlc3Npb24gPSB0aGlzLnZhcmlhYmxlLmV2YWx1YXRlKGNvbnRleHQpO1xuXG4gICAgY29uc3QgZXhwcmVzc2lvblR5cGUgPSBleHByZXNzaW9uLmdldFR5cGUoKTtcblxuICAgIGlmIChleHByZXNzaW9uVHlwZSAhPT0gTk9ERVNfVFlQRSkge1xuICAgICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24ncyAnJHtleHByZXNzaW9uVHlwZX0nIHR5cGUgc2hvdWxkIGJlICcke05PREVTX1RZUEV9Jy5gLFxuICAgICAgICAgICAgZXhjZXB0aW9uID0gRXhjZXB0aW9uLmZyb21NZXNzYWdlKG1lc3NhZ2UpO1xuXG4gICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgfVxuXG4gICAgY29uc3Qgbm9kZXMgPSBleHByZXNzaW9uLmdldE5vZGVzKCksXG4gICAgICAgICAgYm9vbGVhbiA9IG5vZGVzLnNvbWUoKG5vZGUpID0+IHtcbiAgICAgICAgICAgIGxldCBleHByZXNzaW9uO1xuXG4gICAgICAgICAgICBjb25zdCB7IEV4cHJlc3Npb24sIEV4cHJlc3Npb25zIH0gPSBlbGVtZW50cztcblxuICAgICAgICAgICAgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbU5vZGUobm9kZSwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25zID0gRXhwcmVzc2lvbnMuZnJvbUV4cHJlc3Npb24oZXhwcmVzc2lvbiwgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGV4cHJlc3Npb24gPSB0aGlzLmFub255bW91c1Byb2NlZHVyZS5jYWxsKGV4cHJlc3Npb25zLCBjb250ZXh0KTtcblxuICAgICAgICAgICAgY29uc3QgZXhwcmVzc2lvblR5cGUgPSBleHByZXNzaW9uLmdldFR5cGUoKTtcblxuICAgICAgICAgICAgaWYgKGV4cHJlc3Npb25UeXBlICE9PSBCT09MRUFOX1RZUEUpIHtcbiAgICAgICAgICAgICAgY29uc3QgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICR7ZXhwcmVzc2lvblN0cmluZ30gZXhwcmVzc2lvbidzIHR5cGUgaXMgJyR7ZXhwcmVzc2lvblR5cGV9JyB3aGVuIGl0IHNob3VsZCBiZSBvZiB0eXBlICcke0JPT0xFQU5fVFlQRX0nLmAsXG4gICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgICAgICAgICB0aHJvdyBleGNlcHRpb247XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGJvb2xlYW4gPSBleHByZXNzaW9uLmdldEJvb2xlYW4oKTtcblxuICAgICAgICAgICAgcmV0dXJuIGJvb2xlYW47XG4gICAgICAgICAgfSk7XG5cbiAgICBjb25zdCB7IEV4cHJlc3Npb24gfSA9IGVsZW1lbnRzO1xuXG4gICAgZXhwcmVzc2lvbiA9IEV4cHJlc3Npb24uZnJvbUJvb2xlYW4oYm9vbGVhbiwgY29udGV4dCk7XG5cbiAgICBjb250ZXh0LnRyYWNlKGAuLi5ldmFsdWF0ZWQgdGhlICcke3NvbWVTdHJpbmd9JyBzb21lLmApO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiU29tZVwiO1xuXG4gIHN0YXRpYyBmcm9tRXhwcmVzc2lvbk5vZGUoZXhwcmVzc2lvbk5vZGUsIGNvbnRleHQpIHtcbiAgICBsZXQgc29tZSA9IG51bGw7XG5cbiAgICBjb25zdCBleHByZXNzaW9uU29tZU5vZGUgPSBleHByZXNzaW9uU29tZU5vZGVRdWVyeShleHByZXNzaW9uTm9kZSk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblNvbWVOb2RlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBzb21lTm9kZSA9IGV4cHJlc3Npb25Tb21lTm9kZTsgLy8vXG5cbiAgICAgIHNvbWUgPSBzb21lRnJvbVNvbWVOb2RlKHNvbWVOb2RlLCBjb250ZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc29tZTtcbiAgfVxufSk7XG5cbmZ1bmN0aW9uIHNvbWVGcm9tU29tZU5vZGUoc29tZU5vZGUsIGNvbnRleHQpIHtcbiAgY29uc3QgeyBTb21lLCBWYXJpYWJsZSwgQW5vbnltb3VzUHJvY2VkdXJlIH0gPSBlbGVtZW50cyxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlID0gQW5vbnltb3VzUHJvY2VkdXJlLmZyb21Tb21lTm9kZShzb21lTm9kZSwgY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlID0gVmFyaWFibGUuZnJvbVNvbWVOb2RlKHNvbWVOb2RlLCBjb250ZXh0KSxcbiAgICAgICAgc3RyaW5nID0gc3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUsIGNvbnRleHQpLFxuICAgICAgICBzb21lID0gbmV3IFNvbWUoc3RyaW5nLCB2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlKTtcblxuICByZXR1cm4gc29tZTtcbn1cblxuZnVuY3Rpb24gc3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlKHZhcmlhYmxlLCBhbm9ueW1vdXNQcm9jZWR1cmUsIGNvbnRleHQpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nID0gYW5vbnltb3VzUHJvY2VkdXJlLmdldFN0cmluZygpLFxuICAgICAgICBzdHJpbmcgPSBgU29tZSgke3ZhcmlhYmxlU3RyaW5nfSwgJHthbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmd9KSBgO1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiZXhwcmVzc2lvblNvbWVOb2RlUXVlcnkiLCJub2RlUXVlcnkiLCJkZWZpbmUiLCJTb21lIiwic3RyaW5nIiwidmFyaWFibGUiLCJhbm9ueW1vdXNQcm9jZWR1cmUiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldEFub255bW91c1Byb2NlZHVyZSIsImV2YWx1YXRlIiwiY29udGV4dCIsImV4cHJlc3Npb24iLCJzb21lU3RyaW5nIiwidHJhY2UiLCJleHByZXNzaW9uVHlwZSIsImdldFR5cGUiLCJOT0RFU19UWVBFIiwiZXhwcmVzc2lvblN0cmluZyIsImFzU3RyaW5nIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwibm9kZXMiLCJnZXROb2RlcyIsImJvb2xlYW4iLCJzb21lIiwibm9kZSIsIkV4cHJlc3Npb24iLCJlbGVtZW50cyIsIkV4cHJlc3Npb25zIiwiZnJvbU5vZGUiLCJleHByZXNzaW9ucyIsImZyb21FeHByZXNzaW9uIiwiY2FsbCIsIkJPT0xFQU5fVFlQRSIsImdldEJvb2xlYW4iLCJmcm9tQm9vbGVhbiIsImZyb21FeHByZXNzaW9uTm9kZSIsImV4cHJlc3Npb25Ob2RlIiwiZXhwcmVzc2lvblNvbWVOb2RlIiwic29tZU5vZGUiLCJzb21lRnJvbVNvbWVOb2RlIiwibmFtZSIsIlZhcmlhYmxlIiwiQW5vbnltb3VzUHJvY2VkdXJlIiwiZnJvbVNvbWVOb2RlIiwic3RyaW5nRnJvbVZhcmlhYmxlQW5kQW5vbnltb3VzUHJvY2VkdXJlIiwidmFyaWFibGVTdHJpbmciLCJhbm9ueW1vdXNQcm9jZWR1cmVTdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQVdBOzs7ZUFBQTs7O2dFQVRxQjtnRUFDQztxQkFHSTtxQkFDZTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFekMsSUFBTUEsMEJBQTBCQyxJQUFBQSxnQkFBUyxF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
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L3NvbWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBlbGVtZW50cyBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IE5PREVTX1RZUEUsIEJPT0xFQU5fVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgU29tZSB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLmFub255bW91c1Byb2NlZHVyZSA9IGFub255bW91c1Byb2NlZHVyZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldEFub255bW91c1Byb2NlZHVyZSgpIHtcbiAgICByZXR1cm4gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IGV4cHJlc3Npb247XG5cbiAgICBjb25zdCBzb21lU3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQudHJhY2UoYEV2YWx1YXRpbmcgdGhlICcke3NvbWVTdHJpbmd9JyBzb21lLi4uYCk7XG5cbiAgICBleHByZXNzaW9uID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICBpZiAoZXhwcmVzc2lvblR5cGUgIT09IE5PREVTX1RZUEUpIHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJHtleHByZXNzaW9uU3RyaW5nfSBleHByZXNzaW9uJ3MgJyR7ZXhwcmVzc2lvblR5cGV9JyB0eXBlIHNob3VsZCBiZSAnJHtOT0RFU19UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGVzID0gZXhwcmVzc2lvbi5nZXROb2RlcygpLFxuICAgICAgICAgIGJvb2xlYW4gPSBub2Rlcy5zb21lKChub2RlKSA9PiB7XG4gICAgICAgICAgICBsZXQgZXhwcmVzc2lvbjtcblxuICAgICAgICAgICAgY29uc3QgeyBFeHByZXNzaW9uLCBFeHByZXNzaW9ucyB9ID0gZWxlbWVudHM7XG5cbiAgICAgICAgICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Ob2RlKG5vZGUsIGNvbnRleHQpO1xuXG4gICAgICAgICAgICBjb25zdCBleHByZXNzaW9ucyA9IEV4cHJlc3Npb25zLmZyb21FeHByZXNzaW9uKGV4cHJlc3Npb24sIGNvbnRleHQpO1xuXG4gICAgICAgICAgICBleHByZXNzaW9uID0gdGhpcy5hbm9ueW1vdXNQcm9jZWR1cmUuY2FsbChleHByZXNzaW9ucywgY29udGV4dCk7XG5cbiAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25UeXBlID0gZXhwcmVzc2lvbi5nZXRUeXBlKCk7XG5cbiAgICAgICAgICAgIGlmIChleHByZXNzaW9uVHlwZSAhPT0gQk9PTEVBTl9UWVBFKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25TdHJpbmcgPSBleHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAke2V4cHJlc3Npb25TdHJpbmd9IGV4cHJlc3Npb24ncyB0eXBlIGlzICcke2V4cHJlc3Npb25UeXBlfScgd2hlbiBpdCBzaG91bGQgYmUgb2YgdHlwZSAnJHtCT09MRUFOX1RZUEV9Jy5gLFxuICAgICAgICAgICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgICAgICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBib29sZWFuID0gZXhwcmVzc2lvbi5nZXRCb29sZWFuKCk7XG5cbiAgICAgICAgICAgIHJldHVybiBib29sZWFuO1xuICAgICAgICAgIH0pO1xuXG4gICAgY29uc3QgeyBFeHByZXNzaW9uIH0gPSBlbGVtZW50cztcblxuICAgIGV4cHJlc3Npb24gPSBFeHByZXNzaW9uLmZyb21Cb29sZWFuKGJvb2xlYW4sIGNvbnRleHQpO1xuXG4gICAgY29udGV4dC50cmFjZShgLi4uZXZhbHVhdGVkIHRoZSAnJHtzb21lU3RyaW5nfScgc29tZS5gKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIlNvbWVcIjtcblxuICBzdGF0aWMgZnJvbUV4cHJlc3Npb25Ob2RlKGV4cHJlc3Npb25Ob2RlLCBjb250ZXh0KSB7XG4gICAgbGV0IHNvbWUgPSBudWxsO1xuXG4gICAgY29uc3Qgc29tZU5vZGUgPSBleHByZXNzaW9uTm9kZS5nZXRTb21lTm9kZSgpO1xuXG4gICAgaWYgKHNvbWVOb2RlICE9PSBudWxsKSB7XG4gICAgICBzb21lID0gc29tZUZyb21Tb21lTm9kZShzb21lTm9kZSwgY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNvbWU7XG4gIH1cbn0pO1xuXG5mdW5jdGlvbiBzb21lRnJvbVNvbWVOb2RlKHNvbWVOb2RlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHsgU29tZSwgVmFyaWFibGUsIEFub255bW91c1Byb2NlZHVyZSB9ID0gZWxlbWVudHMsXG4gICAgICAgIGFub255bW91c1Byb2NlZHVyZSA9IEFub255bW91c1Byb2NlZHVyZS5mcm9tU29tZU5vZGUoc29tZU5vZGUsIGNvbnRleHQpLFxuICAgICAgICB2YXJpYWJsZSA9IFZhcmlhYmxlLmZyb21Tb21lTm9kZShzb21lTm9kZSwgY29udGV4dCksXG4gICAgICAgIHN0cmluZyA9IHN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSh2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlLCBjb250ZXh0KSxcbiAgICAgICAgc29tZSA9IG5ldyBTb21lKHN0cmluZywgdmFyaWFibGUsIGFub255bW91c1Byb2NlZHVyZSk7XG5cbiAgcmV0dXJuIHNvbWU7XG59XG5cbmZ1bmN0aW9uIHN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSh2YXJpYWJsZSwgYW5vbnltb3VzUHJvY2VkdXJlLCBjb250ZXh0KSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIGFub255bW91c1Byb2NlZHVyZVN0cmluZyA9IGFub255bW91c1Byb2NlZHVyZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgc3RyaW5nID0gYFNvbWUoJHt2YXJpYWJsZVN0cmluZ30sICR7YW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nfSkgYDtcblxuICByZXR1cm4gc3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImRlZmluZSIsIlNvbWUiLCJzdHJpbmciLCJ2YXJpYWJsZSIsImFub255bW91c1Byb2NlZHVyZSIsImdldFN0cmluZyIsImdldFZhcmlhYmxlIiwiZ2V0QW5vbnltb3VzUHJvY2VkdXJlIiwiZXZhbHVhdGUiLCJjb250ZXh0IiwiZXhwcmVzc2lvbiIsInNvbWVTdHJpbmciLCJ0cmFjZSIsImV4cHJlc3Npb25UeXBlIiwiZ2V0VHlwZSIsIk5PREVTX1RZUEUiLCJleHByZXNzaW9uU3RyaW5nIiwiYXNTdHJpbmciLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJub2RlcyIsImdldE5vZGVzIiwiYm9vbGVhbiIsInNvbWUiLCJub2RlIiwiRXhwcmVzc2lvbiIsImVsZW1lbnRzIiwiRXhwcmVzc2lvbnMiLCJmcm9tTm9kZSIsImV4cHJlc3Npb25zIiwiZnJvbUV4cHJlc3Npb24iLCJjYWxsIiwiQk9PTEVBTl9UWVBFIiwiZ2V0Qm9vbGVhbiIsImZyb21Cb29sZWFuIiwiZnJvbUV4cHJlc3Npb25Ob2RlIiwiZXhwcmVzc2lvbk5vZGUiLCJzb21lTm9kZSIsImdldFNvbWVOb2RlIiwic29tZUZyb21Tb21lTm9kZSIsIm5hbWUiLCJWYXJpYWJsZSIsIkFub255bW91c1Byb2NlZHVyZSIsImZyb21Tb21lTm9kZSIsInN0cmluZ0Zyb21WYXJpYWJsZUFuZEFub255bW91c1Byb2NlZHVyZSIsInZhcmlhYmxlU3RyaW5nIiwiYW5vbnltb3VzUHJvY2VkdXJlU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFRQTs7O2VBQUE7OztnRUFOcUI7Z0VBQ0M7cUJBR21COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUV6QyxXQUFlQSxJQUFBQSxnQkFBTSx5QkFBQzthQUFNQyxLQUNkQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsa0JBQWtCO2dDQUR0Qkg7UUFFeEIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0Msa0JBQWtCLEdBQUdBOzs7O1lBRzVCQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFD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
@@ -5,12 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  Object.defineProperty(exports, "default", {
6
6
  enumerable: true,
7
7
  get: function() {
8
- return VariableExpressionNode;
8
+ return BitwiseExpressionNode;
9
9
  }
10
10
  });
11
+ var _necessary = require("necessary");
11
12
  var _expression = /*#__PURE__*/ _interop_require_default(require("../../node/expression"));
12
- var _tokenTypes = require("../../tokenTypes");
13
13
  var _ruleNames = require("../../ruleNames");
14
+ var _constants = require("../../constants");
14
15
  function _assert_this_initialized(self) {
15
16
  if (self === void 0) {
16
17
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -89,46 +90,87 @@ function _is_native_reflect_construct() {
89
90
  return !!result;
90
91
  })();
91
92
  }
92
- var VariableExpressionNode = /*#__PURE__*/ function(ExpressionNode) {
93
- _inherits(VariableExpressionNode, ExpressionNode);
94
- function VariableExpressionNode() {
95
- _class_call_check(this, VariableExpressionNode);
96
- return _call_super(this, VariableExpressionNode, arguments);
93
+ var first = _necessary.arrayUtilities.first, last = _necessary.arrayUtilities.last;
94
+ var BitwiseExpressionNode = /*#__PURE__*/ function(ExpressionNode) {
95
+ _inherits(BitwiseExpressionNode, ExpressionNode);
96
+ function BitwiseExpressionNode() {
97
+ _class_call_check(this, BitwiseExpressionNode);
98
+ return _call_super(this, BitwiseExpressionNode, arguments);
97
99
  }
98
- _create_class(VariableExpressionNode, [
100
+ _create_class(BitwiseExpressionNode, [
99
101
  {
100
- key: "getType",
101
- value: function getType() {
102
- var type = null;
102
+ key: "getOperator",
103
+ value: function getOperator() {
104
+ var operator = null;
103
105
  this.someChildNode(function(childNode, index) {
104
- var terminalNode = childNode, terminalNodeType = terminalNode.getType();
105
- if (terminalNodeType === _tokenTypes.COMPARISON_TOKEN_TYPE) {
106
- var content = terminalNode.getContent();
107
- type = content; ///
108
- }
109
- if (index === 0) {
106
+ var childNodeTerminalNode = childNode.isTerminalNode();
107
+ if (childNodeTerminalNode) {
108
+ var terminalNode = childNode, content = terminalNode.getContent();
109
+ operator = content; ///
110
110
  return true;
111
111
  }
112
112
  });
113
- return type;
113
+ return operator;
114
+ }
115
+ },
116
+ {
117
+ key: "isConjection",
118
+ value: function isConjection() {
119
+ var operator = this.getOperator(), conjection = operator === _constants.CONJUNCTION_OPERATOR;
120
+ return conjection;
121
+ }
122
+ },
123
+ {
124
+ key: "isDisjunction",
125
+ value: function isDisjunction() {
126
+ var operator = this.getOperator(), disjunction = operator === _constants.DISJUNCTION_OPERATOR;
127
+ return disjunction;
128
+ }
129
+ },
130
+ {
131
+ key: "getExpressionNodes",
132
+ value: function getExpressionNodes() {
133
+ var ruleName = _ruleNames.EXPRESSION_RULE_NAME, expressionNodes = this.getNodesByRuleName(ruleName);
134
+ return expressionNodes;
135
+ }
136
+ },
137
+ {
138
+ key: "getLeftExpressionNode",
139
+ value: function getLeftExpressionNode() {
140
+ var firstExpresionNode = this.getFirstExpressionNode(), leftExpressionNode = firstExpresionNode; ///
141
+ return leftExpressionNode;
142
+ }
143
+ },
144
+ {
145
+ key: "getRightExpressionNode",
146
+ value: function getRightExpressionNode() {
147
+ var lastExpressionNode = this.getLastExpressionNode(), rightExpressionNode = lastExpressionNode; ///
148
+ return rightExpressionNode;
149
+ }
150
+ },
151
+ {
152
+ key: "getLastExpressionNode",
153
+ value: function getLastExpressionNode() {
154
+ var expressionNodes = this.getExpressionNodes(), lastExpressionNode = last(expressionNodes);
155
+ return lastExpressionNode;
114
156
  }
115
157
  },
116
158
  {
117
- key: "getVariableAssignmentNodes",
118
- value: function getVariableAssignmentNodes() {
119
- var ruleName = _ruleNames.VARIABLE_ASSIGNMENT_RULE_NAME, variableAssingnmentNodss = this.getNodesByRuleName(ruleName);
120
- return variableAssingnmentNodss;
159
+ key: "getFirstExpressionNode",
160
+ value: function getFirstExpressionNode() {
161
+ var expressionNodes = this.getExpressionNodes(), firstExpressionNode = first(expressionNodes);
162
+ return firstExpressionNode;
121
163
  }
122
164
  }
123
165
  ], [
124
166
  {
125
167
  key: "fromRuleNameChildNodesOpacityAndPrecedence",
126
168
  value: function fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) {
127
- return _expression.default.fromRuleNameChildNodesOpacityAndPrecedence(VariableExpressionNode, ruleName, childNodes, opacity, precedence);
169
+ return _expression.default.fromRuleNameChildNodesOpacityAndPrecedence(BitwiseExpressionNode, ruleName, childNodes, opacity, precedence);
128
170
  }
129
171
  }
130
172
  ]);
131
- return VariableExpressionNode;
173
+ return BitwiseExpressionNode;
132
174
  }(_expression.default);
133
175
 
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2V4cHJlc3Npb24vYml0d2lzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEV4cHJlc3Npb25Ob2RlIGZyb20gXCIuLi8uLi9ub2RlL2V4cHJlc3Npb25cIjtcblxuaW1wb3J0IHsgQ09NUEFSSVNPTl9UT0tFTl9UWVBFIH0gZnJvbSBcIi4uLy4uL3Rva2VuVHlwZXNcIjtcbmltcG9ydCB7IFZBUklBQkxFX0FTU0lHTk1FTlRfUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWYXJpYWJsZUV4cHJlc3Npb25Ob2RlIGV4dGVuZHMgRXhwcmVzc2lvbk5vZGUge1xuICBnZXRUeXBlKCkge1xuICAgIGxldCB0eXBlID0gbnVsbDtcblxuICAgIHRoaXMuc29tZUNoaWxkTm9kZSgoY2hpbGROb2RlLCBpbmRleCkgPT4ge1xuICAgICAgY29uc3QgdGVybWluYWxOb2RlID0gY2hpbGROb2RlLCAvLy9cbiAgICAgICAgICAgIHRlcm1pbmFsTm9kZVR5cGUgPSB0ZXJtaW5hbE5vZGUuZ2V0VHlwZSgpO1xuXG4gICAgICBpZiAodGVybWluYWxOb2RlVHlwZSA9PT0gQ09NUEFSSVNPTl9UT0tFTl9UWVBFKSB7XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gICAgICAgIHR5cGUgPSBjb250ZW50OyAgLy8vXG4gICAgICB9XG5cbiAgICAgIGlmIChpbmRleCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB0eXBlO1xuICB9XG5cbiAgZ2V0VmFyaWFibGVBc3NpZ25tZW50Tm9kZXMoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBWQVJJQUJMRV9BU1NJR05NRU5UX1JVTEVfTkFNRSxcbiAgICAgICAgICB2YXJpYWJsZUFzc2luZ25tZW50Tm9kc3MgPSB0aGlzLmdldE5vZGVzQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gdmFyaWFibGVBc3NpbmdubWVudE5vZHNzO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gRXhwcmVzc2lvbk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKFZhcmlhYmxlRXhwcmVzc2lvbk5vZGUsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTsgfVxufVxuIl0sIm5hbWVzIjpbIlZhcmlhYmxlRXhwcmVzc2lvbk5vZGUiLCJnZXRUeXBlIiwidHlwZSIsInNvbWVDaGlsZE5vZGUiLCJjaGlsZE5vZGUiLCJpbmRleCIsInRlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZVR5cGUiLCJDT01QQVJJU09OX1RPS0VOX1RZUEUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImdldFZhcmlhYmxlQXNzaWdubWVudE5vZGVzIiwicnVsZU5hbWUiLCJWQVJJQUJMRV9BU1NJR05NRU5UX1JVTEVfTkFNRSIsInZhcmlhYmxlQXNzaW5nbm1lbnROb2RzcyIsImdldE5vZGVzQnlSdWxlTmFtZSIsImZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSIsIkV4cHJlc3Npb25Ob2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU9xQkE7OztpRUFMTTswQkFFVzt5QkFDUTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixJQUFBLEFBQU1BLHVDQUFOO2NBQU1BO2FBQUFBO2dDQUFBQTtRQUFOLE9BQUEsa0JBQU1BOztrQkFBQUE7O1lBQ25CQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUMsT0FBTztnQkFFWCxJQUFJLENBQUNDLGFBQWEsQ0FBQyxTQUFDQyxXQUFXQztvQkFDN0IsSUFBTUMsZUFBZUYsV0FDZkcsbUJBQW1CRCxhQUFhTCxPQUFPO29CQUU3QyxJQUFJTSxxQkFBcUJDLGlDQUFxQixFQUFFO3dCQUM5QyxJQUFNQyxVQUFVSCxhQUFhSSxVQUFVO3dCQUV2Q1IsT0FBT08sU0FBVSxHQUFHO29CQUN0QjtvQkFFQSxJQUFJSixVQUFVLEdBQUc7d0JBQ2YsT0FBTztvQkFDVDtnQkFDRjtnQkFFQSxPQUFPSDtZQUNUOzs7WUFFQVMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFdBQVdDLHdDQUE2QixFQUN4Q0MsMkJBQTJCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUNIO2dCQUV6RCxPQUFPRTtZQUNUOzs7O1lBRU9FLEtBQUFBO21CQUFQLFNBQU9BLDJDQUEyQ0osUUFBUSxFQUFFSyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVTtnQkFBSSxPQUFPQyxtQkFBYyxDQUFDSiwwQ0FBMEMsQ0E3QjVJaEIsd0JBNkJxS1ksVUFBVUssWUFBWUMsU0FBU0M7WUFBYTs7O1dBN0JqTm5CO0VBQStCb0IsbUJBQWMifQ==
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ub2RlL2V4cHJlc3Npb24vYml0d2lzZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBFeHByZXNzaW9uTm9kZSBmcm9tIFwiLi4vLi4vbm9kZS9leHByZXNzaW9uXCI7XG5cbmltcG9ydCB7IEVYUFJFU1NJT05fUlVMRV9OQU1FIH0gZnJvbSBcIi4uLy4uL3J1bGVOYW1lc1wiO1xuaW1wb3J0IHsgQ09OSlVOQ1RJT05fT1BFUkFUT1IsIERJU0pVTkNUSU9OX09QRVJBVE9SIH0gZnJvbSBcIi4uLy4uL2NvbnN0YW50c1wiO1xuXG5jb25zdCB7IGZpcnN0LCBsYXN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQml0d2lzZUV4cHJlc3Npb25Ob2RlIGV4dGVuZHMgRXhwcmVzc2lvbk5vZGUge1xuICBnZXRPcGVyYXRvcigpIHtcbiAgICBsZXQgb3BlcmF0b3IgPSBudWxsO1xuXG4gICAgdGhpcy5zb21lQ2hpbGROb2RlKChjaGlsZE5vZGUsIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBjaGlsZE5vZGVUZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUuaXNUZXJtaW5hbE5vZGUoKTtcblxuICAgICAgaWYgKGNoaWxkTm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSBjaGlsZE5vZGUsXG4gICAgICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gICAgICAgIG9wZXJhdG9yID0gY29udGVudDsgLy8vXG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3BlcmF0b3I7XG4gIH1cblxuICBpc0NvbmplY3Rpb24oKSB7XG4gICAgY29uc3Qgb3BlcmF0b3IgPSB0aGlzLmdldE9wZXJhdG9yKCksXG4gICAgICAgICAgY29uamVjdGlvbiA9IChvcGVyYXRvciA9PT0gQ09OSlVOQ1RJT05fT1BFUkFUT1IpO1xuXG4gICAgcmV0dXJuIGNvbmplY3Rpb247XG4gIH1cblxuICBpc0Rpc2p1bmN0aW9uKCkge1xuICAgIGNvbnN0IG9wZXJhdG9yID0gdGhpcy5nZXRPcGVyYXRvcigpLFxuICAgICAgICAgIGRpc2p1bmN0aW9uID0gKG9wZXJhdG9yID09PSBESVNKVU5DVElPTl9PUEVSQVRPUik7XG5cbiAgICByZXR1cm4gZGlzanVuY3Rpb247XG4gIH1cblxuICBnZXRFeHByZXNzaW9uTm9kZXMoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBFWFBSRVNTSU9OX1JVTEVfTkFNRSxcbiAgICAgICAgICBleHByZXNzaW9uTm9kZXMgPSB0aGlzLmdldE5vZGVzQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gZXhwcmVzc2lvbk5vZGVzO1xuICB9XG5cbiAgZ2V0TGVmdEV4cHJlc3Npb25Ob2RlKCkge1xuICAgIGNvbnN0IGZpcnN0RXhwcmVzaW9uTm9kZSA9IHRoaXMuZ2V0Rmlyc3RFeHByZXNzaW9uTm9kZSgpLFxuICAgICAgICAgIGxlZnRFeHByZXNzaW9uTm9kZSA9IGZpcnN0RXhwcmVzaW9uTm9kZTsgIC8vL1xuXG4gICAgcmV0dXJuIGxlZnRFeHByZXNzaW9uTm9kZTtcbiAgfVxuXG4gIGdldFJpZ2h0RXhwcmVzc2lvbk5vZGUoKSB7XG4gICAgY29uc3QgbGFzdEV4cHJlc3Npb25Ob2RlID0gdGhpcy5nZXRMYXN0RXhwcmVzc2lvbk5vZGUoKSxcbiAgICAgICAgICByaWdodEV4cHJlc3Npb25Ob2RlID0gbGFzdEV4cHJlc3Npb25Ob2RlOyAvLy9cblxuICAgIHJldHVybiByaWdodEV4cHJlc3Npb25Ob2RlO1xuICB9XG5cbiAgZ2V0TGFzdEV4cHJlc3Npb25Ob2RlKCkge1xuICAgIGNvbnN0IGV4cHJlc3Npb25Ob2RlcyA9IHRoaXMuZ2V0RXhwcmVzc2lvbk5vZGVzKCksXG4gICAgICAgICAgbGFzdEV4cHJlc3Npb25Ob2RlID0gbGFzdChleHByZXNzaW9uTm9kZXMpO1xuXG4gICAgcmV0dXJuIGxhc3RFeHByZXNzaW9uTm9kZTtcbiAgfVxuXG4gIGdldEZpcnN0RXhwcmVzc2lvbk5vZGUoKSB7XG4gICAgY29uc3QgZXhwcmVzc2lvbk5vZGVzID0gdGhpcy5nZXRFeHByZXNzaW9uTm9kZXMoKSxcbiAgICAgICAgICBmaXJzdEV4cHJlc3Npb25Ob2RlID0gZmlyc3QoZXhwcmVzc2lvbk5vZGVzKTtcblxuICAgIHJldHVybiBmaXJzdEV4cHJlc3Npb25Ob2RlO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShydWxlTmFtZSwgY2hpbGROb2Rlcywgb3BhY2l0eSwgcHJlY2VkZW5jZSkgeyByZXR1cm4gRXhwcmVzc2lvbk5vZGUuZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlKEJpdHdpc2VFeHByZXNzaW9uTm9kZSwgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpOyB9XG59XG4iXSwibmFtZXMiOlsiQml0d2lzZUV4cHJlc3Npb25Ob2RlIiwiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImxhc3QiLCJnZXRPcGVyYXRvciIsIm9wZXJhdG9yIiwic29tZUNoaWxkTm9kZSIsImNoaWxkTm9kZSIsImluZGV4IiwiY2hpbGROb2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsImlzQ29uamVjdGlvbiIsImNvbmplY3Rpb24iLCJDT05KVU5DVElPTl9PUEVSQVRPUiIsImlzRGlzanVuY3Rpb24iLCJkaXNqdW5jdGlvbiIsIkRJU0pVTkNUSU9OX09QRVJBVE9SIiwiZ2V0RXhwcmVzc2lvbk5vZGVzIiwicnVsZU5hbWUiLCJFWFBSRVNTSU9OX1JVTEVfTkFNRSIsImV4cHJlc3Npb25Ob2RlcyIsImdldE5vZGVzQnlSdWxlTmFtZSIsImdldExlZnRFeHByZXNzaW9uTm9kZSIsImZpcnN0RXhwcmVzaW9uTm9kZSIsImdldEZpcnN0RXhwcmVzc2lvbk5vZGUiLCJsZWZ0RXhwcmVzc2lvbk5vZGUiLCJnZXRSaWdodEV4cHJlc3Npb25Ob2RlIiwibGFzdEV4cHJlc3Npb25Ob2RlIiwiZ2V0TGFzdEV4cHJlc3Npb25Ob2RlIiwicmlnaHRFeHByZXNzaW9uTm9kZSIsImZpcnN0RXhwcmVzc2lvbk5vZGUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJjaGlsZE5vZGVzIiwib3BhY2l0eSIsInByZWNlZGVuY2UiLCJFeHByZXNzaW9uTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFXcUJBOzs7eUJBVFU7aUVBRUo7eUJBRVU7eUJBQ3NCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTNELElBQVFDLFFBQWdCQyx5QkFBYyxDQUE5QkQsT0FBT0UsT0FBU0QseUJBQWMsQ0FBdkJDO0FBRUEsSUFBQSxBQUFNSCxzQ0FBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNuQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQUlDLFdBQVc7Z0JBRWYsSUFBSSxDQUFDQyxhQUFhLENBQUMsU0FBQ0MsV0FBV0M7b0JBQzdCLElBQU1DLHdCQUF3QkYsVUFBVUcsY0FBYztvQkFFdEQsSUFBSUQsdUJBQXVCO3dCQUN6QixJQUFNRSxlQUFlSixXQUNmSyxVQUFVRCxhQUFhRSxVQUFVO3dCQUV2Q1IsV0FBV08sU0FBUyxHQUFHO3dCQUV2QixPQUFPO29CQUNUO2dCQUNGO2dCQUVBLE9BQU9QO1lBQ1Q7OztZQUVBUyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTVQsV0FBVyxJQUFJLENBQUNELFdBQVcsSUFDM0JXLGFBQWNWLGFBQWFXLCtCQUFvQjtnQkFFckQsT0FBT0Q7WUFDVDs7O1lBRUFFLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNWixXQUFXLElBQUksQ0FBQ0QsV0FBVyxJQUMzQmMsY0FBZWIsYUFBYWMsK0JBQW9CO2dCQUV0RCxPQUFPRDtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFdBQVdDLCtCQUFvQixFQUMvQkMsa0JBQWtCLElBQUksQ0FBQ0Msa0JBQWtCLENBQUNIO2dCQUVoRCxPQUFPRTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLHFCQUFxQixJQUFJLENBQUNDLHNCQUFzQixJQUNoREMscUJBQXFCRixvQkFBcUIsR0FBRztnQkFFbkQsT0FBT0U7WUFDVDs7O1lBRUFDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxxQkFBcUIsSUFBSSxDQUFDQyxxQkFBcUIsSUFDL0NDLHNCQUFzQkYsb0JBQW9CLEdBQUc7Z0JBRW5ELE9BQU9FO1lBQ1Q7OztZQUVBRCxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTVIsa0JBQWtCLElBQUksQ0FBQ0gsa0JBQWtCLElBQ3pDVSxxQkFBcUIzQixLQUFLb0I7Z0JBRWhDLE9BQU9PO1lBQ1Q7OztZQUVBSCxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBTUosa0JBQWtCLElBQUksQ0FBQ0gsa0JBQWtCLElBQ3pDYSxzQkFBc0JoQyxNQUFNc0I7Z0JBRWxDLE9BQU9VO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsMkNBQTJDYixRQUFRLEVBQUVjLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVO2dCQUFJLE9BQU9DLG1CQUFjLENBQUNKLDBDQUEwQyxDQXJFNUlsQyx1QkFxRW9LcUIsVUFBVWMsWUFBWUMsU0FBU0M7WUFBYTs7O1dBckVoTnJDO0VBQThCc0MsbUJBQWMifQ==
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _nonTerminalNode = /*#__PURE__*/ _interop_require_default(require("../nonTerminalNode"));
12
+ var _ruleNames = require("../ruleNames");
12
13
  function _assert_this_initialized(self) {
13
14
  if (self === void 0) {
14
15
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
@@ -93,7 +94,22 @@ var ExpressionNode = /*#__PURE__*/ function(NonTerminalNode) {
93
94
  _class_call_check(this, ExpressionNode);
94
95
  return _call_super(this, ExpressionNode, arguments);
95
96
  }
96
- _create_class(ExpressionNode, null, [
97
+ _create_class(ExpressionNode, [
98
+ {
99
+ key: "getSomeNode",
100
+ value: function getSomeNode() {
101
+ var ruleName = _ruleNames.SOME_RULE_NAME, someNode = this.getNodeByRuleName(ruleName);
102
+ return someNode;
103
+ }
104
+ },
105
+ {
106
+ key: "getBitwiseExpressionNode",
107
+ value: function getBitwiseExpressionNode() {
108
+ var ruleName = _ruleNames.BITWISE_EXPRESSION_RULE_NAME, bitwiseExpressionRuleName = this.getNodeByRuleName(ruleName);
109
+ return bitwiseExpressionRuleName;
110
+ }
111
+ }
112
+ ], [
97
113
  {
98
114
  key: "fromRuleNameChildNodesOpacityAndPrecedence",
99
115
  value: function fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
@@ -112,4 +128,4 @@ var ExpressionNode = /*#__PURE__*/ function(NonTerminalNode) {
112
128
  return ExpressionNode;
113
129
  }(_nonTerminalNode.default);
114
130
 
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbE5vZGUgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeHByZXNzaW9uTm9kZSBleHRlbmRzIE5vblRlcm1pbmFsTm9kZSB7XG4gIHN0YXRpYyBmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKSB7XG4gICAgaWYgKHByZWNlZGVuY2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcHJlY2VkZW5jZSA9IG9wYWNpdHk7IC8vL1xuXG4gICAgICBvcGFjaXR5ID0gY2hpbGROb2RlczsgLy8vXG5cbiAgICAgIGNoaWxkTm9kZXMgPSBydWxlTmFtZTsgIC8vL1xuXG4gICAgICBydWxlTmFtZSA9IENsYXNzOyAvLy9cblxuICAgICAgQ2xhc3MgPSBFeHByZXNzaW9uTm9kZTtcbiAgICB9XG5cbiAgICBjb25zdCBleHByZXNzaW9uTm9kZSA9IE5vblRlcm1pbmFsTm9kZS5mcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UoQ2xhc3MsIHJ1bGVOYW1lLCBjaGlsZE5vZGVzLCBvcGFjaXR5LCBwcmVjZWRlbmNlKTtcblxuICAgIHJldHVybiBleHByZXNzaW9uTm9kZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkV4cHJlc3Npb25Ob2RlIiwiZnJvbVJ1bGVOYW1lQ2hpbGROb2Rlc09wYWNpdHlBbmRQcmVjZWRlbmNlIiwiQ2xhc3MiLCJydWxlTmFtZSIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSIsInVuZGVmaW5lZCIsImV4cHJlc3Npb25Ob2RlIiwiTm9uVGVybWluYWxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQUlxQkE7OztzRUFGTzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUViLElBQUEsQUFBTUEsK0JBQU47Y0FBTUE7YUFBQUE7Z0NBQUFBO1FBQU4sT0FBQSxrQkFBTUE7O2tCQUFBQTs7WUFDWkMsS0FBQUE7bUJBQVAsU0FBT0EsMkNBQTJDQyxLQUFLLEVBQUVDLFFBQVEsRUFBRUMsVUFBVSxFQUFFQyxPQUFPLEVBQUVDLFVBQVU7Z0JBQ2hHLElBQUlBLGVBQWVDLFdBQVc7b0JBQzVCRCxhQUFhRCxTQUFTLEdBQUc7b0JBRXpCQSxVQUFVRCxZQUFZLEdBQUc7b0JBRXpCQSxhQUFhRCxVQUFXLEdBQUc7b0JBRTNCQSxXQUFXRCxPQUFPLEdBQUc7b0JBRXJCQSxRQVhlRjtnQkFZakI7Z0JBRUEsSUFBTVEsaUJBQWlCQyx3QkFBZSxDQUFDUiwwQ0FBMEMsQ0FBQ0MsT0FBT0MsVUFBVUMsWUFBWUMsU0FBU0M7Z0JBRXhILE9BQU9FO1lBQ1Q7OztXQWpCbUJSO0VBQXVCUyx3QkFBZSJ9
131
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBOb25UZXJtaW5hbE5vZGUgZnJvbSBcIi4uL25vblRlcm1pbmFsTm9kZVwiO1xuXG5pbXBvcnQgeyBTT01FX1JVTEVfTkFNRSwgQklUV0lTRV9FWFBSRVNTSU9OX1JVTEVfTkFNRSB9IGZyb20gXCIuLi9ydWxlTmFtZXNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhwcmVzc2lvbk5vZGUgZXh0ZW5kcyBOb25UZXJtaW5hbE5vZGUge1xuICBnZXRTb21lTm9kZSgpIHtcbiAgICBjb25zdCBydWxlTmFtZSA9IFNPTUVfUlVMRV9OQU1FLFxuICAgICAgICAgIHNvbWVOb2RlID0gdGhpcy5nZXROb2RlQnlSdWxlTmFtZShydWxlTmFtZSk7XG5cbiAgICByZXR1cm4gc29tZU5vZGU7XG4gIH1cblxuICBnZXRCaXR3aXNlRXhwcmVzc2lvbk5vZGUoKSB7XG4gICAgY29uc3QgcnVsZU5hbWUgPSBCSVRXSVNFX0VYUFJFU1NJT05fUlVMRV9OQU1FLFxuICAgICAgICAgIGJpdHdpc2VFeHByZXNzaW9uUnVsZU5hbWUgPSB0aGlzLmdldE5vZGVCeVJ1bGVOYW1lKHJ1bGVOYW1lKTtcblxuICAgIHJldHVybiBiaXR3aXNlRXhwcmVzc2lvblJ1bGVOYW1lO1xuICB9XG5cbiAgc3RhdGljIGZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpIHtcbiAgICBpZiAocHJlY2VkZW5jZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBwcmVjZWRlbmNlID0gb3BhY2l0eTsgLy8vXG5cbiAgICAgIG9wYWNpdHkgPSBjaGlsZE5vZGVzOyAvLy9cblxuICAgICAgY2hpbGROb2RlcyA9IHJ1bGVOYW1lOyAgLy8vXG5cbiAgICAgIHJ1bGVOYW1lID0gQ2xhc3M7IC8vL1xuXG4gICAgICBDbGFzcyA9IEV4cHJlc3Npb25Ob2RlO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cHJlc3Npb25Ob2RlID0gTm9uVGVybWluYWxOb2RlLmZyb21SdWxlTmFtZUNoaWxkTm9kZXNPcGFjaXR5QW5kUHJlY2VkZW5jZShDbGFzcywgcnVsZU5hbWUsIGNoaWxkTm9kZXMsIG9wYWNpdHksIHByZWNlZGVuY2UpO1xuXG4gICAgcmV0dXJuIGV4cHJlc3Npb25Ob2RlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiRXhwcmVzc2lvbk5vZGUiLCJnZXRTb21lTm9kZSIsInJ1bGVOYW1lIiwiU09NRV9SVUxFX05BTUUiLCJzb21lTm9kZSIsImdldE5vZGVCeVJ1bGVOYW1lIiwiZ2V0Qml0d2lzZUV4cHJlc3Npb25Ob2RlIiwiQklUV0lTRV9FWFBSRVNTSU9OX1JVTEVfTkFNRSIsImJpdHdpc2VFeHByZXNzaW9uUnVsZU5hbWUiLCJmcm9tUnVsZU5hbWVDaGlsZE5vZGVzT3BhY2l0eUFuZFByZWNlZGVuY2UiLCJDbGFzcyIsImNoaWxkTm9kZXMiLCJvcGFjaXR5IiwicHJlY2VkZW5jZSIsInVuZGVmaW5lZCIsImV4cHJlc3Npb25Ob2RlIiwiTm9uVGVybWluYWxOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OztzRUFKTzt5QkFFaUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUMsSUFBQSxBQUFNQSwrQkFBTjtjQUFNQTthQUFBQTtnQ0FBQUE7UUFBTixPQUFBLGtCQUFNQTs7a0JBQUFBOztZQUNuQkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1DLFdBQVdDLHlCQUFjLEVBQ3pCQyxXQUFXLElBQUksQ0FBQ0MsaUJBQWlCLENBQUNIO2dCQUV4QyxPQUFPRTtZQUNUOzs7WUFFQUUsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLElBQU1KLFdBQVdLLHVDQUE0QixFQUN2Q0MsNEJBQTRCLElBQUksQ0FBQ0gsaUJBQWlCLENBQUNIO2dCQUV6RCxPQUFPTTtZQUNUOzs7O1lBRU9DLEtBQUFBO21CQUFQLFNBQU9BLDJDQUEyQ0MsS0FBSyxFQUFFUixRQUFRLEVBQUVTLFVBQVUsRUFBRUMsT0FBTyxFQUFFQyxVQUFVO2dCQUNoRyxJQUFJQSxlQUFlQyxXQUFXO29CQUM1QkQsYUFBYUQsU0FBUyxHQUFHO29CQUV6QkEsVUFBVUQsWUFBWSxHQUFHO29CQUV6QkEsYUFBYVQsVUFBVyxHQUFHO29CQUUzQkEsV0FBV1EsT0FBTyxHQUFHO29CQUVyQkEsUUF6QmVWO2dCQTBCakI7Z0JBRUEsSUFBTWUsaUJBQWlCQyx3QkFBZSxDQUFDUCwwQ0FBMEMsQ0FBQ0MsT0FBT1IsVUFBVVMsWUFBWUMsU0FBU0M7Z0JBRXhILE9BQU9FO1lBQ1Q7OztXQS9CbUJmO0VBQXVCZ0Isd0JBQWUifQ==
package/lib/tokenTypes.js CHANGED
@@ -2,25 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: Object.getOwnPropertyDescriptor(all, name).get
9
- });
10
- }
11
- _export(exports, {
12
- get BITWISE_OPERATOR_TOKEN_TYPE () {
13
- return BITWISE_OPERATOR_TOKEN_TYPE;
14
- },
15
- get COMPARISON_OPERATOR_TOKEN_TYPE () {
16
- return COMPARISON_OPERATOR_TOKEN_TYPE;
17
- },
18
- get TYPE_TOKEN_TYPE () {
5
+ Object.defineProperty(exports, "TYPE_TOKEN_TYPE", {
6
+ enumerable: true,
7
+ get: function() {
19
8
  return TYPE_TOKEN_TYPE;
20
9
  }
21
10
  });
22
11
  var TYPE_TOKEN_TYPE = "type";
23
- var BITWISE_OPERATOR_TOKEN_TYPE = "bitwise-operator";
24
- var COMPARISON_OPERATOR_TOKEN_TYPE = "comparison-operator";
25
12
 
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlblR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgVFlQRV9UT0tFTl9UWVBFID0gXCJ0eXBlXCI7XG5leHBvcnQgY29uc3QgQklUV0lTRV9PUEVSQVRPUl9UT0tFTl9UWVBFID0gXCJiaXR3aXNlLW9wZXJhdG9yXCI7XG5leHBvcnQgY29uc3QgQ09NUEFSSVNPTl9PUEVSQVRPUl9UT0tFTl9UWVBFID0gXCJjb21wYXJpc29uLW9wZXJhdG9yXCI7XG4iXSwibmFtZXMiOlsiQklUV0lTRV9PUEVSQVRPUl9UT0tFTl9UWVBFIiwiQ09NUEFSSVNPTl9PUEVSQVRPUl9UT0tFTl9UWVBFIiwiVFlQRV9UT0tFTl9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFHYUE7ZUFBQUE7O1FBQ0FDO2VBQUFBOztRQUZBQztlQUFBQTs7O0FBQU4sSUFBTUEsa0JBQWtCO0FBQ3hCLElBQU1GLDhCQUE4QjtBQUNwQyxJQUFNQyxpQ0FBaUMifQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90b2tlblR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgVFlQRV9UT0tFTl9UWVBFID0gXCJ0eXBlXCI7XG4iXSwibmFtZXMiOlsiVFlQRV9UT0tFTl9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFFYUE7OztlQUFBQTs7O0FBQU4sSUFBTUEsa0JBQWtCIn0=
@@ -12,6 +12,9 @@ _export(exports, {
12
12
  get arrayAssignmentStringFromVariableAndParameters () {
13
13
  return arrayAssignmentStringFromVariableAndParameters;
14
14
  },
15
+ get bitwiseExpressionStringFromTypeDisjunctionLeftExpressionAndRightExpression () {
16
+ return bitwiseExpressionStringFromTypeDisjunctionLeftExpressionAndRightExpression;
17
+ },
15
18
  get objectAssignmentStringFromVariableAndNamedParameters () {
16
19
  return objectAssignmentStringFromVariableAndNamedParameters;
17
20
  },
@@ -25,6 +28,7 @@ _export(exports, {
25
28
  return variableAssignmentStringFromExpressionAndVariable;
26
29
  }
27
30
  });
31
+ var _constants = require("../constants");
28
32
  function procedureDeclarationStringFromProcedure(procedure) {
29
33
  var procedureString = procedure.getString(), procedureDeclarationString = "".concat(procedureString, ";");
30
34
  return procedureDeclarationString;
@@ -49,5 +53,9 @@ function varaibleAssignmentsStringFromVariableAssignmentsArray(variableAssignmen
49
53
  }, null), string = variableAssignmentsString; ///
50
54
  return string;
51
55
  }
56
+ function bitwiseExpressionStringFromTypeDisjunctionLeftExpressionAndRightExpression(disjection, leftExpression, rightExpression, context) {
57
+ var operatorString = disjection ? _constants.DISJUNCTION_OPERATOR : _constants.CONJUNCTION_OPERATOR, leftExpressionString = leftExpression.asString(context), rightExpressionString = rightExpression.asString(context), bitwiseExpressionString = "".concat(leftExpressionString, " ").concat(operatorString, " ").concat(rightExpressionString);
58
+ return bitwiseExpressionString;
59
+ }
52
60
 
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlRGVjbGFyYXRpb25TdHJpbmdGcm9tUHJvY2VkdXJlKHByb2NlZHVyZSkge1xuICBjb25zdCBwcm9jZWR1cmVTdHJpbmcgPSBwcm9jZWR1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uU3RyaW5nID0gYCR7cHJvY2VkdXJlU3RyaW5nfTtgO1xuXG4gIHJldHVybiBwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5QXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFuZFBhcmFtZXRlcnModmFyaWFibGUsIHBhcmFtZXRlcnMpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgcGFyYW1ldGVyc1N0cmluZyA9IHBhcmFtZXRlcnMuZ2V0U3RyaW5nKCksXG4gICAgICAgIGFycmF5QXNzaWdubWVudFN0cmluZyA9IGBbICR7cGFyYW1ldGVyc1N0cmluZ30gXSA9ICR7dmFyaWFibGVTdHJpbmd9O2A7XG5cbiAgcmV0dXJuIGFycmF5QXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21FeHByZXNzaW9uQW5kVmFyaWFibGUoZXhwcmVzc2lvbiwgdmFyaWFibGUsIGNvbnRleHQpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3ZhcmlhYmxlU3RyaW5nfSA9ICR7ZXhwcmVzc2lvblN0cmluZ307YDtcblxuICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0QXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFuZE5hbWVkUGFyYW1ldGVycyh2YXJpYWJsZSwgbmFtZWRQYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIG5hbWVkUGFyYW1ldGVyc1N0cmluZyA9IG5hbWVkUGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgb2JqZWN0QXNzaWdubWVudFN0cmluZyA9IGB7ICR7bmFtZWRQYXJhbWV0ZXJzU3RyaW5nfSB9ID0gJHt2YXJpYWJsZVN0cmluZ307YDtcblxuICByZXR1cm4gb2JqZWN0QXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmFpYmxlQXNzaWdubWVudHNTdHJpbmdGcm9tVmFyaWFibGVBc3NpZ25tZW50c0FycmF5KHZhcmlhYmxlQXNzaWdubWVudHNBcnJheSkge1xuICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gdmFyaWFibGVBc3NpZ25tZW50c0FycmF5LnJlZHVjZSgodmFyaWFibGVBc3NpZ25tZW50c1N0cmluZywgdmFyaWFibGVBc3NpZ25tZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nID0gdmFyaWFibGVBc3NpZ25tZW50LmdldFN0cmluZygpO1xuXG4gICAgICAgICAgdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9ICh2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7dmFyaWFibGVBc3NpZ25tZW50c1N0cmluZ30sICR7dmFyaWFibGVBc3NpZ25tZW50U3RyaW5nfWA7XG5cbiAgICAgICAgICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZztcbiAgICAgICAgfSwgbnVsbCksXG4gICAgICAgIHN0cmluZyA9IHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmc7IC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG4iXSwibmFtZXMiOlsiYXJyYXlBc3NpZ25tZW50U3RyaW5nRnJvbVZhcmlhYmxlQW5kUGFyYW1ldGVycyIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmdGcm9tVmFyaWFibGVBbmROYW1lZFBhcmFtZXRlcnMiLCJwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZ0Zyb21Qcm9jZWR1cmUiLCJ2YXJhaWJsZUFzc2lnbm1lbnRzU3RyaW5nRnJvbVZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21FeHByZXNzaW9uQW5kVmFyaWFibGUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZyIsInZhcmlhYmxlIiwicGFyYW1ldGVycyIsInZhcmlhYmxlU3RyaW5nIiwicGFyYW1ldGVyc1N0cmluZyIsImFycmF5QXNzaWdubWVudFN0cmluZyIsImV4cHJlc3Npb24iLCJjb250ZXh0IiwiZXhwcmVzc2lvblN0cmluZyIsImFzU3RyaW5nIiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIiwibmFtZWRQYXJhbWV0ZXJzIiwibmFtZWRQYXJhbWV0ZXJzU3RyaW5nIiwib2JqZWN0QXNzaWdubWVudFN0cmluZyIsInZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmciLCJyZWR1Y2UiLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJzdHJpbmciXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQVNnQkE7ZUFBQUE7O1FBZ0JBQztlQUFBQTs7UUF2QkFDO2VBQUFBOztRQStCQUM7ZUFBQUE7O1FBaEJBQztlQUFBQTs7O0FBZlQsU0FBU0Ysd0NBQXdDRyxTQUFTO0lBQy9ELElBQU1DLGtCQUFrQkQsVUFBVUUsU0FBUyxJQUNyQ0MsNkJBQTZCLEFBQUMsR0FBa0IsT0FBaEJGLGlCQUFnQjtJQUV0RCxPQUFPRTtBQUNUO0FBRU8sU0FBU1IsK0NBQStDUyxRQUFRLEVBQUVDLFVBQVU7SUFDakYsSUFBTUMsaUJBQWlCRixTQUFTRixTQUFTLElBQ25DSyxtQkFBbUJGLFdBQVdILFNBQVMsSUFDdkNNLHdCQUF3QixBQUFDLEtBQTRCRixPQUF4QkMsa0JBQWlCLFNBQXNCLE9BQWZELGdCQUFlO0lBRTFFLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTVCxrREFBa0RVLFVBQVUsRUFBRUwsUUFBUSxFQUFFTSxPQUFPO0lBQzdGLElBQU1KLGlCQUFpQkYsU0FBU0YsU0FBUyxJQUNuQ1MsbUJBQW1CRixXQUFXRyxRQUFRLENBQUNGLFVBQ3ZDRywyQkFBMkIsQUFBQyxHQUFzQkYsT0FBcEJMLGdCQUFlLE9BQXNCLE9BQWpCSyxrQkFBaUI7SUFFekUsT0FBT0U7QUFDVDtBQUVPLFNBQVNqQixxREFBcURRLFFBQVEsRUFBRVUsZUFBZTtJQUM1RixJQUFNUixpQkFBaUJGLFNBQVNGLFNBQVMsSUFDbkNhLHdCQUF3QkQsZ0JBQWdCWixTQUFTLElBQ2pEYyx5QkFBeUIsQUFBQyxLQUFpQ1YsT0FBN0JTLHVCQUFzQixTQUFzQixPQUFmVCxnQkFBZTtJQUVoRixPQUFPVTtBQUNUO0FBRU8sU0FBU2xCLHNEQUFzRG1CLHdCQUF3QjtJQUM1RixJQUFNQyw0QkFBNEJELHlCQUF5QkUsTUFBTSxDQUFDLFNBQUNELDJCQUEyQkU7UUFDdEYsSUFBTVAsMkJBQTJCTyxtQkFBbUJsQixTQUFTO1FBRTdEZ0IsNEJBQTRCLEFBQUNBLDhCQUE4QixPQUM3QkwsMkJBQ0MsQUFBQyxHQUFnQ0EsT0FBOUJLLDJCQUEwQixNQUE2QixPQUF6Qkw7UUFFaEUsT0FBT0s7SUFDVCxHQUFHLE9BQ0hHLFNBQVNILDJCQUEyQixHQUFHO0lBRTdDLE9BQU9HO0FBQ1QifQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc3RyaW5nLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQge0NPTkpVTkNUSU9OX09QRVJBVE9SLCBESVNKVU5DVElPTl9PUEVSQVRPUn0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvY2VkdXJlRGVjbGFyYXRpb25TdHJpbmdGcm9tUHJvY2VkdXJlKHByb2NlZHVyZSkge1xuICBjb25zdCBwcm9jZWR1cmVTdHJpbmcgPSBwcm9jZWR1cmUuZ2V0U3RyaW5nKCksXG4gICAgICAgIHByb2NlZHVyZURlY2xhcmF0aW9uU3RyaW5nID0gYCR7cHJvY2VkdXJlU3RyaW5nfTtgO1xuXG4gIHJldHVybiBwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFycmF5QXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFuZFBhcmFtZXRlcnModmFyaWFibGUsIHBhcmFtZXRlcnMpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgcGFyYW1ldGVyc1N0cmluZyA9IHBhcmFtZXRlcnMuZ2V0U3RyaW5nKCksXG4gICAgICAgIGFycmF5QXNzaWdubWVudFN0cmluZyA9IGBbICR7cGFyYW1ldGVyc1N0cmluZ30gXSA9ICR7dmFyaWFibGVTdHJpbmd9O2A7XG5cbiAgcmV0dXJuIGFycmF5QXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21FeHByZXNzaW9uQW5kVmFyaWFibGUoZXhwcmVzc2lvbiwgdmFyaWFibGUsIGNvbnRleHQpIHtcbiAgY29uc3QgdmFyaWFibGVTdHJpbmcgPSB2YXJpYWJsZS5nZXRTdHJpbmcoKSxcbiAgICAgICAgZXhwcmVzc2lvblN0cmluZyA9IGV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIHZhcmlhYmxlQXNzaWdubWVudFN0cmluZyA9IGAke3ZhcmlhYmxlU3RyaW5nfSA9ICR7ZXhwcmVzc2lvblN0cmluZ307YDtcblxuICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JqZWN0QXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFuZE5hbWVkUGFyYW1ldGVycyh2YXJpYWJsZSwgbmFtZWRQYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IHZhcmlhYmxlU3RyaW5nID0gdmFyaWFibGUuZ2V0U3RyaW5nKCksXG4gICAgICAgIG5hbWVkUGFyYW1ldGVyc1N0cmluZyA9IG5hbWVkUGFyYW1ldGVycy5nZXRTdHJpbmcoKSxcbiAgICAgICAgb2JqZWN0QXNzaWdubWVudFN0cmluZyA9IGB7ICR7bmFtZWRQYXJhbWV0ZXJzU3RyaW5nfSB9ID0gJHt2YXJpYWJsZVN0cmluZ307YDtcblxuICByZXR1cm4gb2JqZWN0QXNzaWdubWVudFN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhcmFpYmxlQXNzaWdubWVudHNTdHJpbmdGcm9tVmFyaWFibGVBc3NpZ25tZW50c0FycmF5KHZhcmlhYmxlQXNzaWdubWVudHNBcnJheSkge1xuICBjb25zdCB2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID0gdmFyaWFibGVBc3NpZ25tZW50c0FycmF5LnJlZHVjZSgodmFyaWFibGVBc3NpZ25tZW50c1N0cmluZywgdmFyaWFibGVBc3NpZ25tZW50KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nID0gdmFyaWFibGVBc3NpZ25tZW50LmdldFN0cmluZygpO1xuXG4gICAgICAgICAgdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZyA9ICh2YXJpYWJsZUFzc2lnbm1lbnRzU3RyaW5nID09PSBudWxsKSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7dmFyaWFibGVBc3NpZ25tZW50c1N0cmluZ30sICR7dmFyaWFibGVBc3NpZ25tZW50U3RyaW5nfWA7XG5cbiAgICAgICAgICByZXR1cm4gdmFyaWFibGVBc3NpZ25tZW50c1N0cmluZztcbiAgICAgICAgfSwgbnVsbCksXG4gICAgICAgIHN0cmluZyA9IHZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmc7IC8vL1xuXG4gIHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiaXR3aXNlRXhwcmVzc2lvblN0cmluZ0Zyb21UeXBlRGlzanVuY3Rpb25MZWZ0RXhwcmVzc2lvbkFuZFJpZ2h0RXhwcmVzc2lvbihkaXNqZWN0aW9uLCBsZWZ0RXhwcmVzc2lvbiwgcmlnaHRFeHByZXNzaW9uLCBjb250ZXh0KSB7XG4gIGNvbnN0IG9wZXJhdG9yU3RyaW5nID0gZGlzamVjdGlvbiA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICBESVNKVU5DVElPTl9PUEVSQVRPUiA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTkpVTkNUSU9OX09QRVJBVE9SLFxuICAgICAgICBsZWZ0RXhwcmVzc2lvblN0cmluZyA9IGxlZnRFeHByZXNzaW9uLmFzU3RyaW5nKGNvbnRleHQpLFxuICAgICAgICByaWdodEV4cHJlc3Npb25TdHJpbmcgPSByaWdodEV4cHJlc3Npb24uYXNTdHJpbmcoY29udGV4dCksXG4gICAgICAgIGJpdHdpc2VFeHByZXNzaW9uU3RyaW5nID0gYCR7bGVmdEV4cHJlc3Npb25TdHJpbmd9ICR7b3BlcmF0b3JTdHJpbmd9ICR7cmlnaHRFeHByZXNzaW9uU3RyaW5nfWA7XG5cbiAgcmV0dXJuIGJpdHdpc2VFeHByZXNzaW9uU3RyaW5nO1xufVxuIl0sIm5hbWVzIjpbImFycmF5QXNzaWdubWVudFN0cmluZ0Zyb21WYXJpYWJsZUFuZFBhcmFtZXRlcnMiLCJiaXR3aXNlRXhwcmVzc2lvblN0cmluZ0Zyb21UeXBlRGlzanVuY3Rpb25MZWZ0RXhwcmVzc2lvbkFuZFJpZ2h0RXhwcmVzc2lvbiIsIm9iamVjdEFzc2lnbm1lbnRTdHJpbmdGcm9tVmFyaWFibGVBbmROYW1lZFBhcmFtZXRlcnMiLCJwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZ0Zyb21Qcm9jZWR1cmUiLCJ2YXJhaWJsZUFzc2lnbm1lbnRzU3RyaW5nRnJvbVZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudFN0cmluZ0Zyb21FeHByZXNzaW9uQW5kVmFyaWFibGUiLCJwcm9jZWR1cmUiLCJwcm9jZWR1cmVTdHJpbmciLCJnZXRTdHJpbmciLCJwcm9jZWR1cmVEZWNsYXJhdGlvblN0cmluZyIsInZhcmlhYmxlIiwicGFyYW1ldGVycyIsInZhcmlhYmxlU3RyaW5nIiwicGFyYW1ldGVyc1N0cmluZyIsImFycmF5QXNzaWdubWVudFN0cmluZyIsImV4cHJlc3Npb24iLCJjb250ZXh0IiwiZXhwcmVzc2lvblN0cmluZyIsImFzU3RyaW5nIiwidmFyaWFibGVBc3NpZ25tZW50U3RyaW5nIiwibmFtZWRQYXJhbWV0ZXJzIiwibmFtZWRQYXJhbWV0ZXJzU3RyaW5nIiwib2JqZWN0QXNzaWdubWVudFN0cmluZyIsInZhcmlhYmxlQXNzaWdubWVudHNBcnJheSIsInZhcmlhYmxlQXNzaWdubWVudHNTdHJpbmciLCJyZWR1Y2UiLCJ2YXJpYWJsZUFzc2lnbm1lbnQiLCJzdHJpbmciLCJkaXNqZWN0aW9uIiwibGVmdEV4cHJlc3Npb24iLCJyaWdodEV4cHJlc3Npb24iLCJvcGVyYXRvclN0cmluZyIsIkRJU0pVTkNUSU9OX09QRVJBVE9SIiwiQ09OSlVOQ1RJT05fT1BFUkFUT1IiLCJsZWZ0RXhwcmVzc2lvblN0cmluZyIsInJpZ2h0RXhwcmVzc2lvblN0cmluZyIsImJpdHdpc2VFeHByZXNzaW9uU3RyaW5nIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFXZ0JBO2VBQUFBOztRQXVDQUM7ZUFBQUE7O1FBdkJBQztlQUFBQTs7UUF2QkFDO2VBQUFBOztRQStCQUM7ZUFBQUE7O1FBaEJBQztlQUFBQTs7O3lCQWpCeUM7QUFFbEQsU0FBU0Ysd0NBQXdDRyxTQUFTO0lBQy9ELElBQU1DLGtCQUFrQkQsVUFBVUUsU0FBUyxJQUNyQ0MsNkJBQTZCLEFBQUMsR0FBa0IsT0FBaEJGLGlCQUFnQjtJQUV0RCxPQUFPRTtBQUNUO0FBRU8sU0FBU1QsK0NBQStDVSxRQUFRLEVBQUVDLFVBQVU7SUFDakYsSUFBTUMsaUJBQWlCRixTQUFTRixTQUFTLElBQ25DSyxtQkFBbUJGLFdBQVdILFNBQVMsSUFDdkNNLHdCQUF3QixBQUFDLEtBQTRCRixPQUF4QkMsa0JBQWlCLFNBQXNCLE9BQWZELGdCQUFlO0lBRTFFLE9BQU9FO0FBQ1Q7QUFFTyxTQUFTVCxrREFBa0RVLFVBQVUsRUFBRUwsUUFBUSxFQUFFTSxPQUFPO0lBQzdGLElBQU1KLGlCQUFpQkYsU0FBU0YsU0FBUyxJQUNuQ1MsbUJBQW1CRixXQUFXRyxRQUFRLENBQUNGLFVBQ3ZDRywyQkFBMkIsQUFBQyxHQUFzQkYsT0FBcEJMLGdCQUFlLE9BQXNCLE9BQWpCSyxrQkFBaUI7SUFFekUsT0FBT0U7QUFDVDtBQUVPLFNBQVNqQixxREFBcURRLFFBQVEsRUFBRVUsZUFBZTtJQUM1RixJQUFNUixpQkFBaUJGLFNBQVNGLFNBQVMsSUFDbkNhLHdCQUF3QkQsZ0JBQWdCWixTQUFTLElBQ2pEYyx5QkFBeUIsQUFBQyxLQUFpQ1YsT0FBN0JTLHVCQUFzQixTQUFzQixPQUFmVCxnQkFBZTtJQUVoRixPQUFPVTtBQUNUO0FBRU8sU0FBU2xCLHNEQUFzRG1CLHdCQUF3QjtJQUM1RixJQUFNQyw0QkFBNEJELHlCQUF5QkUsTUFBTSxDQUFDLFNBQUNELDJCQUEyQkU7UUFDdEYsSUFBTVAsMkJBQTJCTyxtQkFBbUJsQixTQUFTO1FBRTdEZ0IsNEJBQTRCLEFBQUNBLDhCQUE4QixPQUM3QkwsMkJBQ0MsQUFBQyxHQUFnQ0EsT0FBOUJLLDJCQUEwQixNQUE2QixPQUF6Qkw7UUFFaEUsT0FBT0s7SUFDVCxHQUFHLE9BQ0hHLFNBQVNILDJCQUEyQixHQUFHO0lBRTdDLE9BQU9HO0FBQ1Q7QUFFTyxTQUFTMUIsMkVBQTJFMkIsVUFBVSxFQUFFQyxjQUFjLEVBQUVDLGVBQWUsRUFBRWQsT0FBTztJQUM3SSxJQUFNZSxpQkFBaUJILGFBQ0VJLCtCQUFvQixHQUNsQkMsK0JBQW9CLEVBQ3pDQyx1QkFBdUJMLGVBQWVYLFFBQVEsQ0FBQ0YsVUFDL0NtQix3QkFBd0JMLGdCQUFnQlosUUFBUSxDQUFDRixVQUNqRG9CLDBCQUEwQixBQUFDLEdBQTBCTCxPQUF4Qkcsc0JBQXFCLEtBQXFCQyxPQUFsQkosZ0JBQWUsS0FBeUIsT0FBdEJJO0lBRTdFLE9BQU9DO0FBQ1QifQ==
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-furtle",
3
3
  "author": "James Smith",
4
- "version": "2.0.306",
4
+ "version": "2.0.307",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-furtle",
7
7
  "description": "Occam's Furtle language.",
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "necessary": "^17.0.9",
14
14
  "occam-grammar-utilities": "^8.0.395",
15
- "occam-grammars": "^1.3.480",
15
+ "occam-grammars": "^1.3.482",
16
16
  "occam-lexers": "^23.1.35",
17
17
  "occam-parsers": "^23.1.38"
18
18
  },
@@ -22,8 +22,8 @@
22
22
  "express": "^5.1.0",
23
23
  "lively-cli": "^2.0.77",
24
24
  "mocha": "^6.0.2",
25
- "occam-custom-grammars": "^5.0.1352",
26
- "occam-entities": "^1.0.466",
25
+ "occam-custom-grammars": "^5.0.1353",
26
+ "occam-entities": "^1.0.467",
27
27
  "occam-query": "^4.1.142",
28
28
  "watchful-cli": "^1.7.67"
29
29
  },
package/src/constants.js CHANGED
@@ -18,11 +18,11 @@ export const FALSE = "false";
18
18
  export const FUNCTION = "function";
19
19
  export const EQUAL_TO = "==";
20
20
  export const UNDERSCORE = "_";
21
- export const CONJUNCTION = "&&";
22
- export const DISJUNCTION = "||";
23
21
  export const EMPTY_STRING = "";
24
22
  export const SINGLE_SPACE = " ";
25
23
  export const DOUBLE_SPACE = " ";
26
24
  export const NOT_EQUAL_TO = "!=";
27
25
  export const LEVEL_MAXIMUM_LENGTH = 7;
26
+ export const CONJUNCTION_OPERATOR = "&&";
27
+ export const DISJUNCTION_OPERATOR = "||";
28
28
  export const LINE_INDEX_MAXIMUM_LENGTH = 4;
@@ -4,20 +4,14 @@ import elements from "../../elements";
4
4
  import Exception from "../../exception";
5
5
 
6
6
  import { define } from "../../elements";
7
- import { nodeQuery } from "../../utilities/query";
8
7
  import { BOOLEAN_TYPE } from "../../types";
9
- import { CONJUNCTION, DISJUNCTION } from "../../constants";
10
-
11
- const terminalNodeQuery = nodeQuery("/bitwiseExpression/@*"),
12
- leftExpressionNodeQuery = nodeQuery("/bitwiseExpression/expression[0]"),
13
- rightExpressionNodeQuery = nodeQuery("/bitwiseExpression/expression[1]"),
14
- expressionBitwiseExpressionNodeQuery = nodeQuery("/expression/bitwiseExpression");
8
+ import { bitwiseExpressionStringFromTypeDisjunctionLeftExpressionAndRightExpression } from "../../utilities/string";
15
9
 
16
10
  export default define(class BitwiseExpression {
17
- constructor(string, type, disjoint, leftExpression, rightExpression) {
11
+ constructor(string, type, disjection, leftExpression, rightExpression) {
18
12
  this.string = string;
19
13
  this.type = type;
20
- this.disjoint = disjoint;
14
+ this.disjection = disjection;
21
15
  this.leftExpression = leftExpression;
22
16
  this.rightExpression = rightExpression;
23
17
  }
@@ -30,8 +24,8 @@ export default define(class BitwiseExpression {
30
24
  return this.type;
31
25
  }
32
26
 
33
- isDisjoint() {
34
- return this.disjoint;
27
+ isDisjunction() {
28
+ return this.disjection;
35
29
  }
36
30
 
37
31
  getLeftExpression() {
@@ -73,7 +67,7 @@ export default define(class BitwiseExpression {
73
67
 
74
68
  const leftExpressionBoolean = leftExpression.getBoolean(),
75
69
  rightExpressionBoolean = rightExpression.getBoolean(),
76
- boolean = this.disjoint ?
70
+ boolean = this.disjection ?
77
71
  (leftExpressionBoolean || rightExpressionBoolean) :
78
72
  (leftExpressionBoolean && rightExpressionBoolean);
79
73
 
@@ -89,11 +83,9 @@ export default define(class BitwiseExpression {
89
83
  static fromExpressionNode(expressionNode, context) {
90
84
  let bitwiseExpression = null;
91
85
 
92
- const expressionBitwiseExpressionNode = expressionBitwiseExpressionNodeQuery(expressionNode);
93
-
94
- if (expressionBitwiseExpressionNode !== null) {
95
- const bitwiseExpressionNode = expressionBitwiseExpressionNode; ///
86
+ const bitwiseExpressionNode = expressionNode.getBitwiseExpressionNode();
96
87
 
88
+ if (bitwiseExpressionNode !== null) {
97
89
  bitwiseExpression = bitwiseExpressionFromBitwiseExpressionNode(bitwiseExpressionNode, context);
98
90
  }
99
91
 
@@ -103,33 +95,20 @@ export default define(class BitwiseExpression {
103
95
 
104
96
  function bitwiseExpressionFromBitwiseExpressionNode(bitwiseExpressionNode, context) {
105
97
  const { Expression, BitwiseExpression } = elements,
106
- leftExpressionNode = leftExpressionNodeQuery(bitwiseExpressionNode),
107
- rightExpressionNode = rightExpressionNodeQuery(bitwiseExpressionNode),
98
+ leftExpressionNode = bitwiseExpressionNode.getLeftExpressionNode(),
99
+ rightExpressionNode = bitwiseExpressionNode.getRightExpressionNode(),
108
100
  type = BOOLEAN_TYPE,
109
- disjoint = disjointFromBitwiseExpressionNode(bitwiseExpressionNode, context),
101
+ disjection = disjunctionFromBitwiseExpressionNode(bitwiseExpressionNode, context),
110
102
  leftExpression = Expression.fromExpressionNode(leftExpressionNode, context),
111
103
  rightExpression = Expression.fromExpressionNode(rightExpressionNode, context),
112
- string = stringFromTypeDisjointLeftExpressionAndRightExpression(disjoint, leftExpression, rightExpression, context),
113
- bitwiseExpression = new BitwiseExpression(string, type, disjoint, leftExpression, rightExpression);
104
+ string = bitwiseExpressionStringFromTypeDisjunctionLeftExpressionAndRightExpression(disjection, leftExpression, rightExpression, context),
105
+ bitwiseExpression = new BitwiseExpression(string, type, disjection, leftExpression, rightExpression);
114
106
 
115
107
  return bitwiseExpression;
116
108
  }
117
109
 
118
- function disjointFromBitwiseExpressionNode(bitwiseExpressionNode, context) {
119
- const terminalNode = terminalNodeQuery(bitwiseExpressionNode),
120
- terminalNodeContent = terminalNode.getContent(),
121
- disjoint = (terminalNodeContent === DISJUNCTION);
122
-
123
- return disjoint;
124
- }
125
-
126
- function stringFromTypeDisjointLeftExpressionAndRightExpression(disjoint, leftExpression, rightExpression, context) {
127
- const operatorString = disjoint ?
128
- DISJUNCTION :
129
- CONJUNCTION,
130
- leftExpressionString = leftExpression.asString(context),
131
- rightExpressionString = rightExpression.asString(context),
132
- string = `${leftExpressionString} ${operatorString} ${rightExpressionString}`;
110
+ function disjunctionFromBitwiseExpressionNode(bitwiseExpressionNode, context) {
111
+ const disjection = bitwiseExpressionNode.isDisjunction();
133
112
 
134
- return string;
113
+ return disjection;
135
114
  }
@@ -4,11 +4,8 @@ import elements from "../elements";
4
4
  import Exception from "../exception";
5
5
 
6
6
  import { define } from "../elements";
7
- import { nodeQuery } from "../utilities/query";
8
7
  import { NODES_TYPE, BOOLEAN_TYPE } from "../types";
9
8
 
10
- const expressionSomeNodeQuery = nodeQuery("/expression/some");
11
-
12
9
  export default define(class Some {
13
10
  constructor(string, variable, anonymousProcedure) {
14
11
  this.string = string;
@@ -88,11 +85,9 @@ export default define(class Some {
88
85
  static fromExpressionNode(expressionNode, context) {
89
86
  let some = null;
90
87
 
91
- const expressionSomeNode = expressionSomeNodeQuery(expressionNode);
92
-
93
- if (expressionSomeNode !== null) {
94
- const someNode = expressionSomeNode; ///
88
+ const someNode = expressionNode.getSomeNode();
95
89
 
90
+ if (someNode !== null) {
96
91
  some = someFromSomeNode(someNode, context);
97
92
  }
98
93
 
@@ -1,38 +1,82 @@
1
1
  "use strict";
2
2
 
3
+ import { arrayUtilities } from "necessary";
4
+
3
5
  import ExpressionNode from "../../node/expression";
4
6
 
5
- import { COMPARISON_TOKEN_TYPE } from "../../tokenTypes";
6
- import { VARIABLE_ASSIGNMENT_RULE_NAME } from "../../ruleNames";
7
+ import { EXPRESSION_RULE_NAME } from "../../ruleNames";
8
+ import { CONJUNCTION_OPERATOR, DISJUNCTION_OPERATOR } from "../../constants";
9
+
10
+ const { first, last } = arrayUtilities;
7
11
 
8
- export default class VariableExpressionNode extends ExpressionNode {
9
- getType() {
10
- let type = null;
12
+ export default class BitwiseExpressionNode extends ExpressionNode {
13
+ getOperator() {
14
+ let operator = null;
11
15
 
12
16
  this.someChildNode((childNode, index) => {
13
- const terminalNode = childNode, ///
14
- terminalNodeType = terminalNode.getType();
17
+ const childNodeTerminalNode = childNode.isTerminalNode();
15
18
 
16
- if (terminalNodeType === COMPARISON_TOKEN_TYPE) {
17
- const content = terminalNode.getContent();
19
+ if (childNodeTerminalNode) {
20
+ const terminalNode = childNode,
21
+ content = terminalNode.getContent();
18
22
 
19
- type = content; ///
20
- }
23
+ operator = content; ///
21
24
 
22
- if (index === 0) {
23
25
  return true;
24
26
  }
25
27
  });
26
28
 
27
- return type;
29
+ return operator;
30
+ }
31
+
32
+ isConjection() {
33
+ const operator = this.getOperator(),
34
+ conjection = (operator === CONJUNCTION_OPERATOR);
35
+
36
+ return conjection;
37
+ }
38
+
39
+ isDisjunction() {
40
+ const operator = this.getOperator(),
41
+ disjunction = (operator === DISJUNCTION_OPERATOR);
42
+
43
+ return disjunction;
44
+ }
45
+
46
+ getExpressionNodes() {
47
+ const ruleName = EXPRESSION_RULE_NAME,
48
+ expressionNodes = this.getNodesByRuleName(ruleName);
49
+
50
+ return expressionNodes;
51
+ }
52
+
53
+ getLeftExpressionNode() {
54
+ const firstExpresionNode = this.getFirstExpressionNode(),
55
+ leftExpressionNode = firstExpresionNode; ///
56
+
57
+ return leftExpressionNode;
58
+ }
59
+
60
+ getRightExpressionNode() {
61
+ const lastExpressionNode = this.getLastExpressionNode(),
62
+ rightExpressionNode = lastExpressionNode; ///
63
+
64
+ return rightExpressionNode;
65
+ }
66
+
67
+ getLastExpressionNode() {
68
+ const expressionNodes = this.getExpressionNodes(),
69
+ lastExpressionNode = last(expressionNodes);
70
+
71
+ return lastExpressionNode;
28
72
  }
29
73
 
30
- getVariableAssignmentNodes() {
31
- const ruleName = VARIABLE_ASSIGNMENT_RULE_NAME,
32
- variableAssingnmentNodss = this.getNodesByRuleName(ruleName);
74
+ getFirstExpressionNode() {
75
+ const expressionNodes = this.getExpressionNodes(),
76
+ firstExpressionNode = first(expressionNodes);
33
77
 
34
- return variableAssingnmentNodss;
78
+ return firstExpressionNode;
35
79
  }
36
80
 
37
- static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return ExpressionNode.fromRuleNameChildNodesOpacityAndPrecedence(VariableExpressionNode, ruleName, childNodes, opacity, precedence); }
81
+ static fromRuleNameChildNodesOpacityAndPrecedence(ruleName, childNodes, opacity, precedence) { return ExpressionNode.fromRuleNameChildNodesOpacityAndPrecedence(BitwiseExpressionNode, ruleName, childNodes, opacity, precedence); }
38
82
  }
@@ -2,7 +2,23 @@
2
2
 
3
3
  import NonTerminalNode from "../nonTerminalNode";
4
4
 
5
+ import { SOME_RULE_NAME, BITWISE_EXPRESSION_RULE_NAME } from "../ruleNames";
6
+
5
7
  export default class ExpressionNode extends NonTerminalNode {
8
+ getSomeNode() {
9
+ const ruleName = SOME_RULE_NAME,
10
+ someNode = this.getNodeByRuleName(ruleName);
11
+
12
+ return someNode;
13
+ }
14
+
15
+ getBitwiseExpressionNode() {
16
+ const ruleName = BITWISE_EXPRESSION_RULE_NAME,
17
+ bitwiseExpressionRuleName = this.getNodeByRuleName(ruleName);
18
+
19
+ return bitwiseExpressionRuleName;
20
+ }
21
+
6
22
  static fromRuleNameChildNodesOpacityAndPrecedence(Class, ruleName, childNodes, opacity, precedence) {
7
23
  if (precedence === undefined) {
8
24
  precedence = opacity; ///
package/src/tokenTypes.js CHANGED
@@ -1,5 +1,3 @@
1
1
  "use strict";
2
2
 
3
3
  export const TYPE_TOKEN_TYPE = "type";
4
- export const BITWISE_OPERATOR_TOKEN_TYPE = "bitwise-operator";
5
- export const COMPARISON_OPERATOR_TOKEN_TYPE = "comparison-operator";
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ import {CONJUNCTION_OPERATOR, DISJUNCTION_OPERATOR} from "../constants";
4
+
3
5
  export function procedureDeclarationStringFromProcedure(procedure) {
4
6
  const procedureString = procedure.getString(),
5
7
  procedureDeclarationString = `${procedureString};`;
@@ -45,3 +47,14 @@ export function varaibleAssignmentsStringFromVariableAssignmentsArray(variableAs
45
47
 
46
48
  return string;
47
49
  }
50
+
51
+ export function bitwiseExpressionStringFromTypeDisjunctionLeftExpressionAndRightExpression(disjection, leftExpression, rightExpression, context) {
52
+ const operatorString = disjection ?
53
+ DISJUNCTION_OPERATOR :
54
+ CONJUNCTION_OPERATOR,
55
+ leftExpressionString = leftExpression.asString(context),
56
+ rightExpressionString = rightExpression.asString(context),
57
+ bitwiseExpressionString = `${leftExpressionString} ${operatorString} ${rightExpressionString}`;
58
+
59
+ return bitwiseExpressionString;
60
+ }