@ethlete/core 0.2.0-next.16 → 0.2.0-next.18
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/esm2020/lib/components/structured-data/structured-data.component.mjs +3 -3
- package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +3 -3
- package/esm2020/lib/directives/cursor-drag-scroll/cursor-drag-scroll.directive.mjs +5 -5
- package/esm2020/lib/directives/let/let.directive.mjs +3 -3
- package/esm2020/lib/directives/observe-content/observe-content.directive.mjs +3 -3
- package/esm2020/lib/directives/observe-resize/observe-resize.directive.mjs +3 -3
- package/esm2020/lib/directives/observe-scroll-state/observe-scroll-state.directive.mjs +5 -5
- package/esm2020/lib/directives/repeat/repeat.directive.mjs +3 -3
- package/esm2020/lib/directives/scroll-observer-first-element/scroll-observer-first-element.directive.mjs +3 -3
- package/esm2020/lib/directives/scroll-observer-ignore-target/scroll-observer-ignore-target.directive.mjs +3 -3
- package/esm2020/lib/directives/scroll-observer-last-element/scroll-observer-last-element.directive.mjs +3 -3
- package/esm2020/lib/directives/seo/seo.directive.mjs +3 -3
- package/esm2020/lib/pipes/normalize-game-result-type/normalize-game-result-type.pipe.mjs +3 -3
- package/esm2020/lib/pipes/normalize-match-participants/normalize-match-participants.pipe.mjs +3 -3
- package/esm2020/lib/pipes/normalize-match-score/normalize-match-score.pipe.mjs +3 -3
- package/esm2020/lib/pipes/normalize-match-state/normalize-match-state.pipe.mjs +3 -3
- package/esm2020/lib/pipes/normalize-match-type/normalize-match-type.pipe.mjs +3 -3
- package/esm2020/lib/pipes/to-array/to-array.pipe.mjs +3 -3
- package/esm2020/lib/services/click-observer.service.mjs +6 -6
- package/esm2020/lib/services/content-observer.service.mjs +6 -6
- package/esm2020/lib/services/destroy.service.mjs +3 -3
- package/esm2020/lib/services/focus-visible.service.mjs +3 -3
- package/esm2020/lib/services/resize-observer.service.mjs +6 -6
- package/esm2020/lib/services/viewport.service.mjs +3 -3
- package/esm2020/lib/types/angular.types.mjs +4 -1
- package/esm2020/lib/utils/clone.util.mjs +78 -0
- package/esm2020/lib/utils/equal.util.mjs +118 -0
- package/esm2020/lib/utils/public-api.mjs +3 -1
- package/esm2020/lib/utils/reactive-binding.util.mjs +2 -2
- package/fesm2015/ethlete-core.mjs +284 -85
- package/fesm2015/ethlete-core.mjs.map +1 -1
- package/fesm2020/ethlete-core.mjs +284 -85
- package/fesm2020/ethlete-core.mjs.map +1 -1
- package/lib/types/angular.types.d.ts +1 -0
- package/lib/utils/clone.util.d.ts +15 -0
- package/lib/utils/equal.util.d.ts +27 -0
- package/lib/utils/public-api.d.ts +2 -0
- package/package.json +3 -3
|
@@ -28,6 +28,9 @@ export class TypedQueryList extends QueryList {
|
|
|
28
28
|
some(fn) {
|
|
29
29
|
return super.some(fn);
|
|
30
30
|
}
|
|
31
|
+
find(fn) {
|
|
32
|
+
return super.find(fn);
|
|
33
|
+
}
|
|
31
34
|
}
|
|
32
35
|
_a = Symbol.iterator;
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3R5cGVzL2FuZ3VsYXIudHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFjMUMsTUFBTSxPQUFPLGNBQWtCLFNBQVEsU0FBd0I7SUFBL0Q7O1FBQ1csUUFBaUIsR0FBc0IsR0FBRyxFQUFFO1lBQ25ELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBaUIsQ0FBQztRQUNqRCxDQUFDLENBQUM7SUF1Q0osQ0FBQztJQXJDQyxJQUFhLE9BQU87UUFDbEIsT0FBTyxLQUFLLENBQUMsT0FBd0MsQ0FBQztJQUN4RCxDQUFDO0lBRVEsT0FBTztRQUNkLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBUyxDQUFDO0lBQ2hDLENBQUM7SUFFUSxPQUFPLENBQUMsRUFBZ0Q7UUFDL0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUE0RSxDQUFDLENBQUM7SUFDOUYsQ0FBQztJQUVRLE1BQU0sQ0FBQyxFQUFtRDtRQUNqRSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBK0UsQ0FBUSxDQUFDO0lBQzlHLENBQUM7SUFFUSxHQUFHLENBQUksRUFBNkM7UUFDM0QsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQXlFLENBQUMsQ0FBQztJQUM5RixDQUFDO0lBRVEsTUFBTSxDQUNiLEVBQThFLEVBQzlFLFlBQWU7UUFFZixPQUFPLEtBQUssQ0FBQyxNQUFNLENBQ2pCLEVBQTBHLEVBQzFHLFlBQVksQ0FDYixDQUFDO0lBQ0osQ0FBQztJQUVRLElBQUksQ0FBQyxFQUFvRDtRQUNoRSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBZ0YsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7SUFFUSxJQUFJLENBQUMsRUFBb0Q7UUFDaEUsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQWdGLENBQUMsQ0FBQztJQUN0RyxDQUFDO0NBQ0Y7S0F6Q1csTUFBTSxDQUFDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWVyeUxpc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IHR5cGUgTmdDbGFzc1R5cGUgPVxuICB8IHN0cmluZ1xuICB8IHN0cmluZ1tdXG4gIHwgU2V0PHN0cmluZz5cbiAgfCB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgICAgW2tsYXNzOiBzdHJpbmddOiBhbnk7XG4gICAgfVxuICB8IG51bGxcbiAgfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjbGFzcyBUeXBlZFF1ZXJ5TGlzdDxUPiBleHRlbmRzIFF1ZXJ5TGlzdDxUIHwgdW5kZWZpbmVkPiB7XG4gIG92ZXJyaWRlIFtTeW1ib2wuaXRlcmF0b3JdOiAoKSA9PiBJdGVyYXRvcjxUPiA9ICgpID0+IHtcbiAgICByZXR1cm4gc3VwZXJbU3ltYm9sLml0ZXJhdG9yXSgpIGFzIEl0ZXJhdG9yPFQ+O1xuICB9O1xuXG4gIG92ZXJyaWRlIGdldCBjaGFuZ2VzKCk6IE9ic2VydmFibGU8VHlwZWRRdWVyeUxpc3Q8VD4+IHtcbiAgICByZXR1cm4gc3VwZXIuY2hhbmdlcyBhcyBPYnNlcnZhYmxlPFR5cGVkUXVlcnlMaXN0PFQ+PjtcbiAgfVxuXG4gIG92ZXJyaWRlIHRvQXJyYXkoKTogVFtdIHtcbiAgICByZXR1cm4gc3VwZXIudG9BcnJheSgpIGFzIFRbXTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvckVhY2goZm46IChpdGVtOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgc3VwZXIuZm9yRWFjaChmbiBhcyAoaXRlbTogVCB8IHVuZGVmaW5lZCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IChUIHwgdW5kZWZpbmVkKVtdKSA9PiB2b2lkKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZpbHRlcihmbjogKGl0ZW06IFQsIGluZGV4OiBudW1iZXIsIGFycmF5OiBUW10pID0+IGJvb2xlYW4pOiBUW10ge1xuICAgIHJldHVybiBzdXBlci5maWx0ZXIoZm4gYXMgKGl0ZW06IFQgfCB1bmRlZmluZWQsIGluZGV4OiBudW1iZXIsIGFycmF5OiAoVCB8IHVuZGVmaW5lZClbXSkgPT4gYm9vbGVhbikgYXMgVFtdO1xuICB9XG5cbiAgb3ZlcnJpZGUgbWFwPFU+KGZuOiAoaXRlbTogVCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IFRbXSkgPT4gVSk6IFVbXSB7XG4gICAgcmV0dXJuIHN1cGVyLm1hcChmbiBhcyAoaXRlbTogVCB8IHVuZGVmaW5lZCwgaW5kZXg6IG51bWJlciwgYXJyYXk6IChUIHwgdW5kZWZpbmVkKVtdKSA9PiBVKTtcbiAgfVxuXG4gIG92ZXJyaWRlIHJlZHVjZTxVPihcbiAgICBmbjogKHByZXZpb3VzVmFsdWU6IFUsIGN1cnJlbnRWYWx1ZTogVCwgY3VycmVudEluZGV4OiBudW1iZXIsIGFycmF5OiBUW10pID0+IFUsXG4gICAgaW5pdGlhbFZhbHVlOiBVLFxuICApOiBVIHtcbiAgICByZXR1cm4gc3VwZXIucmVkdWNlKFxuICAgICAgZm4gYXMgKHByZXZpb3VzVmFsdWU6IFUsIGN1cnJlbnRWYWx1ZTogVCB8IHVuZGVmaW5lZCwgY3VycmVudEluZGV4OiBudW1iZXIsIGFycmF5OiAoVCB8IHVuZGVmaW5lZClbXSkgPT4gVSxcbiAgICAgIGluaXRpYWxWYWx1ZSxcbiAgICApO1xuICB9XG5cbiAgb3ZlcnJpZGUgc29tZShmbjogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHN1cGVyLnNvbWUoZm4gYXMgKHZhbHVlOiBUIHwgdW5kZWZpbmVkLCBpbmRleDogbnVtYmVyLCBhcnJheTogKFQgfCB1bmRlZmluZWQpW10pID0+IGJvb2xlYW4pO1xuICB9XG5cbiAgb3ZlcnJpZGUgZmluZChmbjogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBhcnJheTogVFtdKSA9PiBib29sZWFuKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHN1cGVyLmZpbmQoZm4gYXMgKHZhbHVlOiBUIHwgdW5kZWZpbmVkLCBpbmRleDogbnVtYmVyLCBhcnJheTogKFQgfCB1bmRlZmluZWQpW10pID0+IGJvb2xlYW4pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable no-var */
|
|
3
|
+
/**
|
|
4
|
+
* Stolen from klona to avoid adding a dependency
|
|
5
|
+
* https://github.com/lukeed/klona
|
|
6
|
+
*
|
|
7
|
+
* MIT License
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
10
|
+
*
|
|
11
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
|
12
|
+
*
|
|
13
|
+
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
|
14
|
+
*
|
|
15
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
16
|
+
*/
|
|
17
|
+
const set = (obj, key, val) => {
|
|
18
|
+
if (typeof val.value === 'object')
|
|
19
|
+
val.value = clone(val.value);
|
|
20
|
+
if (!val.enumerable || val.get || val.set || !val.configurable || !val.writable || key === '__proto__') {
|
|
21
|
+
Object.defineProperty(obj, key, val);
|
|
22
|
+
}
|
|
23
|
+
else
|
|
24
|
+
obj[key] = val.value;
|
|
25
|
+
};
|
|
26
|
+
export const clone = (y) => {
|
|
27
|
+
if (typeof x !== 'object')
|
|
28
|
+
return x;
|
|
29
|
+
var x = y;
|
|
30
|
+
var i = 0, k, list, tmp, str = Object.prototype.toString.call(x);
|
|
31
|
+
if (str === '[object Object]') {
|
|
32
|
+
tmp = Object.create(x.__proto__ || null);
|
|
33
|
+
}
|
|
34
|
+
else if (str === '[object Array]') {
|
|
35
|
+
tmp = Array(x.length);
|
|
36
|
+
}
|
|
37
|
+
else if (str === '[object Set]') {
|
|
38
|
+
tmp = new Set();
|
|
39
|
+
x.forEach(function (val) {
|
|
40
|
+
tmp.add(clone(val));
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
else if (str === '[object Map]') {
|
|
44
|
+
tmp = new Map();
|
|
45
|
+
x.forEach(function (val, key) {
|
|
46
|
+
tmp.set(clone(key), clone(val));
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
else if (str === '[object Date]') {
|
|
50
|
+
tmp = new Date(+x);
|
|
51
|
+
}
|
|
52
|
+
else if (str === '[object RegExp]') {
|
|
53
|
+
tmp = new RegExp(x.source, x.flags);
|
|
54
|
+
}
|
|
55
|
+
else if (str === '[object DataView]') {
|
|
56
|
+
tmp = new x.constructor(clone(x.buffer));
|
|
57
|
+
}
|
|
58
|
+
else if (str === '[object ArrayBuffer]') {
|
|
59
|
+
tmp = x.slice(0);
|
|
60
|
+
}
|
|
61
|
+
else if (str.slice(-6) === 'Array]') {
|
|
62
|
+
// ArrayBuffer.isView(x)
|
|
63
|
+
// ~> `new` bcuz `Buffer.slice` => ref
|
|
64
|
+
tmp = new x.constructor(x);
|
|
65
|
+
}
|
|
66
|
+
if (tmp) {
|
|
67
|
+
for (list = Object.getOwnPropertySymbols(x); i < list.length; i++) {
|
|
68
|
+
set(tmp, list[i], Object.getOwnPropertyDescriptor(x, list[i]));
|
|
69
|
+
}
|
|
70
|
+
for (i = 0, list = Object.getOwnPropertyNames(x); i < list.length; i++) {
|
|
71
|
+
if (Object.hasOwnProperty.call(tmp, (k = list[i])) && tmp[k] === x[k])
|
|
72
|
+
continue;
|
|
73
|
+
set(tmp, k, Object.getOwnPropertyDescriptor(x, k));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return tmp || x;
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmUudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2Nsb25lLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELDJCQUEyQjtBQUMzQjs7Ozs7Ozs7Ozs7OztHQWFHO0FBRUgsTUFBTSxHQUFHLEdBQUcsQ0FBQyxHQUFRLEVBQUUsR0FBUSxFQUFFLEdBQVEsRUFBRSxFQUFFO0lBQzNDLElBQUksT0FBTyxHQUFHLENBQUMsS0FBSyxLQUFLLFFBQVE7UUFBRSxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRTtRQUN0RyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7S0FDdEM7O1FBQU0sR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUM7QUFDOUIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUksQ0FBSSxFQUFLLEVBQUU7SUFDbEMsSUFBSSxPQUFPLENBQUMsS0FBSyxRQUFRO1FBQUUsT0FBTyxDQUFDLENBQUM7SUFFcEMsSUFBSSxDQUFDLEdBQUcsQ0FBUSxDQUFDO0lBRWpCLElBQUksQ0FBQyxHQUFHLENBQUMsRUFDUCxDQUFDLEVBQ0QsSUFBSSxFQUNKLEdBQVEsRUFDUixHQUFHLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRTFDLElB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Q0FBQztBQUNsQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby12YXIgKi9cbi8qKlxuICogU3RvbGVuIGZyb20ga2xvbmEgdG8gYXZvaWQgYWRkaW5nIGEgZGVwZW5kZW5jeVxuICogaHR0cHM6Ly9naXRodWIuY29tL2x1a2VlZC9rbG9uYVxuICpcbiAqIE1JVCBMaWNlbnNlXG4gKlxuICogQ29weXJpZ2h0IChjKSBMdWtlIEVkd2FyZHMgPGx1a2UuZWR3YXJkczA1QGdtYWlsLmNvbT4gKGx1a2VlZC5jb20pXG4gKlxuICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcbiAqXG4gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbiAqXG4gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cbiAqL1xuXG5jb25zdCBzZXQgPSAob2JqOiBhbnksIGtleTogYW55LCB2YWw6IGFueSkgPT4ge1xuICBpZiAodHlwZW9mIHZhbC52YWx1ZSA9PT0gJ29iamVjdCcpIHZhbC52YWx1ZSA9IGNsb25lKHZhbC52YWx1ZSk7XG4gIGlmICghdmFsLmVudW1lcmFibGUgfHwgdmFsLmdldCB8fCB2YWwuc2V0IHx8ICF2YWwuY29uZmlndXJhYmxlIHx8ICF2YWwud3JpdGFibGUgfHwga2V5ID09PSAnX19wcm90b19fJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsKTtcbiAgfSBlbHNlIG9ialtrZXldID0gdmFsLnZhbHVlO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsb25lID0gPFQ+KHk6IFQpOiBUID0+IHtcbiAgaWYgKHR5cGVvZiB4ICE9PSAnb2JqZWN0JykgcmV0dXJuIHg7XG5cbiAgdmFyIHggPSB5IGFzIGFueTtcblxuICB2YXIgaSA9IDAsXG4gICAgayxcbiAgICBsaXN0LFxuICAgIHRtcDogYW55LFxuICAgIHN0ciA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh4KTtcblxuICBpZiAoc3RyID09PSAnW29iamVjdCBPYmplY3RdJykge1xuICAgIHRtcCA9IE9iamVjdC5jcmVhdGUoeC5fX3Byb3RvX18gfHwgbnVsbCk7XG4gIH0gZWxzZSBpZiAoc3RyID09PSAnW29iamVjdCBBcnJheV0nKSB7XG4gICAgdG1wID0gQXJyYXkoeC5sZW5ndGgpO1xuICB9IGVsc2UgaWYgKHN0ciA9PT0gJ1tvYmplY3QgU2V0XScpIHtcbiAgICB0bXAgPSBuZXcgU2V0KCk7XG4gICAgeC5mb3JFYWNoKGZ1bmN0aW9uICh2YWw6IGFueSkge1xuICAgICAgdG1wLmFkZChjbG9uZSh2YWwpKTtcbiAgICB9KTtcbiAgfSBlbHNlIGlmIChzdHIgPT09ICdbb2JqZWN0IE1hcF0nKSB7XG4gICAgdG1wID0gbmV3IE1hcCgpO1xuICAgIHguZm9yRWFjaChmdW5jdGlvbiAodmFsOiBhbnksIGtleTogYW55KSB7XG4gICAgICB0bXAuc2V0KGNsb25lKGtleSksIGNsb25lKHZhbCkpO1xuICAgIH0pO1xuICB9IGVsc2UgaWYgKHN0ciA9PT0gJ1tvYmplY3QgRGF0ZV0nKSB7XG4gICAgdG1wID0gbmV3IERhdGUoK3gpO1xuICB9IGVsc2UgaWYgKHN0ciA9PT0gJ1tvYmplY3QgUmVnRXhwXScpIHtcbiAgICB0bXAgPSBuZXcgUmVnRXhwKHguc291cmNlLCB4LmZsYWdzKTtcbiAgfSBlbHNlIGlmIChzdHIgPT09ICdbb2JqZWN0IERhdGFWaWV3XScpIHtcbiAgICB0bXAgPSBuZXcgeC5jb25zdHJ1Y3RvcihjbG9uZSh4LmJ1ZmZlcikpO1xuICB9IGVsc2UgaWYgKHN0ciA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJykge1xuICAgIHRtcCA9IHguc2xpY2UoMCk7XG4gIH0gZWxzZSBpZiAoc3RyLnNsaWNlKC02KSA9PT0gJ0FycmF5XScpIHtcbiAgICAvLyBBcnJheUJ1ZmZlci5pc1ZpZXcoeClcbiAgICAvLyB+PiBgbmV3YCBiY3V6IGBCdWZmZXIuc2xpY2VgID0+IHJlZlxuICAgIHRtcCA9IG5ldyB4LmNvbnN0cnVjdG9yKHgpO1xuICB9XG5cbiAgaWYgKHRtcCkge1xuICAgIGZvciAobGlzdCA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoeCk7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBzZXQodG1wLCBsaXN0W2ldLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHgsIGxpc3RbaV0pKTtcbiAgICB9XG5cbiAgICBmb3IgKGkgPSAwLCBsaXN0ID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoeCk7IGkgPCBsaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodG1wLCAoayA9IGxpc3RbaV0pKSAmJiB0bXBba10gPT09IHhba10pIGNvbnRpbnVlO1xuICAgICAgc2V0KHRtcCwgaywgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih4LCBrKSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRtcCB8fCB4O1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
+
/* eslint-disable no-var */
|
|
3
|
+
/**
|
|
4
|
+
* Stolen from dequal to avoid adding a dependency
|
|
5
|
+
* https://github.com/lukeed/dequal
|
|
6
|
+
*
|
|
7
|
+
* The MIT License (MIT)
|
|
8
|
+
*
|
|
9
|
+
* Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)
|
|
10
|
+
*
|
|
11
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
13
|
+
* in the Software without restriction, including without limitation the rights
|
|
14
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
15
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
16
|
+
* furnished to do so, subject to the following conditions:
|
|
17
|
+
*
|
|
18
|
+
* The above copyright notice and this permission notice shall be included in
|
|
19
|
+
* all copies or substantial portions of the Software.
|
|
20
|
+
*
|
|
21
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
22
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
23
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
24
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
25
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
26
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
27
|
+
* THE SOFTWARE.
|
|
28
|
+
*/
|
|
29
|
+
const has = Object.prototype.hasOwnProperty;
|
|
30
|
+
function find(iter, tar, key) {
|
|
31
|
+
for (key of iter.keys()) {
|
|
32
|
+
if (equal(key, tar))
|
|
33
|
+
return key;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
export const equal = (foo, bar) => {
|
|
37
|
+
var ctor, len, tmp;
|
|
38
|
+
if (foo === bar)
|
|
39
|
+
return true;
|
|
40
|
+
if (foo && bar && (ctor = foo.constructor) === bar.constructor) {
|
|
41
|
+
if (ctor === Date)
|
|
42
|
+
return foo.getTime() === bar.getTime();
|
|
43
|
+
if (ctor === RegExp)
|
|
44
|
+
return foo.toString() === bar.toString();
|
|
45
|
+
if (ctor === Array) {
|
|
46
|
+
if ((len = foo.length) === bar.length) {
|
|
47
|
+
while (len-- && equal(foo[len], bar[len]))
|
|
48
|
+
;
|
|
49
|
+
}
|
|
50
|
+
return len === -1;
|
|
51
|
+
}
|
|
52
|
+
if (ctor === Set) {
|
|
53
|
+
if (foo.size !== bar.size) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
for (len of foo) {
|
|
57
|
+
tmp = len;
|
|
58
|
+
if (tmp && typeof tmp === 'object') {
|
|
59
|
+
tmp = find(bar, tmp);
|
|
60
|
+
if (!tmp)
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
if (!bar.has(tmp))
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
if (ctor === Map) {
|
|
69
|
+
if (foo.size !== bar.size) {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
for (len of foo) {
|
|
73
|
+
tmp = len[0];
|
|
74
|
+
if (tmp && typeof tmp === 'object') {
|
|
75
|
+
tmp = find(bar, tmp);
|
|
76
|
+
if (!tmp)
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (!equal(len[1], bar.get(tmp))) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
if (ctor === ArrayBuffer) {
|
|
86
|
+
foo = new Uint8Array(foo);
|
|
87
|
+
bar = new Uint8Array(bar);
|
|
88
|
+
}
|
|
89
|
+
else if (ctor === DataView) {
|
|
90
|
+
if ((len = foo.byteLength) === bar.byteLength) {
|
|
91
|
+
while (len-- && foo.getInt8(len) === bar.getInt8(len))
|
|
92
|
+
;
|
|
93
|
+
}
|
|
94
|
+
return len === -1;
|
|
95
|
+
}
|
|
96
|
+
if (ArrayBuffer.isView(foo)) {
|
|
97
|
+
if ((len = foo.byteLength) === bar.byteLength) {
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
99
|
+
//@ts-ignore
|
|
100
|
+
while (len-- && foo[len] === bar[len])
|
|
101
|
+
;
|
|
102
|
+
}
|
|
103
|
+
return len === -1;
|
|
104
|
+
}
|
|
105
|
+
if (!ctor || typeof foo === 'object') {
|
|
106
|
+
len = 0;
|
|
107
|
+
for (ctor in foo) {
|
|
108
|
+
if (has.call(foo, ctor) && ++len && !has.call(bar, ctor))
|
|
109
|
+
return false;
|
|
110
|
+
if (!(ctor in bar) || !equal(foo[ctor], bar[ctor]))
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
return Object.keys(bar).length === len;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
return foo !== foo && bar !== bar;
|
|
117
|
+
};
|
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWwudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2VxdWFsLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELDJCQUEyQjtBQUMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlCRztBQUVILE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBRTVDLFNBQVMsSUFBSSxDQUFDLElBQVMsRUFBRSxHQUFRLEVBQUUsR0FBUztJQUMxQyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7UUFDdkIsSUFBSSxLQUFLLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQztZQUFFLE9BQU8sR0FBRyxDQUFDO0tBQ2pDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLEtBQUssR0FBRyxDQUFDLEdBQVEsRUFBRSxHQUFRLEVBQUUsRUFBRTtJQUMxQyxJQUFJLElBQVMsRUFBRSxHQUFRLEVBQUUsR0FBUSxDQUFDO0lBQ2xDLElBQUksR0FBRyxLQUFLLEdBQUc7UUFBRSxPQUFPLElBQUksQ0FBQztJQUU3QixJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUU7UUFDOUQsSUFBSSxJQUFJLEtBQUssSUFBSTtZQUFFLE9BQU8sR0FBRyxDQUFDLE9BQU8sRUFBRSxLQUFLLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMxRCxJQUFJLElBQUksS0FBSyxNQUFNO1lBQUUsT0FBTyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRTlELElBQUksSUFBSSxLQUFLLEtBQUssRUFBRTtZQUNsQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FB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QUFLLElBQUksSUFBSSxHQUFHLEVBQUU7Z0JBQ2hCLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUM7b0JBQUUsT0FBTyxLQUFLLENBQUM7Z0JBQ3ZFLElBQUksQ0FBQyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUFFLE9BQU8sS0FBSyxDQUFDO2FBQ2xFO1lBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sS0FBSyxHQUFHLENBQUM7U0FDeEM7S0FDRjtJQUVELE9BQU8sR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLEtBQUssR0FBRyxDQUFDO0FBQ3BDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXZhciAqL1xuLyoqXG4gKiBTdG9sZW4gZnJvbSBkZXF1YWwgdG8gYXZvaWQgYWRkaW5nIGEgZGVwZW5kZW5jeVxuICogaHR0cHM6Ly9naXRodWIuY29tL2x1a2VlZC9kZXF1YWxcbiAqXG4gKiBUaGUgTUlUIExpY2Vuc2UgKE1JVClcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIEx1a2UgRWR3YXJkcyA8bHVrZS5lZHdhcmRzMDVAZ21haWwuY29tPiAobHVrZWVkLmNvbSlcbiAqXG4gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5XG4gKiBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsXG4gKiBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzXG4gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsXG4gKiBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbiAqIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6XG4gKlxuICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW5cbiAqIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLlxuICpcbiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbiAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG4gKiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG4gKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuICogT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTlxuICogVEhFIFNPRlRXQVJFLlxuICovXG5cbmNvbnN0IGhhcyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5cbmZ1bmN0aW9uIGZpbmQoaXRlcjogYW55LCB0YXI6IGFueSwga2V5PzogYW55KSB7XG4gIGZvciAoa2V5IG9mIGl0ZXIua2V5cygpKSB7XG4gICAgaWYgKGVxdWFsKGtleSwgdGFyKSkgcmV0dXJuIGtleTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZXF1YWwgPSAoZm9vOiBhbnksIGJhcjogYW55KSA9PiB7XG4gIHZhciBjdG9yOiBhbnksIGxlbjogYW55LCB0bXA6IGFueTtcbiAgaWYgKGZvbyA9PT0gYmFyKSByZXR1cm4gdHJ1ZTtcblxuICBpZiAoZm9vICYmIGJhciAmJiAoY3RvciA9IGZvby5jb25zdHJ1Y3RvcikgPT09IGJhci5jb25zdHJ1Y3Rvcikge1xuICAgIGlmIChjdG9yID09PSBEYXRlKSByZXR1cm4gZm9vLmdldFRpbWUoKSA9PT0gYmFyLmdldFRpbWUoKTtcbiAgICBpZiAoY3RvciA9PT0gUmVnRXhwKSByZXR1cm4gZm9vLnRvU3RyaW5nKCkgPT09IGJhci50b1N0cmluZygpO1xuXG4gICAgaWYgKGN0b3IgPT09IEFycmF5KSB7XG4gICAgICBpZiAoKGxlbiA9IGZvby5sZW5ndGgpID09PSBiYXIubGVuZ3RoKSB7XG4gICAgICAgIHdoaWxlIChsZW4tLSAmJiBlcXVhbChmb29bbGVuXSwgYmFyW2xlbl0pKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZW4gPT09IC0xO1xuICAgIH1cblxuICAgIGlmIChjdG9yID09PSBTZXQpIHtcbiAgICAgIGlmIChmb28uc2l6ZSAhPT0gYmFyLnNpemUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgZm9yIChsZW4gb2YgZm9vKSB7XG4gICAgICAgIHRtcCA9IGxlbjtcbiAgICAgICAgaWYgKHRtcCAmJiB0eXBlb2YgdG1wID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRtcCA9IGZpbmQoYmFyLCB0bXApO1xuICAgICAgICAgIGlmICghdG1wKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFiYXIuaGFzKHRtcCkpIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjdG9yID09PSBNYXApIHtcbiAgICAgIGlmIChmb28uc2l6ZSAhPT0gYmFyLnNpemUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgZm9yIChsZW4gb2YgZm9vKSB7XG4gICAgICAgIHRtcCA9IGxlblswXTtcbiAgICAgICAgaWYgKHRtcCAmJiB0eXBlb2YgdG1wID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIHRtcCA9IGZpbmQoYmFyLCB0bXApO1xuICAgICAgICAgIGlmICghdG1wKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFlcXVhbChsZW5bMV0sIGJhci5nZXQodG1wKSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChjdG9yID09PSBBcnJheUJ1ZmZlcikge1xuICAgICAgZm9vID0gbmV3IFVpbnQ4QXJyYXkoZm9vKTtcbiAgICAgIGJhciA9IG5ldyBVaW50OEFycmF5KGJhcik7XG4gICAgfSBlbHNlIGlmIChjdG9yID09PSBEYXRhVmlldykge1xuICAgICAgaWYgKChsZW4gPSBmb28uYnl0ZUxlbmd0aCkgPT09IGJhci5ieXRlTGVuZ3RoKSB7XG4gICAgICAgIHdoaWxlIChsZW4tLSAmJiBmb28uZ2V0SW50OChsZW4pID09PSBiYXIuZ2V0SW50OChsZW4pKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBsZW4gPT09IC0xO1xuICAgIH1cblxuICAgIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcoZm9vKSkge1xuICAgICAgaWYgKChsZW4gPSBmb28uYnl0ZUxlbmd0aCkgPT09IGJhci5ieXRlTGVuZ3RoKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcbiAgICAgICAgLy9AdHMtaWdub3JlXG4gICAgICAgIHdoaWxlIChsZW4tLSAmJiBmb29bbGVuXSA9PT0gYmFyW2xlbl0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxlbiA9PT0gLTE7XG4gICAgfVxuXG4gICAgaWYgKCFjdG9yIHx8IHR5cGVvZiBmb28gPT09ICdvYmplY3QnKSB7XG4gICAgICBsZW4gPSAwO1xuICAgICAgZm9yIChjdG9yIGluIGZvbykge1xuICAgICAgICBpZiAoaGFzLmNhbGwoZm9vLCBjdG9yKSAmJiArK2xlbiAmJiAhaGFzLmNhbGwoYmFyLCBjdG9yKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBpZiAoIShjdG9yIGluIGJhcikgfHwgIWVxdWFsKGZvb1tjdG9yXSwgYmFyW2N0b3JdKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKGJhcikubGVuZ3RoID09PSBsZW47XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZvbyAhPT0gZm9vICYmIGJhciAhPT0gYmFyO1xufTtcbiJdfQ==
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './clamp.util';
|
|
2
|
+
export * from './clone.util';
|
|
2
3
|
export * from './cookie.util';
|
|
4
|
+
export * from './equal.util';
|
|
3
5
|
export * from './reactive-binding.util';
|
|
4
6
|
export * from './scrollable.utils';
|
|
5
7
|
export * from './viewport.util';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsYW1wLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9jbG9uZS51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vY29va2llLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9lcXVhbC51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vcmVhY3RpdmUtYmluZGluZy51dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vc2Nyb2xsYWJsZS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXdwb3J0LnV0aWwnO1xuIl19
|
|
@@ -5,7 +5,7 @@ const isAttributeRenderBinding = (value) => typeof value === 'boolean';
|
|
|
5
5
|
const isAttributeValueBinding = (value) => typeof value === 'object';
|
|
6
6
|
export const createReactiveBindings = (...values) => {
|
|
7
7
|
const rootElementRef = inject(ElementRef);
|
|
8
|
-
const destroy$ = inject(DestroyService).destroy$;
|
|
8
|
+
const destroy$ = inject(DestroyService, { host: true }).destroy$;
|
|
9
9
|
const subscriptions = [];
|
|
10
10
|
const pushedAttributes = [];
|
|
11
11
|
const defaults = {};
|
|
@@ -108,4 +108,4 @@ export const createReactiveBindings = (...values) => {
|
|
|
108
108
|
reset,
|
|
109
109
|
};
|
|
110
110
|
};
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtYmluZGluZy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvcmVhY3RpdmUtYmluZGluZy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBNEIsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFlN0MsTUFBTSx3QkFBd0IsR0FBRyxDQUMvQixLQUFxRCxFQUNwQixFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQ2pFLE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsS0FBcUQsRUFDckIsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQVEvRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEdBQUcsTUFBNEIsRUFBeUIsRUFBRTtJQUMvRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBaUIsY0FBYyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBRWpFLE1BQU0sYUFBYSxHQUEyRCxFQUFFLENBQUM7SUFDakYsTUFBTSxnQkFBZ0IsR0FBZSxFQUFFLENBQUM7SUFFeEMsTUFBTSxRQUFRLEdBQXVDLEVBQUUsQ0FBQztJQUV4RCxNQUFNLElBQUksR0FBRyxDQUFDLEtBQXlCLEVBQUUsRUFBRTtRQUN6QyxNQUFNLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDcEQsTUFBTSxLQUFLLEdBQUcsVUFBVSxJQUFJLGNBQWMsQ0FBQztRQUMzQyxNQUFNLFVBQVUsR0FBRyxLQUFLLENBQUMs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QUUsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUMsQ0FBQztnQkFDL0QsY0FBYyxFQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUU3RCxJQUFJLEdBQUcsQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtvQkFDL0IsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDL0IsYUFBYSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO2lCQUNyRDthQUNGO1NBQ0Y7SUFDSCxDQUFDLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxHQUFHLEVBQUU7UUFDakIsS0FBSyxNQUFNLFNBQVMsSUFBSSxRQUFRLEVBQUU7WUFDaEMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssU0FBUyxFQUFFO2dCQUNyQyxjQUFjLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN6RDtpQkFBTTtnQkFDTCxjQUFjLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVMsQ0FBVyxDQUFDLENBQUM7YUFDckY7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGLEtBQUssTUFBTSxLQUFLLElBQUksTUFBTSxFQUFFO1FBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUNiO0lBRUQsT0FBTztRQUNMLElBQUk7UUFDSixNQUFNO1FBQ04sS0FBSztLQUNOLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGVzdHJveVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcyc7XG5cbnR5cGUgQXR0cmlidXRlVmFsdWVCaW5kaW5nID0ge1xuICByZW5kZXI6IGJvb2xlYW47XG4gIHZhbHVlOiBib29sZWFuIHwgc3RyaW5nIHwgbnVtYmVyO1xufTtcblxudHlwZSBBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nID0gYm9vbGVhbjtcblxuZXhwb3J0IHR5cGUgUmVhY3RpdmVBdHRyaWJ1dGVzID0ge1xuICBhdHRyaWJ1dGU6IHN0cmluZyB8IHN0cmluZ1tdO1xuICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPEF0dHJpYnV0ZVZhbHVlQmluZGluZyB8IEF0dHJpYnV0ZVJlbmRlckJpbmRpbmc+O1xuICBlbGVtZW50UmVmPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG59O1xuXG5jb25zdCBpc0F0dHJpYnV0ZVJlbmRlckJpbmRpbmcgPSAoXG4gIHZhbHVlOiBBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcgfCBBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nLFxuKTogdmFsdWUgaXMgQXR0cmlidXRlUmVuZGVyQmluZGluZyA9PiB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJztcbmNvbnN0IGlzQXR0cmlidXRlVmFsdWVCaW5kaW5nID0gKFxuICB2YWx1ZTogQXR0cmlidXRlVmFsdWVCaW5kaW5nIHwgQXR0cmlidXRlUmVuZGVyQmluZGluZyxcbik6IHZhbHVlIGlzIEF0dHJpYnV0ZVZhbHVlQmluZGluZyA9PiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlYWN0aXZlQmluZGluZ1Jlc3VsdCB7XG4gIHJlc2V0OiAoKSA9PiB2b2lkO1xuICByZW1vdmU6ICguLi5hdHRyaWJ1dGVzOiBzdHJpbmdbXSkgPT4gdm9pZDtcbiAgcHVzaDogKHZhbHVlOiBSZWFjdGl2ZUF0dHJpYnV0ZXMpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVSZWFjdGl2ZUJpbmRpbmdzID0gKC4uLnZhbHVlczogUmVhY3RpdmVBdHRyaWJ1dGVzW10pOiBSZWFjdGl2ZUJpbmRpbmdSZXN1bHQgPT4ge1xuICBjb25zdCByb290RWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG4gIGNvbnN0IGRlc3Ryb3kkID0gaW5qZWN0PERlc3Ryb3lTZXJ2aWNlPihEZXN0cm95U2VydmljZSkuZGVzdHJveSQ7XG5cbiAgY29uc3Qgc3Vic2NyaXB0aW9uczogeyBhdHRyaWJ1dGVzOiBzdHJpbmdbXTsgc3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gfVtdID0gW107XG4gIGNvbnN0IHB1c2hlZEF0dHJpYnV0ZXM6IHN0cmluZ1tdW10gPSBbXTtcblxuICBjb25zdCBkZWZhdWx0czogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiA9IHt9O1xuXG4gIGNvbnN0IHB1c2ggPSAodmFsdWU6IFJlYWN0aXZlQXR0cmlidXRlcykgPT4ge1xuICAgIGNvbnN0IHsgYXR0cmlidXRlLCBvYnNlcnZhYmxlLCBlbGVtZW50UmVmIH0gPSB2YWx1ZTtcbiAgICBjb25zdCBlbFJlZiA9IGVsZW1lbnRSZWYgfHwgcm9vdEVsZW1lbnRSZWY7XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IEFycmF5LmlzQXJyYXkoYXR0cmlidXRlKSA/IGF0dHJpYnV0ZSA6IFthdHRyaWJ1dGVdO1xuICAgIHB1c2hlZEF0dHJpYnV0ZXMucHVzaChhdHRyaWJ1dGVzKTtcblxuICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgIGlmICghZGVmYXVsdHNbYXR0cmlidXRlXSkge1xuICAgICAgICBkZWZhdWx0c1thdHRyaWJ1dGVdID0gZWxSZWYubmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlKSB8fCB1bmRlZmluZWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gb2JzZXJ2YWJsZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2VVbnRpbChkZXN0cm95JCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiB7XG4gICAgICAgICAgaWYgKGlzQXR0cmlidXRlUmVuZGVyQmluZGluZyhhKSAmJiBpc0F0dHJpYnV0ZVJlbmRlckJpbmRpbmcoYikpIHtcbiAgICAgICAgICAgIHJldHVybiBhID09PSBiO1xuICAgICAgICAgIH0gZWxzZSBpZiAoaXNBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcoYSkgJiYgaXNBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcoYikpIHtcbiAgICAgICAgICAgIHJldHVybiBhLnJlbmRlciA9PT0gYi5yZW5kZXIgJiYgYS52YWx1ZSA9PT0gYi52YWx1ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgY3VycmVudEF0dHJpYnV0ZXMgPSBwdXNoZWRBdHRyaWJ1dGVzLmZpbmQoKHMpID0+IHMuc29tZSgoY3VycmVudCkgPT4gYXR0cmlidXRlcy5pbmNsdWRlcyhjdXJyZW50KSkpIHx8IFtdO1xuXG4gICAgICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGN1cnJlbnRBdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgY29uc3QgaXNTaW5nbGVDbGFzc011dGF0aW9uID0gYXR0cmlidXRlLnN0YXJ0c1dpdGgoJ2NsYXNzLicpO1xuICAgICAgICAgIGNvbnN0IGlzTXVsdGlwbGVDbGFzc011dGF0aW9uID0gYXR0cmlidXRlID09PSAnY2xhc3MnO1xuXG4gICAgICAgICAgY29uc3QgcmVuZGVyID0gaXNBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nKHZhbHVlKSA/IHZhbHVlIDogdmFsdWUucmVuZGVyO1xuXG4gICAgICAgICAgaWYgKGlzU2luZ2xlQ2xhc3NNdXRhdGlvbikge1xuICAgICAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gYXR0cmlidXRlLnJlcGxhY2UoJ2NsYXNzLicsICcnKTtcblxuICAgICAgICAgICAgaWYgKCFjbGFzc05hbWUpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghcmVuZGVyKSB7XG4gICAgICAgICAgICAgIGVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChpc011bHRpcGxlQ2xhc3NNdXRhdGlvbikge1xuICAgICAgICAgICAgY29uc3QgY2xhc3NlcyA9IGlzQXR0cmlidXRlUmVuZGVyQmluZGluZyh2YWx1ZSkgPyAnJyA6IGAke3ZhbHVlLnZhbHVlfWA7XG5cbiAgICAgICAgICAgIGlmICghY2xhc3Nlcykge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFyZW5kZXIpIHtcbiAgICAgICAgICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKC4uLmNsYXNzZXMuc3BsaXQoJyAnKSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoLi4uY2xhc3Nlcy5zcGxpdCgnICcpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgYXR0cmlidXRlVmFsdWUgPSBpc0F0dHJpYnV0ZVJlbmRlckJpbmRpbmcodmFsdWUpID8gdHJ1ZSA6IGAke3ZhbHVlLnZhbHVlfWA7XG5cbiAgICAgICAgICAgIGlmICghYXR0cmlidXRlKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXJlbmRlcikge1xuICAgICAgICAgICAgICBlbFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlLCBgJHthdHRyaWJ1dGVWYWx1ZX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgc3Vic2NyaXB0aW9ucy5wdXNoKHsgYXR0cmlidXRlcywgc3Vic2NyaXB0aW9uIH0pO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZSA9ICguLi5hdHRyaWJ1dGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgIGZvciAoY29uc3QgYXR0cmlidXRlIG9mIGF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbnN0IHN1YiA9IHN1YnNjcmlwdGlvbnMuZmluZCgocykgPT4gcy5hdHRyaWJ1dGVzLmluY2x1ZGVzKGF0dHJpYnV0ZSkpO1xuICAgICAgY29uc3QgYXR0cmlidXRlU3RhY2sgPSBwdXNoZWRBdHRyaWJ1dGVzLmZpbmQoKGEpID0+IGEuaW5jbHVkZXMoYXR0cmlidXRlKSk7XG5cbiAgICAgIGlmIChzdWIpIHtcbiAgICAgICAgc3ViLmF0dHJpYnV0ZXMgPSBzdWIuYXR0cmlidXRlcy5maWx0ZXIoKGEpID0+IGEgIT09IGF0dHJpYnV0ZSk7XG4gICAgICAgIGF0dHJpYnV0ZVN0YWNrPy5zcGxpY2UoYXR0cmlidXRlU3RhY2suaW5kZXhPZihhdHRyaWJ1dGUpLCAxKTtcblxuICAgICAgICBpZiAoc3ViLmF0dHJpYnV0ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgc3ViLnN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHN1YnNjcmlwdGlvbnMuc3BsaWNlKHN1YnNjcmlwdGlvbnMuaW5kZXhPZihzdWIpLCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBjb25zdCByZXNldCA9ICgpID0+IHtcbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZSBpbiBkZWZhdWx0cykge1xuICAgICAgaWYgKGRlZmF1bHRzW2F0dHJpYnV0ZV0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByb290RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcm9vdEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlLCBkZWZhdWx0c1thdHRyaWJ1dGVdIGFzIHN0cmluZyk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGZvciAoY29uc3QgdmFsdWUgb2YgdmFsdWVzKSB7XG4gICAgcHVzaCh2YWx1ZSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHB1c2gsXG4gICAgcmVtb3ZlLFxuICAgIHJlc2V0LFxuICB9O1xufTtcbiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhY3RpdmUtYmluZGluZy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvcmVhY3RpdmUtYmluZGluZy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBNEIsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFlN0MsTUFBTSx3QkFBd0IsR0FBRyxDQUMvQixLQUFxRCxFQUNwQixFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQ2pFLE1BQU0sdUJBQXVCLEdBQUcsQ0FDOUIsS0FBcUQsRUFDckIsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQztBQVEvRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEdBQUcsTUFBNEIsRUFBeUIsRUFBRTtJQUMvRixNQUFNLGNBQWMsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sUUFBUSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFFakUsTUFBTSxhQUFhLEdBQTJELEVBQUUsQ0FBQztJQUNqRixNQUFNLGdCQUFnQixHQUFlLEVBQUUsQ0FBQztJQUV4QyxNQUFNLFFBQVEsR0FBdUMsRUFBRSxDQUFDO0lBRXhELE1BQU0sSUFBSSxHQUFHLENBQUMsS0FBeUIsRUFBRSxFQUFFO1FBQ3pDLE1BQU0sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUNwRCxNQUFNLEtBQUssR0FBRyxVQUFVLElBQUksY0FBYyxDQUFDO1FB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VSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFNBQVMsQ0FBQyxDQUFDO2dCQUMvRCxjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRTdELElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO29CQUMvQixHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUMvQixhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ3JEO2FBQ0Y7U0FDRjtJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRTtRQUNqQixLQUFLLE1BQU0sU0FBUyxJQUFJLFFBQVEsRUFBRTtZQUNoQyxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsS0FBSyxTQUFTLEVBQUU7Z0JBQ3JDLGNBQWMsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3pEO2lCQUFNO2dCQUNMLGNBQWMsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUyxDQUFXLENBQUMsQ0FBQzthQUNyRjtTQUNGO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFNLEVBQUU7UUFDMUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQ2I7SUFFRCxPQUFPO1FBQ0wsSUFBSTtRQUNKLE1BQU07UUFDTixLQUFLO0tBQ04sQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEZXN0cm95U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcblxudHlwZSBBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcgPSB7XG4gIHJlbmRlcjogYm9vbGVhbjtcbiAgdmFsdWU6IGJvb2xlYW4gfCBzdHJpbmcgfCBudW1iZXI7XG59O1xuXG50eXBlIEF0dHJpYnV0ZVJlbmRlckJpbmRpbmcgPSBib29sZWFuO1xuXG5leHBvcnQgdHlwZSBSZWFjdGl2ZUF0dHJpYnV0ZXMgPSB7XG4gIGF0dHJpYnV0ZTogc3RyaW5nIHwgc3RyaW5nW107XG4gIG9ic2VydmFibGU6IE9ic2VydmFibGU8QXR0cmlidXRlVmFsdWVCaW5kaW5nIHwgQXR0cmlidXRlUmVuZGVyQmluZGluZz47XG4gIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pjtcbn07XG5cbmNvbnN0IGlzQXR0cmlidXRlUmVuZGVyQmluZGluZyA9IChcbiAgdmFsdWU6IEF0dHJpYnV0ZVZhbHVlQmluZGluZyB8IEF0dHJpYnV0ZVJlbmRlckJpbmRpbmcsXG4pOiB2YWx1ZSBpcyBBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2Jvb2xlYW4nO1xuY29uc3QgaXNBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcgPSAoXG4gIHZhbHVlOiBBdHRyaWJ1dGVWYWx1ZUJpbmRpbmcgfCBBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nLFxuKTogdmFsdWUgaXMgQXR0cmlidXRlVmFsdWVCaW5kaW5nID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhY3RpdmVCaW5kaW5nUmVzdWx0IHtcbiAgcmVzZXQ6ICgpID0+IHZvaWQ7XG4gIHJlbW92ZTogKC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKSA9PiB2b2lkO1xuICBwdXNoOiAodmFsdWU6IFJlYWN0aXZlQXR0cmlidXRlcykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVJlYWN0aXZlQmluZGluZ3MgPSAoLi4udmFsdWVzOiBSZWFjdGl2ZUF0dHJpYnV0ZXNbXSk6IFJlYWN0aXZlQmluZGluZ1Jlc3VsdCA9PiB7XG4gIGNvbnN0IHJvb3RFbGVtZW50UmVmID0gaW5qZWN0PEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+PihFbGVtZW50UmVmKTtcbiAgY29uc3QgZGVzdHJveSQgPSBpbmplY3QoRGVzdHJveVNlcnZpY2UsIHsgaG9zdDogdHJ1ZSB9KS5kZXN0cm95JDtcblxuICBjb25zdCBzdWJzY3JpcHRpb25zOiB7IGF0dHJpYnV0ZXM6IHN0cmluZ1tdOyBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiB9W10gPSBbXTtcbiAgY29uc3QgcHVzaGVkQXR0cmlidXRlczogc3RyaW5nW11bXSA9IFtdO1xuXG4gIGNvbnN0IGRlZmF1bHRzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+ID0ge307XG5cbiAgY29uc3QgcHVzaCA9ICh2YWx1ZTogUmVhY3RpdmVBdHRyaWJ1dGVzKSA9PiB7XG4gICAgY29uc3QgeyBhdHRyaWJ1dGUsIG9ic2VydmFibGUsIGVsZW1lbnRSZWYgfSA9IHZhbHVlO1xuICAgIGNvbnN0IGVsUmVmID0gZWxlbWVudFJlZiB8fCByb290RWxlbWVudFJlZjtcbiAgICBjb25zdCBhdHRyaWJ1dGVzID0gQXJyYXkuaXNBcnJheShhdHRyaWJ1dGUpID8gYXR0cmlidXRlIDogW2F0dHJpYnV0ZV07XG4gICAgcHVzaGVkQXR0cmlidXRlcy5wdXNoKGF0dHJpYnV0ZXMpO1xuXG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuICAgICAgaWYgKCFkZWZhdWx0c1thdHRyaWJ1dGVdKSB7XG4gICAgICAgIGRlZmF1bHRzW2F0dHJpYnV0ZV0gPSBlbFJlZi5uYXRpdmVFbGVtZW50LmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpIHx8IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSBvYnNlcnZhYmxlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kkKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IHtcbiAgICAgICAgICBpZiAoaXNBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nKGEpICYmIGlzQXR0cmlidXRlUmVuZGVyQmluZGluZyhiKSkge1xuICAgICAgICAgICAgcmV0dXJuIGEgPT09IGI7XG4gICAgICAgICAgfSBlbHNlIGlmIChpc0F0dHJpYnV0ZVZhbHVlQmluZGluZyhhKSAmJiBpc0F0dHJpYnV0ZVZhbHVlQmluZGluZyhiKSkge1xuICAgICAgICAgICAgcmV0dXJuIGEucmVuZGVyID09PSBiLnJlbmRlciAmJiBhLnZhbHVlID09PSBiLnZhbHVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBjdXJyZW50QXR0cmlidXRlcyA9IHB1c2hlZEF0dHJpYnV0ZXMuZmluZCgocykgPT4gcy5zb21lKChjdXJyZW50KSA9PiBhdHRyaWJ1dGVzLmluY2x1ZGVzKGN1cnJlbnQpKSkgfHwgW107XG5cbiAgICAgICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgY3VycmVudEF0dHJpYnV0ZXMpIHtcbiAgICAgICAgICBjb25zdCBpc1NpbmdsZUNsYXNzTXV0YXRpb24gPSBhdHRyaWJ1dGUuc3RhcnRzV2l0aCgnY2xhc3MuJyk7XG4gICAgICAgICAgY29uc3QgaXNNdWx0aXBsZUNsYXNzTXV0YXRpb24gPSBhdHRyaWJ1dGUgPT09ICdjbGFzcyc7XG5cbiAgICAgICAgICBjb25zdCByZW5kZXIgPSBpc0F0dHJpYnV0ZVJlbmRlckJpbmRpbmcodmFsdWUpID8gdmFsdWUgOiB2YWx1ZS5yZW5kZXI7XG5cbiAgICAgICAgICBpZiAoaXNTaW5nbGVDbGFzc011dGF0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBjbGFzc05hbWUgPSBhdHRyaWJ1dGUucmVwbGFjZSgnY2xhc3MuJywgJycpO1xuXG4gICAgICAgICAgICBpZiAoIWNsYXNzTmFtZSkge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFyZW5kZXIpIHtcbiAgICAgICAgICAgICAgZWxSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKGlzTXVsdGlwbGVDbGFzc011dGF0aW9uKSB7XG4gICAgICAgICAgICBjb25zdCBjbGFzc2VzID0gaXNBdHRyaWJ1dGVSZW5kZXJCaW5kaW5nKHZhbHVlKSA/ICcnIDogYCR7dmFsdWUudmFsdWV9YDtcblxuICAgICAgICAgICAgaWYgKCFjbGFzc2VzKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXJlbmRlcikge1xuICAgICAgICAgICAgICBlbFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoLi4uY2xhc3Nlcy5zcGxpdCgnICcpKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGVsUmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCguLi5jbGFzc2VzLnNwbGl0KCcgJykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBhdHRyaWJ1dGVWYWx1ZSA9IGlzQXR0cmlidXRlUmVuZGVyQmluZGluZyh2YWx1ZSkgPyB0cnVlIDogYCR7dmFsdWUudmFsdWV9YDtcblxuICAgICAgICAgICAgaWYgKCFhdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghcmVuZGVyKSB7XG4gICAgICAgICAgICAgIGVsUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBlbFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIGAke2F0dHJpYnV0ZVZhbHVlfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICBzdWJzY3JpcHRpb25zLnB1c2goeyBhdHRyaWJ1dGVzLCBzdWJzY3JpcHRpb24gfSk7XG4gIH07XG5cbiAgY29uc3QgcmVtb3ZlID0gKC4uLmF0dHJpYnV0ZXM6IHN0cmluZ1tdKSA9PiB7XG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuICAgICAgY29uc3Qgc3ViID0gc3Vic2NyaXB0aW9ucy5maW5kKChzKSA9PiBzLmF0dHJpYnV0ZXMuaW5jbHVkZXMoYXR0cmlidXRlKSk7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVTdGFjayA9IHB1c2hlZEF0dHJpYnV0ZXMuZmluZCgoYSkgPT4gYS5pbmNsdWRlcyhhdHRyaWJ1dGUpKTtcblxuICAgICAgaWYgKHN1Yikge1xuICAgICAgICBzdWIuYXR0cmlidXRlcyA9IHN1Yi5hdHRyaWJ1dGVzLmZpbHRlcigoYSkgPT4gYSAhPT0gYXR0cmlidXRlKTtcbiAgICAgICAgYXR0cmlidXRlU3RhY2s/LnNwbGljZShhdHRyaWJ1dGVTdGFjay5pbmRleE9mKGF0dHJpYnV0ZSksIDEpO1xuXG4gICAgICAgIGlmIChzdWIuYXR0cmlidXRlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBzdWIuc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgc3Vic2NyaXB0aW9ucy5zcGxpY2Uoc3Vic2NyaXB0aW9ucy5pbmRleE9mKHN1YiksIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IHJlc2V0ID0gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgYXR0cmlidXRlIGluIGRlZmF1bHRzKSB7XG4gICAgICBpZiAoZGVmYXVsdHNbYXR0cmlidXRlXSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJvb3RFbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByb290RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIGRlZmF1bHRzW2F0dHJpYnV0ZV0gYXMgc3RyaW5nKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgZm9yIChjb25zdCB2YWx1ZSBvZiB2YWx1ZXMpIHtcbiAgICBwdXNoKHZhbHVlKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcHVzaCxcbiAgICByZW1vdmUsXG4gICAgcmVzZXQsXG4gIH07XG59O1xuIl19
|