occam-furtle 2.0.340 → 3.0.1

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.
Files changed (118) hide show
  1. package/example.js +6319 -2036
  2. package/lib/context/block.js +81 -41
  3. package/lib/context/file/furtle.js +260 -0
  4. package/lib/context/file/nominal.js +956 -0
  5. package/lib/context/file.js +146 -271
  6. package/lib/context/release.js +675 -0
  7. package/lib/context.js +210 -0
  8. package/lib/element/assignment/array.js +117 -15
  9. package/lib/element/assignment/object.js +119 -17
  10. package/lib/element/assignment/variable.js +121 -14
  11. package/lib/element/assignments/variable.js +120 -13
  12. package/lib/element/declaration/procedure.js +120 -12
  13. package/lib/element/error.js +118 -13
  14. package/lib/element/every.js +116 -13
  15. package/lib/element/expression.js +134 -68
  16. package/lib/element/label.js +119 -12
  17. package/lib/element/nodeQuery.js +120 -18
  18. package/lib/element/nodesQuery.js +120 -18
  19. package/lib/element/parameter/named.js +117 -15
  20. package/lib/element/parameter.js +116 -14
  21. package/lib/element/parameters/named.js +116 -14
  22. package/lib/element/parameters.js +115 -13
  23. package/lib/element/primitive.js +115 -63
  24. package/lib/element/procedure/anonymous.js +118 -16
  25. package/lib/element/procedure.js +118 -16
  26. package/lib/element/procedureCall.js +116 -14
  27. package/lib/element/reduce.js +116 -14
  28. package/lib/element/reference.js +119 -12
  29. package/lib/element/returnBlock.js +116 -14
  30. package/lib/element/some.js +117 -15
  31. package/lib/element/statement/return.js +120 -13
  32. package/lib/element/step.js +121 -14
  33. package/lib/element/term/bracketed.js +120 -13
  34. package/lib/element/term/comparison.js +117 -15
  35. package/lib/element/term/logical.js +119 -17
  36. package/lib/element/term/negated.js +119 -15
  37. package/lib/element/term.js +131 -45
  38. package/lib/element/terms.js +125 -14
  39. package/lib/element/ternary.js +118 -16
  40. package/lib/element/variable.js +127 -19
  41. package/lib/element.js +1 -8
  42. package/lib/index.js +9 -1
  43. package/lib/log.js +13 -12
  44. package/lib/metaTypeNames.js +26 -0
  45. package/lib/metaTypes.js +66 -0
  46. package/lib/node/expression.js +8 -15
  47. package/lib/nodeProperties.js +17 -21
  48. package/lib/nodeProperty.js +4 -7
  49. package/lib/utilities/context.js +8 -37
  50. package/lib/utilities/customGrammar.js +49 -0
  51. package/lib/utilities/element.js +110 -60
  52. package/lib/utilities/lineIndex.js +26 -0
  53. package/lib/utilities/primitive.js +14 -5
  54. package/lib/utilities/string.js +41 -37
  55. package/lib/utilities/term.js +14 -5
  56. package/lib/utilities/terms.js +7 -3
  57. package/package.json +2 -2
  58. package/src/context/block.js +20 -32
  59. package/src/context/file/furtle.js +141 -0
  60. package/src/context/file/nominal.js +946 -0
  61. package/src/context/file.js +32 -209
  62. package/src/context/release.js +653 -0
  63. package/src/context.js +74 -0
  64. package/src/element/assignment/array.js +8 -9
  65. package/src/element/assignment/object.js +12 -11
  66. package/src/element/assignment/variable.js +7 -8
  67. package/src/element/assignments/variable.js +7 -8
  68. package/src/element/declaration/procedure.js +6 -6
  69. package/src/element/error.js +4 -6
  70. package/src/element/every.js +5 -6
  71. package/src/element/expression.js +13 -33
  72. package/src/element/label.js +6 -7
  73. package/src/element/nodeQuery.js +12 -14
  74. package/src/element/nodesQuery.js +12 -14
  75. package/src/element/parameter/named.js +7 -8
  76. package/src/element/parameter.js +6 -8
  77. package/src/element/parameters/named.js +8 -9
  78. package/src/element/parameters.js +6 -8
  79. package/src/element/primitive.js +5 -57
  80. package/src/element/procedure/anonymous.js +7 -9
  81. package/src/element/procedure.js +6 -8
  82. package/src/element/procedureCall.js +6 -8
  83. package/src/element/reduce.js +5 -7
  84. package/src/element/reference.js +6 -7
  85. package/src/element/returnBlock.js +5 -7
  86. package/src/element/some.js +9 -9
  87. package/src/element/statement/return.js +7 -8
  88. package/src/element/step.js +6 -7
  89. package/src/element/term/bracketed.js +7 -8
  90. package/src/element/term/comparison.js +6 -8
  91. package/src/element/term/logical.js +12 -12
  92. package/src/element/term/negated.js +11 -9
  93. package/src/element/term.js +16 -17
  94. package/src/element/terms.js +16 -9
  95. package/src/element/ternary.js +8 -9
  96. package/src/element/variable.js +24 -14
  97. package/src/element.js +0 -8
  98. package/src/index.js +2 -0
  99. package/src/log.js +11 -11
  100. package/src/metaTypeNames.js +5 -0
  101. package/src/metaTypes.js +71 -0
  102. package/src/node/expression.js +9 -17
  103. package/src/nodeProperties.js +23 -32
  104. package/src/nodeProperty.js +5 -10
  105. package/src/utilities/context.js +7 -45
  106. package/src/utilities/customGrammar.js +40 -0
  107. package/src/utilities/element.js +181 -94
  108. package/src/utilities/lineIndex.js +21 -0
  109. package/src/utilities/primitive.js +22 -5
  110. package/src/utilities/string.js +42 -36
  111. package/src/utilities/term.js +22 -5
  112. package/src/utilities/terms.js +12 -4
  113. package/test/helpers/furtle.js +1 -1
  114. package/test/helpers/nominal.js +2 -3
  115. package/test/main.js +4 -3
  116. package/test/context/file.js +0 -127
  117. package/test/context/release.js +0 -151
  118. package/test/helpers/constants.js +0 -17
@@ -8,12 +8,40 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
+ var _element = /*#__PURE__*/ _interop_require_default(require("../element"));
11
12
  var _elements = require("../elements");
13
+ function _assert_this_initialized(self) {
14
+ if (self === void 0) {
15
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
+ }
17
+ return self;
18
+ }
19
+ function _call_super(_this, derived, args) {
20
+ derived = _get_prototype_of(derived);
21
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
22
+ }
12
23
  function _class_call_check(instance, Constructor) {
13
24
  if (!(instance instanceof Constructor)) {
14
25
  throw new TypeError("Cannot call a class as a function");
15
26
  }
16
27
  }
