@igo2/utils 1.15.4 → 16.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2020 → esm2022}/igo2-utils.mjs +4 -4
- package/esm2022/lib/base64.mjs +85 -0
- package/esm2022/lib/cache.utils.mjs +10 -0
- package/esm2022/lib/change.interface.mjs +7 -0
- package/esm2022/lib/change.mjs +87 -0
- package/{esm2020 → esm2022}/lib/clipboard.mjs +52 -52
- package/esm2022/lib/dom.utils.mjs +16 -0
- package/esm2022/lib/file.mjs +28 -0
- package/esm2022/lib/index.mjs +16 -0
- package/esm2022/lib/number-utils.mjs +7 -0
- package/esm2022/lib/object-utils.mjs +248 -0
- package/{esm2020 → esm2022}/lib/strenum.mjs +8 -8
- package/{esm2020 → esm2022}/lib/string-utils.mjs +113 -105
- package/esm2022/lib/theme.utils.mjs +18 -0
- package/{esm2020 → esm2022}/lib/user-agent.mjs +3 -3
- package/{esm2020 → esm2022}/lib/uuid.mjs +9 -9
- package/esm2022/lib/watcher.mjs +40 -0
- package/{esm2020 → esm2022}/public_api.mjs +5 -5
- package/{fesm2020 → fesm2022}/igo2-utils.mjs +706 -656
- package/fesm2022/igo2-utils.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/base64.d.ts +8 -8
- package/lib/cache.utils.d.ts +1 -0
- package/lib/change.d.ts +5 -5
- package/lib/change.interface.d.ts +24 -24
- package/lib/clipboard.d.ts +7 -7
- package/lib/dom.utils.d.ts +4 -0
- package/lib/file.d.ts +16 -16
- package/lib/index.d.ts +15 -12
- package/lib/number-utils.d.ts +3 -3
- package/lib/object-utils.d.ts +27 -26
- package/lib/strenum.d.ts +4 -4
- package/lib/string-utils.d.ts +8 -6
- package/lib/theme.utils.d.ts +1 -0
- package/lib/user-agent.d.ts +5 -5
- package/lib/uuid.d.ts +2 -2
- package/lib/watcher.d.ts +19 -19
- package/package.json +10 -16
- package/public_api.d.ts +1 -1
- package/esm2020/lib/base64.mjs +0 -85
- package/esm2020/lib/change.interface.mjs +0 -7
- package/esm2020/lib/change.mjs +0 -87
- package/esm2020/lib/file.mjs +0 -28
- package/esm2020/lib/index.mjs +0 -13
- package/esm2020/lib/number-utils.mjs +0 -7
- package/esm2020/lib/object-utils.mjs +0 -248
- package/esm2020/lib/watcher.mjs +0 -41
- package/fesm2015/igo2-utils.mjs +0 -688
- package/fesm2015/igo2-utils.mjs.map +0 -1
- package/fesm2020/igo2-utils.mjs.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public_api';
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public_api';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWdvMi11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9pZ28yLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
const ALPHA = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
|
|
3
|
+
export class Base64 {
|
|
4
|
+
static PADCHAR = '=';
|
|
5
|
+
static ALPHA = ALPHA;
|
|
6
|
+
static getByte(s, i) {
|
|
7
|
+
const x = s.charCodeAt(i);
|
|
8
|
+
return x;
|
|
9
|
+
}
|
|
10
|
+
static getByte64(s, i) {
|
|
11
|
+
const idx = this.ALPHA.indexOf(s.charAt(i));
|
|
12
|
+
return idx;
|
|
13
|
+
}
|
|
14
|
+
static decode(s) {
|
|
15
|
+
let pads = 0, i, b10, imax = s.length, x = [];
|
|
16
|
+
s = String(s);
|
|
17
|
+
if (imax === 0) {
|
|
18
|
+
return s;
|
|
19
|
+
}
|
|
20
|
+
if (s.charAt(imax - 1) === this.PADCHAR) {
|
|
21
|
+
pads = 1;
|
|
22
|
+
if (s.charAt(imax - 2) === this.PADCHAR) {
|
|
23
|
+
pads = 2;
|
|
24
|
+
}
|
|
25
|
+
imax -= 4;
|
|
26
|
+
}
|
|
27
|
+
for (i = 0; i < imax; i += 4) {
|
|
28
|
+
b10 =
|
|
29
|
+
(this.getByte64(s, i) << 18) |
|
|
30
|
+
(this.getByte64(s, i + 1) << 12) |
|
|
31
|
+
(this.getByte64(s, i + 2) << 6) |
|
|
32
|
+
this.getByte64(s, i + 3);
|
|
33
|
+
x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255, b10 & 255));
|
|
34
|
+
}
|
|
35
|
+
switch (pads) {
|
|
36
|
+
case 1:
|
|
37
|
+
b10 =
|
|
38
|
+
(this.getByte64(s, i) << 18) |
|
|
39
|
+
(this.getByte64(s, i + 1) << 12) |
|
|
40
|
+
(this.getByte64(s, i + 2) << 6);
|
|
41
|
+
x.push(String.fromCharCode(b10 >> 16, (b10 >> 8) & 255));
|
|
42
|
+
break;
|
|
43
|
+
case 2:
|
|
44
|
+
b10 = (this.getByte64(s, i) << 18) | (this.getByte64(s, i + 1) << 12);
|
|
45
|
+
x.push(String.fromCharCode(b10 >> 16));
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
return x.join('');
|
|
49
|
+
}
|
|
50
|
+
static encode(s) {
|
|
51
|
+
s = String(s);
|
|
52
|
+
let i, b10, x = [], imax = s.length - (s.length % 3);
|
|
53
|
+
if (s.length === 0) {
|
|
54
|
+
return s;
|
|
55
|
+
}
|
|
56
|
+
for (i = 0; i < imax; i += 3) {
|
|
57
|
+
b10 =
|
|
58
|
+
(this.getByte(s, i) << 16) |
|
|
59
|
+
(this.getByte(s, i + 1) << 8) |
|
|
60
|
+
this.getByte(s, i + 2);
|
|
61
|
+
x.push(this.ALPHA.charAt(b10 >> 18));
|
|
62
|
+
x.push(this.ALPHA.charAt((b10 >> 12) & 63));
|
|
63
|
+
x.push(this.ALPHA.charAt((b10 >> 6) & 63));
|
|
64
|
+
x.push(this.ALPHA.charAt(b10 & 63));
|
|
65
|
+
}
|
|
66
|
+
switch (s.length - imax) {
|
|
67
|
+
case 1:
|
|
68
|
+
b10 = this.getByte(s, i) << 16;
|
|
69
|
+
x.push(this.ALPHA.charAt(b10 >> 18) +
|
|
70
|
+
this.ALPHA.charAt((b10 >> 12) & 63) +
|
|
71
|
+
this.PADCHAR +
|
|
72
|
+
this.PADCHAR);
|
|
73
|
+
break;
|
|
74
|
+
case 2:
|
|
75
|
+
b10 = (this.getByte(s, i) << 16) | (this.getByte(s, i + 1) << 8);
|
|
76
|
+
x.push(this.ALPHA.charAt(b10 >> 18) +
|
|
77
|
+
this.ALPHA.charAt((b10 >> 12) & 63) +
|
|
78
|
+
this.ALPHA.charAt((b10 >> 6) & 63) +
|
|
79
|
+
this.PADCHAR);
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
return x.join('');
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZTY0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9iYXNlNjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0JBQW9CO0FBRXBCLE1BQU0sS0FBSyxHQUNULGtFQUFrRSxDQUFDO0FBRXJFLE1BQU0sT0FBTyxNQUFNO0lBQ1QsTUFBTSxDQUFDLE9BQU8sR0FBVyxHQUFHLENBQUM7SUFDN0IsTUFBTSxDQUFDLEtBQUssR0FBVyxLQUFLLENBQUM7SUFFN0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFTLEVBQUUsQ0FBUztRQUN6QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzFCLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBUyxFQUFFLENBQVM7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVDLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVNLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBUztRQUM1QixJQUFJLElBQUksR0FBRyxDQUFDLEVBQ1YsQ0FBQyxFQUNELEdBQUcsRUFDSCxJQUFJLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFDZixDQUFDLEdBQUcsRUFBRSxDQUFDO1FBRVQsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVkLElBQUksSUFBSSxLQUFLLENBQUMsRUFBRTtZQUNkLE9BQU8sQ0FBQyxDQUFDO1NBQ1Y7UUFFRCxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkMsSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNULElBQUksQ0FBQyxD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QyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDLENBQUMsSUFBSSxDQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsT0FBTyxDQUNmLENBQUM7Z0JBQ0YsTUFBTTtTQUNUO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuXG5jb25zdCBBTFBIQSA9XG4gICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJztcblxuZXhwb3J0IGNsYXNzIEJhc2U2NCB7XG4gIHByaXZhdGUgc3RhdGljIFBBRENIQVI6IHN0cmluZyA9ICc9JztcbiAgcHJpdmF0ZSBzdGF0aWMgQUxQSEE6IHN0cmluZyA9IEFMUEhBO1xuXG4gIHByaXZhdGUgc3RhdGljIGdldEJ5dGUoczogc3RyaW5nLCBpOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IHggPSBzLmNoYXJDb2RlQXQoaSk7XG4gICAgcmV0dXJuIHg7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRCeXRlNjQoczogc3RyaW5nLCBpOiBudW1iZXIpOiBudW1iZXIge1xuICAgIGNvbnN0IGlkeCA9IHRoaXMuQUxQSEEuaW5kZXhPZihzLmNoYXJBdChpKSk7XG4gICAgcmV0dXJuIGlkeDtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZGVjb2RlKHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgbGV0IHBhZHMgPSAwLFxuICAgICAgaSxcbiAgICAgIGIxMCxcbiAgICAgIGltYXggPSBzLmxlbmd0aCxcbiAgICAgIHggPSBbXTtcblxuICAgIHMgPSBTdHJpbmcocyk7XG5cbiAgICBpZiAoaW1heCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHM7XG4gICAgfVxuXG4gICAgaWYgKHMuY2hhckF0KGltYXggLSAxKSA9PT0gdGhpcy5QQURDSEFSKSB7XG4gICAgICBwYWRzID0gMTtcbiAgICAgIGlmIChzLmNoYXJBdChpbWF4IC0gMikgPT09IHRoaXMuUEFEQ0hBUikge1xuICAgICAgICBwYWRzID0gMjtcbiAgICAgIH1cbiAgICAgIGltYXggLT0gNDtcbiAgICB9XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgaW1heDsgaSArPSA0KSB7XG4gICAgICBiMTAgPVxuICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSkgPDwgMTgpIHxcbiAgICAgICAgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAxKSA8PCAxMikgfFxuICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSArIDIpIDw8IDYpIHxcbiAgICAgICAgdGhpcy5nZXRCeXRlNjQocywgaSArIDMpO1xuICAgICAgeC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYjEwID4+IDE2LCAoYjEwID4+IDgpICYgMjU1LCBiMTAgJiAyNTUpKTtcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHBhZHMpIHtcbiAgICAgIGNhc2UgMTpcbiAgICAgICAgYjEwID1cbiAgICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSkgPDwgMTgpIHxcbiAgICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSArIDEpIDw8IDEyKSB8XG4gICAgICAgICAgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAyKSA8PCA2KTtcbiAgICAgICAgeC5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYjEwID4+IDE2LCAoYjEwID4+IDgpICYgMjU1KSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAyOlxuICAgICAgICBiMTAgPSAodGhpcy5nZXRCeXRlNjQocywgaSkgPDwgMTgpIHwgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAxKSA8PCAxMik7XG4gICAgICAgIHgucHVzaChTdHJpbmcuZnJvbUNoYXJDb2RlKGIxMCA+PiAxNikpO1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4geC5qb2luKCcnKTtcbiAgfVxuXG4gIHB1YmxpYyBzdGF0aWMgZW5jb2RlKHM6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcyA9IFN0cmluZyhzKTtcblxuICAgIGxldCBpLFxuICAgICAgYjEwLFxuICAgICAgeCA9IFtdLFxuICAgICAgaW1heCA9IHMubGVuZ3RoIC0gKHMubGVuZ3RoICUgMyk7XG5cbiAgICBpZiAocy5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBzO1xuICAgIH1cblxuICAgIGZvciAoaSA9IDA7IGkgPCBpbWF4OyBpICs9IDMpIHtcbiAgICAgIGIxMCA9XG4gICAgICAgICh0aGlzLmdldEJ5dGUocywgaSkgPDwgMTYpIHxcbiAgICAgICAgKHRoaXMuZ2V0Qnl0ZShzLCBpICsgMSkgPDwgOCkgfFxuICAgICAgICB0aGlzLmdldEJ5dGUocywgaSArIDIpO1xuICAgICAgeC5wdXNoKHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkpO1xuICAgICAgeC5wdXNoKHRoaXMuQUxQSEEuY2hhckF0KChiMTAgPj4gMTIpICYgNjMpKTtcbiAgICAgIHgucHVzaCh0aGlzLkFMUEhBLmNoYXJBdCgoYjEwID4+IDYpICYgNjMpKTtcbiAgICAgIHgucHVzaCh0aGlzLkFMUEhBLmNoYXJBdChiMTAgJiA2MykpO1xuICAgIH1cblxuICAgIHN3aXRjaCAocy5sZW5ndGggLSBpbWF4KSB7XG4gICAgICBjYXNlIDE6XG4gICAgICAgIGIxMCA9IHRoaXMuZ2V0Qnl0ZShzLCBpKSA8PCAxNjtcbiAgICAgICAgeC5wdXNoKFxuICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkgK1xuICAgICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiAxMikgJiA2MykgK1xuICAgICAgICAgICAgdGhpcy5QQURDSEFSICtcbiAgICAgICAgICAgIHRoaXMuUEFEQ0hBUlxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgMjpcbiAgICAgICAgYjEwID0gKHRoaXMuZ2V0Qnl0ZShzLCBpKSA8PCAxNikgfCAodGhpcy5nZXRCeXRlKHMsIGkgKyAxKSA8PCA4KTtcbiAgICAgICAgeC5wdXNoKFxuICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkgK1xuICAgICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiAxMikgJiA2MykgK1xuICAgICAgICAgICAgdGhpcy5BTFBIQS5jaGFyQXQoKGIxMCA+PiA2KSAmIDYzKSArXG4gICAgICAgICAgICB0aGlzLlBBRENIQVJcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHguam9pbignJyk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
|
2
|
+
export function customCacheHasher(parameters) {
|
|
3
|
+
return parameters.map((param) => {
|
|
4
|
+
if (param instanceof HttpParams) {
|
|
5
|
+
return param.toString();
|
|
6
|
+
}
|
|
7
|
+
return param !== undefined ? JSON.parse(JSON.stringify(param)) : param;
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlscy9zcmMvbGliL2NhY2hlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBcUI7SUFDckQsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDOUIsSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21DYWNoZUhhc2hlcihwYXJhbWV0ZXJzOiB1bmtub3duW10pOiB1bmtub3duW10ge1xuICByZXR1cm4gcGFyYW1ldGVycy5tYXAoKHBhcmFtKSA9PiB7XG4gICAgaWYgKHBhcmFtIGluc3RhbmNlb2YgSHR0cFBhcmFtcykge1xuICAgICAgcmV0dXJuIHBhcmFtLnRvU3RyaW5nKCk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbSAhPT0gdW5kZWZpbmVkID8gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShwYXJhbSkpIDogcGFyYW07XG4gIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export var ChangeType;
|
|
2
|
+
(function (ChangeType) {
|
|
3
|
+
ChangeType["ADDED"] = "added";
|
|
4
|
+
ChangeType["DELETED"] = "deleted";
|
|
5
|
+
ChangeType["MODIFIED"] = "modified";
|
|
6
|
+
})(ChangeType || (ChangeType = {}));
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvY2hhbmdlLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxVQUlYO0FBSkQsV0FBWSxVQUFVO0lBQ3BCLDZCQUFlLENBQUE7SUFDZixpQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBcUIsQ0FBQTtBQUN2QixDQUFDLEVBSlcsVUFBVSxLQUFWLFVBQVUsUUFJckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDaGFuZ2VUeXBlIHtcbiAgQURERUQgPSAnYWRkZWQnLFxuICBERUxFVEVEID0gJ2RlbGV0ZWQnLFxuICBNT0RJRklFRCA9ICdtb2RpZmllZCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2Uge1xuICB0eXBlOiBDaGFuZ2VUeXBlO1xuICBrZXlzQ2hhbmdlZD86IHtcbiAgICBrZXk6IHN0cmluZztcbiAgICBuZXdWYWx1ZTogYW55O1xuICAgIG9sZFZhbHVlOiBhbnk7XG4gIH1bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcm91cGluZ0NoYW5nZXMge1xuICBhZGRlZDogQ2hhbmdlSXRlbVtdO1xuICBkZWxldGVkOiBDaGFuZ2VJdGVtW107XG4gIG1vZGlmaWVkOiBDaGFuZ2VJdGVtW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlSXRlbSB7XG4gIGNoYW5nZTogQ2hhbmdlO1xuICB2YWx1ZTogYW55O1xuICBvbGRWYWx1ZT86IGFueTtcbiAgbmV3VmFsdWU/OiBhbnk7XG59XG4iXX0=
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { StringUtils } from './string-utils';
|
|
2
|
+
import { ChangeType } from './change.interface';
|
|
3
|
+
export class ChangeUtils {
|
|
4
|
+
static findChanges(obj1, obj2, ignoreKeys = []) {
|
|
5
|
+
const items = {
|
|
6
|
+
added: [],
|
|
7
|
+
deleted: [],
|
|
8
|
+
modified: []
|
|
9
|
+
};
|
|
10
|
+
if (!obj1 || !obj2) {
|
|
11
|
+
return items;
|
|
12
|
+
}
|
|
13
|
+
const obj1Clone = [...obj1];
|
|
14
|
+
const obj2Clone = [...obj2];
|
|
15
|
+
for (const fromItem of obj1Clone) {
|
|
16
|
+
const index = obj2Clone.findIndex((s) => s.id === fromItem.id);
|
|
17
|
+
if (index === -1) {
|
|
18
|
+
items.deleted.push({
|
|
19
|
+
change: { type: ChangeType.DELETED },
|
|
20
|
+
value: fromItem
|
|
21
|
+
});
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
const toItem = obj2Clone.splice(index, 1)[0];
|
|
25
|
+
const fromItemClone = JSON.parse(JSON.stringify(fromItem));
|
|
26
|
+
const toItemClone = JSON.parse(JSON.stringify(toItem));
|
|
27
|
+
const keysChanged = ChangeUtils.compareObject(fromItemClone, toItemClone, undefined, ignoreKeys);
|
|
28
|
+
if (keysChanged.length) {
|
|
29
|
+
items.modified.push({
|
|
30
|
+
change: {
|
|
31
|
+
type: ChangeType.MODIFIED,
|
|
32
|
+
keysChanged
|
|
33
|
+
},
|
|
34
|
+
value: fromItemClone,
|
|
35
|
+
oldValue: fromItem,
|
|
36
|
+
newValue: toItem
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
items.added = obj2Clone.map((itemAdded) => {
|
|
41
|
+
return {
|
|
42
|
+
change: { type: ChangeType.ADDED },
|
|
43
|
+
value: itemAdded
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
return items;
|
|
47
|
+
}
|
|
48
|
+
static compareObject(fromItem, toItem, baseKey, ignoreKeys = []) {
|
|
49
|
+
const fromItemClone = JSON.parse(JSON.stringify(fromItem));
|
|
50
|
+
const toItemClone = JSON.parse(JSON.stringify(toItem));
|
|
51
|
+
const keys = new Set([
|
|
52
|
+
...Object.keys(fromItem),
|
|
53
|
+
...Object.keys(toItem)
|
|
54
|
+
]);
|
|
55
|
+
let keysChanged = [];
|
|
56
|
+
keys.forEach((key) => {
|
|
57
|
+
const keyString = baseKey ? `${baseKey}.${key}` : key;
|
|
58
|
+
if (ignoreKeys.indexOf(keyString) !== -1) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
if (Array.isArray(fromItem[key])) {
|
|
62
|
+
fromItem[key] = fromItem[key].join(',<br>');
|
|
63
|
+
}
|
|
64
|
+
if (Array.isArray(toItem[key])) {
|
|
65
|
+
toItem[key] = toItem[key].join(',<br>');
|
|
66
|
+
}
|
|
67
|
+
if (typeof fromItem[key] === 'object' &&
|
|
68
|
+
typeof toItem[key] === 'object' &&
|
|
69
|
+
fromItem[key] !== null &&
|
|
70
|
+
toItem[key] !== null) {
|
|
71
|
+
keysChanged = keysChanged.concat(this.compareObject(fromItem[key], toItem[key], keyString));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
if (fromItem[key] !== toItem[key]) {
|
|
75
|
+
keysChanged.push({
|
|
76
|
+
key: keyString,
|
|
77
|
+
oldValue: fromItemClone[key],
|
|
78
|
+
newValue: toItemClone[key]
|
|
79
|
+
});
|
|
80
|
+
fromItem[key] = StringUtils.diff(fromItem[key], toItem[key]);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return keysChanged;
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhbmdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9jaGFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBbUIsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakUsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLFdBQVcsQ0FDaEIsSUFBVyxFQUNYLElBQVcsRUFDWCxhQUF1QixFQUFFO1FBRXpCLE1BQU0sS0FBSyxHQUFvQjtZQUM3QixLQUFLLEVBQUUsRUFBRTtZQUNULE9BQU8sRUFBRSxFQUFFO1lBQ1gsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO1FBRUYsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNsQixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsTUFBTSxTQUFTLEdBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ2pDLE1BQU0sU0FBUyxHQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztRQUVqQyxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUNoQyxNQUFNLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUUvRCxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDaEIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7b0JBQ2pCLE1BQU0sRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsT0FBTyxFQUFFO29CQUNwQyxLQUFLLEVBQUUsUUFBUTtpQkFDaEIsQ0FBQyxDQUFDO2dCQUNILFNBQVM7YUFDVjtZQUVELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FB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QUFJLEVBQ3BCO2dCQUNBLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQzFELENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pDLFdBQVcsQ0FBQyxJQUFJLENBQUM7d0JBQ2YsR0FBRyxFQUFFLFNBQVM7d0JBQ2QsUUFBUSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUM7d0JBQzVCLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDO3FCQUMzQixDQUFDLENBQUM7b0JBQ0gsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUM5RDthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4vc3RyaW5nLXV0aWxzJztcbmltcG9ydCB7IEdyb3VwaW5nQ2hhbmdlcywgQ2hhbmdlVHlwZSB9IGZyb20gJy4vY2hhbmdlLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjbGFzcyBDaGFuZ2VVdGlscyB7XG4gIHN0YXRpYyBmaW5kQ2hhbmdlcyhcbiAgICBvYmoxOiBhbnlbXSxcbiAgICBvYmoyOiBhbnlbXSxcbiAgICBpZ25vcmVLZXlzOiBzdHJpbmdbXSA9IFtdXG4gICk6IEdyb3VwaW5nQ2hhbmdlcyB7XG4gICAgY29uc3QgaXRlbXM6IEdyb3VwaW5nQ2hhbmdlcyA9IHtcbiAgICAgIGFkZGVkOiBbXSxcbiAgICAgIGRlbGV0ZWQ6IFtdLFxuICAgICAgbW9kaWZpZWQ6IFtdXG4gICAgfTtcblxuICAgIGlmICghb2JqMSB8fCAhb2JqMikge1xuICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgIH1cblxuICAgIGNvbnN0IG9iajFDbG9uZTogYW55ID0gWy4uLm9iajFdO1xuICAgIGNvbnN0IG9iajJDbG9uZTogYW55ID0gWy4uLm9iajJdO1xuXG4gICAgZm9yIChjb25zdCBmcm9tSXRlbSBvZiBvYmoxQ2xvbmUpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gb2JqMkNsb25lLmZpbmRJbmRleCgocykgPT4gcy5pZCA9PT0gZnJvbUl0ZW0uaWQpO1xuXG4gICAgICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgICAgIGl0ZW1zLmRlbGV0ZWQucHVzaCh7XG4gICAgICAgICAgY2hhbmdlOiB7IHR5cGU6IENoYW5nZVR5cGUuREVMRVRFRCB9LFxuICAgICAgICAgIHZhbHVlOiBmcm9tSXRlbVxuICAgICAgICB9KTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRvSXRlbSA9IG9iajJDbG9uZS5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgY29uc3QgZnJvbUl0ZW1DbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZnJvbUl0ZW0pKTtcbiAgICAgIGNvbnN0IHRvSXRlbUNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0b0l0ZW0pKTtcblxuICAgICAgY29uc3Qga2V5c0NoYW5nZWQgPSBDaGFuZ2VVdGlscy5jb21wYXJlT2JqZWN0KFxuICAgICAgICBmcm9tSXRlbUNsb25lLFxuICAgICAgICB0b0l0ZW1DbG9uZSxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICBpZ25vcmVLZXlzXG4gICAgICApO1xuXG4gICAgICBpZiAoa2V5c0NoYW5nZWQubGVuZ3RoKSB7XG4gICAgICAgIGl0ZW1zLm1vZGlmaWVkLnB1c2goe1xuICAgICAgICAgIGNoYW5nZToge1xuICAgICAgICAgICAgdHlwZTogQ2hhbmdlVHlwZS5NT0RJRklFRCxcbiAgICAgICAgICAgIGtleXNDaGFuZ2VkXG4gICAgICAgICAgfSxcbiAgICAgICAgICB2YWx1ZTogZnJvbUl0ZW1DbG9uZSxcbiAgICAgICAgICBvbGRWYWx1ZTogZnJvbUl0ZW0sXG4gICAgICAgICAgbmV3VmFsdWU6IHRvSXRlbVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpdGVtcy5hZGRlZCA9IG9iajJDbG9uZS5tYXAoKGl0ZW1BZGRlZCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgY2hhbmdlOiB7IHR5cGU6IENoYW5nZVR5cGUuQURERUQgfSxcbiAgICAgICAgdmFsdWU6IGl0ZW1BZGRlZFxuICAgICAgfTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpdGVtcztcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNvbXBhcmVPYmplY3QoZnJvbUl0ZW0sIHRvSXRlbSwgYmFzZUtleT8sIGlnbm9yZUtleXMgPSBbXSkge1xuICAgIGNvbnN0IGZyb21JdGVtQ2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGZyb21JdGVtKSk7XG4gICAgY29uc3QgdG9JdGVtQ2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRvSXRlbSkpO1xuXG4gICAgY29uc3Qga2V5czogYW55ID0gbmV3IFNldChbXG4gICAgICAuLi5PYmplY3Qua2V5cyhmcm9tSXRlbSksXG4gICAgICAuLi5PYmplY3Qua2V5cyh0b0l0ZW0pXG4gICAgXSk7XG4gICAgbGV0IGtleXNDaGFuZ2VkID0gW107XG4gICAga2V5cy5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgIGNvbnN0IGtleVN0cmluZyA9IGJhc2VLZXkgPyBgJHtiYXNlS2V5fS4ke2tleX1gIDoga2V5O1xuICAgICAgaWYgKGlnbm9yZUtleXMuaW5kZXhPZihrZXlTdHJpbmcpICE9PSAtMSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGZyb21JdGVtW2tleV0pKSB7XG4gICAgICAgIGZyb21JdGVtW2tleV0gPSBmcm9tSXRlbVtrZXldLmpvaW4oJyw8YnI+Jyk7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh0b0l0ZW1ba2V5XSkpIHtcbiAgICAgICAgdG9JdGVtW2tleV0gPSB0b0l0ZW1ba2V5XS5qb2luKCcsPGJyPicpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBmcm9tSXRlbVtrZXldID09PSAnb2JqZWN0JyAmJlxuICAgICAgICB0eXBlb2YgdG9JdGVtW2tleV0gPT09ICdvYmplY3QnICYmXG4gICAgICAgIGZyb21JdGVtW2tleV0gIT09IG51bGwgJiZcbiAgICAgICAgdG9JdGVtW2tleV0gIT09IG51bGxcbiAgICAgICkge1xuICAgICAgICBrZXlzQ2hhbmdlZCA9IGtleXNDaGFuZ2VkLmNvbmNhdChcbiAgICAgICAgICB0aGlzLmNvbXBhcmVPYmplY3QoZnJvbUl0ZW1ba2V5XSwgdG9JdGVtW2tleV0sIGtleVN0cmluZylcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChmcm9tSXRlbVtrZXldICE9PSB0b0l0ZW1ba2V5XSkge1xuICAgICAgICAgIGtleXNDaGFuZ2VkLnB1c2goe1xuICAgICAgICAgICAga2V5OiBrZXlTdHJpbmcsXG4gICAgICAgICAgICBvbGRWYWx1ZTogZnJvbUl0ZW1DbG9uZVtrZXldLFxuICAgICAgICAgICAgbmV3VmFsdWU6IHRvSXRlbUNsb25lW2tleV1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBmcm9tSXRlbVtrZXldID0gU3RyaW5nVXRpbHMuZGlmZihmcm9tSXRlbVtrZXldLCB0b0l0ZW1ba2V5XSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBrZXlzQ2hhbmdlZDtcbiAgfVxufVxuIl19
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
import { userAgent } from './user-agent';
|
|
2
|
-
export class Clipboard {
|
|
3
|
-
static copy(element) {
|
|
4
|
-
let successful = false;
|
|
5
|
-
if (typeof element === 'string') {
|
|
6
|
-
const textArea = Clipboard.createTextArea(element);
|
|
7
|
-
Clipboard.selectText(textArea);
|
|
8
|
-
successful = Clipboard.copyTextToClipboard();
|
|
9
|
-
Clipboard.destroyTextArea(textArea);
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
Clipboard.selectText(element);
|
|
13
|
-
successful = Clipboard.copyTextToClipboard();
|
|
14
|
-
}
|
|
15
|
-
return successful;
|
|
16
|
-
}
|
|
17
|
-
static createTextArea(text) {
|
|
18
|
-
const textArea = document.createElement('textArea');
|
|
19
|
-
textArea.value = text;
|
|
20
|
-
document.body.appendChild(textArea);
|
|
21
|
-
return textArea;
|
|
22
|
-
}
|
|
23
|
-
static destroyTextArea(textArea) {
|
|
24
|
-
document.body.removeChild(textArea);
|
|
25
|
-
}
|
|
26
|
-
static selectText(textArea) {
|
|
27
|
-
if (userAgent.getOSName() === 'iOS') {
|
|
28
|
-
const oldContentEditable = textArea.contentEditable;
|
|
29
|
-
const oldReadOnly = textArea.readOnly;
|
|
30
|
-
const range = document.createRange();
|
|
31
|
-
const selection = window.getSelection();
|
|
32
|
-
textArea.contenteditable = true;
|
|
33
|
-
textArea.readonly = false;
|
|
34
|
-
range.selectNodeContents(textArea);
|
|
35
|
-
selection.removeAllRanges();
|
|
36
|
-
selection.addRange(range);
|
|
37
|
-
textArea.setSelectionRange(0, 999999);
|
|
38
|
-
textArea.contentEditable = oldContentEditable;
|
|
39
|
-
textArea.readOnly = oldReadOnly;
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
textArea.select();
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
static copyTextToClipboard() {
|
|
46
|
-
if (!(userAgent.getOSName() === 'iOS' && userAgent.compareVersion('<10'))) {
|
|
47
|
-
return document.execCommand('copy');
|
|
48
|
-
}
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { userAgent } from './user-agent';
|
|
2
|
+
export class Clipboard {
|
|
3
|
+
static copy(element) {
|
|
4
|
+
let successful = false;
|
|
5
|
+
if (typeof element === 'string') {
|
|
6
|
+
const textArea = Clipboard.createTextArea(element);
|
|
7
|
+
Clipboard.selectText(textArea);
|
|
8
|
+
successful = Clipboard.copyTextToClipboard();
|
|
9
|
+
Clipboard.destroyTextArea(textArea);
|
|
10
|
+
}
|
|
11
|
+
else {
|
|
12
|
+
Clipboard.selectText(element);
|
|
13
|
+
successful = Clipboard.copyTextToClipboard();
|
|
14
|
+
}
|
|
15
|
+
return successful;
|
|
16
|
+
}
|
|
17
|
+
static createTextArea(text) {
|
|
18
|
+
const textArea = document.createElement('textArea');
|
|
19
|
+
textArea.value = text;
|
|
20
|
+
document.body.appendChild(textArea);
|
|
21
|
+
return textArea;
|
|
22
|
+
}
|
|
23
|
+
static destroyTextArea(textArea) {
|
|
24
|
+
document.body.removeChild(textArea);
|
|
25
|
+
}
|
|
26
|
+
static selectText(textArea) {
|
|
27
|
+
if (userAgent.getOSName() === 'iOS') {
|
|
28
|
+
const oldContentEditable = textArea.contentEditable;
|
|
29
|
+
const oldReadOnly = textArea.readOnly;
|
|
30
|
+
const range = document.createRange();
|
|
31
|
+
const selection = window.getSelection();
|
|
32
|
+
textArea.contenteditable = true;
|
|
33
|
+
textArea.readonly = false;
|
|
34
|
+
range.selectNodeContents(textArea);
|
|
35
|
+
selection.removeAllRanges();
|
|
36
|
+
selection.addRange(range);
|
|
37
|
+
textArea.setSelectionRange(0, 999999);
|
|
38
|
+
textArea.contentEditable = oldContentEditable;
|
|
39
|
+
textArea.readOnly = oldReadOnly;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
textArea.select();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static copyTextToClipboard() {
|
|
46
|
+
if (!(userAgent.getOSName() === 'iOS' && userAgent.compareVersion('<10'))) {
|
|
47
|
+
return document.execCommand('copy');
|
|
48
|
+
}
|
|
49
|
+
return false;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXFDO1FBQy9DLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN4QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztRQUMzRSxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1FBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVE7UUFDaEMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxFQUFFO1lBQ25DLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFeEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDaEMsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztZQUM5QyxRQUFRLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztTQUNqQzthQUFNO1lBQ0wsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUI7UUFDaEMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLEtBQUssSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDekUsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VyQWdlbnQgfSBmcm9tICcuL3VzZXItYWdlbnQnO1xuXG5leHBvcnQgY2xhc3MgQ2xpcGJvYXJkIHtcbiAgc3RhdGljIGNvcHkoZWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudCB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGxldCBzdWNjZXNzZnVsID0gZmFsc2U7XG4gICAgaWYgKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgdGV4dEFyZWEgPSBDbGlwYm9hcmQuY3JlYXRlVGV4dEFyZWEoZWxlbWVudCk7XG4gICAgICBDbGlwYm9hcmQuc2VsZWN0VGV4dCh0ZXh0QXJlYSk7XG4gICAgICBzdWNjZXNzZnVsID0gQ2xpcGJvYXJkLmNvcHlUZXh0VG9DbGlwYm9hcmQoKTtcbiAgICAgIENsaXBib2FyZC5kZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBDbGlwYm9hcmQuc2VsZWN0VGV4dChlbGVtZW50KTtcbiAgICAgIHN1Y2Nlc3NmdWwgPSBDbGlwYm9hcmQuY29weVRleHRUb0NsaXBib2FyZCgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2Vzc2Z1bDtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIGNyZWF0ZVRleHRBcmVhKHRleHQ6IHN0cmluZyk6IEhUTUxUZXh0QXJlYUVsZW1lbnQge1xuICAgIGNvbnN0IHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dEFyZWEnKSBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xuICAgIHRleHRBcmVhLnZhbHVlID0gdGV4dDtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHRleHRBcmVhKTtcbiAgICByZXR1cm4gdGV4dEFyZWE7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBkZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpIHtcbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHRleHRBcmVhKTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNlbGVjdFRleHQodGV4dEFyZWEpIHtcbiAgICBpZiAodXNlckFnZW50LmdldE9TTmFtZSgpID09PSAnaU9TJykge1xuICAgICAgY29uc3Qgb2xkQ29udGVudEVkaXRhYmxlID0gdGV4dEFyZWEuY29udGVudEVkaXRhYmxlO1xuICAgICAgY29uc3Qgb2xkUmVhZE9ubHkgPSB0ZXh0QXJlYS5yZWFkT25seTtcbiAgICAgIGNvbnN0IHJhbmdlID0gZG9jdW1lbnQuY3JlYXRlUmFuZ2UoKTtcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcblxuICAgICAgdGV4dEFyZWEuY29udGVudGVkaXRhYmxlID0gdHJ1ZTtcbiAgICAgIHRleHRBcmVhLnJlYWRvbmx5ID0gZmFsc2U7XG4gICAgICByYW5nZS5zZWxlY3ROb2RlQ29udGVudHModGV4dEFyZWEpO1xuICAgICAgc2VsZWN0aW9uLnJlbW92ZUFsbFJhbmdlcygpO1xuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcbiAgICAgIHRleHRBcmVhLnNldFNlbGVjdGlvblJhbmdlKDAsIDk5OTk5OSk7XG4gICAgICB0ZXh0QXJlYS5jb250ZW50RWRpdGFibGUgPSBvbGRDb250ZW50RWRpdGFibGU7XG4gICAgICB0ZXh0QXJlYS5yZWFkT25seSA9IG9sZFJlYWRPbmx5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0ZXh0QXJlYS5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjb3B5VGV4dFRvQ2xpcGJvYXJkKCk6IGJvb2xlYW4ge1xuICAgIGlmICghKHVzZXJBZ2VudC5nZXRPU05hbWUoKSA9PT0gJ2lPUycgJiYgdXNlckFnZW50LmNvbXBhcmVWZXJzaW9uKCc8MTAnKSkpIHtcbiAgICAgIHJldHVybiBkb2N1bWVudC5leGVjQ29tbWFuZCgnY29weScpO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class DomUtils {
|
|
2
|
+
static create(doc, tagName, options) {
|
|
3
|
+
const el = doc.createElement(tagName);
|
|
4
|
+
for (const key in options) {
|
|
5
|
+
el[key] = options[key];
|
|
6
|
+
}
|
|
7
|
+
return el;
|
|
8
|
+
}
|
|
9
|
+
static remove(node) {
|
|
10
|
+
if (!node.parentNode) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
node.parentNode.removeChild(node);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9kb20udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFhLEVBQ2IsT0FBVSxFQUNWLE9BQTJDO1FBRTNDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7WUFDekIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBOEI7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERvbVV0aWxzIHtcbiAgc3RhdGljIGNyZWF0ZTxLIGV4dGVuZHMga2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwPihcbiAgICBkb2M6IERvY3VtZW50LFxuICAgIHRhZ05hbWU6IEssXG4gICAgb3B0aW9ucz86IFBhcnRpYWw8SFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tdPlxuICApOiBIVE1MRWxlbWVudFRhZ05hbWVNYXBbS10ge1xuICAgIGNvbnN0IGVsID0gZG9jLmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvcHRpb25zKSB7XG4gICAgICBlbFtrZXldID0gb3B0aW9uc1trZXldO1xuICAgIH1cblxuICAgIHJldHVybiBlbDtcbiAgfVxuXG4gIHN0YXRpYyByZW1vdmUobm9kZTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCFub2RlLnBhcmVudE5vZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbm9kZS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG5vZGUpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Trigger download of a file
|
|
3
|
+
*
|
|
4
|
+
* @param content File content
|
|
5
|
+
* @param mimeType File mime type
|
|
6
|
+
* @param fileName File name
|
|
7
|
+
*/
|
|
8
|
+
export function downloadContent(content, mimeType, fileName) {
|
|
9
|
+
const uri = `data:${mimeType},${encodeURIComponent(content)}`;
|
|
10
|
+
downloadFromUri(uri, fileName);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Trigger download of a file
|
|
14
|
+
*
|
|
15
|
+
* @param content File content
|
|
16
|
+
* @param mimeType File mime type
|
|
17
|
+
* @param fileName File name
|
|
18
|
+
*/
|
|
19
|
+
export function downloadFromUri(uri, fileName) {
|
|
20
|
+
const element = document.createElement('a');
|
|
21
|
+
element.setAttribute('href', uri);
|
|
22
|
+
element.setAttribute('download', fileName);
|
|
23
|
+
element.style.display = 'none';
|
|
24
|
+
document.body.appendChild(element);
|
|
25
|
+
element.click();
|
|
26
|
+
document.body.removeChild(element);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixPQUFlLEVBQ2YsUUFBZ0IsRUFDaEIsUUFBZ0I7SUFFaEIsTUFBTSxHQUFHLEdBQUcsUUFBUSxRQUFRLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxlQUFlLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVcsRUFBRSxRQUFnQjtJQUMzRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFaEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHJpZ2dlciBkb3dubG9hZCBvZiBhIGZpbGVcbiAqXG4gKiBAcGFyYW0gY29udGVudCBGaWxlIGNvbnRlbnRcbiAqIEBwYXJhbSBtaW1lVHlwZSBGaWxlIG1pbWUgdHlwZVxuICogQHBhcmFtIGZpbGVOYW1lIEZpbGUgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZG93bmxvYWRDb250ZW50KFxuICBjb250ZW50OiBzdHJpbmcsXG4gIG1pbWVUeXBlOiBzdHJpbmcsXG4gIGZpbGVOYW1lOiBzdHJpbmdcbikge1xuICBjb25zdCB1cmkgPSBgZGF0YToke21pbWVUeXBlfSwke2VuY29kZVVSSUNvbXBvbmVudChjb250ZW50KX1gO1xuICBkb3dubG9hZEZyb21VcmkodXJpLCBmaWxlTmFtZSk7XG59XG5cbi8qKlxuICogVHJpZ2dlciBkb3dubG9hZCBvZiBhIGZpbGVcbiAqXG4gKiBAcGFyYW0gY29udGVudCBGaWxlIGNvbnRlbnRcbiAqIEBwYXJhbSBtaW1lVHlwZSBGaWxlIG1pbWUgdHlwZVxuICogQHBhcmFtIGZpbGVOYW1lIEZpbGUgbmFtZVxuICovXG5leHBvcnQgZnVuY3Rpb24gZG93bmxvYWRGcm9tVXJpKHVyaTogc3RyaW5nLCBmaWxlTmFtZTogc3RyaW5nKSB7XG4gIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdocmVmJywgdXJpKTtcbiAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2Rvd25sb2FkJywgZmlsZU5hbWUpO1xuICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG4gIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZWxlbWVudCk7XG5cbiAgZWxlbWVudC5jbGljaygpO1xuXG4gIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZWxlbWVudCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export * from './base64';
|
|
2
|
+
export * from './cache.utils';
|
|
3
|
+
export * from './clipboard';
|
|
4
|
+
export * from './change';
|
|
5
|
+
export * from './change.interface';
|
|
6
|
+
export * from './dom.utils';
|
|
7
|
+
export * from './file';
|
|
8
|
+
export * from './object-utils';
|
|
9
|
+
export * from './number-utils';
|
|
10
|
+
export * from './strenum';
|
|
11
|
+
export * from './string-utils';
|
|
12
|
+
export * from './theme.utils';
|
|
13
|
+
export * from './user-agent';
|
|
14
|
+
export * from './uuid';
|
|
15
|
+
export * from './watcher';
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlscy9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2U2NCc7XG5leHBvcnQgKiBmcm9tICcuL2NhY2hlLnV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhbmdlJztcbmV4cG9ydCAqIGZyb20gJy4vY2hhbmdlLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2RvbS51dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUnO1xuZXhwb3J0ICogZnJvbSAnLi9vYmplY3QtdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9udW1iZXItdXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zdHJlbnVtJztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nLXV0aWxzJztcbmV4cG9ydCAqIGZyb20gJy4vdGhlbWUudXRpbHMnO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWFnZW50JztcbmV4cG9ydCAqIGZyb20gJy4vdXVpZCc7XG5leHBvcnQgKiBmcm9tICcuL3dhdGNoZXInO1xuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export class NumberUtils {
|
|
2
|
+
static roundToNDecimal(num, decimal = 3) {
|
|
3
|
+
const roundFactor = Math.pow(10, decimal);
|
|
4
|
+
return Math.round(num * roundFactor) / roundFactor;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9udW1iZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXLEVBQUUsVUFBa0IsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTnVtYmVyVXRpbHMge1xuICBzdGF0aWMgcm91bmRUb05EZWNpbWFsKG51bTogbnVtYmVyLCBkZWNpbWFsOiBudW1iZXIgPSAzKTogbnVtYmVyIHtcbiAgICBjb25zdCByb3VuZEZhY3RvciA9IE1hdGgucG93KDEwLCBkZWNpbWFsKTtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW0gKiByb3VuZEZhY3RvcikgLyByb3VuZEZhY3RvcjtcbiAgfVxufVxuIl19
|