@igo2/utils 1.15.3 → 16.0.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/{esm2020 → esm2022}/igo2-utils.mjs +4 -4
  2. package/esm2022/lib/base64.mjs +85 -0
  3. package/esm2022/lib/cache.utils.mjs +10 -0
  4. package/esm2022/lib/change.interface.mjs +7 -0
  5. package/esm2022/lib/change.mjs +87 -0
  6. package/{esm2020 → esm2022}/lib/clipboard.mjs +52 -52
  7. package/esm2022/lib/dom.utils.mjs +16 -0
  8. package/esm2022/lib/file.mjs +28 -0
  9. package/esm2022/lib/index.mjs +16 -0
  10. package/esm2022/lib/number-utils.mjs +7 -0
  11. package/esm2022/lib/object-utils.mjs +248 -0
  12. package/{esm2020 → esm2022}/lib/strenum.mjs +8 -8
  13. package/{esm2020 → esm2022}/lib/string-utils.mjs +113 -105
  14. package/esm2022/lib/theme.utils.mjs +18 -0
  15. package/{esm2020 → esm2022}/lib/user-agent.mjs +3 -3
  16. package/{esm2020 → esm2022}/lib/uuid.mjs +9 -9
  17. package/esm2022/lib/watcher.mjs +40 -0
  18. package/{esm2020 → esm2022}/public_api.mjs +5 -5
  19. package/{fesm2020 → fesm2022}/igo2-utils.mjs +706 -656
  20. package/fesm2022/igo2-utils.mjs.map +1 -0
  21. package/index.d.ts +5 -5
  22. package/lib/base64.d.ts +8 -8
  23. package/lib/cache.utils.d.ts +1 -0
  24. package/lib/change.d.ts +5 -5
  25. package/lib/change.interface.d.ts +24 -24
  26. package/lib/clipboard.d.ts +7 -7
  27. package/lib/dom.utils.d.ts +4 -0
  28. package/lib/file.d.ts +16 -16
  29. package/lib/index.d.ts +15 -12
  30. package/lib/number-utils.d.ts +3 -3
  31. package/lib/object-utils.d.ts +27 -26
  32. package/lib/strenum.d.ts +4 -4
  33. package/lib/string-utils.d.ts +8 -6
  34. package/lib/theme.utils.d.ts +1 -0
  35. package/lib/user-agent.d.ts +5 -5
  36. package/lib/uuid.d.ts +2 -2
  37. package/lib/watcher.d.ts +19 -19
  38. package/package.json +10 -16
  39. package/public_api.d.ts +1 -1
  40. package/esm2020/lib/base64.mjs +0 -85
  41. package/esm2020/lib/change.interface.mjs +0 -7
  42. package/esm2020/lib/change.mjs +0 -87
  43. package/esm2020/lib/file.mjs +0 -28
  44. package/esm2020/lib/index.mjs +0 -13
  45. package/esm2020/lib/number-utils.mjs +0 -7
  46. package/esm2020/lib/object-utils.mjs +0 -248
  47. package/esm2020/lib/watcher.mjs +0 -41
  48. package/fesm2015/igo2-utils.mjs +0 -688
  49. package/fesm2015/igo2-utils.mjs.map +0 -1
  50. 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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QyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUNqRSxDQUFDLENBQUMsSUFBSSxDQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUM7b0JBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztvQkFDbkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO29CQUNsQyxJQUFJLENBQUMsT0FBTyxDQUNmLENBQUM7Z0JBQ0YsTUFBTTtTQUNUO1FBRUQsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xyXG5cclxuY29uc3QgQUxQSEEgPVxyXG4gICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJztcclxuXHJcbmV4cG9ydCBjbGFzcyBCYXNlNjQge1xyXG4gIHByaXZhdGUgc3RhdGljIFBBRENIQVI6IHN0cmluZyA9ICc9JztcclxuICBwcml2YXRlIHN0YXRpYyBBTFBIQTogc3RyaW5nID0gQUxQSEE7XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldEJ5dGUoczogc3RyaW5nLCBpOiBudW1iZXIpOiBudW1iZXIge1xyXG4gICAgY29uc3QgeCA9IHMuY2hhckNvZGVBdChpKTtcclxuICAgIHJldHVybiB4O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0Qnl0ZTY0KHM6IHN0cmluZywgaTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIGNvbnN0IGlkeCA9IHRoaXMuQUxQSEEuaW5kZXhPZihzLmNoYXJBdChpKSk7XHJcbiAgICByZXR1cm4gaWR4O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBkZWNvZGUoczogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIGxldCBwYWRzID0gMCxcclxuICAgICAgaSxcclxuICAgICAgYjEwLFxyXG4gICAgICBpbWF4ID0gcy5sZW5ndGgsXHJcbiAgICAgIHggPSBbXTtcclxuXHJcbiAgICBzID0gU3RyaW5nKHMpO1xyXG5cclxuICAgIGlmIChpbWF4ID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzLmNoYXJBdChpbWF4IC0gMSkgPT09IHRoaXMuUEFEQ0hBUikge1xyXG4gICAgICBwYWRzID0gMTtcclxuICAgICAgaWYgKHMuY2hhckF0KGltYXggLSAyKSA9PT0gdGhpcy5QQURDSEFSKSB7XHJcbiAgICAgICAgcGFkcyA9IDI7XHJcbiAgICAgIH1cclxuICAgICAgaW1heCAtPSA0O1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoaSA9IDA7IGkgPCBpbWF4OyBpICs9IDQpIHtcclxuICAgICAgYjEwID1cclxuICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSkgPDwgMTgpIHxcclxuICAgICAgICAodGhpcy5nZXRCeXRlNjQocywgaSArIDEpIDw8IDEyKSB8XHJcbiAgICAgICAgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAyKSA8PCA2KSB8XHJcbiAgICAgICAgdGhpcy5nZXRCeXRlNjQocywgaSArIDMpO1xyXG4gICAgICB4LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShiMTAgPj4gMTYsIChiMTAgPj4gOCkgJiAyNTUsIGIxMCAmIDI1NSkpO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAocGFkcykge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgYjEwID1cclxuICAgICAgICAgICh0aGlzLmdldEJ5dGU2NChzLCBpKSA8PCAxOCkgfFxyXG4gICAgICAgICAgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAxKSA8PCAxMikgfFxyXG4gICAgICAgICAgKHRoaXMuZ2V0Qnl0ZTY0KHMsIGkgKyAyKSA8PCA2KTtcclxuICAgICAgICB4LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShiMTAgPj4gMTYsIChiMTAgPj4gOCkgJiAyNTUpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSAyOlxyXG4gICAgICAgIGIxMCA9ICh0aGlzLmdldEJ5dGU2NChzLCBpKSA8PCAxOCkgfCAodGhpcy5nZXRCeXRlNjQocywgaSArIDEpIDw8IDEyKTtcclxuICAgICAgICB4LnB1c2goU3RyaW5nLmZyb21DaGFyQ29kZShiMTAgPj4gMTYpKTtcclxuICAgICAgICBicmVhaztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4geC5qb2luKCcnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgZW5jb2RlKHM6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzID0gU3RyaW5nKHMpO1xyXG5cclxuICAgIGxldCBpLFxyXG4gICAgICBiMTAsXHJcbiAgICAgIHggPSBbXSxcclxuICAgICAgaW1heCA9IHMubGVuZ3RoIC0gKHMubGVuZ3RoICUgMyk7XHJcblxyXG4gICAgaWYgKHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiBzO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoaSA9IDA7IGkgPCBpbWF4OyBpICs9IDMpIHtcclxuICAgICAgYjEwID1cclxuICAgICAgICAodGhpcy5nZXRCeXRlKHMsIGkpIDw8IDE2KSB8XHJcbiAgICAgICAgKHRoaXMuZ2V0Qnl0ZShzLCBpICsgMSkgPDwgOCkgfFxyXG4gICAgICAgIHRoaXMuZ2V0Qnl0ZShzLCBpICsgMik7XHJcbiAgICAgIHgucHVzaCh0aGlzLkFMUEhBLmNoYXJBdChiMTAgPj4gMTgpKTtcclxuICAgICAgeC5wdXNoKHRoaXMuQUxQSEEuY2hhckF0KChiMTAgPj4gMTIpICYgNjMpKTtcclxuICAgICAgeC5wdXNoKHRoaXMuQUxQSEEuY2hhckF0KChiMTAgPj4gNikgJiA2MykpO1xyXG4gICAgICB4LnB1c2godGhpcy5BTFBIQS5jaGFyQXQoYjEwICYgNjMpKTtcclxuICAgIH1cclxuXHJcbiAgICBzd2l0Y2ggKHMubGVuZ3RoIC0gaW1heCkge1xyXG4gICAgICBjYXNlIDE6XHJcbiAgICAgICAgYjEwID0gdGhpcy5nZXRCeXRlKHMsIGkpIDw8IDE2O1xyXG4gICAgICAgIHgucHVzaChcclxuICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkgK1xyXG4gICAgICAgICAgICB0aGlzLkFMUEhBLmNoYXJBdCgoYjEwID4+IDEyKSAmIDYzKSArXHJcbiAgICAgICAgICAgIHRoaXMuUEFEQ0hBUiArXHJcbiAgICAgICAgICAgIHRoaXMuUEFEQ0hBUlxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgMjpcclxuICAgICAgICBiMTAgPSAodGhpcy5nZXRCeXRlKHMsIGkpIDw8IDE2KSB8ICh0aGlzLmdldEJ5dGUocywgaSArIDEpIDw8IDgpO1xyXG4gICAgICAgIHgucHVzaChcclxuICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KGIxMCA+PiAxOCkgK1xyXG4gICAgICAgICAgICB0aGlzLkFMUEhBLmNoYXJBdCgoYjEwID4+IDEyKSAmIDYzKSArXHJcbiAgICAgICAgICAgIHRoaXMuQUxQSEEuY2hhckF0KChiMTAgPj4gNikgJiA2MykgK1xyXG4gICAgICAgICAgICB0aGlzLlBBRENIQVJcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB4LmpvaW4oJycpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlscy9zcmMvbGliL2NhY2hlLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVsRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsVUFBcUI7SUFDckQsT0FBTyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDOUIsSUFBSSxLQUFLLFlBQVksVUFBVSxFQUFFO1lBQy9CLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3pFLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3VzdG9tQ2FjaGVIYXNoZXIocGFyYW1ldGVyczogdW5rbm93bltdKTogdW5rbm93bltdIHtcclxuICByZXR1cm4gcGFyYW1ldGVycy5tYXAoKHBhcmFtKSA9PiB7XHJcbiAgICBpZiAocGFyYW0gaW5zdGFuY2VvZiBIdHRwUGFyYW1zKSB7XHJcbiAgICAgIHJldHVybiBwYXJhbS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcmFtICE9PSB1bmRlZmluZWQgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHBhcmFtKSkgOiBwYXJhbTtcclxuICB9KTtcclxufVxyXG4iXX0=
