occam-dom 5.0.9 → 5.0.11
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/example.js +351 -488
- package/lib/node.js +34 -207
- package/package.json +5 -5
- package/src/node.js +6 -160
package/lib/node.js
CHANGED
|
@@ -10,14 +10,6 @@ Object.defineProperty(exports, "default", {
|
|
|
10
10
|
});
|
|
11
11
|
var _node = /*#__PURE__*/ _interop_require_default(require("./parseTree/node"));
|
|
12
12
|
var _constants = require("./constants");
|
|
13
|
-
function _array_like_to_array(arr, len) {
|
|
14
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
15
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
16
|
-
return arr2;
|
|
17
|
-
}
|
|
18
|
-
function _array_without_holes(arr) {
|
|
19
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
20
|
-
}
|
|
21
13
|
function _class_call_check(instance, Constructor) {
|
|
22
14
|
if (!(instance instanceof Constructor)) {
|
|
23
15
|
throw new TypeError("Cannot call a class as a function");
|
|
@@ -37,27 +29,39 @@ function _create_class(Constructor, protoProps, staticProps) {
|
|
|
37
29
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
38
30
|
return Constructor;
|
|
39
31
|
}
|
|
32
|
+
function _get(target, property, receiver) {
|
|
33
|
+
if (typeof Reflect !== "undefined" && Reflect.get) {
|
|
34
|
+
_get = Reflect.get;
|
|
35
|
+
} else {
|
|
36
|
+
_get = function get(target, property, receiver) {
|
|
37
|
+
var base = _super_prop_base(target, property);
|
|
38
|
+
if (!base) return;
|
|
39
|
+
var desc = Object.getOwnPropertyDescriptor(base, property);
|
|
40
|
+
if (desc.get) {
|
|
41
|
+
return desc.get.call(receiver || target);
|
|
42
|
+
}
|
|
43
|
+
return desc.value;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return _get(target, property, receiver || target);
|
|
47
|
+
}
|
|
48
|
+
function _get_prototype_of(o) {
|
|
49
|
+
_get_prototype_of = Object.setPrototypeOf ? Object.getPrototypeOf : function getPrototypeOf(o) {
|
|
50
|
+
return o.__proto__ || Object.getPrototypeOf(o);
|
|
51
|
+
};
|
|
52
|
+
return _get_prototype_of(o);
|
|
53
|
+
}
|
|
40
54
|
function _interop_require_default(obj) {
|
|
41
55
|
return obj && obj.__esModule ? obj : {
|
|
42
56
|
default: obj
|
|
43
57
|
};
|
|
44
58
|
}
|
|
45
|
-
function
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
function _to_consumable_array(arr) {
|
|
52
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
53
|
-
}
|
|
54
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
55
|
-
if (!o) return;
|
|
56
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
57
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
58
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
59
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
60
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
59
|
+
function _super_prop_base(object, property) {
|
|
60
|
+
while(!Object.prototype.hasOwnProperty.call(object, property)){
|
|
61
|
+
object = _get_prototype_of(object);
|
|
62
|
+
if (object === null) break;
|
|
63
|
+
}
|
|
64
|
+
return object;
|
|
61
65
|
}
|
|
62
66
|
var Node = /*#__PURE__*/ function() {
|
|
63
67
|
function Node(outerNode, parentNode, childNodes) {
|
|
@@ -100,192 +104,15 @@ var Node = /*#__PURE__*/ function() {
|
|
|
100
104
|
{
|
|
101
105
|
key: "setChildNodes",
|
|
102
106
|
value: function setChildNodes(childNodes) {
|
|
103
|
-
|
|
104
|
-
}
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
key: "getMultiplicity",
|
|
108
|
-
value: function getMultiplicity() {
|
|
109
|
-
var childNodesLength = this.childNodes.length, multiplicity = childNodesLength; ///
|
|
110
|
-
return multiplicity;
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
{
|
|
114
|
-
key: "mapChildNode",
|
|
115
|
-
value: function mapChildNode(callback) {
|
|
116
|
-
return this.childNodes.map(callback);
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
{
|
|
120
|
-
key: "someChildNode",
|
|
121
|
-
value: function someChildNode(callback) {
|
|
122
|
-
return this.childNodes.some(callback);
|
|
123
|
-
}
|
|
124
|
-
},
|
|
125
|
-
{
|
|
126
|
-
key: "findChildNode",
|
|
127
|
-
value: function findChildNode(callback) {
|
|
128
|
-
return this.childNodes.find(callback);
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
{
|
|
132
|
-
key: "everyChildNode",
|
|
133
|
-
value: function everyChildNode(callback) {
|
|
134
|
-
return this.childNodes.every(callback);
|
|
135
|
-
}
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
key: "filterChildNode",
|
|
139
|
-
value: function filterChildNode(callback) {
|
|
140
|
-
return this.childNodes.filter(callback);
|
|
141
|
-
}
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
key: "reduceChildNode",
|
|
145
|
-
value: function reduceChildNode(callback, initialValue) {
|
|
146
|
-
return this.childNodes.reduce(callback, initialValue);
|
|
147
|
-
}
|
|
148
|
-
},
|
|
149
|
-
{
|
|
150
|
-
key: "forEachChildNode",
|
|
151
|
-
value: function forEachChildNode(callback) {
|
|
152
|
-
this.childNodes.forEach(callback);
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
key: "setChildNodesParentNode",
|
|
157
|
-
value: function setChildNodesParentNode(childNodes) {
|
|
158
|
-
if (childNodes === undefined) {
|
|
159
|
-
childNodes = _to_consumable_array(this.childNodes);
|
|
160
|
-
}
|
|
161
|
-
var parentNode = this;
|
|
162
|
-
childNodes.forEach(function(childNode) {
|
|
163
|
-
childNode.setParentNode(parentNode);
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
},
|
|
167
|
-
{
|
|
168
|
-
key: "resetChildNodesParentNode",
|
|
169
|
-
value: function resetChildNodesParentNode(childNodes) {
|
|
170
|
-
if (childNodes === undefined) {
|
|
171
|
-
childNodes = _to_consumable_array(this.childNodes);
|
|
172
|
-
}
|
|
173
|
-
var parentNode = null;
|
|
174
|
-
childNodes.forEach(function(childNode) {
|
|
175
|
-
childNode.setParentNode(parentNode);
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
key: "addChildNode",
|
|
181
|
-
value: function addChildNode(addedChildNode, startIndex) {
|
|
182
|
-
var addedChildNodes = [
|
|
183
|
-
addedChildNode
|
|
184
|
-
];
|
|
185
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
186
|
-
}
|
|
187
|
-
},
|
|
188
|
-
{
|
|
189
|
-
key: "addChildNodes",
|
|
190
|
-
value: function addChildNodes(addedChildNodes, startIndex) {
|
|
191
|
-
var deleteCount = 0;
|
|
107
|
+
var startIndex = 0, deleteCount = Infinity, addedChildNodes = childNodes; ///
|
|
192
108
|
this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
|
|
193
109
|
}
|
|
194
110
|
},
|
|
195
111
|
{
|
|
196
|
-
key: "
|
|
197
|
-
value: function
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
removedChildNode
|
|
201
|
-
];
|
|
202
|
-
removedChildNodes = this.removeChildNodes(removedChildNodes);
|
|
203
|
-
return removedChildNodes;
|
|
204
|
-
}
|
|
205
|
-
},
|
|
206
|
-
{
|
|
207
|
-
key: "removeChildNodes",
|
|
208
|
-
value: function removeChildNodes(removedChildNodes) {
|
|
209
|
-
if (removedChildNodes === undefined) {
|
|
210
|
-
removedChildNodes = _to_consumable_array(this.childNodes);
|
|
211
|
-
}
|
|
212
|
-
var removedChildNodesLength = removedChildNodes.length;
|
|
213
|
-
if (removedChildNodesLength === 0) {
|
|
214
|
-
return;
|
|
215
|
-
}
|
|
216
|
-
var firstReplacedChildNode = first(removedChildNodes), firstIndex = this.childNodes.indexOf(firstReplacedChildNode), startIndex = firstIndex, deleteCount = removedChildNodesLength, addedChildNodes = [];
|
|
217
|
-
removedChildNodes = this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
|
|
218
|
-
return removedChildNodes;
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
key: "replaceChildNode",
|
|
223
|
-
value: function replaceChildNode(replacedChildNode, replacementChildNodes) {
|
|
224
|
-
var replacedChildNodes = [
|
|
225
|
-
replacedChildNode
|
|
226
|
-
];
|
|
227
|
-
this.replaceChildNodes(replacedChildNodes, replacementChildNodes);
|
|
228
|
-
}
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
key: "replaceChildNodes",
|
|
232
|
-
value: function replaceChildNodes(replacedChildNodes, replacementChildNodes) {
|
|
233
|
-
var replacedChildNodesLength = replacedChildNodes.length, firstReplacedChildNode = first(replacedChildNodes), firstIndex = this.childNodes.indexOf(firstReplacedChildNode), startIndex = firstIndex, deleteCount = replacedChildNodesLength; ///
|
|
234
|
-
this.spliceChildNodes(startIndex, deleteCount, replacementChildNodes);
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
{
|
|
238
|
-
key: "appendChildNode",
|
|
239
|
-
value: function appendChildNode(appendedChildNode) {
|
|
240
|
-
var appendedChildNodes = [
|
|
241
|
-
appendedChildNode
|
|
242
|
-
];
|
|
243
|
-
this.appendChildNodes(appendedChildNodes);
|
|
244
|
-
}
|
|
245
|
-
},
|
|
246
|
-
{
|
|
247
|
-
key: "appendChildNodes",
|
|
248
|
-
value: function appendChildNodes(appendedChildNodes) {
|
|
249
|
-
var addedChildNodes = appendedChildNodes, multiplicity = this.getMultiplicity(), startIndex = multiplicity; ///
|
|
250
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
251
|
-
}
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
key: "prependChildNode",
|
|
255
|
-
value: function prependChildNode(prependedChildNode) {
|
|
256
|
-
var prependedChildNodes = [
|
|
257
|
-
prependedChildNode
|
|
258
|
-
];
|
|
259
|
-
this.prependChildNodes(prependedChildNodes);
|
|
260
|
-
}
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
key: "prependChildNodes",
|
|
264
|
-
value: function prependChildNodes(prependedChildNodes) {
|
|
265
|
-
var addedChildNodes = prependedChildNodes, startIndex = 0;
|
|
266
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
{
|
|
270
|
-
key: "spliceChildNodes",
|
|
271
|
-
value: function spliceChildNodes(startIndex, deleteCount) {
|
|
272
|
-
var addedChildNodes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
|
|
273
|
-
var _this_childNodes;
|
|
274
|
-
var removedChildNodes = (_this_childNodes = this.childNodes).splice.apply(_this_childNodes, [
|
|
275
|
-
startIndex,
|
|
276
|
-
deleteCount
|
|
277
|
-
].concat(_to_consumable_array(addedChildNodes)));
|
|
278
|
-
this.resetChildNodesParentNode(removedChildNodes);
|
|
279
|
-
this.setChildNodesParentNode(addedChildNodes);
|
|
280
|
-
return removedChildNodes;
|
|
281
|
-
}
|
|
282
|
-
},
|
|
283
|
-
{
|
|
284
|
-
key: "sliceChildNodes",
|
|
285
|
-
value: function sliceChildNodes(startIndex) {
|
|
286
|
-
var endIndex = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Infinity;
|
|
287
|
-
var childNodes = this.childNodes.slice(startIndex, endIndex);
|
|
288
|
-
return childNodes;
|
|
112
|
+
key: "destroy",
|
|
113
|
+
value: function destroy() {
|
|
114
|
+
this.outerNode = null;
|
|
115
|
+
_get(_get_prototype_of(Node.prototype), "destroy", this).call(this);
|
|
289
116
|
}
|
|
290
117
|
},
|
|
291
118
|
{
|
|
@@ -338,4 +165,4 @@ var Node = /*#__PURE__*/ function() {
|
|
|
338
165
|
return Node;
|
|
339
166
|
}();
|
|
340
167
|
|
|
341
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZVBhcnNlVHJlZSBmcm9tIFwiLi9wYXJzZVRyZWUvbm9kZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9kZSB7XG4gIGNvbnN0cnVjdG9yKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcykge1xuICAgIHRoaXMub3V0ZXJOb2RlID0gb3V0ZXJOb2RlO1xuICAgIHRoaXMucGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgfVxuXG4gIGdldE91dGVyTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRlck5vZGU7XG4gIH1cblxuICBnZXRQYXJlbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE5vZGU7XG4gIH1cblxuICBnZXRDaGlsZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkTm9kZXM7XG4gIH1cblxuICBzZXRPdXRlck5vZGUob3V0ZXJOb2RlKSB7XG4gICAgdGhpcy5vdXRlck5vZGUgPSBvdXRlck5vZGU7XG4gIH1cblxuICBzZXRQYXJlbnROb2RlKHBhcmVudE5vZGUpIHtcbiAgICB0aGlzLnBhcmVudE5vZGUgPSBwYXJlbnROb2RlO1xuICB9XG5cbiAgc2V0Q2hpbGROb2RlcyhjaGlsZE5vZGVzKSB7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgfVxuXG4gIGdldE11bHRpcGxpY2l0eSgpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzTGVuZ3RoID0gdGhpcy5jaGlsZE5vZGVzLmxlbmd0aCxcbiAgICAgICAgbXVsdGlwbGljaXR5ID0gY2hpbGROb2Rlc0xlbmd0aDsgIC8vL1xuXG4gICAgcmV0dXJuIG11bHRpcGxpY2l0eTtcbiAgfVxuXG4gIG1hcENoaWxkTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5jaGlsZE5vZGVzLm1hcChjYWxsYmFjayk7IH1cblxuICBzb21lQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuc29tZShjYWxsYmFjayk7IH1cblxuICBmaW5kQ2hpbGROb2RlKGNhbGxiYWNrKSB7IHJldHVybiB0aGlzLmNoaWxkTm9kZXMuZmluZChjYWxsYmFjayk7IH1cblxuICBldmVyeUNoaWxkTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5jaGlsZE5vZGVzLmV2ZXJ5KGNhbGxiYWNrKTsgfVxuXG4gIGZpbHRlckNoaWxkTm9kZShjYWxsYmFjaykgeyByZXR1cm4gdGhpcy5jaGlsZE5vZGVzLmZpbHRlcihjYWxsYmFjayk7IH1cblxuICByZWR1Y2VDaGlsZE5vZGUoY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkgeyByZXR1cm4gdGhpcy5jaGlsZE5vZGVzLnJlZHVjZShjYWxsYmFjaywgaW5pdGlhbFZhbHVlKTsgfVxuXG4gIGZvckVhY2hDaGlsZE5vZGUoY2FsbGJhY2spIHsgdGhpcy5jaGlsZE5vZGVzLmZvckVhY2goY2FsbGJhY2spOyB9XG5cbiAgc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUoY2hpbGROb2Rlcykge1xuICAgIGlmIChjaGlsZE5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNoaWxkTm9kZXMgPSBbXG4gICAgICAgIC4uLnRoaXMuY2hpbGROb2Rlc1xuICAgICAgXTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnROb2RlID0gdGhpcztcblxuICAgIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjaGlsZE5vZGUuc2V0UGFyZW50Tm9kZShwYXJlbnROb2RlKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUoY2hpbGROb2Rlcykge1xuICAgIGlmIChjaGlsZE5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNoaWxkTm9kZXMgPSBbXG4gICAgICAgIC4uLnRoaXMuY2hpbGROb2Rlc1xuICAgICAgXTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJlbnROb2RlID0gbnVsbDtcblxuICAgIGNoaWxkTm9kZXMuZm9yRWFjaCgoY2hpbGROb2RlKSA9PiB7XG4gICAgICBjaGlsZE5vZGUuc2V0UGFyZW50Tm9kZShwYXJlbnROb2RlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGFkZENoaWxkTm9kZShhZGRlZENoaWxkTm9kZSwgc3RhcnRJbmRleCkge1xuICAgIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IFtcbiAgICAgIGFkZGVkQ2hpbGROb2RlXG4gICAgXTtcblxuICAgIHRoaXMuYWRkQ2hpbGROb2RlcyhhZGRlZENoaWxkTm9kZXMsIHN0YXJ0SW5kZXgpO1xuICB9XG5cbiAgYWRkQ2hpbGROb2RlcyhhZGRlZENoaWxkTm9kZXMsIHN0YXJ0SW5kZXgpIHtcbiAgICBjb25zdCBkZWxldGVDb3VudCA9IDA7XG5cbiAgICB0aGlzLnNwbGljZUNoaWxkTm9kZXMoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIGFkZGVkQ2hpbGROb2Rlcyk7XG4gIH1cblxuICByZW1vdmVDaGlsZE5vZGUocmVtb3ZlZENoaWxkTm9kZSkge1xuICAgIGxldCByZW1vdmVkQ2hpbGROb2RlcztcblxuICAgIHJlbW92ZWRDaGlsZE5vZGVzID0gW1xuICAgICAgcmVtb3ZlZENoaWxkTm9kZVxuICAgIF07XG5cbiAgICByZW1vdmVkQ2hpbGROb2RlcyA9IHRoaXMucmVtb3ZlQ2hpbGROb2RlcyhyZW1vdmVkQ2hpbGROb2Rlcyk7XG5cbiAgICByZXR1cm4gcmVtb3ZlZENoaWxkTm9kZXM7XG4gIH1cblxuICByZW1vdmVDaGlsZE5vZGVzKHJlbW92ZWRDaGlsZE5vZGVzKSB7XG4gICAgaWYgKHJlbW92ZWRDaGlsZE5vZGVzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJlbW92ZWRDaGlsZE5vZGVzID0gW1xuICAgICAgICAuLi50aGlzLmNoaWxkTm9kZXNcbiAgICAgIF07XG4gICAgfVxuXG4gICAgY29uc3QgcmVtb3ZlZENoaWxkTm9kZXNMZW5ndGggPSByZW1vdmVkQ2hpbGROb2Rlcy5sZW5ndGg7XG5cbiAgICBpZiAocmVtb3ZlZENoaWxkTm9kZXNMZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBmaXJzdFJlcGxhY2VkQ2hpbGROb2RlID0gZmlyc3QocmVtb3ZlZENoaWxkTm9kZXMpLFxuICAgICAgICAgIGZpcnN0SW5kZXggPSB0aGlzLmNoaWxkTm9kZXMuaW5kZXhPZihmaXJzdFJlcGxhY2VkQ2hpbGROb2RlKSxcbiAgICAgICAgICBzdGFydEluZGV4ID0gZmlyc3RJbmRleCwgLy8vXG4gICAgICAgICAgZGVsZXRlQ291bnQgPSByZW1vdmVkQ2hpbGROb2Rlc0xlbmd0aCwgLy8vXG4gICAgICAgICAgYWRkZWRDaGlsZE5vZGVzID0gW107XG5cbiAgICByZW1vdmVkQ2hpbGROb2RlcyA9IHRoaXMuc3BsaWNlQ2hpbGROb2RlcyhzdGFydEluZGV4LCBkZWxldGVDb3VudCwgYWRkZWRDaGlsZE5vZGVzKTtcblxuICAgIHJldHVybiByZW1vdmVkQ2hpbGROb2RlcztcbiAgfVxuXG4gIHJlcGxhY2VDaGlsZE5vZGUocmVwbGFjZWRDaGlsZE5vZGUsIHJlcGxhY2VtZW50Q2hpbGROb2Rlcykge1xuICAgIGNvbnN0IHJlcGxhY2VkQ2hpbGROb2RlcyA9IFtcbiAgICAgIHJlcGxhY2VkQ2hpbGROb2RlXG4gICAgXTtcblxuICAgIHRoaXMucmVwbGFjZUNoaWxkTm9kZXMocmVwbGFjZWRDaGlsZE5vZGVzLCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xuICB9XG5cbiAgcmVwbGFjZUNoaWxkTm9kZXMocmVwbGFjZWRDaGlsZE5vZGVzLCByZXBsYWNlbWVudENoaWxkTm9kZXMpIHtcbiAgICBjb25zdCByZXBsYWNlZENoaWxkTm9kZXNMZW5ndGggPSByZXBsYWNlZENoaWxkTm9kZXMubGVuZ3RoLFxuICAgICAgICAgIGZpcnN0UmVwbGFjZWRDaGlsZE5vZGUgPSBmaXJzdChyZXBsYWNlZENoaWxkTm9kZXMpLFxuICAgICAgICAgIGZpcnN0SW5kZXggPSB0aGlzLmNoaWxkTm9kZXMuaW5kZXhPZihmaXJzdFJlcGxhY2VkQ2hpbGROb2RlKSxcbiAgICAgICAgICBzdGFydEluZGV4ID0gZmlyc3RJbmRleCwgLy8vXG4gICAgICAgICAgZGVsZXRlQ291bnQgPSByZXBsYWNlZENoaWxkTm9kZXNMZW5ndGg7IC8vL1xuXG4gICAgdGhpcy5zcGxpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGRlbGV0ZUNvdW50LCByZXBsYWNlbWVudENoaWxkTm9kZXMpO1xuICB9XG5cbiAgYXBwZW5kQ2hpbGROb2RlKGFwcGVuZGVkQ2hpbGROb2RlKSB7XG4gICAgY29uc3QgYXBwZW5kZWRDaGlsZE5vZGVzID0gW1xuICAgICAgYXBwZW5kZWRDaGlsZE5vZGVcbiAgICBdO1xuXG4gICAgdGhpcy5hcHBlbmRDaGlsZE5vZGVzKGFwcGVuZGVkQ2hpbGROb2Rlcyk7XG4gIH1cblxuICBhcHBlbmRDaGlsZE5vZGVzKGFwcGVuZGVkQ2hpbGROb2Rlcykge1xuICAgIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IGFwcGVuZGVkQ2hpbGROb2RlcywgLy8vXG4gICAgICAgICAgbXVsdGlwbGljaXR5ID0gdGhpcy5nZXRNdWx0aXBsaWNpdHkoKSxcbiAgICAgICAgICBzdGFydEluZGV4ID0gbXVsdGlwbGljaXR5OyAgLy8vXG5cbiAgICB0aGlzLmFkZENoaWxkTm9kZXMoYWRkZWRDaGlsZE5vZGVzLCBzdGFydEluZGV4KTtcbiAgfVxuXG4gIHByZXBlbmRDaGlsZE5vZGUocHJlcGVuZGVkQ2hpbGROb2RlKSB7XG4gICAgY29uc3QgcHJlcGVuZGVkQ2hpbGROb2RlcyA9IFtcbiAgICAgIHByZXBlbmRlZENoaWxkTm9kZVxuICAgIF07XG5cbiAgICB0aGlzLnByZXBlbmRDaGlsZE5vZGVzKHByZXBlbmRlZENoaWxkTm9kZXMpO1xuICB9XG5cbiAgcHJlcGVuZENoaWxkTm9kZXMocHJlcGVuZGVkQ2hpbGROb2Rlcykge1xuICAgIGNvbnN0IGFkZGVkQ2hpbGROb2RlcyA9IHByZXBlbmRlZENoaWxkTm9kZXMsICAvLy9cbiAgICAgICAgICBzdGFydEluZGV4ID0gMDtcblxuICAgIHRoaXMuYWRkQ2hpbGROb2RlcyhhZGRlZENoaWxkTm9kZXMsIHN0YXJ0SW5kZXgpO1xuICB9XG5cbiAgc3BsaWNlQ2hpbGROb2RlcyhzdGFydEluZGV4LCBkZWxldGVDb3VudCwgYWRkZWRDaGlsZE5vZGVzID0gW10pIHtcbiAgICBjb25zdCByZW1vdmVkQ2hpbGROb2RlcyA9IHRoaXMuY2hpbGROb2Rlcy5zcGxpY2Uoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIC4uLmFkZGVkQ2hpbGROb2Rlcyk7XG5cbiAgICB0aGlzLnJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUocmVtb3ZlZENoaWxkTm9kZXMpO1xuXG4gICAgdGhpcy5zZXRDaGlsZE5vZGVzUGFyZW50Tm9kZShhZGRlZENoaWxkTm9kZXMpO1xuXG4gICAgcmV0dXJuIHJlbW92ZWRDaGlsZE5vZGVzO1xuICB9XG5cbiAgc2xpY2VDaGlsZE5vZGVzKHN0YXJ0SW5kZXgsIGVuZEluZGV4ID0gSW5maW5pdHkpIHtcbiAgICBjb25zdCBjaGlsZE5vZGVzID0gdGhpcy5jaGlsZE5vZGVzLnNsaWNlKHN0YXJ0SW5kZXgsIGVuZEluZGV4KTtcblxuICAgIHJldHVybiBjaGlsZE5vZGVzO1xuICB9XG5cbiAgYXNTdHJpbmcoKSB7XG4gICAgbGV0IHN0cmluZyA9IEVNUFRZX1NUUklORztcblxuICAgIGlmICh0aGlzLm91dGVyTm9kZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3Qgbm9kZVRlcm1pbmFsTm9kZSA9IHRoaXMub3V0ZXJOb2RlLmlzVGVybWluYWxOb2RlKCk7XG5cbiAgICAgIGlmIChub2RlVGVybWluYWxOb2RlKSB7XG4gICAgICAgIGNvbnN0IHRlcm1pbmFsTm9kZSA9IHRoaXMub3V0ZXJOb2RlLFxuICAgICAgICAgICAgICB0eXBlID0gdGVybWluYWxOb2RlLmdldFR5cGUoKSxcbiAgICAgICAgICAgICAgY29udGVudCA9IHRlcm1pbmFsTm9kZS5nZXRDb250ZW50KCk7XG5cbiAgICAgICAgc3RyaW5nID0gYFwiJHtjb250ZW50fVwiIFske3R5cGV9XWA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBub25UZXJtaW5hbE5vZGUgPSB0aGlzLm91dGVyTm9kZSxcbiAgICAgICAgICAgICAgcnVsZU5hbWUgPSBub25UZXJtaW5hbE5vZGUuZ2V0UnVsZU5hbWUoKTtcblxuICAgICAgICBzdHJpbmcgPSBydWxlTmFtZTsgIC8vL1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cblxuICBhc1BhcnNlVHJlZSgpIHtcbiAgICBjb25zdCBub2RlID0gdGhpcywgIC8vL1xuICAgICAgICAgIG5vZGVQYXJzZVRyZWUgPSBOb2RlUGFyc2VUcmVlLmZyb21Ob2RlKG5vZGUpLFxuICAgICAgICAgIHBhcnNlVHJlZSA9IG5vZGVQYXJzZVRyZWU7ICAvLy9cblxuICAgIHJldHVybiBwYXJzZVRyZWU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU5vdGhpbmcoQ2xhc3MpIHtcbiAgICBpZiAoQ2xhc3MgPT09IHVuZGVmaW5lZCkge1xuICAgICAgQ2xhc3MgPSBOb2RlOyAvLy9cbiAgICB9XG5cbiAgICBjb25zdCBvdXRlck5vZGUgPSBudWxsLFxuICAgICAgICAgIHBhcmVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGNoaWxkTm9kZXMgPSBbXSxcbiAgICAgICAgICBub2RlID0gbmV3IENsYXNzKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcyk7XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tT3V0ZXJOb2RlKENsYXNzLCBvdXRlck5vZGUpIHtcbiAgICBpZiAob3V0ZXJOb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIG91dGVyTm9kZSA9IENsYXNzOyAgLy8vXG5cbiAgICAgIENsYXNzID0gTm9kZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW50Tm9kZSA9IG51bGwsXG4gICAgICAgICAgY2hpbGROb2RlcyA9IFtdLFxuICAgICAgICAgIG5vZGUgPSBuZXcgQ2xhc3Mob3V0ZXJOb2RlLCBwYXJlbnROb2RlLCBjaGlsZE5vZGVzKTtcblxuICAgIHJldHVybiBub2RlO1xuICB9XG59XG4iXSwibmFtZXMiOlsiTm9kZSIsIm91dGVyTm9kZSIsInBhcmVudE5vZGUiLCJjaGlsZE5vZGVzIiwiZ2V0T3V0ZXJOb2RlIiwiZ2V0UGFyZW50Tm9kZSIsImdldENoaWxkTm9kZXMiLCJzZXRPdXRlck5vZGUiLCJzZXRQYXJlbnROb2RlIiwic2V0Q2hpbGROb2RlcyIsImdldE11bHRpcGxpY2l0eSIsImNoaWxkTm9kZXNMZW5ndGgiLCJsZW5ndGgiLCJtdWx0aXBsaWNpdHkiLCJtYXBDaGlsZE5vZGUiLCJjYWxsYmFjayIsIm1hcCIsInNvbWVDaGlsZE5vZGUiLCJzb21lIiwiZmluZENoaWxkTm9kZSIsImZpbmQiLCJldmVyeUNoaWxkTm9kZSIsImV2ZXJ5IiwiZmlsdGVyQ2hpbGROb2RlIiwiZmlsdGVyIiwicmVkdWNlQ2hpbGROb2RlIiwiaW5pdGlhbFZhbHVlIiwicmVkdWNlIiwiZm9yRWFjaENoaWxkTm9kZSIsImZvckVhY2giLCJzZXRDaGlsZE5vZGVzUGFyZW50Tm9kZSIsInVuZGVmaW5lZCIsImNoaWxkTm9kZSIsInJlc2V0Q2hpbGROb2Rlc1BhcmVudE5vZGUiLCJhZGRDaGlsZE5vZGUiLCJhZGRlZENoaWxkTm9kZSIsInN0YXJ0SW5kZXgiLCJhZGRlZENoaWxkTm9kZXMiLCJhZGRDaGlsZE5vZGVzIiwiZGVsZXRlQ291bnQiLCJzcGxpY2VDaGlsZE5vZGVzIiwicmVtb3ZlQ2hpbGROb2RlIiwicmVtb3ZlZENoaWxkTm9kZSIsInJlbW92ZWRDaGlsZE5vZGVzIiwicmVtb3ZlQ2hpbGROb2RlcyIsInJlbW92ZWRDaGlsZE5vZGVzTGVuZ3RoIiwiZmlyc3RSZXBsYWNlZENoaWxkTm9kZSIsImZpcnN0IiwiZmlyc3RJbmRleCIsImluZGV4T2YiLCJyZXBsYWNlQ2hpbGROb2RlIiwicmVwbGFjZWRDaGlsZE5vZGUiLCJyZXBsYWNlbWVudENoaWxkTm9kZXMiLCJyZXBsYWNlZENoaWxkTm9kZXMiLCJyZXBsYWNlQ2hpbGROb2RlcyIsInJlcGxhY2VkQ2hpbGROb2Rlc0xlbmd0aCIsImFwcGVuZENoaWxkTm9kZSIsImFwcGVuZGVkQ2hpbGROb2RlIiwiYXBwZW5kZWRDaGlsZE5vZGVzIiwiYXBwZW5kQ2hpbGROb2RlcyIsInByZXBlbmRDaGlsZE5vZGUiLCJwcmVwZW5kZWRDaGlsZE5vZGUiLCJwcmVwZW5kZWRDaGlsZE5vZGVzIiwicHJlcGVuZENoaWxkTm9kZXMiLCJzcGxpY2UiLCJzbGljZUNoaWxkTm9kZXMiLCJlbmRJbmRleCIsIkluZmluaXR5Iiwic2xpY2UiLCJhc1N0cmluZyIsInN0cmluZyIsIkVNUFRZX1NUUklORyIsIm5vZGVUZXJtaW5hbE5vZGUiLCJpc1Rlcm1pbmFsTm9kZSIsInRlcm1pbmFsTm9kZSIsInR5cGUiLCJnZXRUeXBlIiwiY29udGVudCIsImdldENvbnRlbnQiLCJub25UZXJtaW5hbE5vZGUiLCJydWxlTmFtZSIsImdldFJ1bGVOYW1lIiwiYXNQYXJzZVRyZWUiLCJub2RlIiwibm9kZVBhcnNlVHJlZSIsIk5vZGVQYXJzZVRyZWUiLCJmcm9tTm9kZSIsInBhcnNlVHJlZSIsImZyb21Ob3RoaW5nIiwiQ2xhc3MiLCJmcm9tT3V0ZXJOb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztlQU1xQkE7OzsyREFKSzt5QkFFRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFZCxJQUFBLEFBQU1BLHFCQUFOO2FBQU1BLEtBQ1BDLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxVQUFVO2dDQUQxQkg7UUFFakIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBO1FBQ2pCLElBQUksQ0FB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
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ub2RlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgTm9kZVBhcnNlVHJlZSBmcm9tIFwiLi9wYXJzZVRyZWUvbm9kZVwiO1xuXG5pbXBvcnQgeyBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTm9kZSB7XG4gIGNvbnN0cnVjdG9yKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcykge1xuICAgIHRoaXMub3V0ZXJOb2RlID0gb3V0ZXJOb2RlO1xuICAgIHRoaXMucGFyZW50Tm9kZSA9IHBhcmVudE5vZGU7XG4gICAgdGhpcy5jaGlsZE5vZGVzID0gY2hpbGROb2RlcztcbiAgfVxuXG4gIGdldE91dGVyTm9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy5vdXRlck5vZGU7XG4gIH1cblxuICBnZXRQYXJlbnROb2RlKCkge1xuICAgIHJldHVybiB0aGlzLnBhcmVudE5vZGU7XG4gIH1cblxuICBnZXRDaGlsZE5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLmNoaWxkTm9kZXM7XG4gIH1cblxuICBzZXRPdXRlck5vZGUob3V0ZXJOb2RlKSB7XG4gICAgdGhpcy5vdXRlck5vZGUgPSBvdXRlck5vZGU7XG4gIH1cblxuICBzZXRQYXJlbnROb2RlKHBhcmVudE5vZGUpIHtcbiAgICB0aGlzLnBhcmVudE5vZGUgPSBwYXJlbnROb2RlO1xuICB9XG5cbiAgc2V0Q2hpbGROb2RlcyhjaGlsZE5vZGVzKSB7XG4gICAgY29uc3Qgc3RhcnRJbmRleCA9IDAsXG4gICAgICAgICAgZGVsZXRlQ291bnQgPSBJbmZpbml0eSxcbiAgICAgICAgICBhZGRlZENoaWxkTm9kZXMgPSBjaGlsZE5vZGVzOyAgLy8vXG5cbiAgICB0aGlzLnNwbGljZUNoaWxkTm9kZXMoc3RhcnRJbmRleCwgZGVsZXRlQ291bnQsIGFkZGVkQ2hpbGROb2Rlcyk7XG4gIH1cblxuICBkZXN0cm95KCkge1xuICAgIHRoaXMub3V0ZXJOb2RlID0gbnVsbDtcblxuICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgfVxuXG4gIGFzU3RyaW5nKCkge1xuICAgIGxldCBzdHJpbmcgPSBFTVBUWV9TVFJJTkc7XG5cbiAgICBpZiAodGhpcy5vdXRlck5vZGUgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IG5vZGVUZXJtaW5hbE5vZGUgPSB0aGlzLm91dGVyTm9kZS5pc1Rlcm1pbmFsTm9kZSgpO1xuXG4gICAgICBpZiAobm9kZVRlcm1pbmFsTm9kZSkge1xuICAgICAgICBjb25zdCB0ZXJtaW5hbE5vZGUgPSB0aGlzLm91dGVyTm9kZSxcbiAgICAgICAgICAgICAgdHlwZSA9IHRlcm1pbmFsTm9kZS5nZXRUeXBlKCksXG4gICAgICAgICAgICAgIGNvbnRlbnQgPSB0ZXJtaW5hbE5vZGUuZ2V0Q29udGVudCgpO1xuXG4gICAgICAgIHN0cmluZyA9IGBcIiR7Y29udGVudH1cIiBbJHt0eXBlfV1gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgbm9uVGVybWluYWxOb2RlID0gdGhpcy5vdXRlck5vZGUsXG4gICAgICAgICAgICAgIHJ1bGVOYW1lID0gbm9uVGVybWluYWxOb2RlLmdldFJ1bGVOYW1lKCk7XG5cbiAgICAgICAgc3RyaW5nID0gcnVsZU5hbWU7ICAvLy9cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG5cbiAgYXNQYXJzZVRyZWUoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMsICAvLy9cbiAgICAgICAgICBub2RlUGFyc2VUcmVlID0gTm9kZVBhcnNlVHJlZS5mcm9tTm9kZShub2RlKSxcbiAgICAgICAgICBwYXJzZVRyZWUgPSBub2RlUGFyc2VUcmVlOyAgLy8vXG5cbiAgICByZXR1cm4gcGFyc2VUcmVlO1xuICB9XG5cbiAgc3RhdGljIGZyb21Ob3RoaW5nKENsYXNzKSB7XG4gICAgaWYgKENsYXNzID09PSB1bmRlZmluZWQpIHtcbiAgICAgIENsYXNzID0gTm9kZTsgLy8vXG4gICAgfVxuXG4gICAgY29uc3Qgb3V0ZXJOb2RlID0gbnVsbCxcbiAgICAgICAgICBwYXJlbnROb2RlID0gbnVsbCxcbiAgICAgICAgICBjaGlsZE5vZGVzID0gW10sXG4gICAgICAgICAgbm9kZSA9IG5ldyBDbGFzcyhvdXRlck5vZGUsIHBhcmVudE5vZGUsIGNoaWxkTm9kZXMpO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBzdGF0aWMgZnJvbU91dGVyTm9kZShDbGFzcywgb3V0ZXJOb2RlKSB7XG4gICAgaWYgKG91dGVyTm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBvdXRlck5vZGUgPSBDbGFzczsgIC8vL1xuXG4gICAgICBDbGFzcyA9IE5vZGU7IC8vL1xuICAgIH1cblxuICAgIGNvbnN0IHBhcmVudE5vZGUgPSBudWxsLFxuICAgICAgICAgIGNoaWxkTm9kZXMgPSBbXSxcbiAgICAgICAgICBub2RlID0gbmV3IENsYXNzKG91dGVyTm9kZSwgcGFyZW50Tm9kZSwgY2hpbGROb2Rlcyk7XG5cbiAgICByZXR1cm4gbm9kZTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk5vZGUiLCJvdXRlck5vZGUiLCJwYXJlbnROb2RlIiwiY2hpbGROb2RlcyIsImdldE91dGVyTm9kZSIsImdldFBhcmVudE5vZGUiLCJnZXRDaGlsZE5vZGVzIiwic2V0T3V0ZXJOb2RlIiwic2V0UGFyZW50Tm9kZSIsInNldENoaWxkTm9kZXMiLCJzdGFydEluZGV4IiwiZGVsZXRlQ291bnQiLCJJbmZpbml0eSIsImFkZGVkQ2hpbGROb2RlcyIsInNwbGljZUNoaWxkTm9kZXMiLCJkZXN0cm95IiwiYXNTdHJpbmciLCJzdHJpbmciLCJFTVBUWV9TVFJJTkciLCJub2RlVGVybWluYWxOb2RlIiwiaXNUZXJtaW5hbE5vZGUiLCJ0ZXJtaW5hbE5vZGUiLCJ0eXBlIiwiZ2V0VHlwZSIsImNvbnRlbnQiLCJnZXRDb250ZW50Iiwibm9uVGVybWluYWxOb2RlIiwicnVsZU5hbWUiLCJnZXRSdWxlTmFtZSIsImFzUGFyc2VUcmVlIiwibm9kZSIsIm5vZGVQYXJzZVRyZWUiLCJOb2RlUGFyc2VUcmVlIiwiZnJvbU5vZGUiLCJwYXJzZVRyZWUiLCJmcm9tTm90aGluZyIsIkNsYXNzIiwidW5kZWZpbmVkIiwiZnJvbU91dGVyTm9kZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFNcUJBOzs7MkRBSks7eUJBRUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVkLElBQUEsQUFBTUEscUJBQU47YUFBTUEsS0FDUEMsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFVBQVU7Z0NBRDFCSDtRQUVqQixJQUFJLENBQUNDLFNBQVMsR0FBR0E7UUFDakIsSUFBSSxDQUFDQyxVQUFVLEdBQUdBO1FBQ2xCLElBQUksQ0FBQ0MsVUFBVSxHQUFHQTs7a0JBSkRIOztZQU9uQkksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxTQUFTO1lBQ3ZCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxVQUFVO1lBQ3hCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBO2dCQUNFLE9BQU8sSUFBSSxDQUFDSCxVQUFVO1lBQ3hCOzs7WUFFQUksS0FBQUE7bUJBQUFBLFNBQUFBLGFBQWFOLFNBQVM7Z0JBQ3BCLElBQUksQ0FBQ0EsU0FBUyxHQUFHQTtZQUNuQjs7O1lBRUFPLEtBQUFBO21CQUFBQSxTQUFBQSxjQUFjTixVQUFVO2dCQUN0QixJQUFJLENBQUNBLFVBQVUsR0FBR0E7WUFDcEI7OztZQUVBTyxLQUFBQTttQkFBQUEsU0FBQUEsY0FBY04sVUFBVTtnQkFDdEIsSUFBTU8sYUFBYSxHQUNiQyxjQUFjQyxVQUNkQyxrQkFBa0JWLFlBQWEsR0FBRztnQkFFeEMsSUFBSSxDQUFDVyxnQkFBZ0IsQ0FBQ0osWUFBWUMsYUFBYUU7WUFDakQ7OztZQUVBRSxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSSxDQUFDZCxTQUFTLEdBQUc7Z0JBRWpCLHVCQXRDaUJELGlCQXNDWGUsV0FBTixJQUFLO1lBQ1A7OztZQUVBQyxLQUFBQTttQkFBQUEsU0FBQUE7Z0JBQ0UsSUFBSUMsU0FBU0MsdUJBQVk7Z0JBRXpCLElBQUksSUFBSSxDQUFDakIsU0FBUyxLQUFLLE1BQU07b0JBQzNCLElBQU1rQixtQkFBbUIsSUFBSSxDQUFDbEIsU0FBUyxDQUFDbUIsY0FBYztvQkFFdEQsSUFBSUQsa0JBQWtCO3dCQUNwQixJQUFNRSxlQUFlLElBQUksQ0FBQ3BCLFNBQVMsRUFDN0JxQixPQUFPRCxhQUFhRSxPQUFPLElBQzNCQyxVQUFVSCxhQUFhSSxVQUFVO3dCQUV2Q1IsU0FBUyxBQUFDLElBQWdCSyxPQUFiRSxTQUFRLE9BQVUsT0FBTEYsTUFBSztvQkFDakMsT0FBTzt3QkFDTCxJQUFNSSxrQkFBa0IsSUFBSSxDQUFDekIsU0FBUyxFQUNoQzBCLFdBQVdELGdCQUFnQkUsV0FBVzt3QkFFNUNYLFNBQVNVLFVBQVcsR0FBRztvQkFDekI7Z0JBQ0Y7Z0JBRUEsT0FBT1Y7WUFDVDs7O1lBRUFZLEtBQUFBO21CQUFBQSxTQUFBQTtnQkFDRSxJQUFNQyxPQUFPLElBQUksRUFDWEMsZ0JBQWdCQyxhQUFhLENBQUNDLFFBQVEsQ0FBQ0gsT0FDdkNJLFlBQVlILGVBQWdCLEdBQUc7Z0JBRXJDLE9BQU9HO1lBQ1Q7Ozs7WUFFT0MsS0FBQUE7bUJBQVAsU0FBT0EsWUFBWUMsS0FBSztnQkFDdEIsSUFBSUEsVUFBVUMsV0FBVztvQkFDdkJELFFBMUVlcEMsTUEwRUQsR0FBRztnQkFDbkI7Z0JBRUEsSUFBTUMsWUFBWSxNQUNaQyxhQUFhLE1BQ2JDLGFBQWEsRUFBRSxFQUNmMkIsT0FBTyxJQUFJTSxNQUFNbkMsV0FBV0MsWUFBWUM7Z0JBRTlDLE9BQU8yQjtZQUNUOzs7WUFFT1EsS0FBQUE7bUJBQVAsU0FBT0EsY0FBY0YsS0FBSyxFQUFFbkMsU0FBUztnQkFDbkMsSUFBSUEsY0FBY29DLFdBQVc7b0JBQzNCcEMsWUFBWW1DLE9BQVEsR0FBRztvQkFFdkJBLFFBekZlcEMsTUF5RkQsR0FBRztnQkFDbkI7Z0JBRUEsSUFBTUUsYUFBYSxNQUNiQyxhQUFhLEVBQUUsRUFDZjJCLE9BQU8sSUFBSU0sTUFBTW5DLFdBQVdDLFlBQVlDO2dCQUU5QyxPQUFPMkI7WUFDVDs7O1dBakdtQjlCIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-dom",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "5.0.
|
|
4
|
+
"version": "5.0.11",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-dom",
|
|
7
7
|
"description": "Occam's DOM related functionality.",
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
"url": "https://github.com/djalbat/occam-dom"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"occam-parsers": "^23.0.
|
|
14
|
-
"occam-query": "^4.1.
|
|
13
|
+
"occam-parsers": "^23.0.117",
|
|
14
|
+
"occam-query": "^4.1.75"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@swc/core": "^1.5.6",
|
|
18
18
|
"easy": "^23.0.1",
|
|
19
|
-
"easy-layout": "^6.0.
|
|
20
|
-
"easy-with-style": "^3.0.
|
|
19
|
+
"easy-layout": "^6.0.235",
|
|
20
|
+
"easy-with-style": "^3.0.474",
|
|
21
21
|
"esbuild": "^0.9.2",
|
|
22
22
|
"express": "^4.17.1",
|
|
23
23
|
"juxtapose": "^4.0.117",
|
package/src/node.js
CHANGED
|
@@ -32,171 +32,17 @@ export default class Node {
|
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
setChildNodes(childNodes) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
getMultiplicity() {
|
|
39
|
-
const childNodesLength = this.childNodes.length,
|
|
40
|
-
multiplicity = childNodesLength; ///
|
|
41
|
-
|
|
42
|
-
return multiplicity;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
mapChildNode(callback) { return this.childNodes.map(callback); }
|
|
46
|
-
|
|
47
|
-
someChildNode(callback) { return this.childNodes.some(callback); }
|
|
48
|
-
|
|
49
|
-
findChildNode(callback) { return this.childNodes.find(callback); }
|
|
50
|
-
|
|
51
|
-
everyChildNode(callback) { return this.childNodes.every(callback); }
|
|
52
|
-
|
|
53
|
-
filterChildNode(callback) { return this.childNodes.filter(callback); }
|
|
54
|
-
|
|
55
|
-
reduceChildNode(callback, initialValue) { return this.childNodes.reduce(callback, initialValue); }
|
|
56
|
-
|
|
57
|
-
forEachChildNode(callback) { this.childNodes.forEach(callback); }
|
|
58
|
-
|
|
59
|
-
setChildNodesParentNode(childNodes) {
|
|
60
|
-
if (childNodes === undefined) {
|
|
61
|
-
childNodes = [
|
|
62
|
-
...this.childNodes
|
|
63
|
-
];
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
const parentNode = this;
|
|
67
|
-
|
|
68
|
-
childNodes.forEach((childNode) => {
|
|
69
|
-
childNode.setParentNode(parentNode);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
resetChildNodesParentNode(childNodes) {
|
|
74
|
-
if (childNodes === undefined) {
|
|
75
|
-
childNodes = [
|
|
76
|
-
...this.childNodes
|
|
77
|
-
];
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
const parentNode = null;
|
|
81
|
-
|
|
82
|
-
childNodes.forEach((childNode) => {
|
|
83
|
-
childNode.setParentNode(parentNode);
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
addChildNode(addedChildNode, startIndex) {
|
|
88
|
-
const addedChildNodes = [
|
|
89
|
-
addedChildNode
|
|
90
|
-
];
|
|
91
|
-
|
|
92
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
addChildNodes(addedChildNodes, startIndex) {
|
|
96
|
-
const deleteCount = 0;
|
|
35
|
+
const startIndex = 0,
|
|
36
|
+
deleteCount = Infinity,
|
|
37
|
+
addedChildNodes = childNodes; ///
|
|
97
38
|
|
|
98
39
|
this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
|
|
99
40
|
}
|
|
100
41
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
removedChildNodes = [
|
|
105
|
-
removedChildNode
|
|
106
|
-
];
|
|
107
|
-
|
|
108
|
-
removedChildNodes = this.removeChildNodes(removedChildNodes);
|
|
109
|
-
|
|
110
|
-
return removedChildNodes;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
removeChildNodes(removedChildNodes) {
|
|
114
|
-
if (removedChildNodes === undefined) {
|
|
115
|
-
removedChildNodes = [
|
|
116
|
-
...this.childNodes
|
|
117
|
-
];
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
const removedChildNodesLength = removedChildNodes.length;
|
|
121
|
-
|
|
122
|
-
if (removedChildNodesLength === 0) {
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
const firstReplacedChildNode = first(removedChildNodes),
|
|
127
|
-
firstIndex = this.childNodes.indexOf(firstReplacedChildNode),
|
|
128
|
-
startIndex = firstIndex, ///
|
|
129
|
-
deleteCount = removedChildNodesLength, ///
|
|
130
|
-
addedChildNodes = [];
|
|
131
|
-
|
|
132
|
-
removedChildNodes = this.spliceChildNodes(startIndex, deleteCount, addedChildNodes);
|
|
133
|
-
|
|
134
|
-
return removedChildNodes;
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
replaceChildNode(replacedChildNode, replacementChildNodes) {
|
|
138
|
-
const replacedChildNodes = [
|
|
139
|
-
replacedChildNode
|
|
140
|
-
];
|
|
141
|
-
|
|
142
|
-
this.replaceChildNodes(replacedChildNodes, replacementChildNodes);
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
replaceChildNodes(replacedChildNodes, replacementChildNodes) {
|
|
146
|
-
const replacedChildNodesLength = replacedChildNodes.length,
|
|
147
|
-
firstReplacedChildNode = first(replacedChildNodes),
|
|
148
|
-
firstIndex = this.childNodes.indexOf(firstReplacedChildNode),
|
|
149
|
-
startIndex = firstIndex, ///
|
|
150
|
-
deleteCount = replacedChildNodesLength; ///
|
|
151
|
-
|
|
152
|
-
this.spliceChildNodes(startIndex, deleteCount, replacementChildNodes);
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
appendChildNode(appendedChildNode) {
|
|
156
|
-
const appendedChildNodes = [
|
|
157
|
-
appendedChildNode
|
|
158
|
-
];
|
|
159
|
-
|
|
160
|
-
this.appendChildNodes(appendedChildNodes);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
appendChildNodes(appendedChildNodes) {
|
|
164
|
-
const addedChildNodes = appendedChildNodes, ///
|
|
165
|
-
multiplicity = this.getMultiplicity(),
|
|
166
|
-
startIndex = multiplicity; ///
|
|
167
|
-
|
|
168
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
prependChildNode(prependedChildNode) {
|
|
172
|
-
const prependedChildNodes = [
|
|
173
|
-
prependedChildNode
|
|
174
|
-
];
|
|
175
|
-
|
|
176
|
-
this.prependChildNodes(prependedChildNodes);
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
prependChildNodes(prependedChildNodes) {
|
|
180
|
-
const addedChildNodes = prependedChildNodes, ///
|
|
181
|
-
startIndex = 0;
|
|
182
|
-
|
|
183
|
-
this.addChildNodes(addedChildNodes, startIndex);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
spliceChildNodes(startIndex, deleteCount, addedChildNodes = []) {
|
|
187
|
-
const removedChildNodes = this.childNodes.splice(startIndex, deleteCount, ...addedChildNodes);
|
|
188
|
-
|
|
189
|
-
this.resetChildNodesParentNode(removedChildNodes);
|
|
190
|
-
|
|
191
|
-
this.setChildNodesParentNode(addedChildNodes);
|
|
192
|
-
|
|
193
|
-
return removedChildNodes;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
sliceChildNodes(startIndex, endIndex = Infinity) {
|
|
197
|
-
const childNodes = this.childNodes.slice(startIndex, endIndex);
|
|
42
|
+
destroy() {
|
|
43
|
+
this.outerNode = null;
|
|
198
44
|
|
|
199
|
-
|
|
45
|
+
super.destroy();
|
|
200
46
|
}
|
|
201
47
|
|
|
202
48
|
asString() {
|