@resolveio/client-lib-core 15.0.2 → 15.0.3
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/util/common.helper.mjs +23 -2
- package/fesm2015/resolveio-client-lib-core.mjs +23 -2
- package/fesm2015/resolveio-client-lib-core.mjs.map +1 -1
- package/fesm2020/resolveio-client-lib-core.mjs +23 -2
- package/fesm2020/resolveio-client-lib-core.mjs.map +1 -1
- package/lib/util/common.helper.d.ts +1 -1
- package/package.json +1 -1
|
@@ -65,7 +65,7 @@ export function toDataURL(url, callback) {
|
|
|
65
65
|
xhr.responseType = 'blob';
|
|
66
66
|
xhr.send();
|
|
67
67
|
}
|
|
68
|
-
export function
|
|
68
|
+
export function deepDiffDetails(obj1, obj2) {
|
|
69
69
|
let diff = detailedDiff(obj2, obj1);
|
|
70
70
|
let diffString = '';
|
|
71
71
|
const formatValue = (value) => {
|
|
@@ -74,10 +74,31 @@ export function getDeepDiffDetails(obj1, obj2) {
|
|
|
74
74
|
}
|
|
75
75
|
return typeof value === 'string' ? `"${value}"` : String(value);
|
|
76
76
|
};
|
|
77
|
+
const formatArrayDiff = (arr1, arr2) => {
|
|
78
|
+
let maxLength = Math.max(arr1.length, arr2.length);
|
|
79
|
+
let arrayDiff = [];
|
|
80
|
+
for (let i = 0; i < maxLength; i++) {
|
|
81
|
+
if (i >= arr1.length) {
|
|
82
|
+
arrayDiff.push(`added: ${formatValue(arr2[i])}`);
|
|
83
|
+
continue;
|
|
84
|
+
}
|
|
85
|
+
if (i >= arr2.length) {
|
|
86
|
+
arrayDiff.push(`removed: ${formatValue(arr1[i])}`);
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (arr1[i] !== arr2[i]) {
|
|
90
|
+
arrayDiff.push(`from: ${formatValue(arr1[i])} to: ${formatValue(arr2[i])}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return `[${arrayDiff.join(', ')}]`;
|
|
94
|
+
};
|
|
77
95
|
const formatObjectDiff = (obj1, obj2) => {
|
|
78
96
|
if (obj1 === null || obj2 === null || typeof obj1 !== 'object' || typeof obj2 !== 'object') {
|
|
79
97
|
return `from: ${formatValue(obj1)} to: ${formatValue(obj2)}`;
|
|
80
98
|
}
|
|
99
|
+
if (Array.isArray(obj1) && Array.isArray(obj2)) {
|
|
100
|
+
return formatArrayDiff(obj1, obj2);
|
|
101
|
+
}
|
|
81
102
|
return Object.keys(obj1).map(key => {
|
|
82
103
|
if (typeof obj1[key] === 'object' && obj1[key] !== null && obj2[key] !== null) {
|
|
83
104
|
return `${toTitleCase(key)}: {${formatObjectDiff(obj1[key], obj2[key])}}`;
|
|
@@ -127,4 +148,4 @@ export function mergeDeep(target, ...sources) {
|
|
|
127
148
|
}
|
|
128
149
|
return mergeDeep(target, ...sources);
|
|
129
150
|
}
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi91dGlsL2NvbW1vbi5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO0lBQzNCLE9BQU8sTUFBTSxZQUFZLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFHO0lBQzlCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLElBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFHO0lBQzlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUk7SUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNqQixPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFO1FBQ3ZCLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQ1o7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNWLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQUc7SUFDM0IsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDckQsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsR0FBRyxFQUFFLEtBQUs7SUFDckMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDOUIsSUFBSSxDQUFDLEdBQUcsOERBQThELENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25GLElBQUksQ0FBQyxFQUFFO1lBQ04sT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUMzRztLQUNEO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZCxDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVU7SUFDNUQsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsOEJBQThCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDOUQsV0FBVyxHQUFHLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDaEMsU0FBUyxHQUFHLFNBQVMsSUFBSSxHQUFHLENBQUM7SUFFN0IsSUFBSSxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUVwQixLQUFLLElBQUksTUFBTSxHQUFHLENBQUMsRUFBRSxNQUFNLEdBQUcsY0FBYyxDQUFDLE1BQU0sRUFBRSxNQUFNLElBQUksU0FBUyxFQUFFO1FBQ3pFLElBQUksS0FBSyxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztRQUU3RCxJQUFJLFdBQVcsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDdkMsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEM7UUFFRCxJQUFJLFNBQVMsR0FBRyxJQUFJLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU1QyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzNCO0lBRUQsSUFBSSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUMsSUFBSSxFQUFFLFdBQVcsRUFBQyxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQU8sRUFBRSxRQUFRO0lBQ3hDLDRGQUE0RjtJQUM1RixPQUFPLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN0QyxPQUFPLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztJQUN4QixPQUFjLE9BQVEsQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxHQUFHLEVBQUUsUUFBUTtJQUN0QyxJQUFJLEdBQUcsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO0lBQy9CLEdBQUcsQ0FBQyxNQUFNLEdBQUc7UUFDWixJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxTQUFTLEdBQUc7WUFDbEIsUUFBUSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QixDQUFDLENBQUM7UUFDRixNQUFNLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDLENBQUM7SUFDRixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNyQixHQUFHLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztJQUMxQixHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUFDLElBQVMsRUFBRSxJQUFTO0lBQ25ELElBQUksSUFBSSxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDcEMsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBRXBCLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBVSxFQUFVLEVBQUU7UUFDdkMsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUN4RSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDdkM7UUFDRCxPQUFPLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BFLENBQUMsQ0FBQztJQUVGLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxJQUFTLEVBQUUsSUFBUyxFQUFVLEVBQUU7UUFDdEQsSUFBSSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUN4RixPQUFPLFNBQVMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1NBQ2hFO1FBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQzNFLE9BQU8sR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLE1BQU0sZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDN0U7WUFDRCxPQUFPLEdBQUcsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNoRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQyxDQUFDO0lBRUYsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1FBQ3RDLFVBQVUsSUFBSSxZQUFZLENBQUM7UUFFM0IsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO2FBQ3BDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUMzRSxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsTUFBTSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUM7YUFDdEYsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWpCLFVBQVUsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUMvQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUMsSUFBVTtJQUNwRCxPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxHQUFHLEdBQUcsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztBQUN2SixDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUksQ0FBQyxDQUFDO0lBQ3JCLElBQUksR0FBRyxHQUFHLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxJQUFJLElBQUksR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixzQ0FBc0M7SUFDdEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUM7S0FBRTtJQUMxRSxPQUFPLEdBQUcsQ0FBQztBQUNaLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU87SUFDM0MsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUU7UUFDcEIsT0FBTyxNQUFNLENBQUM7S0FDZDtJQUNELE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUUvQixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLEVBQUU7WUFDekIsSUFBSSxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pCLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUNyQztnQkFDRCxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ3BDO2lCQUNJO2dCQUNKLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzlDO1NBQ0Q7S0FDRDtJQUVELE9BQU8sU0FBUyxDQUFDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO0FBQ3RDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZXRhaWxlZERpZmYgfSBmcm9tICdkZWVwLW9iamVjdC1kaWZmJztcbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuY29uc3QgaXNPYmplY3QgPSAob2JqZWN0KSA9PiB7XG5cdHJldHVybiBvYmplY3QgaW5zdGFuY2VvZiBPYmplY3QgJiYgb2JqZWN0LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdPYmplY3QnO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHRvVGl0bGVDYXNlKHN0cikge1xuXHRyZXR1cm4gc3RyLnJlcGxhY2UoL1xcd1xcUyovZywgZnVuY3Rpb24odHh0KXtyZXR1cm4gdHh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdHh0LnN1YnN0cigxKS50b0xvd2VyQ2FzZSgpOyB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVXBwZXJDYXNlKHN0cikge1xuXHRyZXR1cm4gKC9eW0EtWl0qJC8pLnRlc3Qoc3RyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhZChudW0sIHNpemUpIHtcblx0bGV0IHMgPSBudW0gKyAnJztcblx0d2hpbGUgKHMubGVuZ3RoIDwgc2l6ZSkge1xuXHRcdHMgPSAnMCcgKyBzO1xuXHR9XG5cdHJldHVybiBzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVlcENvcHkob2JqKSB7XG5cdHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KG9iaiksIGRhdGVSZXZpdmVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVSZXZpdmVyKGtleSwgdmFsdWUpIHtcblx0aWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcblx0XHRsZXQgYSA9IC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSlUKFxcZHsyfSk6KFxcZHsyfSk6KFxcZHsyfSg/OlxcLlxcZCopPylaJC8uZXhlYyh2YWx1ZSk7XG5cdFx0aWYgKGEpIHtcblx0XHRcdHJldHVybiBuZXcgRGF0ZShEYXRlLlVUQygrYVsxXSwgK2FbMl0gLSAxLCArYVszXSwgK2FbNF0sICthWzVdLCArYVs2XS5zcGxpdCgnLicpWzBdLCArYVs2XS5zcGxpdCgnLicpWzFdKSk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB2YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGI2NHRvQmxvYlVSTChiNjREYXRhLCBjb250ZW50VHlwZSwgc2xpY2VTaXplPykge1xuXHRiNjREYXRhID0gYjY0RGF0YS5yZXBsYWNlKCdkYXRhOmFwcGxpY2F0aW9uL3BkZjtiYXNlNjQsJywgJycpO1xuXHRjb250ZW50VHlwZSA9IGNvbnRlbnRUeXBlIHx8ICcnO1xuXHRzbGljZVNpemUgPSBzbGljZVNpemUgfHwgNTEyO1xuXG5cdGxldCBieXRlQ2hhcmFjdGVycyA9IGF0b2IoYjY0RGF0YSk7XG5cdGxldCBieXRlQXJyYXlzID0gW107XG5cblx0Zm9yIChsZXQgb2Zmc2V0ID0gMDsgb2Zmc2V0IDwgYnl0ZUNoYXJhY3RlcnMubGVuZ3RoOyBvZmZzZXQgKz0gc2xpY2VTaXplKSB7XG5cdFx0bGV0IHNsaWNlID0gYnl0ZUNoYXJhY3RlcnMuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBzbGljZVNpemUpO1xuXG5cdFx0bGV0IGJ5dGVOdW1iZXJzID0gbmV3IEFycmF5KHNsaWNlLmxlbmd0aCk7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZS5sZW5ndGg7IGkrKykge1xuXHRcdGJ5dGVOdW1iZXJzW2ldID0gc2xpY2UuY2hhckNvZGVBdChpKTtcblx0XHR9XG5cblx0XHRsZXQgYnl0ZUFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoYnl0ZU51bWJlcnMpO1xuXG5cdFx0Ynl0ZUFycmF5cy5wdXNoKGJ5dGVBcnJheSk7XG5cdH1cblxuXHRsZXQgYmxvYiA9IG5ldyBCbG9iKGJ5dGVBcnJheXMsIHt0eXBlOiBjb250ZW50VHlwZX0pO1xuXHRyZXR1cm4gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJsb2JUb0ZpbGUodGhlQmxvYiwgZmlsZU5hbWUpIDogRmlsZSB7XG4gICAgLy9BIEJsb2IoKSBpcyBhbG1vc3QgYSBGaWxlKCkgLSBpdCdzIGp1c3QgbWlzc2luZyB0aGUgdHdvIHByb3BlcnRpZXMgYmVsb3cgd2hpY2ggd2Ugd2lsbCBhZGRcbiAgICB0aGVCbG9iLmxhc3RNb2RpZmllZERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHRoZUJsb2IubmFtZSA9IGZpbGVOYW1lO1xuICAgIHJldHVybiAoPEZpbGU+dGhlQmxvYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGFVUkwodXJsLCBjYWxsYmFjaykge1xuXHRsZXQgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7XG5cdHhoci5vbmxvYWQgPSBmdW5jdGlvbigpIHtcblx0XHRsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblx0XHRyZWFkZXIub25sb2FkZW5kID0gZnVuY3Rpb24oKSB7XG5cdFx0XHRjYWxsYmFjayhyZWFkZXIucmVzdWx0KTtcblx0XHR9O1xuXHRcdHJlYWRlci5yZWFkQXNEYXRhVVJMKHhoci5yZXNwb25zZSk7XG5cdH07XG5cdHhoci5vcGVuKCdHRVQnLCB1cmwpO1xuXHR4aHIucmVzcG9uc2VUeXBlID0gJ2Jsb2InO1xuXHR4aHIuc2VuZCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVlcERpZmZEZXRhaWxzKG9iajE6IGFueSwgb2JqMjogYW55KTogc3RyaW5nIHtcbiAgICBsZXQgZGlmZiA9IGRldGFpbGVkRGlmZihvYmoyLCBvYmoxKTtcbiAgICBsZXQgZGlmZlN0cmluZyA9ICcnO1xuXG4gICAgY29uc3QgZm9ybWF0VmFsdWUgPSAodmFsdWU6IGFueSk6IHN0cmluZyA9PiB7XG4gICAgICAgIGlmIChtb21lbnQuaXNEYXRlKHZhbHVlKSB8fCBtb21lbnQodmFsdWUsIG1vbWVudC5JU09fODYwMSwgdHJ1ZSkuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICByZXR1cm4gbW9tZW50KHZhbHVlKS5mb3JtYXQoJ2xsbGwnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IGBcIiR7dmFsdWV9XCJgIDogU3RyaW5nKHZhbHVlKTtcbiAgICB9O1xuXG4gICAgY29uc3QgZm9ybWF0T2JqZWN0RGlmZiA9IChvYmoxOiBhbnksIG9iajI6IGFueSk6IHN0cmluZyA9PiB7XG4gICAgICAgIGlmIChvYmoxID09PSBudWxsIHx8IG9iajIgPT09IG51bGwgfHwgdHlwZW9mIG9iajEgIT09ICdvYmplY3QnIHx8IHR5cGVvZiBvYmoyICE9PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgcmV0dXJuIGBmcm9tOiAke2Zvcm1hdFZhbHVlKG9iajEpfSB0bzogJHtmb3JtYXRWYWx1ZShvYmoyKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iajEpLm1hcChrZXkgPT4ge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvYmoxW2tleV0gPT09ICdvYmplY3QnICYmIG9iajFba2V5XSAhPT0gbnVsbCAmJiBvYmoyW2tleV0gIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7dG9UaXRsZUNhc2Uoa2V5KX06IHske2Zvcm1hdE9iamVjdERpZmYob2JqMVtrZXldLCBvYmoyW2tleV0pfX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGAke3RvVGl0bGVDYXNlKGtleSl9OiBmcm9tOiAke2Zvcm1hdFZhbHVlKG9iajFba2V5XSl9IHRvOiAke2Zvcm1hdFZhbHVlKG9iajJba2V5XSl9YDtcbiAgICAgICAgfSkuam9pbignLCAnKTtcbiAgICB9O1xuXG4gICAgaWYgKE9iamVjdC5rZXlzKGRpZmYudXBkYXRlZCkubGVuZ3RoID4gMCkge1xuICAgICAgICBkaWZmU3RyaW5nICs9ICdVcGRhdGVkOlxcbic7XG5cbiAgICAgICAgY29uc3QgdXBkYXRlcyA9IE9iamVjdC5rZXlzKGRpZmYudXBkYXRlZClcbiAgICAgICAgICAgIC5maWx0ZXIoa2V5ID0+IGtleS5zdWJzdHIoMCwgMikgIT09ICdpZCcgJiYgZGlmZi51cGRhdGVkW2tleV0gIT09IG9iajJba2V5XSlcbiAgICAgICAgICAgIC5tYXAoa2V5ID0+IGAke3RvVGl0bGVDYXNlKGtleSl9OiB7JHtmb3JtYXRPYmplY3REaWZmKGRpZmYudXBkYXRlZFtrZXldLCBvYmoyW2tleV0pfX1gKVxuICAgICAgICAgICAgLmpvaW4oJyxcXG4nKTtcblxuICAgICAgICBkaWZmU3RyaW5nICs9IHVwZGF0ZXMgPyBgJHt1cGRhdGVzfVxcbmAgOiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gZGlmZlN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQ3JvblN0cmluZ0Zyb21EYXRlKGRhdGU6IERhdGUpIHtcblx0cmV0dXJuIGRhdGUuZ2V0U2Vjb25kcygpICsgJyAnICsgZGF0ZS5nZXRNaW51dGVzKCkgKyAnICcgKyBkYXRlLmdldEhvdXJzKCkgKyAnICcgKyBkYXRlLmdldERhdGUoKSArICcgJyArIChkYXRlLmdldE1vbnRoKCkgKyAxKSArICcgJyArIGRhdGUuZ2V0RGF5KCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzMmFiKHMpIHtcblx0bGV0IGJ1ZiA9IG5ldyBBcnJheUJ1ZmZlcihzLmxlbmd0aCk7XG5cdGxldCB2aWV3ID0gbmV3IFVpbnQ4QXJyYXkoYnVmKTtcblx0Ly8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWJpdHdpc2Vcblx0Zm9yIChsZXQgaSA9IDA7IGkgIT09IHMubGVuZ3RoOyArK2kpIHsgdmlld1tpXSA9IHMuY2hhckNvZGVBdChpKSAmIDB4RkY7IH1cblx0cmV0dXJuIGJ1ZjsgXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZURlZXAodGFyZ2V0LCAuLi5zb3VyY2VzKSB7XG5cdGlmICghc291cmNlcy5sZW5ndGgpIHtcblx0XHRyZXR1cm4gdGFyZ2V0O1xuXHR9XG5cdGNvbnN0IHNvdXJjZSA9IHNvdXJjZXMuc2hpZnQoKTtcblxuXHRpZiAoaXNPYmplY3QodGFyZ2V0KSAmJiBpc09iamVjdChzb3VyY2UpKSB7XG5cdFx0Zm9yIChjb25zdCBrZXkgaW4gc291cmNlKSB7XG5cdFx0XHRpZiAoaXNPYmplY3Qoc291cmNlW2tleV0pKSB7XG5cdFx0XHRcdGlmICghdGFyZ2V0W2tleV0pIHtcblx0XHRcdFx0XHRPYmplY3QuYXNzaWduKHRhcmdldCwgeyBba2V5XToge30gfSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0bWVyZ2VEZWVwKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSk7XG5cdFx0XHR9IFxuXHRcdFx0ZWxzZSB7XG5cdFx0XHRcdE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiBzb3VyY2Vba2V5XSB9KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gbWVyZ2VEZWVwKHRhcmdldCwgLi4uc291cmNlcyk7XG59Il19
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi91dGlsL2NvbW1vbi5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixNQUFNLFFBQVEsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO0lBQzNCLE9BQU8sTUFBTSxZQUFZLE1BQU0sSUFBSSxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUM7QUFDekUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFHO0lBQzlCLE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsVUFBUyxHQUFHLElBQUUsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNqSCxDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxHQUFHO0lBQzlCLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBRyxFQUFFLElBQUk7SUFDNUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUNqQixPQUFPLENBQUMsQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFO1FBQ3ZCLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxDQUFDO0tBQ1o7SUFDRCxPQUFPLENBQUMsQ0FBQztBQUNWLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUSxDQUFDLEdBQUc7SUFDM0Is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QUFFO0lBQzFFLE9BQU8sR0FBRyxDQUFDO0FBQ1osQ0FBQztBQUVELE1BQU0sVUFBVSxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTztJQUMzQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRTtRQUNwQixPQUFPLE1BQU0sQ0FBQztLQUNkO0lBQ0QsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBRS9CLElBQUksUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN6QyxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRTtZQUN6QixJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTtvQkFDakIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ3JDO2dCQUNELFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDcEM7aUJBQ0k7Z0JBQ0osTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDOUM7U0FDRDtLQUNEO0lBRUQsT0FBTyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7QUFDdEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRldGFpbGVkRGlmZiB9IGZyb20gJ2RlZXAtb2JqZWN0LWRpZmYnO1xuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5jb25zdCBpc09iamVjdCA9IChvYmplY3QpID0+IHtcblx0cmV0dXJuIG9iamVjdCBpbnN0YW5jZW9mIE9iamVjdCAmJiBvYmplY3QuY29uc3RydWN0b3IubmFtZSA9PT0gJ09iamVjdCc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9UaXRsZUNhc2Uoc3RyKSB7XG5cdHJldHVybiBzdHIucmVwbGFjZSgvXFx3XFxTKi9nLCBmdW5jdGlvbih0eHQpe3JldHVybiB0eHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0eHQuc3Vic3RyKDEpLnRvTG93ZXJDYXNlKCk7IH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNVcHBlckNhc2Uoc3RyKSB7XG5cdHJldHVybiAoL15bQS1aXSokLykudGVzdChzdHIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFkKG51bSwgc2l6ZSkge1xuXHRsZXQgcyA9IG51bSArICcnO1xuXHR3aGlsZSAocy5sZW5ndGggPCBzaXplKSB7XG5cdFx0cyA9ICcwJyArIHM7XG5cdH1cblx0cmV0dXJuIHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWVwQ29weShvYmopIHtcblx0cmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqKSwgZGF0ZVJldml2ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGF0ZVJldml2ZXIoa2V5LCB2YWx1ZSkge1xuXHRpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuXHRcdGxldCBhID0gL14oXFxkezR9KS0oXFxkezJ9KS0oXFxkezJ9KVQoXFxkezJ9KTooXFxkezJ9KTooXFxkezJ9KD86XFwuXFxkKik/KVokLy5leGVjKHZhbHVlKTtcblx0XHRpZiAoYSkge1xuXHRcdFx0cmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKCthWzFdLCArYVsyXSAtIDEsICthWzNdLCArYVs0XSwgK2FbNV0sICthWzZdLnNwbGl0KCcuJylbMF0sICthWzZdLnNwbGl0KCcuJylbMV0pKTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYjY0dG9CbG9iVVJMKGI2NERhdGEsIGNvbnRlbnRUeXBlLCBzbGljZVNpemU/KSB7XG5cdGI2NERhdGEgPSBiNjREYXRhLnJlcGxhY2UoJ2RhdGE6YXBwbGljYXRpb24vcGRmO2Jhc2U2NCwnLCAnJyk7XG5cdGNvbnRlbnRUeXBlID0gY29udGVudFR5cGUgfHwgJyc7XG5cdHNsaWNlU2l6ZSA9IHNsaWNlU2l6ZSB8fCA1MTI7XG5cblx0bGV0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiNjREYXRhKTtcblx0bGV0IGJ5dGVBcnJheXMgPSBbXTtcblxuXHRmb3IgKGxldCBvZmZzZXQgPSAwOyBvZmZzZXQgPCBieXRlQ2hhcmFjdGVycy5sZW5ndGg7IG9mZnNldCArPSBzbGljZVNpemUpIHtcblx0XHRsZXQgc2xpY2UgPSBieXRlQ2hhcmFjdGVycy5zbGljZShvZmZzZXQsIG9mZnNldCArIHNsaWNlU2l6ZSk7XG5cblx0XHRsZXQgYnl0ZU51bWJlcnMgPSBuZXcgQXJyYXkoc2xpY2UubGVuZ3RoKTtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHNsaWNlLmxlbmd0aDsgaSsrKSB7XG5cdFx0Ynl0ZU51bWJlcnNbaV0gPSBzbGljZS5jaGFyQ29kZUF0KGkpO1xuXHRcdH1cblxuXHRcdGxldCBieXRlQXJyYXkgPSBuZXcgVWludDhBcnJheShieXRlTnVtYmVycyk7XG5cblx0XHRieXRlQXJyYXlzLnB1c2goYnl0ZUFycmF5KTtcblx0fVxuXG5cdGxldCBibG9iID0gbmV3IEJsb2IoYnl0ZUFycmF5cywge3R5cGU6IGNvbnRlbnRUeXBlfSk7XG5cdHJldHVybiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmxvYlRvRmlsZSh0aGVCbG9iLCBmaWxlTmFtZSkgOiBGaWxlIHtcbiAgICAvL0EgQmxvYigpIGlzIGFsbW9zdCBhIEZpbGUoKSAtIGl0J3MganVzdCBtaXNzaW5nIHRoZSB0d28gcHJvcGVydGllcyBiZWxvdyB3aGljaCB3ZSB3aWxsIGFkZFxuICAgIHRoZUJsb2IubGFzdE1vZGlmaWVkRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgdGhlQmxvYi5uYW1lID0gZmlsZU5hbWU7XG4gICAgcmV0dXJuICg8RmlsZT50aGVCbG9iKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0YVVSTCh1cmwsIGNhbGxiYWNrKSB7XG5cdGxldCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblx0eGhyLm9ubG9hZCA9IGZ1bmN0aW9uKCkge1xuXHRcdGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuXHRcdHJlYWRlci5vbmxvYWRlbmQgPSBmdW5jdGlvbigpIHtcblx0XHRcdGNhbGxiYWNrKHJlYWRlci5yZXN1bHQpO1xuXHRcdH07XG5cdFx0cmVhZGVyLnJlYWRBc0RhdGFVUkwoeGhyLnJlc3BvbnNlKTtcblx0fTtcblx0eGhyLm9wZW4oJ0dFVCcsIHVybCk7XG5cdHhoci5yZXNwb25zZVR5cGUgPSAnYmxvYic7XG5cdHhoci5zZW5kKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWVwRGlmZkRldGFpbHMob2JqMTogYW55LCBvYmoyOiBhbnkpOiBzdHJpbmcge1xuICAgIGxldCBkaWZmID0gZGV0YWlsZWREaWZmKG9iajIsIG9iajEpO1xuICAgIGxldCBkaWZmU3RyaW5nID0gJyc7XG5cbiAgICBjb25zdCBmb3JtYXRWYWx1ZSA9ICh2YWx1ZTogYW55KTogc3RyaW5nID0+IHtcbiAgICAgICAgaWYgKG1vbWVudC5pc0RhdGUodmFsdWUpIHx8IG1vbWVudCh2YWx1ZSwgbW9tZW50LklTT184NjAxLCB0cnVlKS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBtb21lbnQodmFsdWUpLmZvcm1hdCgnbGxsbCcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gYFwiJHt2YWx1ZX1cImAgOiBTdHJpbmcodmFsdWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBmb3JtYXRBcnJheURpZmYgPSAoYXJyMTogYW55W10sIGFycjI6IGFueVtdKTogc3RyaW5nID0+IHtcbiAgICAgICAgbGV0IG1heExlbmd0aCA9IE1hdGgubWF4KGFycjEubGVuZ3RoLCBhcnIyLmxlbmd0aCk7XG4gICAgICAgIGxldCBhcnJheURpZmYgPSBbXTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1heExlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAoaSA+PSBhcnIxLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGFycmF5RGlmZi5wdXNoKGBhZGRlZDogJHtmb3JtYXRWYWx1ZShhcnIyW2ldKX1gKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpID49IGFycjIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgYXJyYXlEaWZmLnB1c2goYHJlbW92ZWQ6ICR7Zm9ybWF0VmFsdWUoYXJyMVtpXSl9YCk7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYXJyMVtpXSAhPT0gYXJyMltpXSkge1xuICAgICAgICAgICAgICAgIGFycmF5RGlmZi5wdXNoKGBmcm9tOiAke2Zvcm1hdFZhbHVlKGFycjFbaV0pfSB0bzogJHtmb3JtYXRWYWx1ZShhcnIyW2ldKX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgWyR7YXJyYXlEaWZmLmpvaW4oJywgJyl9XWA7XG4gICAgfTtcblxuICAgIGNvbnN0IGZvcm1hdE9iamVjdERpZmYgPSAob2JqMTogYW55LCBvYmoyOiBhbnkpOiBzdHJpbmcgPT4ge1xuICAgICAgICBpZiAob2JqMSA9PT0gbnVsbCB8fCBvYmoyID09PSBudWxsIHx8IHR5cGVvZiBvYmoxICE9PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqMiAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIHJldHVybiBgZnJvbTogJHtmb3JtYXRWYWx1ZShvYmoxKX0gdG86ICR7Zm9ybWF0VmFsdWUob2JqMil9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KG9iajEpICYmIEFycmF5LmlzQXJyYXkob2JqMikpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXRBcnJheURpZmYob2JqMSwgb2JqMik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMob2JqMSkubWFwKGtleSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIG9iajFba2V5XSA9PT0gJ29iamVjdCcgJiYgb2JqMVtrZXldICE9PSBudWxsICYmIG9iajJba2V5XSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBgJHt0b1RpdGxlQ2FzZShrZXkpfTogeyR7Zm9ybWF0T2JqZWN0RGlmZihvYmoxW2tleV0sIG9iajJba2V5XSl9fWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gYCR7dG9UaXRsZUNhc2Uoa2V5KX06IGZyb206ICR7Zm9ybWF0VmFsdWUob2JqMVtrZXldKX0gdG86ICR7Zm9ybWF0VmFsdWUob2JqMltrZXldKX1gO1xuICAgICAgICB9KS5qb2luKCcsICcpO1xuICAgIH07XG5cbiAgICBpZiAoT2JqZWN0LmtleXMoZGlmZi51cGRhdGVkKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRpZmZTdHJpbmcgKz0gJ1VwZGF0ZWQ6XFxuJztcblxuICAgICAgICBjb25zdCB1cGRhdGVzID0gT2JqZWN0LmtleXMoZGlmZi51cGRhdGVkKVxuICAgICAgICAgICAgLmZpbHRlcihrZXkgPT4ga2V5LnN1YnN0cigwLCAyKSAhPT0gJ2lkJyAmJiBkaWZmLnVwZGF0ZWRba2V5XSAhPT0gb2JqMltrZXldKVxuICAgICAgICAgICAgLm1hcChrZXkgPT4gYCR7dG9UaXRsZUNhc2Uoa2V5KX06IHske2Zvcm1hdE9iamVjdERpZmYoZGlmZi51cGRhdGVkW2tleV0sIG9iajJba2V5XSl9fWApXG4gICAgICAgICAgICAuam9pbignLFxcbicpO1xuXG4gICAgICAgIGRpZmZTdHJpbmcgKz0gdXBkYXRlcyA/IGAke3VwZGF0ZXN9XFxuYCA6ICcnO1xuICAgIH1cblxuICAgIHJldHVybiBkaWZmU3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVDcm9uU3RyaW5nRnJvbURhdGUoZGF0ZTogRGF0ZSkge1xuXHRyZXR1cm4gZGF0ZS5nZXRTZWNvbmRzKCkgKyAnICcgKyBkYXRlLmdldE1pbnV0ZXMoKSArICcgJyArIGRhdGUuZ2V0SG91cnMoKSArICcgJyArIGRhdGUuZ2V0RGF0ZSgpICsgJyAnICsgKGRhdGUuZ2V0TW9udGgoKSArIDEpICsgJyAnICsgZGF0ZS5nZXREYXkoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHMyYWIocykge1xuXHRsZXQgYnVmID0gbmV3IEFycmF5QnVmZmVyKHMubGVuZ3RoKTtcblx0bGV0IHZpZXcgPSBuZXcgVWludDhBcnJheShidWYpO1xuXHQvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYml0d2lzZVxuXHRmb3IgKGxldCBpID0gMDsgaSAhPT0gcy5sZW5ndGg7ICsraSkgeyB2aWV3W2ldID0gcy5jaGFyQ29kZUF0KGkpICYgMHhGRjsgfVxuXHRyZXR1cm4gYnVmOyBcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRGVlcCh0YXJnZXQsIC4uLnNvdXJjZXMpIHtcblx0aWYgKCFzb3VyY2VzLmxlbmd0aCkge1xuXHRcdHJldHVybiB0YXJnZXQ7XG5cdH1cblx0Y29uc3Qgc291cmNlID0gc291cmNlcy5zaGlmdCgpO1xuXG5cdGlmIChpc09iamVjdCh0YXJnZXQpICYmIGlzT2JqZWN0KHNvdXJjZSkpIHtcblx0XHRmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2UpIHtcblx0XHRcdGlmIChpc09iamVjdChzb3VyY2Vba2V5XSkpIHtcblx0XHRcdFx0aWYgKCF0YXJnZXRba2V5XSkge1xuXHRcdFx0XHRcdE9iamVjdC5hc3NpZ24odGFyZ2V0LCB7IFtrZXldOiB7fSB9KTtcblx0XHRcdFx0fVxuXHRcdFx0XHRtZXJnZURlZXAodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKTtcblx0XHRcdH0gXG5cdFx0XHRlbHNlIHtcblx0XHRcdFx0T2JqZWN0LmFzc2lnbih0YXJnZXQsIHsgW2tleV06IHNvdXJjZVtrZXldIH0pO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBtZXJnZURlZXAodGFyZ2V0LCAuLi5zb3VyY2VzKTtcbn0iXX0=
|
|
@@ -182,7 +182,7 @@ function toDataURL(url, callback) {
|
|
|
182
182
|
xhr.responseType = 'blob';
|
|
183
183
|
xhr.send();
|
|
184
184
|
}
|
|
185
|
-
function
|
|
185
|
+
function deepDiffDetails(obj1, obj2) {
|
|
186
186
|
let diff = detailedDiff(obj2, obj1);
|
|
187
187
|
let diffString = '';
|
|
188
188
|
const formatValue = (value) => {
|
|
@@ -191,10 +191,31 @@ function getDeepDiffDetails(obj1, obj2) {
|
|
|
191
191
|
}
|
|
192
192
|
return typeof value === 'string' ? `"${value}"` : String(value);
|
|
193
193
|
};
|
|
194
|
+
const formatArrayDiff = (arr1, arr2) => {
|
|
195
|
+
let maxLength = Math.max(arr1.length, arr2.length);
|
|
196
|
+
let arrayDiff = [];
|
|
197
|
+
for (let i = 0; i < maxLength; i++) {
|
|
198
|
+
if (i >= arr1.length) {
|
|
199
|
+
arrayDiff.push(`added: ${formatValue(arr2[i])}`);
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
if (i >= arr2.length) {
|
|
203
|
+
arrayDiff.push(`removed: ${formatValue(arr1[i])}`);
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
if (arr1[i] !== arr2[i]) {
|
|
207
|
+
arrayDiff.push(`from: ${formatValue(arr1[i])} to: ${formatValue(arr2[i])}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return `[${arrayDiff.join(', ')}]`;
|
|
211
|
+
};
|
|
194
212
|
const formatObjectDiff = (obj1, obj2) => {
|
|
195
213
|
if (obj1 === null || obj2 === null || typeof obj1 !== 'object' || typeof obj2 !== 'object') {
|
|
196
214
|
return `from: ${formatValue(obj1)} to: ${formatValue(obj2)}`;
|
|
197
215
|
}
|
|
216
|
+
if (Array.isArray(obj1) && Array.isArray(obj2)) {
|
|
217
|
+
return formatArrayDiff(obj1, obj2);
|
|
218
|
+
}
|
|
198
219
|
return Object.keys(obj1).map(key => {
|
|
199
220
|
if (typeof obj1[key] === 'object' && obj1[key] !== null && obj2[key] !== null) {
|
|
200
221
|
return `${toTitleCase(key)}: {${formatObjectDiff(obj1[key], obj2[key])}}`;
|
|
@@ -8778,5 +8799,5 @@ const SuperAdminModulePermission = {
|
|
|
8778
8799
|
* Generated bundle index. Do not edit.
|
|
8779
8800
|
*/
|
|
8780
8801
|
|
|
8781
|
-
export { AccountManagerService, AlertService, Auth365Component, AuthGuard, AuthPermissionService, AuthService, AwsService, BaseComponent, CanDeactivateGuard, CollapseTableComponent, CollapseTableModule, CoreComponent, CoreModule, CoreService, DatatableComponent, DatatableModule, DateShortcutComponent, DateShortcutModule, DialogService, DomSanitizorPipe, EnrollComponent, FileModule, FileUploadComponent, FilterEqualPipe, FilterNotEqualPipe, FocusDirective, ForgotPasswordComponent, FormButtonComponent, FormButtonModule, HomeComponent, JsonParsePipe, LoggerComponent, MinusCurrencyPipe, NavbarMainComponent, NavbarModuleComponent, OfflineManagerService, PhonePipe, PipeModule, ProviderService, ReportBuilderModulePermission, ResizeService, ResponsiveButtonGroupComponent, ResponsiveButtonGroupModule, ReversePipe, SchedulerComponent, SchedulerModule, ScrollDirective, SharedModule, SocketManagerService, SocketService, SortTableDirective, SortTableHeaderComponent, SortTableModule, SortTableNgForComponent, StorageDB, SuperAdminModulePermission, SupportTicketComponent, SupportTicketDetailComponent, SupportTicketEditComponent, SupportTicketListComponent, SupportTicketModule, SupportTicketNewComponent, SupportTicketRouting, SupportTicketService, TitleCaseAndUnderscorePipe, TokenManagerService, UserRoleComponent, UserRoleModule, ValidationService, WindowRefService, b64toBlobURL, blobToFile, dateReviver, deepCopy,
|
|
8802
|
+
export { AccountManagerService, AlertService, Auth365Component, AuthGuard, AuthPermissionService, AuthService, AwsService, BaseComponent, CanDeactivateGuard, CollapseTableComponent, CollapseTableModule, CoreComponent, CoreModule, CoreService, DatatableComponent, DatatableModule, DateShortcutComponent, DateShortcutModule, DialogService, DomSanitizorPipe, EnrollComponent, FileModule, FileUploadComponent, FilterEqualPipe, FilterNotEqualPipe, FocusDirective, ForgotPasswordComponent, FormButtonComponent, FormButtonModule, HomeComponent, JsonParsePipe, LoggerComponent, MinusCurrencyPipe, NavbarMainComponent, NavbarModuleComponent, OfflineManagerService, PhonePipe, PipeModule, ProviderService, ReportBuilderModulePermission, ResizeService, ResponsiveButtonGroupComponent, ResponsiveButtonGroupModule, ReversePipe, SchedulerComponent, SchedulerModule, ScrollDirective, SharedModule, SocketManagerService, SocketService, SortTableDirective, SortTableHeaderComponent, SortTableModule, SortTableNgForComponent, StorageDB, SuperAdminModulePermission, SupportTicketComponent, SupportTicketDetailComponent, SupportTicketEditComponent, SupportTicketListComponent, SupportTicketModule, SupportTicketNewComponent, SupportTicketRouting, SupportTicketService, TitleCaseAndUnderscorePipe, TokenManagerService, UserRoleComponent, UserRoleModule, ValidationService, WindowRefService, b64toBlobURL, blobToFile, dateReviver, deepCopy, deepDiffDetails, generateCronStringFromDate, isUpperCase, mergeDeep, pad, s2ab, toDataURL, toTitleCase, type };
|
|
8782
8803
|
//# sourceMappingURL=resolveio-client-lib-core.mjs.map
|