@@ -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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QUFJLEVBQ3BCO2dCQUNBLFdBQVcsR0FBRyxXQUFXLENBQUMsTUFBTSxDQUM5QixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQzFELENBQUM7YUFDSDtpQkFBTTtnQkFDTCxJQUFJLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2pDLFdBQVcsQ0FBQyxJQUFJLENBQUM7d0JBQ2YsR0FBRyxFQUFFLFNBQVM7d0JBQ2QsUUFBUSxFQUFFLGFBQWEsQ0FBQyxHQUFHLENBQUM7d0JBQzVCLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxDQUFDO3FCQUMzQixDQUFDLENBQUM7b0JBQ0gsUUFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2lCQUM5RDthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdHJpbmdVdGlscyB9IGZyb20gJy4vc3RyaW5nLXV0aWxzJztcclxuaW1wb3J0IHsgR3JvdXBpbmdDaGFuZ2VzLCBDaGFuZ2VUeXBlIH0gZnJvbSAnLi9jaGFuZ2UuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjbGFzcyBDaGFuZ2VVdGlscyB7XHJcbiAgc3RhdGljIGZpbmRDaGFuZ2VzKFxyXG4gICAgb2JqMTogYW55W10sXHJcbiAgICBvYmoyOiBhbnlbXSxcclxuICAgIGlnbm9yZUtleXM6IHN0cmluZ1tdID0gW11cclxuICApOiBHcm91cGluZ0NoYW5nZXMge1xyXG4gICAgY29uc3QgaXRlbXM6IEdyb3VwaW5nQ2hhbmdlcyA9IHtcclxuICAgICAgYWRkZWQ6IFtdLFxyXG4gICAgICBkZWxldGVkOiBbXSxcclxuICAgICAgbW9kaWZpZWQ6IFtdXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICghb2JqMSB8fCAhb2JqMikge1xyXG4gICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3Qgb2JqMUNsb25lOiBhbnkgPSBbLi4ub2JqMV07XHJcbiAgICBjb25zdCBvYmoyQ2xvbmU6IGFueSA9IFsuLi5vYmoyXTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGZyb21JdGVtIG9mIG9iajFDbG9uZSkge1xyXG4gICAgICBjb25zdCBpbmRleCA9IG9iajJDbG9uZS5maW5kSW5kZXgoKHMpID0+IHMuaWQgPT09IGZyb21JdGVtLmlkKTtcclxuXHJcbiAgICAgIGlmIChpbmRleCA9PT0gLTEpIHtcclxuICAgICAgICBpdGVtcy5kZWxldGVkLnB1c2goe1xyXG4gICAgICAgICAgY2hhbmdlOiB7IHR5cGU6IENoYW5nZVR5cGUuREVMRVRFRCB9LFxyXG4gICAgICAgICAgdmFsdWU6IGZyb21JdGVtXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IHRvSXRlbSA9IG9iajJDbG9uZS5zcGxpY2UoaW5kZXgsIDEpWzBdO1xyXG4gICAgICBjb25zdCBmcm9tSXRlbUNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmcm9tSXRlbSkpO1xyXG4gICAgICBjb25zdCB0b0l0ZW1DbG9uZSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodG9JdGVtKSk7XHJcblxyXG4gICAgICBjb25zdCBrZXlzQ2hhbmdlZCA9IENoYW5nZVV0aWxzLmNvbXBhcmVPYmplY3QoXHJcbiAgICAgICAgZnJvbUl0ZW1DbG9uZSxcclxuICAgICAgICB0b0l0ZW1DbG9uZSxcclxuICAgICAgICB1bmRlZmluZWQsXHJcbiAgICAgICAgaWdub3JlS2V5c1xyXG4gICAgICApO1xyXG5cclxuICAgICAgaWYgKGtleXNDaGFuZ2VkLmxlbmd0aCkge1xyXG4gICAgICAgIGl0ZW1zLm1vZGlmaWVkLnB1c2goe1xyXG4gICAgICAgICAgY2hhbmdlOiB7XHJcbiAgICAgICAgICAgIHR5cGU6IENoYW5nZVR5cGUuTU9ESUZJRUQsXHJcbiAgICAgICAgICAgIGtleXNDaGFuZ2VkXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgdmFsdWU6IGZyb21JdGVtQ2xvbmUsXHJcbiAgICAgICAgICBvbGRWYWx1ZTogZnJvbUl0ZW0sXHJcbiAgICAgICAgICBuZXdWYWx1ZTogdG9JdGVtXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpdGVtcy5hZGRlZCA9IG9iajJDbG9uZS5tYXAoKGl0ZW1BZGRlZCkgPT4ge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIGNoYW5nZTogeyB0eXBlOiBDaGFuZ2VUeXBlLkFEREVEIH0sXHJcbiAgICAgICAgdmFsdWU6IGl0ZW1BZGRlZFxyXG4gICAgICB9O1xyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGl0ZW1zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgY29tcGFyZU9iamVjdChmcm9tSXRlbSwgdG9JdGVtLCBiYXNlS2V5PywgaWdub3JlS2V5cyA9IFtdKSB7XHJcbiAgICBjb25zdCBmcm9tSXRlbUNsb25lID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShmcm9tSXRlbSkpO1xyXG4gICAgY29uc3QgdG9JdGVtQ2xvbmUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRvSXRlbSkpO1xyXG5cclxuICAgIGNvbnN0IGtleXM6IGFueSA9IG5ldyBTZXQoW1xyXG4gICAgICAuLi5PYmplY3Qua2V5cyhmcm9tSXRlbSksXHJcbiAgICAgIC4uLk9iamVjdC5rZXlzKHRvSXRlbSlcclxuICAgIF0pO1xyXG4gICAgbGV0IGtleXNDaGFuZ2VkID0gW107XHJcbiAgICBrZXlzLmZvckVhY2goKGtleSkgPT4ge1xyXG4gICAgICBjb25zdCBrZXlTdHJpbmcgPSBiYXNlS2V5ID8gYCR7YmFzZUtleX0uJHtrZXl9YCA6IGtleTtcclxuICAgICAgaWYgKGlnbm9yZUtleXMuaW5kZXhPZihrZXlTdHJpbmcpICE9PSAtMSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZnJvbUl0ZW1ba2V5XSkpIHtcclxuICAgICAgICBmcm9tSXRlbVtrZXldID0gZnJvbUl0ZW1ba2V5XS5qb2luKCcsPGJyPicpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRvSXRlbVtrZXldKSkge1xyXG4gICAgICAgIHRvSXRlbVtrZXldID0gdG9JdGVtW2tleV0uam9pbignLDxicj4nKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKFxyXG4gICAgICAgIHR5cGVvZiBmcm9tSXRlbVtrZXldID09PSAnb2JqZWN0JyAmJlxyXG4gICAgICAgIHR5cGVvZiB0b0l0ZW1ba2V5XSA9PT0gJ29iamVjdCcgJiZcclxuICAgICAgICBmcm9tSXRlbVtrZXldICE9PSBudWxsICYmXHJcbiAgICAgICAgdG9JdGVtW2tleV0gIT09IG51bGxcclxuICAgICAgKSB7XHJcbiAgICAgICAga2V5c0NoYW5nZWQgPSBrZXlzQ2hhbmdlZC5jb25jYXQoXHJcbiAgICAgICAgICB0aGlzLmNvbXBhcmVPYmplY3QoZnJvbUl0ZW1ba2V5XSwgdG9JdGVtW2tleV0sIGtleVN0cmluZylcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChmcm9tSXRlbVtrZXldICE9PSB0b0l0ZW1ba2V5XSkge1xyXG4gICAgICAgICAga2V5c0NoYW5nZWQucHVzaCh7XHJcbiAgICAgICAgICAgIGtleToga2V5U3RyaW5nLFxyXG4gICAgICAgICAgICBvbGRWYWx1ZTogZnJvbUl0ZW1DbG9uZVtrZXldLFxyXG4gICAgICAgICAgICBuZXdWYWx1ZTogdG9JdGVtQ2xvbmVba2V5XVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBmcm9tSXRlbVtrZXldID0gU3RyaW5nVXRpbHMuZGlmZihmcm9tSXRlbVtrZXldLCB0b0l0ZW1ba2V5XSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4ga2V5c0NoYW5nZWQ7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUV6QyxNQUFNLE9BQU8sU0FBUztJQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXFDO1FBQy9DLElBQUksVUFBVSxHQUFHLEtBQUssQ0FBQztRQUN2QixJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELFNBQVMsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQzdDLFNBQVMsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckM7YUFBTTtZQUNMLFNBQVMsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDOUIsVUFBVSxHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1NBQzlDO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBWTtRQUN4QyxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBd0IsQ0FBQztRQUMzRSxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztRQUN0QixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRU8sTUFBTSxDQUFDLGVBQWUsQ0FBQyxRQUFRO1FBQ3JDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFTyxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQVE7UUFDaEMsSUFBSSxTQUFTLENBQUMsU0FBUyxFQUFFLEtBQUssS0FBSyxFQUFFO1lBQ25DLE1BQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUNwRCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDO1lBQ3RDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFFeEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDaEMsUUFBUSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDMUIsS0FBSyxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25DLFNBQVMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUM1QixTQUFTLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzFCLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQztZQUM5QyxRQUFRLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQztTQUNqQzthQUFNO1lBQ0wsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQ25CO0lBQ0gsQ0FBQztJQUVPLE1BQU0sQ0FBQyxtQkFBbUI7UUFDaEMsSUFBSSxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxLQUFLLEtBQUssSUFBSSxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUU7WUFDekUsT0FBTyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VyQWdlbnQgfSBmcm9tICcuL3VzZXItYWdlbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIENsaXBib2FyZCB7XHJcbiAgc3RhdGljIGNvcHkoZWxlbWVudDogSFRNTFRleHRBcmVhRWxlbWVudCB8IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IHN1Y2Nlc3NmdWwgPSBmYWxzZTtcclxuICAgIGlmICh0eXBlb2YgZWxlbWVudCA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgY29uc3QgdGV4dEFyZWEgPSBDbGlwYm9hcmQuY3JlYXRlVGV4dEFyZWEoZWxlbWVudCk7XHJcbiAgICAgIENsaXBib2FyZC5zZWxlY3RUZXh0KHRleHRBcmVhKTtcclxuICAgICAgc3VjY2Vzc2Z1bCA9IENsaXBib2FyZC5jb3B5VGV4dFRvQ2xpcGJvYXJkKCk7XHJcbiAgICAgIENsaXBib2FyZC5kZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgQ2xpcGJvYXJkLnNlbGVjdFRleHQoZWxlbWVudCk7XHJcbiAgICAgIHN1Y2Nlc3NmdWwgPSBDbGlwYm9hcmQuY29weVRleHRUb0NsaXBib2FyZCgpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN1Y2Nlc3NmdWw7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVUZXh0QXJlYSh0ZXh0OiBzdHJpbmcpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcclxuICAgIGNvbnN0IHRleHRBcmVhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dEFyZWEnKSBhcyBIVE1MVGV4dEFyZWFFbGVtZW50O1xyXG4gICAgdGV4dEFyZWEudmFsdWUgPSB0ZXh0O1xyXG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0ZXh0QXJlYSk7XHJcbiAgICByZXR1cm4gdGV4dEFyZWE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBkZXN0cm95VGV4dEFyZWEodGV4dEFyZWEpIHtcclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGV4dEFyZWEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgc2VsZWN0VGV4dCh0ZXh0QXJlYSkge1xyXG4gICAgaWYgKHVzZXJBZ2VudC5nZXRPU05hbWUoKSA9PT0gJ2lPUycpIHtcclxuICAgICAgY29uc3Qgb2xkQ29udGVudEVkaXRhYmxlID0gdGV4dEFyZWEuY29udGVudEVkaXRhYmxlO1xyXG4gICAgICBjb25zdCBvbGRSZWFkT25seSA9IHRleHRBcmVhLnJlYWRPbmx5O1xyXG4gICAgICBjb25zdCByYW5nZSA9IGRvY3VtZW50LmNyZWF0ZVJhbmdlKCk7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKTtcclxuXHJcbiAgICAgIHRleHRBcmVhLmNvbnRlbnRlZGl0YWJsZSA9IHRydWU7XHJcbiAgICAgIHRleHRBcmVhLnJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgICAgIHJhbmdlLnNlbGVjdE5vZGVDb250ZW50cyh0ZXh0QXJlYSk7XHJcbiAgICAgIHNlbGVjdGlvbi5yZW1vdmVBbGxSYW5nZXMoKTtcclxuICAgICAgc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTtcclxuICAgICAgdGV4dEFyZWEuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgOTk5OTk5KTtcclxuICAgICAgdGV4dEFyZWEuY29udGVudEVkaXRhYmxlID0gb2xkQ29udGVudEVkaXRhYmxlO1xyXG4gICAgICB0ZXh0QXJlYS5yZWFkT25seSA9IG9sZFJlYWRPbmx5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGV4dEFyZWEuc2VsZWN0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN0YXRpYyBjb3B5VGV4dFRvQ2xpcGJvYXJkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCEodXNlckFnZW50LmdldE9TTmFtZSgpID09PSAnaU9TJyAmJiB1c2VyQWdlbnQuY29tcGFyZVZlcnNpb24oJzwxMCcpKSkge1xyXG4gICAgICByZXR1cm4gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ2NvcHknKTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcbn1cclxuIl19
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9kb20udXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFDbkIsTUFBTSxDQUFDLE1BQU0sQ0FDWCxHQUFhLEVBQ2IsT0FBVSxFQUNWLE9BQTJDO1FBRTNDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFdEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUU7WUFDekIsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBOEI7UUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDcEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIERvbVV0aWxzIHtcclxuICBzdGF0aWMgY3JlYXRlPEsgZXh0ZW5kcyBrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXA+KFxyXG4gICAgZG9jOiBEb2N1bWVudCxcclxuICAgIHRhZ05hbWU6IEssXHJcbiAgICBvcHRpb25zPzogUGFydGlhbDxIVE1MRWxlbWVudFRhZ05hbWVNYXBbS10+XHJcbiAgKTogSFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tdIHtcclxuICAgIGNvbnN0IGVsID0gZG9jLmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XHJcblxyXG4gICAgZm9yIChjb25zdCBrZXkgaW4gb3B0aW9ucykge1xyXG4gICAgICBlbFtrZXldID0gb3B0aW9uc1trZXldO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBlbDtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZW1vdmUobm9kZTogSFRNTEVsZW1lbnQgfCBTVkdFbGVtZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIW5vZGUucGFyZW50Tm9kZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvZmlsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUM3QixPQUFlLEVBQ2YsUUFBZ0IsRUFDaEIsUUFBZ0I7SUFFaEIsTUFBTSxHQUFHLEdBQUcsUUFBUSxRQUFRLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxlQUFlLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2pDLENBQUM7QUFFRDs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZUFBZSxDQUFDLEdBQVcsRUFBRSxRQUFnQjtJQUMzRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVDLE9BQU8sQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ2xDLE9BQU8sQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztJQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVuQyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFaEIsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBUcmlnZ2VyIGRvd25sb2FkIG9mIGEgZmlsZVxyXG4gKlxyXG4gKiBAcGFyYW0gY29udGVudCBGaWxlIGNvbnRlbnRcclxuICogQHBhcmFtIG1pbWVUeXBlIEZpbGUgbWltZSB0eXBlXHJcbiAqIEBwYXJhbSBmaWxlTmFtZSBGaWxlIG5hbWVcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBkb3dubG9hZENvbnRlbnQoXHJcbiAgY29udGVudDogc3RyaW5nLFxyXG4gIG1pbWVUeXBlOiBzdHJpbmcsXHJcbiAgZmlsZU5hbWU6IHN0cmluZ1xyXG4pIHtcclxuICBjb25zdCB1cmkgPSBgZGF0YToke21pbWVUeXBlfSwke2VuY29kZVVSSUNvbXBvbmVudChjb250ZW50KX1gO1xyXG4gIGRvd25sb2FkRnJvbVVyaSh1cmksIGZpbGVOYW1lKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIFRyaWdnZXIgZG93bmxvYWQgb2YgYSBmaWxlXHJcbiAqXHJcbiAqIEBwYXJhbSBjb250ZW50IEZpbGUgY29udGVudFxyXG4gKiBAcGFyYW0gbWltZVR5cGUgRmlsZSBtaW1lIHR5cGVcclxuICogQHBhcmFtIGZpbGVOYW1lIEZpbGUgbmFtZVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGRvd25sb2FkRnJvbVVyaSh1cmk6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZykge1xyXG4gIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2hyZWYnLCB1cmkpO1xyXG4gIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdkb3dubG9hZCcsIGZpbGVOYW1lKTtcclxuICBlbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XHJcbiAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChlbGVtZW50KTtcclxuXHJcbiAgZWxlbWVudC5jbGljaygpO1xyXG5cclxuICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xyXG59XHJcbiJdfQ==
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy91dGlscy9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Jhc2U2NCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2FjaGUudXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY2hhbmdlJztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGFuZ2UuaW50ZXJmYWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9kb20udXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2ZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL29iamVjdC11dGlscyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLXV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHJlbnVtJztcclxuZXhwb3J0ICogZnJvbSAnLi9zdHJpbmctdXRpbHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL3RoZW1lLnV0aWxzJztcclxuZXhwb3J0ICogZnJvbSAnLi91c2VyLWFnZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi91dWlkJztcclxuZXhwb3J0ICogZnJvbSAnLi93YXRjaGVyJztcclxuIl19
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9udW1iZXItdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLGVBQWUsQ0FBQyxHQUFXLEVBQUUsVUFBa0IsQ0FBQztRQUNyRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUMxQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxHQUFHLFdBQVcsQ0FBQztJQUNyRCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTnVtYmVyVXRpbHMge1xyXG4gIHN0YXRpYyByb3VuZFRvTkRlY2ltYWwobnVtOiBudW1iZXIsIGRlY2ltYWw6IG51bWJlciA9IDMpOiBudW1iZXIge1xyXG4gICAgY29uc3Qgcm91bmRGYWN0b3IgPSBNYXRoLnBvdygxMCwgZGVjaW1hbCk7XHJcbiAgICByZXR1cm4gTWF0aC5yb3VuZChudW0gKiByb3VuZEZhY3RvcikgLyByb3VuZEZhY3RvcjtcclxuICB9XHJcbn1cclxuIl19