@unicom-cloud/utils 0.1.16 → 0.1.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/class-name/index.js +5 -5
  2. package/constant/index.js +24 -2
  3. package/constant/platform.js +13 -12
  4. package/constant.js +24 -2
  5. package/content-disposition/index.js +3 -3
  6. package/date/convertTime.js +4 -4
  7. package/diff/index.js +7 -0
  8. package/diff/src/diff.d.ts +21 -0
  9. package/diff/src/diff.js +381 -0
  10. package/diff.js +7 -0
  11. package/filesize/types/constants.d.ts +81 -0
  12. package/filesize/types/filesize.d.ts +97 -0
  13. package/index.js +68 -58
  14. package/js-cookie/index.d.ts +116 -0
  15. package/js-cookie/index.js +4 -0
  16. package/js-cookie/src/api.js +56 -0
  17. package/js-cookie/src/assign.js +11 -0
  18. package/js-cookie/src/converter.js +14 -0
  19. package/jsCookie.js +4 -0
  20. package/lunar/lib/HolidayUtil.js +48 -49
  21. package/mitt/index.js +4 -0
  22. package/mitt/src/index.js +37 -0
  23. package/mitt.js +4 -0
  24. package/nzh/nzh.d.ts +74 -0
  25. package/package.json +1 -1
  26. package/pinyin/index.js +4 -0
  27. package/pinyin/simplified.js +4 -0
  28. package/pinyin/src/core.js +143 -0
  29. package/pinyin/src/simplified.js +8 -0
  30. package/pinyin/src/simplified_dict.js +410 -0
  31. package/pinyin/src/traditional.js +8 -0
  32. package/pinyin/src/traditional_dict.js +403 -0
  33. package/pinyin/traditional.js +4 -0
  34. package/pinyin.js +4 -0
  35. package/query-string/base.d.ts +717 -0
  36. package/query-string/base.js +268 -0
  37. package/query-string/index.d.ts +16 -0
  38. package/query-string/index.js +4 -0
  39. package/query-string/splitOnFirst.js +14 -0
  40. package/queryString.js +4 -0
  41. package/random/index.js +56 -35
  42. package/snapdom/src/api/preCache.js +51 -28
  43. package/snapdom/src/core/cache.js +1 -4
  44. package/snapdom/src/core/capture.js +45 -44
  45. package/snapdom/src/core/clone.js +82 -66
  46. package/snapdom/src/core/prepare.js +167 -45
  47. package/snapdom/src/modules/background.js +29 -19
  48. package/snapdom/src/modules/fonts.js +158 -111
  49. package/snapdom/src/modules/images.js +14 -9
  50. package/snapdom/src/modules/pseudo.js +52 -47
  51. package/snapdom/src/modules/styles.js +22 -22
  52. package/snapdom/src/modules/svgDefs.js +39 -20
  53. package/snapdom/src/utils/cssTools.js +58 -51
  54. package/snapdom/src/utils/helpers.js +197 -140
  55. package/snapdom/types/snapdom.d.ts +101 -0
  56. package/types/constant/index.d.ts +11 -0
  57. package/types/constant/platform.d.ts +1 -0
  58. package/types/diff/index.d.ts +2 -0
  59. package/types/diff/src/diff.d.ts +40 -0
  60. package/types/index.d.ts +6 -1
  61. package/types/js-cookie/index.d.ts +1 -0
  62. package/types/js-cookie/src/api.d.mts +2 -0
  63. package/types/js-cookie/src/assign.d.mts +1 -0
  64. package/types/js-cookie/src/converter.d.mts +5 -0
  65. package/types/mitt/index.d.ts +2 -0
  66. package/types/mitt/src/index.d.ts +29 -0
  67. package/types/pinyin/index.d.ts +1 -0
  68. package/types/pinyin/simplified.d.ts +1 -0
  69. package/types/pinyin/src/core.d.ts +3 -0
  70. package/types/pinyin/src/simplified.d.ts +4 -0
  71. package/types/pinyin/src/simplified_dict.d.ts +408 -0
  72. package/types/pinyin/src/traditional.d.ts +4 -0
  73. package/types/pinyin/src/traditional_dict.d.ts +401 -0
  74. package/types/pinyin/traditional.d.ts +1 -0
  75. package/types/query-string/base.d.ts +11 -0
  76. package/types/query-string/index.d.ts +2 -0
  77. package/types/query-string/splitOnFirst.d.ts +1 -0
  78. package/types/random/index.d.ts +14 -23
  79. package/types/snapdom/src/api/preCache.d.ts +2 -5
  80. package/types/snapdom/src/core/cache.d.ts +0 -3
  81. package/types/snapdom/src/core/clone.d.ts +1 -1
  82. package/types/snapdom/src/modules/background.d.ts +16 -6
  83. package/types/snapdom/src/modules/fonts.d.ts +5 -1
  84. package/types/snapdom/src/modules/pseudo.d.ts +1 -1
  85. package/types/snapdom/src/modules/styles.d.ts +1 -1
  86. package/types/snapdom/src/modules/svgDefs.d.ts +13 -13
  87. package/types/snapdom/src/utils/cssTools.d.ts +2 -10
  88. package/types/snapdom/src/utils/helpers.d.ts +13 -7
  89. package/types/turbo-stream/src/shared.d.ts +3 -3
  90. package/url-toolkit/src/url-toolkit.d.ts +22 -0
  91. package/event-emitter/index.js +0 -48
  92. package/eventEmitter.js +0 -4
  93. package/types/event-emitter/index.d.ts +0 -17