28
+ function _construct(Parent, args, Class) {
29
+ if (_is_native_reflect_construct()) {
30
+ _construct = Reflect.construct;
31
+ } else {
32
+ _construct = function construct(Parent, args, Class) {
33
+ var a = [
34
+ null
35
+ ];
36
+ a.push.apply(a, args);
37
+ var Constructor = Function.bind.apply(Parent, a);
38
+ var instance = new Constructor();
39
+ if (Class) _set_prototype_of(instance, Class.prototype);
40
+ return instance;
41
+ };
42
+ }
43
+ return _construct.apply(null, arguments);
44
+ }
17
45
  function _defineProperties(target, props) {
18
46
  for(var i = 0; i < props.length; i++){
19
47
  var descriptor = props[i];
@@ -41,39 +69,111 @@ function _define_property(obj, key, value) {
41
69
  }
42
70
  return obj;
43
71
  }
72
+ function _get_prototype_of(o) {
73
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
74
+ return o.__proto__ || Object.getPrototypeOf(o);
75
+ };
76
+ return _get_prototype_of(o);
77
+ }
78
+ function _inherits(subClass, superClass) {
79
+ if (typeof superClass !== "function" && superClass !== null) {
80
+ throw new TypeError("Super expression must either be null or a function");
81
+ }
82
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
83
+ constructor: {
84
+ value: subClass,
85
+ writable: true,
86
+ configurable: true
87
+ }
88
+ });
89
+ if (superClass) _set_prototype_of(subClass, superClass);
90
+ }
91
+ function _interop_require_default(obj) {
92
+ return obj && obj.__esModule ? obj : {
93
+ default: obj
94
+ };
95
+ }
96
+ function _is_native_function(fn) {
97
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
98
+ }
99
+ function _possible_constructor_return(self, call) {
100
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
101
+ return call;
102
+ }
103
+ return _assert_this_initialized(self);
104
+ }
105
+ function _set_prototype_of(o, p) {
106
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
107
+ o.__proto__ = p;
108
+ return o;
109
+ };
110
+ return _set_prototype_of(o, p);
111
+ }
112
+ function _type_of(obj) {
113
+ "@swc/helpers - typeof";
114
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
115
+ }
116
+ function _wrap_native_super(Class) {
117
+ var _cache = typeof Map === "function" ? new Map() : undefined;
118
+ _wrap_native_super = function wrapNativeSuper(Class) {
119
+ if (Class === null || !_is_native_function(Class)) return Class;
120
+ if (typeof Class !== "function") {
121
+ throw new TypeError("Super expression must either be null or a function");
122
+ }
123
+ if (typeof _cache !== "undefined") {
124
+ if (_cache.has(Class)) return _cache.get(Class);
125
+ _cache.set(Class, Wrapper);
126
+ }
127
+ function Wrapper() {
128
+ return _construct(Class, arguments, _get_prototype_of(this).constructor);
129
+ }
130
+ Wrapper.prototype = Object.create(Class.prototype, {
131
+ constructor: {
132
+ value: Wrapper,
133
+ enumerable: false,
134
+ writable: true,
135
+ configurable: true
136
+ }
137
+ });
138
+ return _set_prototype_of(Wrapper, Class);
139
+ };
140
+ return _wrap_native_super(Class);
141
+ }
142
+ function _is_native_reflect_construct() {
143
+ try {
144
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
145
+ } catch (_) {}
146
+ return (_is_native_reflect_construct = function() {
147
+ return !!result;
148
+ })();
149
+ }
44
150
  var _Expression;
