@igo2/utils 1.15.5 → 1.15.6
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/README.md +1 -1
- package/esm2020/igo2-utils.mjs +4 -4
- package/esm2020/lib/base64.mjs +84 -84
- package/esm2020/lib/change.interface.mjs +6 -6
- package/esm2020/lib/change.mjs +86 -86
- package/esm2020/lib/clipboard.mjs +51 -51
- package/esm2020/lib/file.mjs +27 -27
- package/esm2020/lib/index.mjs +12 -12
- package/esm2020/lib/number-utils.mjs +6 -6
- package/esm2020/lib/object-utils.mjs +247 -247
- package/esm2020/lib/strenum.mjs +7 -7
- package/esm2020/lib/string-utils.mjs +104 -104
- package/esm2020/lib/user-agent.mjs +3 -3
- package/esm2020/lib/uuid.mjs +8 -8
- package/esm2020/lib/watcher.mjs +40 -40
- package/esm2020/public_api.mjs +4 -4
- package/fesm2015/igo2-utils.mjs +654 -654
- package/fesm2015/igo2-utils.mjs.map +1 -1
- package/fesm2020/igo2-utils.mjs +654 -654
- package/fesm2020/igo2-utils.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/base64.d.ts +8 -8
- package/lib/change.d.ts +5 -5
- package/lib/change.interface.d.ts +24 -24
- package/lib/clipboard.d.ts +7 -7
- package/lib/file.d.ts +16 -16
- package/lib/index.d.ts +12 -12
- package/lib/number-utils.d.ts +3 -3
- package/lib/object-utils.d.ts +26 -26
- package/lib/strenum.d.ts +4 -4
- package/lib/string-utils.d.ts +6 -6
- 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 +1 -1
- package/public_api.d.ts +1 -1
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
export class StringUtils {
|
|
2
|
-
static diff(s1, s2, p = 4) {
|
|
3
|
-
if (!s1 && !s2) {
|
|
4
|
-
return '';
|
|
5
|
-
}
|
|
6
|
-
if (!s1) {
|
|
7
|
-
return '<span class="inserted">' + s2 + '</span>';
|
|
8
|
-
}
|
|
9
|
-
if (!s2) {
|
|
10
|
-
return '<span class="deleted">' + s1 + '</span>';
|
|
11
|
-
}
|
|
12
|
-
s1 = s1.toString();
|
|
13
|
-
s2 = s2.toString();
|
|
14
|
-
const changeData = StringUtils.getChanges(s1, s2, '', p);
|
|
15
|
-
const nextS = s2.slice(changeData.mtc.length + changeData.ins.length + changeData.sbs.length); // remaining part of "s"
|
|
16
|
-
const nextThis = s1.slice(changeData.mtc.length + changeData.del.length + changeData.sbs.length); // remaining part of "this"
|
|
17
|
-
let result = ''; // the glorious result
|
|
18
|
-
if (changeData.del.length > 0) {
|
|
19
|
-
changeData.del = '<span class="deleted">' + changeData.del + '</span>';
|
|
20
|
-
}
|
|
21
|
-
if (changeData.ins.length > 0) {
|
|
22
|
-
changeData.ins = '<span class="inserted">' + changeData.ins + '</span>';
|
|
23
|
-
}
|
|
24
|
-
result = changeData.mtc + changeData.del + changeData.ins + changeData.sbs;
|
|
25
|
-
result +=
|
|
26
|
-
nextThis !== '' || nextS !== ''
|
|
27
|
-
? StringUtils.diff(nextThis, nextS, p)
|
|
28
|
-
: '';
|
|
29
|
-
return result;
|
|
30
|
-
}
|
|
31
|
-
static getMatchingSubstring(s, l, m) {
|
|
32
|
-
// returns the first matching substring in-between the two strings
|
|
33
|
-
let i = 0;
|
|
34
|
-
let match = false;
|
|
35
|
-
const slen = s.length;
|
|
36
|
-
const o = { fis: slen, mtc: m, sbs: '' }; // temporary object used to construct the cd (change data) object
|
|
37
|
-
while (i < slen) {
|
|
38
|
-
l[i] === s[i]
|
|
39
|
-
? match
|
|
40
|
-
? (o.sbs += s[i]) // o.sbs holds the matching substring itsef
|
|
41
|
-
: ((match = true), (o.fis = i), (o.sbs = s[i]))
|
|
42
|
-
: match
|
|
43
|
-
? (i = slen) // stop after the first found substring
|
|
44
|
-
: (i = i);
|
|
45
|
-
++i;
|
|
46
|
-
}
|
|
47
|
-
return o;
|
|
48
|
-
}
|
|
49
|
-
static getChanges(s1, s2, m, p) {
|
|
50
|
-
const isThisLonger = s1.length >= s1.length ? true : false;
|
|
51
|
-
let [longer, shorter] = isThisLonger ? [s1, s2] : [s2, s1]; // assignment of longer and shorter by es6 destructuring
|
|
52
|
-
let bi = 0; // base index designating the index of first mismacthing character in both strings
|
|
53
|
-
while (shorter[bi] === longer[bi] && bi < shorter.length) {
|
|
54
|
-
++bi;
|
|
55
|
-
} // make bi the index of first mismatching character
|
|
56
|
-
longer = longer.split('').slice(bi); // as the longer string will be rotated it is converted into array
|
|
57
|
-
shorter = shorter.slice(bi); // shorter and longer now starts from the first mismatching character
|
|
58
|
-
const len = longer.length; // length of the longer string
|
|
59
|
-
let cd = {
|
|
60
|
-
fis: shorter.length,
|
|
61
|
-
fil: len,
|
|
62
|
-
sbs: '',
|
|
63
|
-
mtc: m + s2.slice(0, bi)
|
|
64
|
-
}; // if exists mtc holds the matching string at the front
|
|
65
|
-
let sub = { sbs: '' }; // returned substring per 1 character rotation of the longer string
|
|
66
|
-
if (shorter !== '') {
|
|
67
|
-
for (let rc = 0; rc < len && sub.sbs.length < p; rc++) {
|
|
68
|
-
// rc -> rotate count, p -> precision factor
|
|
69
|
-
sub = StringUtils.getMatchingSubstring(shorter, StringUtils.rotateArray(longer, rc), cd.mtc); // rotate longer string 1 char and get substring
|
|
70
|
-
sub.fil =
|
|
71
|
-
rc < len - sub.fis
|
|
72
|
-
? sub.fis + rc // mismatch is longer than the mismatch in short
|
|
73
|
-
: sub.fis - len + rc; // mismatch is shorter than the mismatch in short
|
|
74
|
-
if (sub.sbs.length > cd.sbs.length) {
|
|
75
|
-
cd = sub; // only keep the one with the longest substring.
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
// insert the mismatching delete subsrt and insert substr to the cd object and attach the previous substring
|
|
80
|
-
[cd.del, cd.ins] = isThisLonger
|
|
81
|
-
? [longer.slice(0, cd.fil).join(''), shorter.slice(0, cd.fis)]
|
|
82
|
-
: [shorter.slice(0, cd.fis), longer.slice(0, cd.fil).join('')];
|
|
83
|
-
return cd.del.indexOf(' ') === -1 ||
|
|
84
|
-
cd.ins.indexOf(' ') === -1 ||
|
|
85
|
-
cd.del === '' ||
|
|
86
|
-
cd.ins === '' ||
|
|
87
|
-
cd.sbs === ''
|
|
88
|
-
? cd
|
|
89
|
-
: StringUtils.getChanges(cd.del, cd.ins, cd.mtc, p);
|
|
90
|
-
}
|
|
91
|
-
static rotateArray(array, n) {
|
|
92
|
-
const len = array.length;
|
|
93
|
-
const res = new Array(array.length);
|
|
94
|
-
if (n % len === 0) {
|
|
95
|
-
return array.slice();
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
for (let i = 0; i < len; i++) {
|
|
99
|
-
res[i] = array[(i + (len + (n % len))) % len];
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
return res;
|
|
103
|
-
}
|
|
104
|
-
}
|
|
1
|
+
export class StringUtils {
|
|
2
|
+
static diff(s1, s2, p = 4) {
|
|
3
|
+
if (!s1 && !s2) {
|
|
4
|
+
return '';
|
|
5
|
+
}
|
|
6
|
+
if (!s1) {
|
|
7
|
+
return '<span class="inserted">' + s2 + '</span>';
|
|
8
|
+
}
|
|
9
|
+
if (!s2) {
|
|
10
|
+
return '<span class="deleted">' + s1 + '</span>';
|
|
11
|
+
}
|
|
12
|
+
s1 = s1.toString();
|
|
13
|
+
s2 = s2.toString();
|
|
14
|
+
const changeData = StringUtils.getChanges(s1, s2, '', p);
|
|
15
|
+
const nextS = s2.slice(changeData.mtc.length + changeData.ins.length + changeData.sbs.length); // remaining part of "s"
|
|
16
|
+
const nextThis = s1.slice(changeData.mtc.length + changeData.del.length + changeData.sbs.length); // remaining part of "this"
|
|
17
|
+
let result = ''; // the glorious result
|
|
18
|
+
if (changeData.del.length > 0) {
|
|
19
|
+
changeData.del = '<span class="deleted">' + changeData.del + '</span>';
|
|
20
|
+
}
|
|
21
|
+
if (changeData.ins.length > 0) {
|
|
22
|
+
changeData.ins = '<span class="inserted">' + changeData.ins + '</span>';
|
|
23
|
+
}
|
|
24
|
+
result = changeData.mtc + changeData.del + changeData.ins + changeData.sbs;
|
|
25
|
+
result +=
|
|
26
|
+
nextThis !== '' || nextS !== ''
|
|
27
|
+
? StringUtils.diff(nextThis, nextS, p)
|
|
28
|
+
: '';
|
|
29
|
+
return result;
|
|
30
|
+
}
|
|
31
|
+
static getMatchingSubstring(s, l, m) {
|
|
32
|
+
// returns the first matching substring in-between the two strings
|
|
33
|
+
let i = 0;
|
|
34
|
+
let match = false;
|
|
35
|
+
const slen = s.length;
|
|
36
|
+
const o = { fis: slen, mtc: m, sbs: '' }; // temporary object used to construct the cd (change data) object
|
|
37
|
+
while (i < slen) {
|
|
38
|
+
l[i] === s[i]
|
|
39
|
+
? match
|
|
40
|
+
? (o.sbs += s[i]) // o.sbs holds the matching substring itsef
|
|
41
|
+
: ((match = true), (o.fis = i), (o.sbs = s[i]))
|
|
42
|
+
: match
|
|
43
|
+
? (i = slen) // stop after the first found substring
|
|
44
|
+
: (i = i);
|
|
45
|
+
++i;
|
|
46
|
+
}
|
|
47
|
+
return o;
|
|
48
|
+
}
|
|
49
|
+
static getChanges(s1, s2, m, p) {
|
|
50
|
+
const isThisLonger = s1.length >= s1.length ? true : false;
|
|
51
|
+
let [longer, shorter] = isThisLonger ? [s1, s2] : [s2, s1]; // assignment of longer and shorter by es6 destructuring
|
|
52
|
+
let bi = 0; // base index designating the index of first mismacthing character in both strings
|
|
53
|
+
while (shorter[bi] === longer[bi] && bi < shorter.length) {
|
|
54
|
+
++bi;
|
|
55
|
+
} // make bi the index of first mismatching character
|
|
56
|
+
longer = longer.split('').slice(bi); // as the longer string will be rotated it is converted into array
|
|
57
|
+
shorter = shorter.slice(bi); // shorter and longer now starts from the first mismatching character
|
|
58
|
+
const len = longer.length; // length of the longer string
|
|
59
|
+
let cd = {
|
|
60
|
+
fis: shorter.length,
|
|
61
|
+
fil: len,
|
|
62
|
+
sbs: '',
|
|
63
|
+
mtc: m + s2.slice(0, bi)
|
|
64
|
+
}; // if exists mtc holds the matching string at the front
|
|
65
|
+
let sub = { sbs: '' }; // returned substring per 1 character rotation of the longer string
|
|
66
|
+
if (shorter !== '') {
|
|
67
|
+
for (let rc = 0; rc < len && sub.sbs.length < p; rc++) {
|
|
68
|
+
// rc -> rotate count, p -> precision factor
|
|
69
|
+
sub = StringUtils.getMatchingSubstring(shorter, StringUtils.rotateArray(longer, rc), cd.mtc); // rotate longer string 1 char and get substring
|
|
70
|
+
sub.fil =
|
|
71
|
+
rc < len - sub.fis
|
|
72
|
+
? sub.fis + rc // mismatch is longer than the mismatch in short
|
|
73
|
+
: sub.fis - len + rc; // mismatch is shorter than the mismatch in short
|
|
74
|
+
if (sub.sbs.length > cd.sbs.length) {
|
|
75
|
+
cd = sub; // only keep the one with the longest substring.
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
// insert the mismatching delete subsrt and insert substr to the cd object and attach the previous substring
|
|
80
|
+
[cd.del, cd.ins] = isThisLonger
|
|
81
|
+
? [longer.slice(0, cd.fil).join(''), shorter.slice(0, cd.fis)]
|
|
82
|
+
: [shorter.slice(0, cd.fis), longer.slice(0, cd.fil).join('')];
|
|
83
|
+
return cd.del.indexOf(' ') === -1 ||
|
|
84
|
+
cd.ins.indexOf(' ') === -1 ||
|
|
85
|
+
cd.del === '' ||
|
|
86
|
+
cd.ins === '' ||
|
|
87
|
+
cd.sbs === ''
|
|
88
|
+
? cd
|
|
89
|
+
: StringUtils.getChanges(cd.del, cd.ins, cd.mtc, p);
|
|
90
|
+
}
|
|
91
|
+
static rotateArray(array, n) {
|
|
92
|
+
const len = array.length;
|
|
93
|
+
const res = new Array(array.length);
|
|
94
|
+
if (n % len === 0) {
|
|
95
|
+
return array.slice();
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
for (let i = 0; i < len; i++) {
|
|
99
|
+
res[i] = array[(i + (len + (n % len))) % len];
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
return res;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
105
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5nLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvdXRpbHMvc3JjL2xpYi9zdHJpbmctdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFdBQVc7SUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFVLEVBQUUsRUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDZCxPQUFPLEVBQUUsQ0FBQztTQUNYO1FBQ0QsSUFBSSxDQUFDLEVBQUUsRUFBRTtZQUNQLE9BQU8seUJBQXlCLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxFQUFFLEVBQUU7WUFDUCxPQUFPLHdCQUF3QixHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7U0FDbEQ7UUFDRCxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ25CLEVBQUUsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbkIsTUFBTSxVQUFVLEdBQUcsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN6RCxNQUFNLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUNwQixVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FDdEUsQ0FBQyxDQUFDLHdCQUF3QjtRQUMzQixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUN2QixVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FDdEUsQ0FBQyxDQUFDLDJCQUEy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QUM7SUFDeEQsQ0FBQztJQUVPLE1BQU0sQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRTtZQUNqQixPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN0QjthQUFNO1lBQ0wsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtnQkFDNUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7YUFDL0M7U0FDRjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFN0cmluZ1V0aWxzIHtcbiAgc3RhdGljIGRpZmYoczE6IHN0cmluZywgczI6IHN0cmluZywgcCA9IDQpOiBzdHJpbmcge1xuICAgIGlmICghczEgJiYgIXMyKSB7XG4gICAgICByZXR1cm4gJyc7XG4gICAgfVxuICAgIGlmICghczEpIHtcbiAgICAgIHJldHVybiAnPHNwYW4gY2xhc3M9XCJpbnNlcnRlZFwiPicgKyBzMiArICc8L3NwYW4+JztcbiAgICB9XG4gICAgaWYgKCFzMikge1xuICAgICAgcmV0dXJuICc8c3BhbiBjbGFzcz1cImRlbGV0ZWRcIj4nICsgczEgKyAnPC9zcGFuPic7XG4gICAgfVxuICAgIHMxID0gczEudG9TdHJpbmcoKTtcbiAgICBzMiA9IHMyLnRvU3RyaW5nKCk7XG4gICAgY29uc3QgY2hhbmdlRGF0YSA9IFN0cmluZ1V0aWxzLmdldENoYW5nZXMoczEsIHMyLCAnJywgcCk7XG4gICAgY29uc3QgbmV4dFMgPSBzMi5zbGljZShcbiAgICAgIGNoYW5nZURhdGEubXRjLmxlbmd0aCArIGNoYW5nZURhdGEuaW5zLmxlbmd0aCArIGNoYW5nZURhdGEuc2JzLmxlbmd0aFxuICAgICk7IC8vIHJlbWFpbmluZyBwYXJ0IG9mIFwic1wiXG4gICAgY29uc3QgbmV4dFRoaXMgPSBzMS5zbGljZShcbiAgICAgIGNoYW5nZURhdGEubXRjLmxlbmd0aCArIGNoYW5nZURhdGEuZGVsLmxlbmd0aCArIGNoYW5nZURhdGEuc2JzLmxlbmd0aFxuICAgICk7IC8vIHJlbWFpbmluZyBwYXJ0IG9mIFwidGhpc1wiXG4gICAgbGV0IHJlc3VsdCA9ICcnOyAvLyB0aGUgZ2xvcmlvdXMgcmVzdWx0XG4gICAgaWYgKGNoYW5nZURhdGEuZGVsLmxlbmd0aCA+IDApIHtcbiAgICAgIGNoYW5nZURhdGEuZGVsID0gJzxzcGFuIGNsYXNzPVwiZGVsZXRlZFwiPicgKyBjaGFuZ2VEYXRhLmRlbCArICc8L3NwYW4+JztcbiAgICB9XG4gICAgaWYgKGNoYW5nZURhdGEuaW5zLmxlbmd0aCA+IDApIHtcbiAgICAgIGNoYW5nZURhdGEuaW5zID0gJzxzcGFuIGNsYXNzPVwiaW5zZXJ0ZWRcIj4nICsgY2hhbmdlRGF0YS5pbnMgKyAnPC9zcGFuPic7XG4gICAgfVxuICAgIHJlc3VsdCA9IGNoYW5nZURhdGEubXRjICsgY2hhbmdlRGF0YS5kZWwgKyBjaGFuZ2VEYXRhLmlucyArIGNoYW5nZURhdGEuc2JzO1xuICAgIHJlc3VsdCArPVxuICAgICAgbmV4dFRoaXMgIT09ICcnIHx8IG5leHRTICE9PSAnJ1xuICAgICAgICA/IFN0cmluZ1V0aWxzLmRpZmYobmV4dFRoaXMsIG5leHRTLCBwKVxuICAgICAgICA6ICcnO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBnZXRNYXRjaGluZ1N1YnN0cmluZyhzLCBsLCBtKSB7XG4gICAgLy8gcmV0dXJucyB0aGUgZmlyc3QgbWF0Y2hpbmcgc3Vic3RyaW5nIGluLWJldHdlZW4gdGhlIHR3byBzdHJpbmdzXG4gICAgbGV0IGkgPSAwO1xuICAgIGxldCBtYXRjaCA9IGZhbHNlO1xuICAgIGNvbnN0IHNsZW4gPSBzLmxlbmd0aDtcbiAgICBjb25zdCBvID0geyBmaXM6IHNsZW4sIG10YzogbSwgc2JzOiAnJyB9OyAvLyB0ZW1wb3Jhcnkgb2JqZWN0IHVzZWQgdG8gY29uc3RydWN0IHRoZSBjZCAoY2hhbmdlIGRhdGEpIG9iamVjdFxuXG4gICAgd2hpbGUgKGkgPCBzbGVuKSB7XG4gICAgICBsW2ldID09PSBzW2ldXG4gICAgICAgID8gbWF0Y2hcbiAgICAgICAgICA/IChvLnNicyArPSBzW2ldKSAvLyBvLnNicyBob2xkcyB0aGUgbWF0Y2hpbmcgc3Vic3RyaW5nIGl0c2VmXG4gICAgICAgICAgOiAoKG1hdGNoID0gdHJ1ZSksIChvLmZpcyA9IGkpLCAoby5zYnMgPSBzW2ldKSlcbiAgICAgICAgOiBtYXRjaFxuICAgICAgICAgID8gKGkgPSBzbGVuKSAvLyBzdG9wIGFmdGVyIHRoZSBmaXJzdCBmb3VuZCBzdWJzdHJpbmdcbiAgICAgICAgICA6IChpID0gaSk7XG4gICAgICArK2k7XG4gICAgfVxuICAgIHJldHVybiBvO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0Q2hhbmdlcyhzMSwgczIsIG0sIHApIHtcbiAgICBjb25zdCBpc1RoaXNMb25nZXIgPSBzMS5sZW5ndGggPj0gczEubGVuZ3RoID8gdHJ1ZSA6IGZhbHNlO1xuICAgIGxldCBbbG9uZ2VyLCBzaG9ydGVyXSA9IGlzVGhpc0xvbmdlciA/IFtzMSwgczJdIDogW3MyLCBzMV07IC8vIGFzc2lnbm1lbnQgb2YgbG9uZ2VyIGFuZCBzaG9ydGVyIGJ5IGVzNiBkZXN0cnVjdHVyaW5nXG4gICAgbGV0IGJpID0gMDsgLy8gYmFzZSBpbmRleCBkZXNpZ25hdGluZyB0aGUgaW5kZXggb2YgZmlyc3QgbWlzbWFjdGhpbmcgY2hhcmFjdGVyIGluIGJvdGggc3RyaW5nc1xuXG4gICAgd2hpbGUgKHNob3J0ZXJbYmldID09PSBsb25nZXJbYmldICYmIGJpIDwgc2hvcnRlci5sZW5ndGgpIHtcbiAgICAgICsrYmk7XG4gICAgfSAvLyBtYWtlIGJpIHRoZSBpbmRleCBvZiBmaXJzdCBtaXNtYXRjaGluZyBjaGFyYWN0ZXJcbiAgICBsb25nZXIgPSBsb25nZXIuc3BsaXQoJycpLnNsaWNlKGJpKTsgLy8gYXMgdGhlIGxvbmdlciBzdHJpbmcgd2lsbCBiZSByb3RhdGVkIGl0IGlzIGNvbnZlcnRlZCBpbnRvIGFycmF5XG4gICAgc2hvcnRlciA9IHNob3J0ZXIuc2xpY2UoYmkpOyAvLyBzaG9ydGVyIGFuZCBsb25nZXIgbm93IHN0YXJ0cyBmcm9tIHRoZSBmaXJzdCBtaXNtYXRjaGluZyBjaGFyYWN0ZXJcblxuICAgIGNvbnN0IGxlbiA9IGxvbmdlci5sZW5ndGg7IC8vIGxlbmd0aCBvZiB0aGUgbG9uZ2VyIHN0cmluZ1xuICAgIGxldCBjZDogYW55ID0ge1xuICAgICAgZmlzOiBzaG9ydGVyLmxlbmd0aCwgLy8gdGhlIGluZGV4IG9mIG1hdGNoaW5nIHN0cmluZyBpbiB0aGUgc2hvcnRlciBzdHJpbmdcbiAgICAgIGZpbDogbGVuLCAvLyB0aGUgaW5kZXggb2YgbWF0Y2hpbmcgc3RyaW5nIGluIHRoZSBsb25nZXIgc3RyaW5nXG4gICAgICBzYnM6ICcnLCAvLyB0aGUgbWF0Y2hpbmcgc3Vic3RyaW5nIGl0c2VsZlxuICAgICAgbXRjOiBtICsgczIuc2xpY2UoMCwgYmkpXG4gICAgfTsgLy8gaWYgZXhpc3RzIG10YyBob2xkcyB0aGUgbWF0Y2hpbmcgc3RyaW5nIGF0IHRoZSBmcm9udFxuICAgIGxldCBzdWI6IGFueSA9IHsgc2JzOiAnJyB9OyAvLyByZXR1cm5lZCBzdWJzdHJpbmcgcGVyIDEgY2hhcmFjdGVyIHJvdGF0aW9uIG9mIHRoZSBsb25nZXIgc3RyaW5nXG5cbiAgICBpZiAoc2hvcnRlciAhPT0gJycpIHtcbiAgICAgIGZvciAobGV0IHJjID0gMDsgcmMgPCBsZW4gJiYgc3ViLnNicy5sZW5ndGggPCBwOyByYysrKSB7XG4gICAgICAgIC8vIHJjIC0+IHJvdGF0ZSBjb3VudCwgcCAtPiBwcmVjaXNpb24gZmFjdG9yXG4gICAgICAgIHN1YiA9IFN0cmluZ1V0aWxzLmdldE1hdGNoaW5nU3Vic3RyaW5nKFxuICAgICAgICAgIHNob3J0ZXIsXG4gICAgICAgICAgU3RyaW5nVXRpbHMucm90YXRlQXJyYXkobG9uZ2VyLCByYyksXG4gICAgICAgICAgY2QubXRjXG4gICAgICAgICk7IC8vIHJvdGF0ZSBsb25nZXIgc3RyaW5nIDEgY2hhciBhbmQgZ2V0IHN1YnN0cmluZ1xuICAgICAgICBzdWIuZmlsID1cbiAgICAgICAgICByYyA8IGxlbiAtIHN1Yi5maXNcbiAgICAgICAgICAgID8gc3ViLmZpcyArIHJjIC8vIG1pc21hdGNoIGlzIGxvbmdlciB0aGFuIHRoZSBtaXNtYXRjaCBpbiBzaG9ydFxuICAgICAgICAgICAgOiBzdWIuZmlzIC0gbGVuICsgcmM7IC8vIG1pc21hdGNoIGlzIHNob3J0ZXIgdGhhbiB0aGUgbWlzbWF0Y2ggaW4gc2hvcnRcbiAgICAgICAgaWYgKHN1Yi5zYnMubGVuZ3RoID4gY2Quc2JzLmxlbmd0aCkge1xuICAgICAgICAgIGNkID0gc3ViOyAvLyBvbmx5IGtlZXAgdGhlIG9uZSB3aXRoIHRoZSBsb25nZXN0IHN1YnN0cmluZy5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBpbnNlcnQgdGhlIG1pc21hdGNoaW5nIGRlbGV0ZSBzdWJzcnQgYW5kIGluc2VydCBzdWJzdHIgdG8gdGhlIGNkIG9iamVjdCBhbmQgYXR0YWNoIHRoZSBwcmV2aW91cyBzdWJzdHJpbmdcbiAgICBbY2QuZGVsLCBjZC5pbnNdID0gaXNUaGlzTG9uZ2VyXG4gICAgICA/IFtsb25nZXIuc2xpY2UoMCwgY2QuZmlsKS5qb2luKCcnKSwgc2hvcnRlci5zbGljZSgwLCBjZC5maXMpXVxuICAgICAgOiBbc2hvcnRlci5zbGljZSgwLCBjZC5maXMpLCBsb25nZXIuc2xpY2UoMCwgY2QuZmlsKS5qb2luKCcnKV07XG4gICAgcmV0dXJuIGNkLmRlbC5pbmRleE9mKCcgJykgPT09IC0xIHx8XG4gICAgICBjZC5pbnMuaW5kZXhPZignICcpID09PSAtMSB8fFxuICAgICAgY2QuZGVsID09PSAnJyB8fFxuICAgICAgY2QuaW5zID09PSAnJyB8fFxuICAgICAgY2Quc2JzID09PSAnJ1xuICAgICAgPyBjZFxuICAgICAgOiBTdHJpbmdVdGlscy5nZXRDaGFuZ2VzKGNkLmRlbCwgY2QuaW5zLCBjZC5tdGMsIHApO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcm90YXRlQXJyYXkoYXJyYXksIG4pIHtcbiAgICBjb25zdCBsZW4gPSBhcnJheS5sZW5ndGg7XG4gICAgY29uc3QgcmVzID0gbmV3IEFycmF5KGFycmF5Lmxlbmd0aCk7XG4gICAgaWYgKG4gJSBsZW4gPT09IDApIHtcbiAgICAgIHJldHVybiBhcnJheS5zbGljZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgIHJlc1tpXSA9IGFycmF5WyhpICsgKGxlbiArIChuICUgbGVuKSkpICUgbGVuXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbiAgfVxufVxuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import * as Bowser from 'bowser';
|
|
2
|
-
export const userAgent = Bowser.getParser(window.navigator.userAgent);
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import * as Bowser from 'bowser';
|
|
2
|
+
export const userAgent = Bowser.getParser(window.navigator.userAgent);
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvdXNlci1hZ2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQU1qQyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FDdkMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIEJvd3NlciBmcm9tICdib3dzZXInO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyQWdlbnQgZXh0ZW5kcyBCb3dzZXIuUGFyc2VyLlBhcnNlciB7XHJcbiAgY29tcGFyZVZlcnNpb246ICh2ZXJzaW9uOiBzdHJpbmcpID0+IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCB1c2VyQWdlbnQgPSBCb3dzZXIuZ2V0UGFyc2VyKFxyXG4gIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50XHJcbikgYXMgVXNlckFnZW50O1xyXG4iXX0=
|
package/esm2020/lib/uuid.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export function S4() {
|
|
2
|
-
// eslint-disable-next-line no-bitwise
|
|
3
|
-
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
|
4
|
-
}
|
|
5
|
-
export function uuid() {
|
|
6
|
-
const id = `${S4()}${S4()}-${S4()}-${S4()}-${S4()}-${S4()}${S4()}${S4()}`;
|
|
7
|
-
return id.toLowerCase();
|
|
8
|
-
}
|
|
1
|
+
export function S4() {
|
|
2
|
+
// eslint-disable-next-line no-bitwise
|
|
3
|
+
return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);
|
|
4
|
+
}
|
|
5
|
+
export function uuid() {
|
|
6
|
+
const id = `${S4()}${S4()}-${S4()}-${S4()}-${S4()}-${S4()}${S4()}${S4()}`;
|
|
7
|
+
return id.toLowerCase();
|
|
8
|
+
}
|
|
9
9
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXVpZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvdXVpZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsRUFBRTtJQUNoQixzQ0FBc0M7SUFDdEMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBRUQsTUFBTSxVQUFVLElBQUk7SUFDbEIsTUFBTSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzFFLE9BQU8sRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQzFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gUzQoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlXG4gIHJldHVybiAoKCgxICsgTWF0aC5yYW5kb20oKSkgKiAweDEwMDAwKSB8IDApLnRvU3RyaW5nKDE2KS5zdWJzdHJpbmcoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1dWlkKCkge1xuICBjb25zdCBpZCA9IGAke1M0KCl9JHtTNCgpfS0ke1M0KCl9LSR7UzQoKX0tJHtTNCgpfS0ke1M0KCl9JHtTNCgpfSR7UzQoKX1gO1xuICByZXR1cm4gaWQudG9Mb3dlckNhc2UoKTtcbn1cbiJdfQ==
|
package/esm2020/lib/watcher.mjs
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import { Subject } from 'rxjs';
|
|
2
|
-
import { distinctUntilChanged } from 'rxjs/operators';
|
|
3
|
-
export var SubjectStatus;
|
|
4
|
-
(function (SubjectStatus) {
|
|
5
|
-
SubjectStatus[SubjectStatus["Error"] = 0] = "Error";
|
|
6
|
-
SubjectStatus[SubjectStatus["Done"] = 1] = "Done";
|
|
7
|
-
SubjectStatus[SubjectStatus["Working"] = 2] = "Working";
|
|
8
|
-
SubjectStatus[SubjectStatus["Waiting"] = 3] = "Waiting";
|
|
9
|
-
})(SubjectStatus || (SubjectStatus = {}));
|
|
10
|
-
export class Watcher {
|
|
11
|
-
constructor() {
|
|
12
|
-
this.status$ = new Subject();
|
|
13
|
-
}
|
|
14
|
-
get status() {
|
|
15
|
-
return this._status;
|
|
16
|
-
}
|
|
17
|
-
set status(value) {
|
|
18
|
-
this._status = value;
|
|
19
|
-
this.status$.next(value);
|
|
20
|
-
}
|
|
21
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
22
|
-
subscribe(callback, scope) {
|
|
23
|
-
this.watch();
|
|
24
|
-
this.status$$ = this.status$
|
|
25
|
-
.pipe(distinctUntilChanged())
|
|
26
|
-
.subscribe((status) => {
|
|
27
|
-
this.handleStatusChange(status);
|
|
28
|
-
callback.call(scope, this);
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
unsubscribe() {
|
|
32
|
-
this.unwatch();
|
|
33
|
-
if (this.status$$ !== undefined) {
|
|
34
|
-
this.status$$.unsubscribe();
|
|
35
|
-
this.status$$ = undefined;
|
|
36
|
-
}
|
|
37
|
-
this.status = SubjectStatus.Waiting;
|
|
38
|
-
}
|
|
39
|
-
handleStatusChange(status) { }
|
|
40
|
-
}
|
|
1
|
+
import { Subject } from 'rxjs';
|
|
2
|
+
import { distinctUntilChanged } from 'rxjs/operators';
|
|
3
|
+
export var SubjectStatus;
|
|
4
|
+
(function (SubjectStatus) {
|
|
5
|
+
SubjectStatus[SubjectStatus["Error"] = 0] = "Error";
|
|
6
|
+
SubjectStatus[SubjectStatus["Done"] = 1] = "Done";
|
|
7
|
+
SubjectStatus[SubjectStatus["Working"] = 2] = "Working";
|
|
8
|
+
SubjectStatus[SubjectStatus["Waiting"] = 3] = "Waiting";
|
|
9
|
+
})(SubjectStatus || (SubjectStatus = {}));
|
|
10
|
+
export class Watcher {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.status$ = new Subject();
|
|
13
|
+
}
|
|
14
|
+
get status() {
|
|
15
|
+
return this._status;
|
|
16
|
+
}
|
|
17
|
+
set status(value) {
|
|
18
|
+
this._status = value;
|
|
19
|
+
this.status$.next(value);
|
|
20
|
+
}
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
22
|
+
subscribe(callback, scope) {
|
|
23
|
+
this.watch();
|
|
24
|
+
this.status$$ = this.status$
|
|
25
|
+
.pipe(distinctUntilChanged())
|
|
26
|
+
.subscribe((status) => {
|
|
27
|
+
this.handleStatusChange(status);
|
|
28
|
+
callback.call(scope, this);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
unsubscribe() {
|
|
32
|
+
this.unwatch();
|
|
33
|
+
if (this.status$$ !== undefined) {
|
|
34
|
+
this.status$$.unsubscribe();
|
|
35
|
+
this.status$$ = undefined;
|
|
36
|
+
}
|
|
37
|
+
this.status = SubjectStatus.Waiting;
|
|
38
|
+
}
|
|
39
|
+
handleStatusChange(status) { }
|
|
40
|
+
}
|
|
41
41
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9saWIvd2F0Y2hlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RCxNQUFNLENBQU4sSUFBWSxhQUtYO0FBTEQsV0FBWSxhQUFhO0lBQ3ZCLG1EQUFTLENBQUE7SUFDVCxpREFBUSxDQUFBO0lBQ1IsdURBQVcsQ0FBQTtJQUNYLHVEQUFXLENBQUE7QUFDYixDQUFDLEVBTFcsYUFBYSxLQUFiLGFBQWEsUUFLeEI7QUFFRCxNQUFNLE9BQWdCLE9BQU87SUFBN0I7UUFDUyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWlCLENBQUM7SUFzQ2hELENBQUM7SUFuQ0MsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFvQjtRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBT0Qsd0RBQXdEO0lBQ3hELFNBQVMsQ0FBQyxRQUFrQixFQUFFLEtBQVc7UUFDdkMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBRWIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTzthQUN6QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxNQUFxQixFQUFFLEVBQUU7WUFDbkMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzdCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssU0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUM7U0FDM0I7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7SUFDdEMsQ0FBQztJQUVTLGtCQUFrQixDQUFDLE1BQXFCLElBQUcsQ0FBQztDQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBlbnVtIFN1YmplY3RTdGF0dXMge1xuICBFcnJvciA9IDAsXG4gIERvbmUgPSAxLFxuICBXb3JraW5nID0gMixcbiAgV2FpdGluZyA9IDNcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFdhdGNoZXIge1xuICBwdWJsaWMgc3RhdHVzJCA9IG5ldyBTdWJqZWN0PFN1YmplY3RTdGF0dXM+KCk7XG4gIHByb3RlY3RlZCBzdGF0dXMkJDogU3Vic2NyaXB0aW9uO1xuXG4gIGdldCBzdGF0dXMoKTogU3ViamVjdFN0YXR1cyB7XG4gICAgcmV0dXJuIHRoaXMuX3N0YXR1cztcbiAgfVxuICBzZXQgc3RhdHVzKHZhbHVlOiBTdWJqZWN0U3RhdHVzKSB7XG4gICAgdGhpcy5fc3RhdHVzID0gdmFsdWU7XG4gICAgdGhpcy5zdGF0dXMkLm5leHQodmFsdWUpO1xuICB9XG4gIHByaXZhdGUgX3N0YXR1czogU3ViamVjdFN0YXR1cztcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgd2F0Y2goKTtcblxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgdW53YXRjaCgpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gIHN1YnNjcmliZShjYWxsYmFjazogRnVuY3Rpb24sIHNjb3BlPzogYW55KSB7XG4gICAgdGhpcy53YXRjaCgpO1xuXG4gICAgdGhpcy5zdGF0dXMkJCA9IHRoaXMuc3RhdHVzJFxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKHN0YXR1czogU3ViamVjdFN0YXR1cykgPT4ge1xuICAgICAgICB0aGlzLmhhbmRsZVN0YXR1c0NoYW5nZShzdGF0dXMpO1xuICAgICAgICBjYWxsYmFjay5jYWxsKHNjb3BlLCB0aGlzKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgdW5zdWJzY3JpYmUoKSB7XG4gICAgdGhpcy51bndhdGNoKCk7XG4gICAgaWYgKHRoaXMuc3RhdHVzJCQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5zdGF0dXMkJC51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5zdGF0dXMkJCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgdGhpcy5zdGF0dXMgPSBTdWJqZWN0U3RhdHVzLldhaXRpbmc7XG4gIH1cblxuICBwcm90ZWN0ZWQgaGFuZGxlU3RhdHVzQ2hhbmdlKHN0YXR1czogU3ViamVjdFN0YXR1cykge31cbn1cbiJdfQ==
|
package/esm2020/public_api.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Public API Surface of utils
|
|
3
|
-
*/
|
|
4
|
-
export * from './lib';
|
|
1
|
+
/*
|
|
2
|
+
* Public API Surface of utils
|
|
3
|
+
*/
|
|
4
|
+
export * from './lib';
|
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3V0aWxzL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHV0aWxzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWInO1xuIl19
|