@@ -1,8 +1,8 @@
1
- import o from "lodash/isPlainObject";
2
- function s(...e) {
3
- const n = " ", i = e.flat(1 / 0).map((t, r, f) => o(t) ? Object.keys(t).filter((a) => t[a]) : t).flat(1 / 0).filter(Boolean).join(n).split(n).filter(Boolean);
4
- return [...new Set(i)].join(n);
1
+ import a from "lodash/isPlainObject";
2
+ function l(...n) {
3
+ const e = n.flat(1 / 0).map((t, r, s) => a(t) ? Object.keys(t).filter((i) => t[i]) : t).flat(1 / 0).filter(Boolean).join(" ").split(" ").filter(Boolean);
4
+ return [...new Set(e)].join(" ");
5
5
  }
6
6
  export {
7
- s as default
7
+ l as default
8
8
  };
package/constant/index.js CHANGED
@@ -1,6 +1,28 @@
1
- const e = window.matchMedia(
1
+ import * as o from "./address.js";
2
+ import * as t from "./chineseCharacters.js";
3
+ import * as a from "./constellations.js";
4
+ import * as r from "./domain.js";
5
+ import * as s from "./identity.js";
6
+ import * as e from "./keyboardCode.js";
7
+ import * as n from "./licensePlate.js";
8
+ import * as m from "./name.js";
9
+ import * as p from "./platform.js";
10
+ import * as i from "./protocol.js";
11
+ import * as c from "./ui.js";
12
+ const _ = window.matchMedia(
2
13
  "(prefers-color-scheme: dark)"
3
14
  );
4
15
  export {
5
- e as MATCH_MEDIA_PREFERS_COLOR_SCHEME_DARK
16
+ _ as MATCH_MEDIA_PREFERS_COLOR_SCHEME_DARK,
17
+ t as chineseCharacters,
18
+ a as constellations,
19
+ o as date,
20
+ r as domain,
21
+ s as identity,
22
+ e as keyboardCode,
23
+ n as licensePlate,
24
+ m as name,
25
+ p as platform,
26
+ i as protocol,
27
+ c as ui
6
28
  };
@@ -1,18 +1,19 @@
1
- const i = navigator.userAgent.toLowerCase(), t = window.__wxjs_environment === "miniprogram" || !!window.wx?.getSystemInfoSync, e = /micromessenger/i.test(i), a = /dingtalk/i.test(i), r = /alipay|aliapp/i.test(i), o = /ipad|iphone|ipod/i.test(i), s = /android/i.test(i), w = /openharmony/i.test(i), c = /macintosh|mac os x/i.test(i), d = /windows|win32|win64|wow64/i.test(
1
+ const i = navigator.userAgent.toLowerCase(), t = window.__wxjs_environment === "miniprogram" || !!window.wx?.getSystemInfoSync, a = /micromessenger/i.test(i), r = /dingtalk/i.test(i), c = /alipay|aliapp/i.test(i), n = /ipad|iphone|ipod/i.test(i), e = /android/i.test(i), w = /openharmony/i.test(i), s = /macintosh|mac os x/i.test(i), d = n || s, m = /windows|win32|win64|wow64/i.test(
2
2
  i
3
- ), m = (o || s || /windows phone|blackberry|mobile|webos|iemobile|opera (mini|mobi)/i.test(
3
+ ), l = (n || e || /windows phone|blackberry|mobile|webos|iemobile|opera (mini|mobi)/i.test(
4
4
  i
5
- )) && ("ontouchend" in document || "ontouchend" in window), l = ["fullscreen", "standalone", "minimal-ui"].some((n) => window.matchMedia(`(display-mode: ${n})`).matches) || window.navigator.standalone === !0;
5
+ )) && ("ontouchend" in document || "ontouchend" in window), p = ["fullscreen", "standalone", "minimal-ui"].some((o) => window.matchMedia(`(display-mode: ${o})`).matches) || window.navigator.standalone === !0;
6
6
  export {
7
- r as isAlipayBrowser,
8
- s as isAndroidOS,
9
- a as isDingtalkBrowser,
7
+ c as isAlipayBrowser,
8
+ e as isAndroidOS,
9
+ d as isAppleDevice,
10
+ r as isDingtalkBrowser,
10
11
  w as isHarmony,
11
- o as isIOS_OS,
12
- c as isMacOS,
13
- m as isMobileDevice,
14
- l as isPWA,
15
- e as isWeChatBrowser,
12
+ n as isIOS_OS,
13
+ s as isMacOS,
14
+ l as isMobileDevice,
15
+ p as isPWA,
16
+ a as isWeChatBrowser,
16
17
  t as isWeChatMiniProgram,
17
- d as isWindowsOS
18
+ m as isWindowsOS
18
19
  };
package/constant.js CHANGED
@@ -1,4 +1,26 @@
1
- import { MATCH_MEDIA_PREFERS_COLOR_SCHEME_DARK as R } from "./constant/index.js";
1
+ import * as o from "./constant/address.js";
2
+ import * as t from "./constant/chineseCharacters.js";
3
+ import * as a from "./constant/constellations.js";
4
+ import * as r from "./constant/domain.js";
5
+ import * as s from "./constant/identity.js";
6
+ import * as e from "./constant/keyboardCode.js";
7
+ import * as n from "./constant/licensePlate.js";
8
+ import * as m from "./constant/name.js";
9
+ import * as p from "./constant/platform.js";
10
+ import * as i from "./constant/protocol.js";
11
+ import * as c from "./constant/ui.js";
12
+ import { MATCH_MEDIA_PREFERS_COLOR_SCHEME_DARK as l } from "./constant/index.js";
2
13
  export {
3
- R as MATCH_MEDIA_PREFERS_COLOR_SCHEME_DARK
14
+ l as MATCH_MEDIA_PREFERS_COLOR_SCHEME_DARK,
15
+ t as chineseCharacters,
16
+ a as constellations,
17
+ o as date,
18
+ r as domain,
19
+ s as identity,
20
+ e as keyboardCode,
21
+ n as licensePlate,
22
+ m as name,
23
+ p as platform,
24
+ i as protocol,
25
+ c as ui
4
26
  };
@@ -17,7 +17,7 @@ function p(t) {
17
17
  const c = f(n), i = r.slice(0, -1);
18
18
  e.parameters[i] || (e.parameters[i] = c), e.parameters[r] = c;
19
19
  } catch (c) {
20
- console.debug(`RFC5987解码失败: ${n}`, c), e.parameters[r] = n;
20
+ console.debug(`RFC5987解码失败:${n}`, c), e.parameters[r] = n;
21
21
  }
22
22
  else !e.parameters[r] && !e.parameters[`${r}*`] && (e.parameters[r] = n);
23
23
  }
@@ -31,9 +31,9 @@ function f(t) {
31
31
  const n = decodeURIComponent(
32
32
  r.replace(/%(?![0-9A-Fa-f]{2})/g, "%25")
33
33
  );
34
- return s && !/^utf-?8$/i.test(s) && console.warn(`非UTF-8编码暂未转换: ${s}`), n;
34
+ return s && !/^utf-?8$/i.test(s) && console.warn(`非UTF-8编码暂未转换:${s}`), n;
35
35
  } catch (n) {
36
- return console.warn(`RFC5987解码失败: ${t}`, n), t;
36
+ return console.warn(`RFC5987解码失败:${t}`, n), t;
37
37
  }
38
38
  }