45
- var _default = (0, _elements.define)((_Expression = /*#__PURE__*/ function() {
46
- function Expression(string, variable, primitive, some, every, reduce, ternary, nodeQuery, nodesQuery, returnBlock, procedureCall) {
151
+ var _default = (0, _elements.define)((_Expression = /*#__PURE__*/ function(Element) {
152
+ _inherits(Expression, Element);
153
+ function Expression(context, string, node, term, some, every, reduce, ternary, nodeQuery, nodesQuery, returnBlock, procedureCall) {
47
154
  _class_call_check(this, Expression);
48
- this.string = string;
49
- this.variable = variable;
50
- this.primitive = primitive;
51
- this.some = some;
52
- this.every = every;
53
- this.reduce = reduce;
54
- this.ternary = ternary;
55
- this.nodeQuery = nodeQuery;
56
- this.nodesQuery = nodesQuery;
57
- this.returnBlock = returnBlock;
58
- this.procedureCall = procedureCall;
155
+ var _this;
156
+ _this = _call_super(this, Expression, [
157
+ context,
158
+ string,
159
+ node
160
+ ]);
161
+ _this.term = term;
162
+ _this.some = some;
163
+ _this.every = every;
164
+ _this.reduce = reduce;
165
+ _this.ternary = ternary;
166
+ _this.nodeQuery = nodeQuery;
167
+ _this.nodesQuery = nodesQuery;
168
+ _this.returnBlock = returnBlock;
169
+ _this.procedureCall = procedureCall;
170
+ return _this;
59
171
  }
60
172
  _create_class(Expression, [
61
173
  {
62
- key: "getString",
63
- value: function getString() {
64
- return this.string;
65
- }
66
- },
67
- {
68
- key: "getVariable",
69
- value: function getVariable() {
70
- return this.variable;
71
- }
72
- },
73
- {
74
- key: "getPrimitive",
75
- value: function getPrimitive() {
76
- return this.primitive;
174
+ key: "getTerm",
175
+ value: function getTerm() {
176
+ return this.term;
77
177
  }
78
178
  },
79
179
  {
@@ -124,46 +224,14 @@ var _default = (0, _elements.define)((_Expression = /*#__PURE__*/ function() {
124
224
  return this.procedureCall;
125
225
  }
126
226
  },
127
- {
128
- key: "getNode",
129
- value: function getNode() {
130
- return this.primitive.getNode();
131
- }
132
- },
133
- {
134
- key: "getNodes",
135
- value: function getNodes() {
136
- return this.primitive.getNodes();
137
- }
138
- },
139
- {
140
- key: "getNumber",
141
- value: function getNumber() {
142
- return this.primitive.getNumber();
143
- }
144
- },
145
- {
146
- key: "getBoolean",
147
- value: function getBoolean() {
148
- return this.primitive.getBoolean();
149
- }
150
- },
151
- {
152
- key: "getStringLiteral",
153
- value: function getStringLiteral() {
154
- return this.primitive.getStringLiteral();
155
- }
156
- },
157
227
  {
158
228
  key: "getType",
159
229
  value: function getType() {
160
230
  var type;
161
231
  if (false) {
162
232
  ///
163
- } else if (this.variable !== null) {
164
- type = this.variable.getType();
165
- } else if (this.primitive !== null) {
166
- type = this.primitive.getType();
233
+ } else if (this.term !== null) {
234
+ type = this.term.getType();
167
235
  } else if (this.some !== null) {
168
236
  type = this.some.getType();
169
237
  } else if (this.every !== null) {
@@ -190,10 +258,8 @@ var _default = (0, _elements.define)((_Expression = /*#__PURE__*/ function() {
190
258
  var term;
191
259
  if (false) {
192
260
  ///
193
- } else if (this.variable !== null) {
194
- term = this.variable.evaluate(context);
195
- } else if (this.primitive !== null) {
196
- term = this.primitive.evaluate(context);
261
+ } else if (this.term !== null) {
262
+ term = this.term.evaluate(context);
197
263
  } else if (this.some !== null) {
198
264
  term = this.some.evaluate(context);
199
265
  } else if (this.every !== null) {
@@ -216,6 +282,6 @@ var _default = (0, _elements.define)((_Expression = /*#__PURE__*/ function() {
216
282
  }
217
283
  ]);
218
284
  return Expression;
219
- }(), _define_property(_Expression, "name", "Expression"), _Expression));
285
+ }(_wrap_native_super(_element.default)), _define_property(_Expression, "name", "Expression"), _Expression));
220
286
 
221
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiB7XG4gIGNvbnN0cnVjdG9yKHN0cmluZywgdmFyaWFibGUsIHByaW1pdGl2ZSwgc29tZSwgZXZlcnksIHJlZHVjZSwgdGVybmFyeSwgbm9kZVF1ZXJ5LCBub2Rlc1F1ZXJ5LCByZXR1cm5CbG9jaywgcHJvY2VkdXJlQ2FsbCkge1xuICAgIHRoaXMuc3RyaW5nID0gc3RyaW5nO1xuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLnByaW1pdGl2ZSA9IHByaW1pdGl2ZTtcbiAgICB0aGlzLnNvbWUgPSBzb21lO1xuICAgIHRoaXMuZXZlcnkgPSBldmVyeTtcbiAgICB0aGlzLnJlZHVjZSA9IHJlZHVjZTtcbiAgICB0aGlzLnRlcm5hcnkgPSB0ZXJuYXJ5O1xuICAgIHRoaXMubm9kZVF1ZXJ5ID0gbm9kZVF1ZXJ5O1xuICAgIHRoaXMubm9kZXNRdWVyeSA9IG5vZGVzUXVlcnk7XG4gICAgdGhpcy5yZXR1cm5CbG9jayA9IHJldHVybkJsb2NrO1xuICAgIHRoaXMucHJvY2VkdXJlQ2FsbCA9IHByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXRTdHJpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXMuc3RyaW5nO1xuICB9XG5cbiAgZ2V0VmFyaWFibGUoKSB7XG4gICAgcmV0dXJuIHRoaXMudmFyaWFibGU7XG4gIH1cblxuICBnZXRQcmltaXRpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMucHJpbWl0aXZlO1xuICB9XG5cbiAgZ2V0U29tZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zb21lO1xuICB9XG5cbiAgZ2V0RXZlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZXZlcnk7XG4gIH1cblxuICBnZXRSZWR1Y2UoKSB7XG4gICAgcmV0dXJuIHRoaXMucmVkdWNlO1xuICB9XG5cbiAgZ2V0VGVybmFyeSgpIHtcbiAgICByZXR1cm4gdGhpcy50ZXJuYXk7XG4gIH1cblxuICBnZXROb2RlUXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZVF1ZXJ5O1xuICB9XG5cbiAgZ2V0Tm9kZXNRdWVyeSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub2Rlc1F1ZXJ5O1xuICB9XG5cbiAgZ2V0UmV0dXJuQmxvY2soKSB7XG4gICAgcmV0dXJuIHRoaXMucmV0dXJuQmxvY2s7XG4gIH1cblxuICBnZXRQcm9jZWR1cmVDYWxsKCkge1xuICAgIHJldHVybiB0aGlzLnByb2NlZHVyZUNhbGw7XG4gIH1cblxuICBnZXROb2RlKCkgeyByZXR1cm4gdGhpcy5wcmltaXRpdmUuZ2V0Tm9kZSgpOyB9XG5cbiAgZ2V0Tm9kZXMoKSB7IHJldHVybiB0aGlzLnByaW1pdGl2ZS5nZXROb2RlcygpOyB9XG5cbiAgZ2V0TnVtYmVyKCkgeyByZXR1cm4gdGhpcy5wcmltaXRpdmUuZ2V0TnVtYmVyKCk7IH1cblxuICBnZXRCb29sZWFuKCkgeyByZXR1cm4gdGhpcy5wcmltaXRpdmUuZ2V0Qm9vbGVhbigpOyB9XG5cbiAgZ2V0U3RyaW5nTGl0ZXJhbCgpIHsgcmV0dXJuIHRoaXMucHJpbWl0aXZlLmdldFN0cmluZ0xpdGVyYWwoKTsgfVxuXG4gIGdldFR5cGUoKSB7XG4gICAgbGV0IHR5cGU7XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYWJsZSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMudmFyaWFibGUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcmltaXRpdmUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnByaW1pdGl2ZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnNvbWUuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMuZXZlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZWR1Y2UgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJlZHVjZS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm5hcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVRdWVyeS5nZXRUeXBlKCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVzUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLm5vZGVzUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZXR1cm5CbG9jayAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucmV0dXJuQmxvY2suZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5wcm9jZWR1cmVDYWxsLmdldFR5cGUoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZTtcbiAgfVxuXG4gIGV2YWx1YXRlKGNvbnRleHQpIHtcbiAgICBsZXQgdGVybTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnZhcmlhYmxlICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJpbWl0aXZlICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy5wcmltaXRpdmUuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnNvbWUgIT09IG51bGwpIHtcbiAgICAgIHRlcm0gPSB0aGlzLnNvbWUuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmV2ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy5ldmVyeS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy5yZWR1Y2UuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm5hcnkgIT09IG51bGwpIHtcbiAgICAgIHRlcm0gPSB0aGlzLnRlcm5hcnkuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVRdWVyeSAhPT0gbnVsbCkge1xuICAgICAgdGVybSA9IHRoaXMubm9kZVF1ZXJ5LmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2Rlc1F1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy5ub2Rlc1F1ZXJ5LmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yZXR1cm5CbG9jayAhPT0gbnVsbCkge1xuICAgICAgdGVybSA9IHRoaXMucmV0dXJuQmxvY2suZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnByb2NlZHVyZUNhbGwgIT09IG51bGwpIHtcbiAgICAgIHRlcm0gPSB0aGlzLnByb2NlZHVyZUNhbGwuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRlcm07XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiRXhwcmVzc2lvblwiO1xufSk7XG4iXSwibmFtZXMiOlsiZGVmaW5lIiwiRXhwcmVzc2lvbiIsInN0cmluZyIsInZhcmlhYmxlIiwicHJpbWl0aXZlIiwic29tZSIsImV2ZXJ5IiwicmVkdWNlIiwidGVybmFyeSIsIm5vZGVRdWVyeSIsIm5vZGVzUXVlcnkiLCJyZXR1cm5CbG9jayIsInByb2NlZHVyZUNhbGwiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFByaW1pdGl2ZSIsImdldFNvbWUiLCJnZXRFdmVyeSIsImdldFJlZHVjZSIsImdldFRlcm5hcnkiLCJ0ZXJuYXkiLCJnZXROb2RlUXVlcnkiLCJnZXROb2Rlc1F1ZXJ5IiwiZ2V0UmV0dXJuQmxvY2siLCJnZXRQcm9jZWR1cmVDYWxsIiwiZ2V0Tm9kZSIsImdldE5vZGVzIiwiZ2V0TnVtYmVyIiwiZ2V0Qm9vbGVhbiIsImdldFN0cmluZ0xpdGVyYWwiLCJnZXRUeXBlIiwidHlwZSIsImV2YWx1YXRlIiwiY29udGV4dCIsInRlcm0iLCJuYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7OzsrQkFJQTs7O2VBQUE7Ozt3QkFGdUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFdkIsV0FBZUEsSUFBQUEsZ0JBQU0sK0JBQUM7YUFBTUMsV0FDZEMsTUFBTSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsSUFBSSxFQUFFQyxLQUFLLEVBQUVDLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLFVBQVUsRUFBRUMsV0FBVyxFQUFFQyxhQUFhO2dDQUQ5Rlg7UUFFeEIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsU0FBUyxHQUFHQTtRQUNqQixJQUFJLENBQUNDLElBQUksR0FBR0E7UUFDWixJQUFJLENBQUNDLEtBQUssR0FBR0E7UUFDYixJQUFJLENBQUNDLE1BQU0sR0FBR0E7UUFDZCxJQUFJLENBQUNDLE9BQU8sR0FBR0E7UUFDZixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsV0FBVyxHQUFHQTtRQUNuQixJQUFJLENBQUNDLGFBQWEsR0FBR0E7Ozs7WUFHdkJDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FB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
287
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2V4cHJlc3Npb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBFbGVtZW50IGZyb20gXCIuLi9lbGVtZW50XCI7XG5cbmltcG9ydCB7IGRlZmluZSB9IGZyb20gXCIuLi9lbGVtZW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgRXhwcmVzc2lvbiBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHRlcm0sIHNvbWUsIGV2ZXJ5LCByZWR1Y2UsIHRlcm5hcnksIG5vZGVRdWVyeSwgbm9kZXNRdWVyeSwgcmV0dXJuQmxvY2ssIHByb2NlZHVyZUNhbGwpIHtcbiAgICBzdXBlcihjb250ZXh0LCBzdHJpbmcsIG5vZGUpXG5cbiAgICB0aGlzLnRlcm0gPSB0ZXJtO1xuICAgIHRoaXMuc29tZSA9IHNvbWU7XG4gICAgdGhpcy5ldmVyeSA9IGV2ZXJ5O1xuICAgIHRoaXMucmVkdWNlID0gcmVkdWNlO1xuICAgIHRoaXMudGVybmFyeSA9IHRlcm5hcnk7XG4gICAgdGhpcy5ub2RlUXVlcnkgPSBub2RlUXVlcnk7XG4gICAgdGhpcy5ub2Rlc1F1ZXJ5ID0gbm9kZXNRdWVyeTtcbiAgICB0aGlzLnJldHVybkJsb2NrID0gcmV0dXJuQmxvY2s7XG4gICAgdGhpcy5wcm9jZWR1cmVDYWxsID0gcHJvY2VkdXJlQ2FsbDtcbiAgfVxuXG4gIGdldFRlcm0oKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybTtcbiAgfVxuXG4gIGdldFNvbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuc29tZTtcbiAgfVxuXG4gIGdldEV2ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLmV2ZXJ5O1xuICB9XG5cbiAgZ2V0UmVkdWNlKCkge1xuICAgIHJldHVybiB0aGlzLnJlZHVjZTtcbiAgfVxuXG4gIGdldFRlcm5hcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMudGVybmF5O1xuICB9XG5cbiAgZ2V0Tm9kZVF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLm5vZGVRdWVyeTtcbiAgfVxuXG4gIGdldE5vZGVzUXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMubm9kZXNRdWVyeTtcbiAgfVxuXG4gIGdldFJldHVybkJsb2NrKCkge1xuICAgIHJldHVybiB0aGlzLnJldHVybkJsb2NrO1xuICB9XG5cbiAgZ2V0UHJvY2VkdXJlQ2FsbCgpIHtcbiAgICByZXR1cm4gdGhpcy5wcm9jZWR1cmVDYWxsO1xuICB9XG5cbiAgZ2V0VHlwZSgpIHtcbiAgICBsZXQgdHlwZTtcblxuICAgIGlmIChmYWxzZSkge1xuICAgICAgLy8vXG4gICAgfSBlbHNlIGlmICh0aGlzLnRlcm0gIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnRlcm0uZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5zb21lLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXZlcnkgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLmV2ZXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmVkdWNlICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5yZWR1Y2UuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXJuYXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy50ZXJuYXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZVF1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5ub2RlUXVlcnkuZ2V0VHlwZSgpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2Rlc1F1ZXJ5ICE9PSBudWxsKSB7XG4gICAgICB0eXBlID0gdGhpcy5ub2Rlc1F1ZXJ5LmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHR5cGUgPSB0aGlzLnJldHVybkJsb2NrLmdldFR5cGUoKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucHJvY2VkdXJlQ2FsbCAhPT0gbnVsbCkge1xuICAgICAgdHlwZSA9IHRoaXMucHJvY2VkdXJlQ2FsbC5nZXRUeXBlKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHR5cGU7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHRlcm07XG5cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIC8vL1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXJtICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy50ZXJtLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5zb21lICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy5zb21lLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ldmVyeSAhPT0gbnVsbCkge1xuICAgICAgdGVybSA9IHRoaXMuZXZlcnkuZXZhbHVhdGUoY29udGV4dCk7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJlZHVjZSAhPT0gbnVsbCkge1xuICAgICAgdGVybSA9IHRoaXMucmVkdWNlLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy50ZXJuYXJ5ICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy50ZXJuYXJ5LmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlUXVlcnkgIT09IG51bGwpIHtcbiAgICAgIHRlcm0gPSB0aGlzLm5vZGVRdWVyeS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZXNRdWVyeSAhPT0gbnVsbCkge1xuICAgICAgdGVybSA9IHRoaXMubm9kZXNRdWVyeS5ldmFsdWF0ZShjb250ZXh0KTtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmV0dXJuQmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHRlcm0gPSB0aGlzLnJldHVybkJsb2NrLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5wcm9jZWR1cmVDYWxsICE9PSBudWxsKSB7XG4gICAgICB0ZXJtID0gdGhpcy5wcm9jZWR1cmVDYWxsLmV2YWx1YXRlKGNvbnRleHQpO1xuICAgIH1cblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIkV4cHJlc3Npb25cIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkV4cHJlc3Npb24iLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsInRlcm0iLCJzb21lIiwiZXZlcnkiLCJyZWR1Y2UiLCJ0ZXJuYXJ5Iiwibm9kZVF1ZXJ5Iiwibm9kZXNRdWVyeSIsInJldHVybkJsb2NrIiwicHJvY2VkdXJlQ2FsbCIsImdldFRlcm0iLCJnZXRTb21lIiwiZ2V0RXZlcnkiLCJnZXRSZWR1Y2UiLCJnZXRUZXJuYXJ5IiwidGVybmF5IiwiZ2V0Tm9kZVF1ZXJ5IiwiZ2V0Tm9kZXNRdWVyeSIsImdldFJldHVybkJsb2NrIiwiZ2V0UHJvY2VkdXJlQ2FsbCIsImdldFR5cGUiLCJ0eXBlIiwiZXZhbHVhdGUiLCJFbGVtZW50IiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7OERBSm9CO3dCQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRXZCLFdBQWVBLElBQUFBLGdCQUFNLCtCQUFDOzthQUFNQyxXQUNkQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsYUFBYTtnQ0FEOUZa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
@@ -8,12 +8,40 @@ Object.defineProperty(exports, "default", {
8
8
  return _default;
9
9
  }
10
10
  });
11
+ var _element = /*#__PURE__*/ _interop_require_default(require("../element"));
11
12
  var _elements = require("../elements");
13
+ function _assert_this_initialized(self) {
14
+ if (self === void 0) {
15
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
16
+ }
17
+ return self;
18
+ }
19
+ function _call_super(_this, derived, args) {
20
+ derived = _get_prototype_of(derived);
21
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
22
+ }
12
23
  function _class_call_check(instance, Constructor) {
13
24
  if (!(instance instanceof Constructor)) {
14
25
  throw new TypeError("Cannot call a class as a function");
15
26
  }
16
27
  }
28
+ function _construct(Parent, args, Class) {
29
+ if (_is_native_reflect_construct()) {
30
+ _construct = Reflect.construct;
31
+ } else {
32
+ _construct = function construct(Parent, args, Class) {
33
+ var a = [
34
+ null
35
+ ];
36
+ a.push.apply(a, args);
37
+ var Constructor = Function.bind.apply(Parent, a);
38
+ var instance = new Constructor();
39
+ if (Class) _set_prototype_of(instance, Class.prototype);
40
+ return instance;
41
+ };
42
+ }
43
+ return _construct.apply(null, arguments);
44
+ }
17
45
  function _defineProperties(target, props) {
18
46
  for(var i = 0; i < props.length; i++){
19
47
  var descriptor = props[i];
@@ -41,20 +69,99 @@ function _define_property(obj, key, value) {
41
69
  }
42
70
  return obj;
43
71
  }
72
+ function _get_prototype_of(o) {
73
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
74
+ return o.__proto__ || Object.getPrototypeOf(o);
75
+ };
76
+ return _get_prototype_of(o);
77
+ }
78
+ function _inherits(subClass, superClass) {
79
+ if (typeof superClass !== "function" && superClass !== null) {
80
+ throw new TypeError("Super expression must either be null or a function");
81
+ }
82
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
83
+ constructor: {
84
+ value: subClass,
85
+ writable: true,
86
+ configurable: true
87
+ }
88
+ });
89
+ if (superClass) _set_prototype_of(subClass, superClass);
90
+ }
91
+ function _interop_require_default(obj) {
92
+ return obj && obj.__esModule ? obj : {
93
+ default: obj
94
+ };
95
+ }
96
+ function _is_native_function(fn) {
97
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
98
+ }
99
+ function _possible_constructor_return(self, call) {
100
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
101
+ return call;
102
+ }
103
+ return _assert_this_initialized(self);
104
+ }
105
+ function _set_prototype_of(o, p) {
106
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
107
+ o.__proto__ = p;
108
+ return o;
109
+ };
110
+ return _set_prototype_of(o, p);
111
+ }
112
+ function _type_of(obj) {
113
+ "@swc/helpers - typeof";
114
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
115
+ }
116
+ function _wrap_native_super(Class) {
117
+ var _cache = typeof Map === "function" ? new Map() : undefined;
118
+ _wrap_native_super = function wrapNativeSuper(Class) {
119
+ if (Class === null || !_is_native_function(Class)) return Class;
120
+ if (typeof Class !== "function") {
121
+ throw new TypeError("Super expression must either be null or a function");
122
+ }
123
+ if (typeof _cache !== "undefined") {
124
+ if (_cache.has(Class)) return _cache.get(Class);
125
+ _cache.set(Class, Wrapper);
126
+ }
127
+ function Wrapper() {
128
+ return _construct(Class, arguments, _get_prototype_of(this).constructor);
129
+ }
130
+ Wrapper.prototype = Object.create(Class.prototype, {
131
+ constructor: {
132
+ value: Wrapper,
133
+ enumerable: false,
134
+ writable: true,
135
+ configurable: true
136
+ }
137
+ });
138
+ return _set_prototype_of(Wrapper, Class);
139
+ };
140
+ return _wrap_native_super(Class);
141
+ }
142
+ function _is_native_reflect_construct() {
143
+ try {
144
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
145
+ } catch (_) {}
146
+ return (_is_native_reflect_construct = function() {
147
+ return !!result;
148
+ })();
149
+ }
44
150
  var _Label;
45
- var _default = (0, _elements.define)((_Label = /*#__PURE__*/ function() {
46
- function Label(string, name) {
151
+ var _default = (0, _elements.define)((_Label = /*#__PURE__*/ function(Element) {
152
+ _inherits(Label, Element);
153
+ function Label(context, string, node, name) {
47
154
  _class_call_check(this, Label);
48
- this.string = string;
49
- this.name = name;
155
+ var _this;
156
+ _this = _call_super(this, Label, [
157
+ context,
158
+ string,
159
+ node
160
+ ]);
161
+ _this.name = name;
162
+ return _this;
50
163
  }
51
164
  _create_class(Label, [
52
- {
53
- key: "getString",
54
- value: function getString() {
55
- return this.string;
56
- }
57
- },
58
165
  {
59
166
  key: "getName",
60
167
  value: function getName() {
@@ -70,6 +177,6 @@ var _default = (0, _elements.define)((_Label = /*#__PURE__*/ function() {
70
177
  }
71
178
  ]);
72
179
  return Label;
73
- }(), _define_property(_Label, "name", "Label"), _Label));
180
+ }(_wrap_native_super(_element.default)), _define_property(_Label, "name", "Label"), _Label));
74
181
 
75
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2xhYmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIExhYmVsIHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCBuYW1lKSB7XG4gICAgdGhpcy5zdHJpbmcgPSBzdHJpbmc7XG4gICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgfVxuXG4gIGdldFN0cmluZygpIHtcbiAgICByZXR1cm4gdGhpcy5zdHJpbmc7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gKG5hbWUgPT09IHRoaXMubmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTGFiZWxcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkxhYmVsIiwic3RyaW5nIiwibmFtZSIsImdldFN0cmluZyIsImdldE5hbWUiLCJtYXRjaE5hbWUiLCJuYW1lTWF0Y2hlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBSUE7OztlQUFBOzs7d0JBRnVCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRXZCLFdBQWVBLElBQUFBLGdCQUFNLDBCQUFDO2FBQU1DLE1BQ2RDLE1BQU0sRUFBRUMsSUFBSTtnQ0FERUY7UUFFeEIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxJQUFJLEdBQUdBOzs7O1lBR2RDLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsTUFBTTtZQUNwQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxPQUFPLElBQUksQ0FBQ0YsSUFBSTtZQUNsQjs7O1lBRUFHLEtBQUFBO21CQUFBQSxTQUFBQSxVQUFVSCxJQUFJO2dCQUNaLElBQU1JLGNBQWVKLFNBQVMsSUFBSSxDQUFDQSxJQUFJO2dCQUV2QyxPQUFPSTtZQUNUOzs7O0tBRUEseUJBQU9KLFFBQU8ifQ==
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L2xhYmVsLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgRWxlbWVudCBmcm9tIFwiLi4vZWxlbWVudFwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIExhYmVsIGV4dGVuZHMgRWxlbWVudCB7XG4gIGNvbnN0cnVjdG9yKGNvbnRleHQsIHN0cmluZywgbm9kZSwgbmFtZSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSlcblxuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gIH1cblxuICBnZXROYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWU7XG4gIH1cblxuICBtYXRjaE5hbWUobmFtZSkge1xuICAgIGNvbnN0IG5hbWVNYXRjaGVzID0gKG5hbWUgPT09IHRoaXMubmFtZSk7XG5cbiAgICByZXR1cm4gbmFtZU1hdGNoZXM7XG4gIH1cblxuICBzdGF0aWMgbmFtZSA9IFwiTGFiZWxcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImRlZmluZSIsIkxhYmVsIiwiY29udGV4dCIsInN0cmluZyIsIm5vZGUiLCJuYW1lIiwiZ2V0TmFtZSIsIm1hdGNoTmFtZSIsIm5hbWVNYXRjaGVzIiwiRWxlbWVudCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBTUE7OztlQUFBOzs7OERBSm9CO3dCQUVHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lBRXZCLFdBQWVBLElBQUFBLGdCQUFNLDBCQUFDOzthQUFNQyxNQUNkQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxJQUFJO2dDQURiSjs7Z0JBRXhCLGtCQUZ3QkE7WUFFbEJDO1lBQVNDO1lBQVFDOztRQUV2QixNQUFLQyxJQUFJLEdBQUdBOzs7OztZQUdkQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNELElBQUk7WUFDbEI7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUEsVUFBVUYsSUFBSTtnQkFDWixJQUFNRyxjQUFlSCxTQUFTLElBQUksQ0FBQ0EsSUFBSTtnQkFFdkMsT0FBT0c7WUFDVDs7OztxQkFmd0NDLGdCQUFPLElBaUIvQyx5QkFBT0osUUFBTyJ9
@@ -9,15 +9,43 @@ Object.defineProperty(exports, "default", {
9
9
  }
10
10
  });
11
11
  var _necessary = require("necessary");
12
+ var _element = /*#__PURE__*/ _interop_require_default(require("../element"));
12
13
  var _exception = /*#__PURE__*/ _interop_require_default(require("../exception"));
13
14
  var _elements = require("../elements");
14
15
  var _types = require("../types");
15
16
  var _term = require("../utilities/term");
17
+ function _assert_this_initialized(self) {
18
+ if (self === void 0) {
19
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
20
+ }
21
+ return self;
22
+ }
23
+ function _call_super(_this, derived, args) {
24
+ derived = _get_prototype_of(derived);
25
+ return _possible_constructor_return(_this, _is_native_reflect_construct() ? Reflect.construct(derived, args || [], _get_prototype_of(_this).constructor) : derived.apply(_this, args));
26
+ }
16
27
  function _class_call_check(instance, Constructor) {
17
28
  if (!(instance instanceof Constructor)) {
18
29
  throw new TypeError("Cannot call a class as a function");
19
30
  }
20
31
  }
32
+ function _construct(Parent, args, Class) {
33
+ if (_is_native_reflect_construct()) {
34
+ _construct = Reflect.construct;
35
+ } else {
36
+ _construct = function construct(Parent, args, Class) {
37
+ var a = [
38
+ null
39
+ ];
40
+ a.push.apply(a, args);
41
+ var Constructor = Function.bind.apply(Parent, a);
42
+ var instance = new Constructor();
43
+ if (Class) _set_prototype_of(instance, Class.prototype);
44
+ return instance;
45
+ };
46
+ }
47
+ return _construct.apply(null, arguments);
48
+ }
21
49
  function _defineProperties(target, props) {
22
50
  for(var i = 0; i < props.length; i++){
23
51
  var descriptor = props[i];
@@ -45,27 +73,101 @@ function _define_property(obj, key, value) {
45
73
  }
46
74
  return obj;
47
75
  }
76
+ function _get_prototype_of(o) {
77
+ _get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
78
+ return o.__proto__ || Object.getPrototypeOf(o);
79
+ };
80
+ return _get_prototype_of(o);
81
+ }
82
+ function _inherits(subClass, superClass) {
83
+ if (typeof superClass !== "function" && superClass !== null) {
84
+ throw new TypeError("Super expression must either be null or a function");
85
+ }
86
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
87
+ constructor: {
88
+ value: subClass,
89
+ writable: true,
90
+ configurable: true
91
+ }
92
+ });
93
+ if (superClass) _set_prototype_of(subClass, superClass);
94
+ }
48
95
  function _interop_require_default(obj) {
49
96
  return obj && obj.__esModule ? obj : {
50
97
  default: obj
51
98
  };
52
99
  }
100
+ function _is_native_function(fn) {
101
+ return Function.toString.call(fn).indexOf("[native code]") !== -1;
102
+ }
103
+ function _possible_constructor_return(self, call) {
104
+ if (call && (_type_of(call) === "object" || typeof call === "function")) {
105
+ return call;
106
+ }
107
+ return _assert_this_initialized(self);
108
+ }
109
+ function _set_prototype_of(o, p) {
110
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
111
+ o.__proto__ = p;
112
+ return o;
113
+ };
114
+ return _set_prototype_of(o, p);
115
+ }
116
+ function _type_of(obj) {
117
+ "@swc/helpers - typeof";
118
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
119
+ }
120
+ function _wrap_native_super(Class) {
121
+ var _cache = typeof Map === "function" ? new Map() : undefined;
122
+ _wrap_native_super = function wrapNativeSuper(Class) {
123
+ if (Class === null || !_is_native_function(Class)) return Class;
124
+ if (typeof Class !== "function") {
125
+ throw new TypeError("Super expression must either be null or a function");
126
+ }
127
+ if (typeof _cache !== "undefined") {
128
+ if (_cache.has(Class)) return _cache.get(Class);
129
+ _cache.set(Class, Wrapper);
130
+ }
131
+ function Wrapper() {
132
+ return _construct(Class, arguments, _get_prototype_of(this).constructor);
133
+ }
134
+ Wrapper.prototype = Object.create(Class.prototype, {
135
+ constructor: {
136
+ value: Wrapper,
137
+ enumerable: false,
138
+ writable: true,
139
+ configurable: true
140
+ }
141
+ });
142
+ return _set_prototype_of(Wrapper, Class);
143
+ };
144
+ return _wrap_native_super(Class);
145
+ }
146
+ function _is_native_reflect_construct() {
147
+ try {
148
+ var result = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() {}));
149
+ } catch (_) {}
150
+ return (_is_native_reflect_construct = function() {
151
+ return !!result;
152
+ })();
153
+ }
53
154
  var _NodeQuery;
54
155
  var first = _necessary.arrayUtilities.first;
55
- var _default = (0, _elements.define)((_NodeQuery = /*#__PURE__*/ function() {
56
- function NodeQuery(string, variable, query) {
156
+ var _default = (0, _elements.define)((_NodeQuery = /*#__PURE__*/ function(Element) {
157
+ _inherits(NodeQuery, Element);
158
+ function NodeQuery(context, string, node, variable, query) {
57
159
  _class_call_check(this, NodeQuery);
58
- this.string = string;
59
- this.variable = variable;
60
- this.query = query;
160
+ var _this;
161
+ _this = _call_super(this, NodeQuery, [
162
+ context,
163
+ string,
164
+ node
165
+ ]);
166
+ _this.variable = variable;
167
+ _this.query = query;
168
+ return _this;
61
169
  }
62
170
  _create_class(NodeQuery, [
63
- {
64
- key: "getString",
65
- value: function getString() {
66
- return this.string;
67
- }
68
- },
69
171
  {
70
172
  key: "getVariable",
71
173
  value: function getVariable() {
@@ -82,7 +184,7 @@ var _default = (0, _elements.define)((_NodeQuery = /*#__PURE__*/ function() {
82
184
  key: "evaluate",
83
185
  value: function evaluate(context) {
84
186
  var term;
85
- var nodeQueryString = this.string; ///
187
+ var nodeQueryString = this.getString(); ///
86
188
  context.trace("Evaluating the '".concat(nodeQueryString, "' node query..."));
87
189
  if (this.query === null) {
88
190
  var message = "Cannot evaluate the '".concat(nodeQueryString, "' node query because its expression is malformed."), exception = _exception.default.fromMessage(message);
@@ -94,13 +196,13 @@ var _default = (0, _elements.define)((_NodeQuery = /*#__PURE__*/ function() {
94
196
  var termString = term.getString(), message1 = "The '".concat(termString, "' term's '").concat(termType, "' type should be '").concat(_types.NODE_TYPE, "'."), exception1 = _exception.default.fromMessage(message1);
95
197
  throw exception1;
96
198
  }
97
- var termNode = term.getNode();
98
- if (termNode === null) {
199
+ var node;
200
+ var primitiveValue = term.getPrimitiveValue();
201
+ node = primitiveValue; ///
202
+ if (node === null) {
99
203
  var termString1 = term.getString(), message2 = "The '".concat(termString1, "' term's node is null."), exception2 = _exception.default.fromMessage(message2);
100
204
  throw exception2;
101
205
  }
102
- var node;
103
- node = termNode; ///
104
206
  var nodes = this.query.execute(node), nodesLength = nodes.length;
105
207
  if (nodesLength !== 1) {
106
208
  var message3 = "The length of the returned nodes is ".concat(nodesLength, " when it should be 1."), exception3 = _exception.default.fromMessage(message3);
@@ -116,6 +218,6 @@ var _default = (0, _elements.define)((_NodeQuery = /*#__PURE__*/ function() {
116
218
  }
117
219
  ]);
118
220
  return NodeQuery;
119
- }(), _define_property(_NodeQuery, "name", "NodeQuery"), _NodeQuery));
221
+ }(_wrap_native_super(_element.default)), _define_property(_NodeQuery, "name", "NodeQuery"), _NodeQuery));
120
222
 
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L25vZGVRdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBFeGNlcHRpb24gZnJvbSBcIi4uL2V4Y2VwdGlvblwiO1xuXG5pbXBvcnQgeyBkZWZpbmUgfSBmcm9tIFwiLi4vZWxlbWVudHNcIjtcbmltcG9ydCB7IE5PREVfVFlQRSB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgdGVybUZyb21Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy90ZXJtXCI7XG5cbmNvbnN0IHsgZmlyc3QgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmUoY2xhc3MgTm9kZVF1ZXJ5IHtcbiAgY29uc3RydWN0b3Ioc3RyaW5nLCB2YXJpYWJsZSwgcXVlcnkpIHtcbiAgICB0aGlzLnN0cmluZyA9IHN0cmluZztcbiAgICB0aGlzLnZhcmlhYmxlID0gdmFyaWFibGU7XG4gICAgdGhpcy5xdWVyeSA9IHF1ZXJ5O1xuICB9XG5cbiAgZ2V0U3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLnN0cmluZztcbiAgfVxuXG4gIGdldFZhcmlhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLnZhcmlhYmxlO1xuICB9XG5cbiAgZ2V0UXVlcnkoKSB7XG4gICAgcmV0dXJuIHRoaXMucXVlcnk7XG4gIH1cblxuICBldmFsdWF0ZShjb250ZXh0KSB7XG4gICAgbGV0IHRlcm07XG5cbiAgICBjb25zdCBub2RlUXVlcnlTdHJpbmcgPSB0aGlzLnN0cmluZzsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bm9kZVF1ZXJ5U3RyaW5nfScgbm9kZSBxdWVyeS4uLmApO1xuXG4gICAgaWYgKHRoaXMucXVlcnkgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQ2Fubm90IGV2YWx1YXRlIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBub2RlIHF1ZXJ5IGJlY2F1c2UgaXRzIGV4cHJlc3Npb24gaXMgbWFsZm9ybWVkLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0ZXJtID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHRlcm1UeXBlID0gdGVybS5nZXRUeXBlKCk7XG5cbiAgICBpZiAodGVybVR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzICcke3Rlcm1UeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IHRlcm1Ob2RlID0gdGVybS5nZXROb2RlKCk7XG5cbiAgICBpZiAodGVybU5vZGUgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpLFxuICAgICAgICAgICAgbWVzc2FnZSA9IGBUaGUgJyR7dGVybVN0cmluZ30nIHRlcm0ncyBub2RlIGlzIG51bGwuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGxldCBub2RlO1xuXG4gICAgbm9kZSA9IHRlcm1Ob2RlOyAvLy9cblxuICAgIGNvbnN0IG5vZGVzID0gdGhpcy5xdWVyeS5leGVjdXRlKG5vZGUpLFxuICAgICAgICAgIG5vZGVzTGVuZ3RoID0gbm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKG5vZGVzTGVuZ3RoICE9PSAxKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gYFRoZSBsZW5ndGggb2YgdGhlIHJldHVybmVkIG5vZGVzIGlzICR7bm9kZXNMZW5ndGh9IHdoZW4gaXQgc2hvdWxkIGJlIDEuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGNvbnN0IGZpcnN0Tm9kZSA9IGZpcnN0KG5vZGVzKTtcblxuICAgIG5vZGUgPSBmaXJzdE5vZGU7IC8vL1xuXG4gICAgdGVybSA9IHRlcm1Gcm9tTm9kZShub2RlLCBjb250ZXh0KTtcblxuICAgIGNvbnN0IHRlcm1TdHJpbmcgPSB0ZXJtLmdldFN0cmluZygpO1xuXG4gICAgY29udGV4dC5kZWJ1ZyhgLi4uZXZhbHVhdGVkIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBub2RlIHF1ZXJ5IGFzICcke3Rlcm1TdHJpbmd9Jy5gKTtcblxuICAgIHJldHVybiB0ZXJtO1xuICB9XG5cbiAgc3RhdGljIG5hbWUgPSBcIk5vZGVRdWVyeVwiO1xufSk7XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheVV0aWxpdGllcyIsImRlZmluZSIsIk5vZGVRdWVyeSIsInN0cmluZyIsInZhcmlhYmxlIiwicXVlcnkiLCJnZXRTdHJpbmciLCJnZXRWYXJpYWJsZSIsImdldFF1ZXJ5IiwiZXZhbHVhdGUiLCJjb250ZXh0IiwidGVybSIsIm5vZGVRdWVyeVN0cmluZyIsInRyYWNlIiwibWVzc2FnZSIsImV4Y2VwdGlvbiIsIkV4Y2VwdGlvbiIsImZyb21NZXNzYWdlIiwidGVybVR5cGUiLCJnZXRUeXBlIiwiTk9ERV9UWVBFIiwidGVybVN0cmluZyIsInRlcm1Ob2RlIiwiZ2V0Tm9kZSIsIm5vZGUiLCJub2RlcyIsImV4ZWN1dGUiLCJub2Rlc0xlbmd0aCIsImxlbmd0aCIsImZpcnN0Tm9kZSIsInRlcm1Gcm9tTm9kZSIsImRlYnVnIiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBWUE7OztlQUFBOzs7eUJBVitCO2dFQUVUO3dCQUVDO3FCQUNHO29CQUNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFN0IsSUFBTSxBQUFFQSxRQUFVQyx5QkFBYyxDQUF4QkQ7SUFFUixXQUFlRSxJQUFBQSxnQkFBTSw4QkFBQzthQUFNQyxVQUNkQyxNQUFNLEVBQUVDLFFBQVEsRUFBRUMsS0FBSztnQ0FEVEg7UUFFeEIsSUFBSSxDQUFDQyxNQUFNLEdBQUdBO1FBQ2QsSUFBSSxDQUFDQyxRQUFRLEdBQUdBO1FBQ2hCLElBQUksQ0FBQ0MsS0FBSyxHQUFHQTs7OztZQUdmQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILE1BQU07WUFDcEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILFFBQVE7WUFDdEI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsT0FBTyxJQUFJLENBQUNILEtBQUs7WUFDbkI7OztZQUVBSSxLQUFBQTttQkFBQUEsU0FBQUEsU0FBU0MsT0FBTztnQkFDZCxJQUFJQztnQkFFSixJQUFNQyxrQkFBa0IsSUFBSSxDQUFDVCxNQUFNLEVBQUcsR0FBRztnQkFFekNPLFFBQVFHLEtBQUssQ0FBQyxBQUFDLG1CQUFrQyxPQUFoQkQsaUJBQWdCO2dCQUVqRCxJQUFJLElBQUksQ0FBQ1AsS0FBSyxLQUFLLE1BQU07b0JBQ3ZCLElBQU1TLFVBQVUsQUFBQyx3QkFBdUMsT0FBaEJGLGlCQUFnQixzREFDbERHLFlBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBSixPQUFPLElBQUksQ0FBQ1AsUUFBUSxDQUFDSyxRQUFRLENBQUNDO2dCQUU5QixJQUFNUSxXQUFXUCxLQUFLUSxPQUFPO2dCQUU3QixJQUFJRCxhQUFhRSxnQkFBUyxFQUFFO29CQUMxQixJQUFNQyxhQUFhVixLQUFLTCxTQUFTLElBQzNCUSxXQUFVLEFBQUMsUUFBOEJJLE9BQXZCRyxZQUFXLGNBQXlDRCxPQUE3QkYsVUFBUyxzQkFBOEIsT0FBVkUsZ0JBQVMsRUFBQyxPQUNoRkwsYUFBWUMsa0JBQVMsQ0FBQ0MsV0FBVyxDQUFDSDtvQkFFeEMsTUFBTUM7Z0JBQ1I7Z0JBRUEsSUFBTU8sV0FBV1gsS0FBS1ksT0FBTztnQkFFN0IsSUFBSUQsYUFBYSxNQUFNO29CQUNyQixJQUFNRCxjQUFhVixLQUFLTCxTQUFTLElBQzNCUSxXQUFVLEFBQUMsUUFBa0IsT0FBWE8sYUFBVywyQkFDN0JOLGFBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBLElBQUlTO2dCQUVKQSxPQUFPRixVQUFVLEdBQUc7Z0JBRXBCLElBQU1HLFFBQVEsSUFBSSxDQUFDcEIsS0FBSyxDQUFDcUIsT0FBTyxDQUFDRixPQUMzQkcsY0FBY0YsTUFBTUcsTUFBTTtnQkFFaEMsSUFBSUQsZ0JBQWdCLEdBQUc7b0JBQ3JCLElBQU1iLFdBQVUsQUFBQyx1Q0FBa0QsT0FBWmEsYUFBWSwwQkFDN0RaLGFBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBLElBQU1jLFlBQVk5QixNQUFNMEI7Z0JBRXhCRCxPQUFPSyxXQUFXLEdBQUc7Z0JBRXJCbEIsT0FBT21CLElBQUFBLGtCQUFZLEVBQUNOLE1BQU1kO2dCQUUxQixJQUFNVyxjQUFhVixLQUFLTCxTQUFTO2dCQUVqQ0ksUUFBUXFCLEtBQUssQ0FBQyxBQUFDLHFCQUF1RFYsT0FBbkNULGlCQUFnQixxQkFBOEIsT0FBWFMsYUFBVztnQkFFakYsT0FBT1Y7WUFDVDs7OztLQUVBLDZCQUFPcUIsUUFBTyJ9
223
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lbGVtZW50L25vZGVRdWVyeS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwibmVjZXNzYXJ5XCI7XG5cbmltcG9ydCBFbGVtZW50IGZyb20gXCIuLi9lbGVtZW50XCI7XG5pbXBvcnQgRXhjZXB0aW9uIGZyb20gXCIuLi9leGNlcHRpb25cIjtcblxuaW1wb3J0IHsgZGVmaW5lIH0gZnJvbSBcIi4uL2VsZW1lbnRzXCI7XG5pbXBvcnQgeyBOT0RFX1RZUEUgfSBmcm9tIFwiLi4vdHlwZXNcIjtcbmltcG9ydCB7IHRlcm1Gcm9tTm9kZSB9IGZyb20gXCIuLi91dGlsaXRpZXMvdGVybVwiO1xuXG5jb25zdCB7IGZpcnN0IH0gPSBhcnJheVV0aWxpdGllcztcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lKGNsYXNzIE5vZGVRdWVyeSBleHRlbmRzIEVsZW1lbnQge1xuICBjb25zdHJ1Y3Rvcihjb250ZXh0LCBzdHJpbmcsIG5vZGUsIHZhcmlhYmxlLCBxdWVyeSkge1xuICAgIHN1cGVyKGNvbnRleHQsIHN0cmluZywgbm9kZSlcblxuICAgIHRoaXMudmFyaWFibGUgPSB2YXJpYWJsZTtcbiAgICB0aGlzLnF1ZXJ5ID0gcXVlcnk7XG4gIH1cblxuICBnZXRWYXJpYWJsZSgpIHtcbiAgICByZXR1cm4gdGhpcy52YXJpYWJsZTtcbiAgfVxuXG4gIGdldFF1ZXJ5KCkge1xuICAgIHJldHVybiB0aGlzLnF1ZXJ5O1xuICB9XG5cbiAgZXZhbHVhdGUoY29udGV4dCkge1xuICAgIGxldCB0ZXJtO1xuXG4gICAgY29uc3Qgbm9kZVF1ZXJ5U3RyaW5nID0gdGhpcy5nZXRTdHJpbmcoKTsgIC8vL1xuXG4gICAgY29udGV4dC50cmFjZShgRXZhbHVhdGluZyB0aGUgJyR7bm9kZVF1ZXJ5U3RyaW5nfScgbm9kZSBxdWVyeS4uLmApO1xuXG4gICAgaWYgKHRoaXMucXVlcnkgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgQ2Fubm90IGV2YWx1YXRlIHRoZSAnJHtub2RlUXVlcnlTdHJpbmd9JyBub2RlIHF1ZXJ5IGJlY2F1c2UgaXRzIGV4cHJlc3Npb24gaXMgbWFsZm9ybWVkLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICB0ZXJtID0gdGhpcy52YXJpYWJsZS5ldmFsdWF0ZShjb250ZXh0KTtcblxuICAgIGNvbnN0IHRlcm1UeXBlID0gdGVybS5nZXRUeXBlKCk7XG5cbiAgICBpZiAodGVybVR5cGUgIT09IE5PREVfVFlQRSkge1xuICAgICAgY29uc3QgdGVybVN0cmluZyA9IHRlcm0uZ2V0U3RyaW5nKCksXG4gICAgICAgICAgICBtZXNzYWdlID0gYFRoZSAnJHt0ZXJtU3RyaW5nfScgdGVybSdzICcke3Rlcm1UeXBlfScgdHlwZSBzaG91bGQgYmUgJyR7Tk9ERV9UWVBFfScuYCxcbiAgICAgICAgICAgIGV4Y2VwdGlvbiA9IEV4Y2VwdGlvbi5mcm9tTWVzc2FnZShtZXNzYWdlKTtcblxuICAgICAgdGhyb3cgZXhjZXB0aW9uO1xuICAgIH1cblxuICAgIGxldCBub2RlO1xuXG4gICAgY29uc3QgcHJpbWl0aXZlVmFsdWUgPSB0ZXJtLmdldFByaW1pdGl2ZVZhbHVlKCk7XG5cbiAgICBub2RlID0gcHJpbWl0aXZlVmFsdWU7ICAvLy9cblxuICAgIGlmIChub2RlID09PSBudWxsKSB7XG4gICAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKSxcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBgVGhlICcke3Rlcm1TdHJpbmd9JyB0ZXJtJ3Mgbm9kZSBpcyBudWxsLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBub2RlcyA9IHRoaXMucXVlcnkuZXhlY3V0ZShub2RlKSxcbiAgICAgICAgICBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICAgIGlmIChub2Rlc0xlbmd0aCAhPT0gMSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGBUaGUgbGVuZ3RoIG9mIHRoZSByZXR1cm5lZCBub2RlcyBpcyAke25vZGVzTGVuZ3RofSB3aGVuIGl0IHNob3VsZCBiZSAxLmAsXG4gICAgICAgICAgICBleGNlcHRpb24gPSBFeGNlcHRpb24uZnJvbU1lc3NhZ2UobWVzc2FnZSk7XG5cbiAgICAgIHRocm93IGV4Y2VwdGlvbjtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdE5vZGUgPSBmaXJzdChub2Rlcyk7XG5cbiAgICBub2RlID0gZmlyc3ROb2RlOyAvLy9cblxuICAgIHRlcm0gPSB0ZXJtRnJvbU5vZGUobm9kZSwgY29udGV4dCk7XG5cbiAgICBjb25zdCB0ZXJtU3RyaW5nID0gdGVybS5nZXRTdHJpbmcoKTtcblxuICAgIGNvbnRleHQuZGVidWcoYC4uLmV2YWx1YXRlZCB0aGUgJyR7bm9kZVF1ZXJ5U3RyaW5nfScgbm9kZSBxdWVyeSBhcyAnJHt0ZXJtU3RyaW5nfScuYCk7XG5cbiAgICByZXR1cm4gdGVybTtcbiAgfVxuXG4gIHN0YXRpYyBuYW1lID0gXCJOb2RlUXVlcnlcIjtcbn0pO1xuIl0sIm5hbWVzIjpbImZpcnN0IiwiYXJyYXlVdGlsaXRpZXMiLCJkZWZpbmUiLCJOb2RlUXVlcnkiLCJjb250ZXh0Iiwic3RyaW5nIiwibm9kZSIsInZhcmlhYmxlIiwicXVlcnkiLCJnZXRWYXJpYWJsZSIsImdldFF1ZXJ5IiwiZXZhbHVhdGUiLCJ0ZXJtIiwibm9kZVF1ZXJ5U3RyaW5nIiwiZ2V0U3RyaW5nIiwidHJhY2UiLCJtZXNzYWdlIiwiZXhjZXB0aW9uIiwiRXhjZXB0aW9uIiwiZnJvbU1lc3NhZ2UiLCJ0ZXJtVHlwZSIsImdldFR5cGUiLCJOT0RFX1RZUEUiLCJ0ZXJtU3RyaW5nIiwicHJpbWl0aXZlVmFsdWUiLCJnZXRQcmltaXRpdmVWYWx1ZSIsIm5vZGVzIiwiZXhlY3V0ZSIsIm5vZGVzTGVuZ3RoIiwibGVuZ3RoIiwiZmlyc3ROb2RlIiwidGVybUZyb21Ob2RlIiwiZGVidWciLCJFbGVtZW50IiwibmFtZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBYUE7OztlQUFBOzs7eUJBWCtCOzhEQUVYO2dFQUNFO3dCQUVDO3FCQUNHO29CQUNHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRTdCLElBQU0sQUFBRUEsUUFBVUMseUJBQWMsQ0FBeEJEO0lBRVIsV0FBZUUsSUFBQUEsZ0JBQU0sOEJBQUM7O2FBQU1DLFVBQ2RDLE9BQU8sRUFBRUMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFFBQVEsRUFBRUMsS0FBSztnQ0FEeEJMOztnQkFFeEIsa0JBRndCQTtZQUVsQkM7WUFBU0M7WUFBUUM7O1FBRXZCLE1BQUtDLFFBQVEsR0FBR0E7UUFDaEIsTUFBS0MsS0FBSyxHQUFHQTs7Ozs7WUFHZkMsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixRQUFRO1lBQ3RCOzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDRixLQUFLO1lBQ25COzs7WUFFQUcsS0FBQUE7bUJBQUFBLFNBQUFBLFNBQVNQLE9BQU87Z0JBQ2QsSUFBSVE7Z0JBRUosSUFBTUMsa0JBQWtCLElBQUksQ0FBQ0MsU0FBUyxJQUFLLEdBQUc7Z0JBRTlDVixRQUFRVyxLQUFLLENBQUMsQUFBQyxtQkFBa0MsT0FBaEJGLGlCQUFnQjtnQkFFakQsSUFBSSxJQUFJLENBQUNMLEtBQUssS0FBSyxNQUFNO29CQUN2QixJQUFNUSxVQUFVLEFBQUMsd0JBQXVDLE9BQWhCSCxpQkFBZ0Isc0RBQ2xESSxZQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO29CQUV4QyxNQUFNQztnQkFDUjtnQkFFQUwsT0FBTyxJQUFJLENBQUNMLFFBQVEsQ0FBQ0ksUUFBUSxDQUFDUDtnQkFFOUIsSUFBTWdCLFdBQVdSLEtBQUtTLE9BQU87Z0JBRTdCLElBQUlELGFBQWFFLGdCQUFTLEVBQUU7b0JBQzFCLElBQU1DLGFBQWFYLEtBQUtFLFNBQVMsSUFDM0JFLFdBQVUsQUFBQyxRQUE4QkksT0FBdkJHLFlBQVcsY0FBeUNELE9BQTdCRixVQUFTLHNCQUE4QixPQUFWRSxnQkFBUyxFQUFDLE9BQ2hGTCxhQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO29CQUV4QyxNQUFNQztnQkFDUjtnQkFFQSxJQUFJWDtnQkFFSixJQUFNa0IsaUJBQWlCWixLQUFLYSxpQkFBaUI7Z0JBRTdDbkIsT0FBT2tCLGdCQUFpQixHQUFHO2dCQUUzQixJQUFJbEIsU0FBUyxNQUFNO29CQUNqQixJQUFNaUIsY0FBYVgsS0FBS0UsU0FBUyxJQUMzQkUsV0FBVSxBQUFDLFFBQWtCLE9BQVhPLGFBQVcsMkJBQzdCTixhQUFZQyxrQkFBUyxDQUFDQyxXQUFXLENBQUNIO29CQUV4QyxNQUFNQztnQkFDUjtnQkFFQSxJQUFNUyxRQUFRLElBQUksQ0FBQ2xCLEtBQUssQ0FBQ21CLE9BQU8sQ0FBQ3JCLE9BQzNCc0IsY0FBY0YsTUFBTUcsTUFBTTtnQkFFaEMsSUFBSUQsZ0JBQWdCLEdBQUc7b0JBQ3JCLElBQU1aLFdBQVUsQUFBQyx1Q0FBa0QsT0FBWlksYUFBWSwwQkFDN0RYLGFBQVlDLGtCQUFTLENBQUNDLFdBQVcsQ0FBQ0g7b0JBRXhDLE1BQU1DO2dCQUNSO2dCQUVBLElBQU1hLFlBQVk5QixNQUFNMEI7Z0JBRXhCcEIsT0FBT3dCLFdBQVcsR0FBRztnQkFFckJsQixPQUFPbUIsSUFBQUEsa0JBQVksRUFBQ3pCLE1BQU1GO2dCQUUxQixJQUFNbUIsY0FBYVgsS0FBS0UsU0FBUztnQkFFakNWLFFBQVE0QixLQUFLLENBQUMsQUFBQyxxQkFBdURULE9BQW5DVixpQkFBZ0IscUJBQThCLE9BQVhVLGFBQVc7Z0JBRWpGLE9BQU9YO1lBQ1Q7Ozs7cUJBN0U0Q3FCLGdCQUFPLElBK0VuRCw2QkFBT0MsUUFBTyJ9