39
39
  function l(t) {
@@ -14,13 +14,13 @@ const f = {
14
14
  }, r = [
15
15
  { name: "年", seconds: 365 * 24 * 60 * 60, max: 1 / 0 },
16
16
  // 年没有上限
17
- { name: "个月", seconds: 30 * 24 * 60 * 60, max: 12 },
17
+ { name: "个月", seconds: 720 * 60 * 60, max: 12 },
18
18
  // 月份最大12
19
- { name: "周", seconds: 7 * 24 * 60 * 60, max: 4 },
19
+ { name: "周", seconds: 10080 * 60, max: 4 },
20
20
  // 周最大4(约1个月)
21
- { name: "天", seconds: 24 * 60 * 60, max: 7 },
21
+ { name: "天", seconds: 1440 * 60, max: 7 },
22
22
  // 日最大7(1周)
23
- { name: "小时", seconds: 60 * 60, max: 24 },
23
+ { name: "小时", seconds: 3600, max: 24 },
24
24
  // 小时最大24
25
25
  { name: "分钟", seconds: 60, max: 60 },
26
26
  // 分钟最大60
package/diff/index.js ADDED
@@ -0,0 +1,7 @@
1
+ import { DELETE as f, EQUAL as o, INSERT as r, default as t } from "./src/diff.js";
2
+ export {
3
+ f as DELETE,
4
+ o as EQUAL,
5
+ r as INSERT,
6
+ t as default
7
+ };
@@ -0,0 +1,21 @@
1
+ declare function diff(
2
+ text1: string,
3
+ text2: string,
4
+ cursorPos?: number | diff.CursorInfo,
5
+ cleanup?: boolean,
6
+ ): diff.Diff[];
7
+
8
+ declare namespace diff {
9
+ type Diff = [-1 | 0 | 1, string];
10
+
11
+ const DELETE: -1;
12
+ const INSERT: 1;
13
+ const EQUAL: 0;
14
+
15
+ interface CursorInfo {
16
+ oldRange: { index: number; length: number };
17
+ newRange: { index: number; length: number };
18
+ }
19
+ }
20
+
21
+ export = diff;
@@ -0,0 +1,381 @@
1
+ let L = -1, w = 1, A = 0;
2
+ function S(e, t, l, r, i) {
3
+ if (e === t)
4
+ return e ? [[A, e]] : [];
5
+ if (l != null) {
6
+ let a = T(e, t, l);
7
+ if (a)
8
+ return a;
9
+ }
10
+ let n = D(e, t), h = e.substring(0, n);
11
+ e = e.substring(n), t = t.substring(n), n = I(e, t);
12
+ let g = e.substring(e.length - n);
13
+ e = e.substring(0, e.length - n), t = t.substring(0, t.length - n);
14
+ let s = G(e, t);
15
+ return h && s.unshift([A, h]), g && s.push([A, g]), F(s, i), r && K(s), s;
16
+ }
17
+ function G(e, t) {
18
+ let l;
19
+ if (!e)
20
+ return [[w, t]];
21
+ if (!t)
22
+ return [[L, e]];
23
+ let r = e.length > t.length ? e : t, i = e.length > t.length ? t : e, n = r.indexOf(i);
24
+ if (n !== -1)
25
+ return l = [
26
+ [w, r.substring(0, n)],
27
+ [A, i],
28
+ [w, r.substring(n + i.length)]
29
+ ], e.length > t.length && (l[0][0] = l[2][0] = L), l;
30
+ if (i.length === 1)
31
+ return [
32
+ [L, e],
33
+ [w, t]
34
+ ];
35
+ let h = J(e, t);
36
+ if (h) {
37
+ let g = h[0], s = h[1], a = h[2], u = h[3], c = h[4], f = S(g, a), b = S(s, u);
38
+ return f.concat([[A, c]], b);
39
+ }
40
+ return H(e, t);
41
+ }
42
+ function H(e, t) {
43
+ let l = e.length, r = t.length, i = Math.ceil((l + r) / 2), n = i, h = 2 * i, g = new Array(h), s = new Array(h);
44
+ for (let _ = 0; _ < h; _++)
45
+ g[_] = -1, s[_] = -1;
46
+ g[n + 1] = 0, s[n + 1] = 0;
47
+ let a = l - r, u = a % 2 !== 0, c = 0, f = 0, b = 0, p = 0;
48
+ for (let _ = 0; _ < i; _++) {
49
+ for (let k = -_ + c; k <= _ - f; k += 2) {
50
+ let m = n + k, o;
51
+ k === -_ || k !== _ && g[m - 1] < g[m + 1] ? o = g[m + 1] : o = g[m - 1] + 1;
52
+ let M = o - k;
53
+ for (; o < l && M < r && e.charAt(o) === t.charAt(M); )
54
+ o++, M++;
55
+ if (g[m] = o, o > l)
56
+ f += 2;
57
+ else if (M > r)
58
+ c += 2;
59
+ else if (u) {
60
+ let E = n + a - k;
61
+ if (E >= 0 && E < h && s[E] !== -1) {
62
+ let y = l - s[E];
63
+ if (o >= y)
64
+ return C(e, t, o, M);
65
+ }
66
+ }
67
+ }
68
+ for (let k = -_ + b; k <= _ - p; k += 2) {
69
+ let m = n + k, o;
70
+ k === -_ || k !== _ && s[m - 1] < s[m + 1] ? o = s[m + 1] : o = s[m - 1] + 1;
71
+ let M = o - k;
72
+ for (; o < l && M < r && e.charAt(l - o - 1) === t.charAt(r - M - 1); )
73
+ o++, M++;
74
+ if (s[m] = o, o > l)
75
+ p += 2;
76
+ else if (M > r)
77
+ b += 2;
78
+ else if (!u) {
79
+ let E = n + a - k;
80
+ if (E >= 0 && E < h && g[E] !== -1) {
81
+ let y = g[E], R = n + y - E;
82
+ if (o = l - o, y >= o)
83
+ return C(e, t, y, R);
84
+ }
85
+ }
86
+ }
87
+ }
88
+ return [
89
+ [L, e],
90
+ [w, t]
91
+ ];
92
+ }
93
+ function C(e, t, l, r) {
94
+ let i = e.substring(0, l), n = t.substring(0, r), h = e.substring(l), g = t.substring(r), s = S(i, n), a = S(h, g);
95
+ return s.concat(a);
96
+ }
97
+ function D(e, t) {
98
+ if (!e || !t || e.charAt(0) !== t.charAt(0))
99
+ return 0;
100
+ let l = 0, r = Math.min(e.length, t.length), i = r, n = 0;
101
+ for (; l < i; )
102
+ e.substring(n, i) == t.substring(n, i) ? (l = i, n = l) : r = i, i = Math.floor((r - l) / 2 + l);
103
+ return j(e.charCodeAt(i - 1)) && i--, i;
104
+ }
105
+ function O(e, t) {
106
+ let l = e.length, r = t.length;
107
+ if (l == 0 || r == 0)
108
+ return 0;
109
+ l > r ? e = e.substring(l - r) : l < r && (t = t.substring(0, l));
110
+ let i = Math.min(l, r);
111
+ if (e == t)
112
+ return i;
113
+ let n = 0, h = 1;
114
+ for (; ; ) {
115
+ let g = e.substring(i - h), s = t.indexOf(g);
116
+ if (s == -1)
117
+ return n;
118
+ h += s, (s == 0 || e.substring(i - h) == t.substring(0, h)) && (n = h, h++);
119
+ }
120
+ }
121
+ function I(e, t) {
122
+ if (!e || !t || e.slice(-1) !== t.slice(-1))
123
+ return 0;
124
+ let l = 0, r = Math.min(e.length, t.length), i = r, n = 0;
125
+ for (; l < i; )
126
+ e.substring(e.length - i, e.length - n) == t.substring(t.length - i, t.length - n) ? (l = i, n = l) : r = i, i = Math.floor((r - l) / 2 + l);
127
+ return z(e.charCodeAt(e.length - i)) && i--, i;
128
+ }
129
+ function J(e, t) {
130
+ let l = e.length > t.length ? e : t, r = e.length > t.length ? t : e;
131
+ if (l.length < 4 || r.length * 2 < l.length)
132
+ return null;
133
+ function i(b, p, _) {
134
+ let k = b.substring(_, _ + Math.floor(b.length / 4)), m = -1, o = "", M, E, y, R;
135
+ for (; (m = p.indexOf(k, m + 1)) !== -1; ) {
136
+ let v = D(
137
+ b.substring(_),
138
+ p.substring(m)
139
+ ), q = I(
140
+ b.substring(0, _),
141
+ p.substring(0, m)
142
+ );
143
+ o.length < q + v && (o = p.substring(m - q, m) + p.substring(m, m + v), M = b.substring(0, _ - q), E = b.substring(_ + v), y = p.substring(0, m - q), R = p.substring(m + v));
144
+ }
145
+ return o.length * 2 >= b.length ? [
146
+ M,
147
+ E,
148
+ y,
149
+ R,
150
+ o
151
+ ] : null;
152
+ }
153
+ let n = i(
154
+ l,
155
+ r,
156
+ Math.ceil(l.length / 4)
157
+ ), h = i(
158
+ l,
159
+ r,
160
+ Math.ceil(l.length / 2)
161
+ ), g;
162
+ if (!n && !h)
163
+ return null;
164
+ h ? n ? g = n[4].length > h[4].length ? n : h : g = h : g = n;
165
+ let s, a, u, c;
166
+ e.length > t.length ? (s = g[0], a = g[1], u = g[2], c = g[3]) : (u = g[0], c = g[1], s = g[2], a = g[3]);
167
+ let f = g[4];
168
+ return [s, a, u, c, f];
169
+ }
170
+ function K(e) {
171
+ let t = !1, l = [], r = 0, i = null, n = 0, h = 0, g = 0, s = 0, a = 0;
172
+ for (; n < e.length; )
173
+ e[n][0] == A ? (l[r++] = n, h = s, g = a, s = 0, a = 0, i = e[n][1]) : (e[n][0] == w ? s += e[n][1].length : a += e[n][1].length, i && i.length <= Math.max(h, g) && i.length <= Math.max(s, a) && (e.splice(l[r - 1], 0, [
174
+ L,
175
+ i
176
+ ]), e[l[r - 1] + 1][0] = w, r--, r--, n = r > 0 ? l[r - 1] : -1, h = 0, g = 0, s = 0, a = 0, i = null, t = !0)), n++;
177
+ for (t && F(e), X(e), n = 1; n < e.length; ) {
178
+ if (e[n - 1][0] == L && e[n][0] == w) {
179
+ let u = e[n - 1][1], c = e[n][1], f = O(u, c), b = O(c, u);
180
+ f >= b ? (f >= u.length / 2 || f >= c.length / 2) && (e.splice(n, 0, [
181
+ A,
182
+ c.substring(0, f)
183
+ ]), e[n - 1][1] = u.substring(
184
+ 0,
185
+ u.length - f
186
+ ), e[n + 1][1] = c.substring(f), n++) : (b >= u.length / 2 || b >= c.length / 2) && (e.splice(n, 0, [
187
+ A,
188
+ u.substring(0, b)
189
+ ]), e[n - 1][0] = w, e[n - 1][1] = c.substring(
190
+ 0,
191
+ c.length - b
192
+ ), e[n + 1][0] = L, e[n + 1][1] = u.substring(b), n++), n++;
193
+ }
194
+ n++;
195
+ }
196
+ }
197
+ let P = /[^a-zA-Z0-9]/, Q = /\s/, U = /[\r\n]/, V = /\n\r?\n$/, W = /^\r?\n\r?\n/;
198
+ function X(e) {
199
+ function t(r, i) {
200
+ if (!r || !i)
201
+ return 6;
202
+ let n = r.charAt(r.length - 1), h = i.charAt(0), g = n.match(P), s = h.match(P), a = g && n.match(Q), u = s && h.match(Q), c = a && n.match(U), f = u && h.match(U), b = c && r.match(V), p = f && i.match(W);
203
+ return b || p ? 5 : c || f ? 4 : g && !a && u ? 3 : a || u ? 2 : g || s ? 1 : 0;
204
+ }
205
+ let l = 1;
206
+ for (; l < e.length - 1; ) {
207
+ if (e[l - 1][0] == A && e[l + 1][0] == A) {
208
+ let r = e[l - 1][1], i = e[l][1], n = e[l + 1][1], h = I(r, i);
209
+ if (h) {
210
+ let c = i.substring(i.length - h);
211
+ r = r.substring(0, r.length - h), i = c + i.substring(0, i.length - h), n = c + n;
212
+ }
213
+ let g = r, s = i, a = n, u = t(r, i) + t(i, n);
214
+ for (; i.charAt(0) === n.charAt(0); ) {
215
+ r += i.charAt(0), i = i.substring(1) + n.charAt(0), n = n.substring(1);
216
+ let c = t(r, i) + t(i, n);
217
+ c >= u && (u = c, g = r, s = i, a = n);
218
+ }
219
+ e[l - 1][1] != g && (g ? e[l - 1][1] = g : (e.splice(l - 1, 1), l--), e[l][1] = s, a ? e[l + 1][1] = a : (e.splice(l + 1, 1), l--));
220
+ }
221
+ l++;
222
+ }
223
+ }
224
+ function F(e, t) {
225
+ e.push([A, ""]);
226
+ let l = 0, r = 0, i = 0, n = "", h = "", g;
227
+ for (; l < e.length; ) {
228
+ if (l < e.length - 1 && !e[l][1]) {
229
+ e.splice(l, 1);
230
+ continue;
231
+ }
232
+ switch (e[l][0]) {
233
+ case w: {
234
+ i++, h += e[l][1], l++;
235
+ break;
236
+ }
237
+ case L:
238
+ r++, n += e[l][1], l++;
239
+ break;
240
+ case A: {
241
+ let a = l - i - r - 1;
242
+ if (t) {
243
+ if (a >= 0 && $(e[a][1])) {
244
+ let u = e[a][1].slice(-1);
245
+ if (e[a][1] = e[a][1].slice(
246
+ 0,
247
+ -1
248
+ ), n = u + n, h = u + h, !e[a][1]) {
249
+ e.splice(a, 1), l--;
250
+ let c = a - 1;
251
+ e[c] && e[c][0] === w && (i++, h = e[c][1] + h, c--), e[c] && e[c][0] === L && (r++, n = e[c][1] + n, c--), a = c;
252
+ }
253
+ }
254
+ if (Z(e[l][1])) {
255
+ let u = e[l][1].charAt(0);
256
+ e[l][1] = e[l][1].slice(1), n += u, h += u;
257
+ }
258
+ }
259
+ if (l < e.length - 1 && !e[l][1]) {
260
+ e.splice(l, 1);
261
+ break;
262
+ }
263
+ if (n.length > 0 || h.length > 0) {
264
+ n.length > 0 && h.length > 0 && (g = D(h, n), g !== 0 && (a >= 0 ? e[a][1] += h.substring(
265
+ 0,
266
+ g
267
+ ) : (e.splice(0, 0, [
268
+ A,
269
+ h.substring(0, g)
270
+ ]), l++), h = h.substring(g), n = n.substring(g)), g = I(h, n), g !== 0 && (e[l][1] = h.substring(h.length - g) + e[l][1], h = h.substring(
271
+ 0,
272
+ h.length - g
273
+ ), n = n.substring(
274
+ 0,
275
+ n.length - g
276
+ )));
277
+ let u = i + r;
278
+ n.length === 0 && h.length === 0 ? (e.splice(l - u, u), l = l - u) : n.length === 0 ? (e.splice(l - u, u, [w, h]), l = l - u + 1) : h.length === 0 ? (e.splice(l - u, u, [L, n]), l = l - u + 1) : (e.splice(
279
+ l - u,
280
+ u,
281
+ [L, n],
282
+ [w, h]
283
+ ), l = l - u + 2);
284
+ }
285
+ l !== 0 && e[l - 1][0] === A ? (e[l - 1][1] += e[l][1], e.splice(l, 1)) : l++, i = 0, r = 0, n = "", h = "";
286
+ break;
287
+ }
288
+ }
289
+ }
290
+ e[e.length - 1][1] === "" && e.pop();
291
+ let s = !1;
292
+ for (l = 1; l < e.length - 1; )
293
+ e[l - 1][0] === A && e[l + 1][0] === A && (e[l][1].substring(
294
+ e[l][1].length - e[l - 1][1].length
295
+ ) === e[l - 1][1] ? (e[l][1] = e[l - 1][1] + e[l][1].substring(
296
+ 0,
297
+ e[l][1].length - e[l - 1][1].length
298
+ ), e[l + 1][1] = e[l - 1][1] + e[l + 1][1], e.splice(l - 1, 1), s = !0) : e[l][1].substring(0, e[l + 1][1].length) == e[l + 1][1] && (e[l - 1][1] += e[l + 1][1], e[l][1] = e[l][1].substring(e[l + 1][1].length) + e[l + 1][1], e.splice(l + 1, 1), s = !0)), l++;
299
+ s && F(e, t);
300
+ }
301
+ function j(e) {
302
+ return e >= 55296 && e <= 56319;
303
+ }
304
+ function z(e) {
305
+ return e >= 56320 && e <= 57343;
306
+ }
307
+ function Z(e) {
308
+ return z(e.charCodeAt(0));
309
+ }
310
+ function $(e) {
311
+ return j(e.charCodeAt(e.length - 1));
312
+ }
313
+ function Y(e) {
314
+ let t = [];
315
+ for (let l = 0; l < e.length; l++)
316
+ e[l][1].length > 0 && t.push(e[l]);
317
+ return t;
318
+ }
319
+ function N(e, t, l, r) {
320
+ return $(e) || Z(r) ? null : Y([
321
+ [A, e],
322
+ [L, t],
323
+ [w, l],
324
+ [A, r]
325
+ ]);
326
+ }
327
+ function T(e, t, l) {
328
+ let r = typeof l == "number" ? { index: l, length: 0 } : l.oldRange, i = typeof l == "number" ? null : l.newRange, n = e.length, h = t.length;
329
+ if (r.length === 0 && (i === null || i.length === 0)) {
330
+ let g = r.index, s = e.slice(0, g), a = e.slice(g), u = i ? i.index : null;
331
+ e: {
332
+ let c = g + h - n;
333
+ if (u !== null && u !== c || c < 0 || c > h)
334
+ break e;
335
+ let f = t.slice(0, c);
336
+ if (t.slice(c) !== a)
337
+ break e;
338
+ let p = Math.min(g, c), _ = s.slice(0, p), k = f.slice(0, p);
339
+ if (_ !== k)
340
+ break e;
341
+ let m = s.slice(p), o = f.slice(p);
342
+ return N(_, m, o, a);
343
+ }
344
+ e: {
345
+ if (u !== null && u !== g)
346
+ break e;
347
+ let c = g, f = t.slice(0, c), b = t.slice(c);
348
+ if (f !== s)
349
+ break e;
350
+ let p = Math.min(n - c, h - c), _ = a.slice(a.length - p), k = b.slice(b.length - p);
351
+ if (_ !== k)
352
+ break e;
353
+ let m = a.slice(0, a.length - p), o = b.slice(0, b.length - p);
354
+ return N(s, m, o, _);
355
+ }
356
+ }
357
+ if (r.length > 0 && i && i.length === 0)
358
+ e: {
359
+ let g = e.slice(0, r.index), s = e.slice(r.index + r.length), a = g.length, u = s.length;
360
+ if (h < a + u)
361
+ break e;
362
+ let c = t.slice(0, a), f = t.slice(h - u);
363
+ if (g !== c || s !== f)
364
+ break e;
365
+ let b = e.slice(a, n - u), p = t.slice(a, h - u);
366
+ return N(g, b, p, s);
367
+ }
368
+ return null;
369
+ }
370
+ function B(e, t, l, r) {
371
+ return S(e, t, l, r, !0);
372
+ }
373
+ B.INSERT = w;
374
+ B.DELETE = L;
375
+ B.EQUAL = A;
376
+ export {
377
+ L as DELETE,
378
+ A as EQUAL,
379
+ w as INSERT,
380
+ B as default
381
+ };
package/diff.js ADDED
@@ -0,0 +1,7 @@
1
+ import { DELETE as f, EQUAL as o, INSERT as r, default as t } from "./diff/src/diff.js";
2
+ export {
3
+ f as DELETE,
4
+ o as EQUAL,
5
+ r as INSERT,
6
+ t as default
7
+ };
@@ -0,0 +1,81 @@
1
+ // Error Messages
2
+ export const INVALID_NUMBER: 'Invalid number';
3
+ export const INVALID_ROUND: 'Invalid rounding method';
4
+
5
+ // Standard Types
6
+ export const IEC: 'iec';
7
+ export const JEDEC: 'jedec';
8
+ export const SI: 'si';
9
+
10
+ // Unit Types
11
+ export const BIT: 'bit';
12
+ export const BITS: 'bits';
13
+ export const BYTE: 'byte';
14
+ export const BYTES: 'bytes';
15
+ export const SI_KBIT: 'kbit';
16
+ export const SI_KBYTE: 'kB';
17
+
18
+ // Output Format Types
19
+ export const ARRAY: 'array';
20
+ export const FUNCTION: 'function';
21
+ export const OBJECT: 'object';
22
+ export const STRING: 'string';
23
+
24
+ // Processing Constants
25
+ export const EXPONENT: 'exponent';
26
+ export const ROUND: 'round';
27
+
28
+ // Special Characters and Values
29
+ export const EMPTY: '';
30
+ export const PERIOD: '.';
31
+ export const S: 's';
32
+ export const SPACE: ' ';
33
+ export const ZERO: '0';
34
+
35
+ // Data Structures
36
+ export const STRINGS: {
37
+ symbol: {
38
+ iec: {
39
+ bits: [
40
+ 'bit',
41
+ 'Kibit',
42
+ 'Mibit',
43
+ 'Gibit',
44
+ 'Tibit',
45
+ 'Pibit',
46
+ 'Eibit',
47
+ 'Zibit',
48
+ 'Yibit',
49
+ ];
50
+ bytes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB'];
51
+ };
52
+ jedec: {
53
+ bits: [
54
+ 'bit',
55
+ 'Kbit',
56
+ 'Mbit',
57
+ 'Gbit',
58
+ 'Tbit',
59
+ 'Pbit',
60
+ 'Ebit',
61
+ 'Zbit',
62
+ 'Ybit',
63
+ ];
64
+ bytes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
65
+ };
66
+ };
67
+ fullform: {
68
+ iec: ['', 'kibi', 'mebi', 'gibi', 'tebi', 'pebi', 'exbi', 'zebi', 'yobi'];
69
+ jedec: [
70
+ '',
71
+ 'kilo',
72
+ 'mega',
73
+ 'giga',
74
+ 'tera',
75
+ 'peta',
76
+ 'exa',
77
+ 'zetta',
78
+ 'yotta',
79
+ ];
80
+ };
81
+ };