@tktb-tess/util-fns 0.13.3 → 0.13.5

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 (42) hide show
  1. package/dist/esm/async_worker.js +6 -9
  2. package/dist/esm/async_worker_post.d.ts +2 -2
  3. package/dist/esm/async_worker_post.js +7 -5
  4. package/dist/esm/baillie_psw.d.ts +4 -4
  5. package/dist/esm/baillie_psw.js +85 -118
  6. package/dist/esm/base32768-BqNkkJ-a.js +54 -0
  7. package/dist/esm/base32768.d.ts +2 -0
  8. package/dist/esm/base32768.js +2 -0
  9. package/dist/esm/base32768_table.d.ts +2 -0
  10. package/dist/esm/base64.d.ts +22 -4
  11. package/dist/esm/base64.js +42 -11
  12. package/dist/esm/basejuso-BYqhXFJC.js +54 -0
  13. package/dist/esm/basejuso.d.ts +2 -0
  14. package/dist/esm/basejuso.js +2 -0
  15. package/dist/esm/basejuso_table.d.ts +2 -0
  16. package/dist/esm/bpsw_worker_wrap-iIZQPlow.js +23 -0
  17. package/dist/esm/bpsw_worker_wrap.d.ts +1 -1
  18. package/dist/esm/compression.d.ts +6 -6
  19. package/dist/esm/compression.js +17 -13
  20. package/dist/esm/encoder.d.ts +1 -0
  21. package/dist/esm/equality.d.ts +2 -2
  22. package/dist/esm/equality.js +5 -2
  23. package/dist/esm/index.d.ts +2 -0
  24. package/dist/esm/index.js +15 -13
  25. package/dist/esm/leb128.d.ts +2 -2
  26. package/dist/esm/leb128.js +15 -20
  27. package/dist/esm/math.d.ts +6 -6
  28. package/dist/esm/math.js +19 -8
  29. package/dist/esm/{mod_pow-S-7GJ74l.js → mod_pow-C5090m6u.js} +4 -3
  30. package/dist/esm/mod_pow.d.ts +2 -2
  31. package/dist/esm/oct.d.ts +4 -4
  32. package/dist/esm/oct.js +19 -18
  33. package/dist/esm/pcg_minimal.d.ts +6 -5
  34. package/dist/esm/pcg_minimal.js +21 -2
  35. package/dist/esm/random.d.ts +4 -4
  36. package/dist/esm/random.js +16 -9
  37. package/dist/esm/util-Cv7ElkC6.js +68 -0
  38. package/dist/esm/util.d.ts +10 -17
  39. package/dist/esm/util.js +2 -47
  40. package/dist/iife/bundle.min.js +1 -1
  41. package/package.json +22 -6
  42. package/dist/esm/bpsw_worker_wrap-Ex4MZHGr.js +0 -20
@@ -1,18 +1,15 @@
1
1
  //#region lib/async_worker.ts
2
- var e = "AsyncWorker", t = 1n << 128n, n = 0n, r = () => {
3
- let e = `${n++}`;
4
- return n === t && (n = 0n), e;
5
- }, i = class {
2
+ var e = "AsyncWorker", t = 0n, n = () => `${t++}`, r = class {
6
3
  static name = e;
7
4
  #e;
8
5
  constructor(e) {
9
6
  this.#e = e;
10
7
  }
11
- postMessage = (e, t) => new Promise((n, i) => {
12
- let a = r(), o = new AbortController(), { signal: s } = o;
8
+ postMessage = (e, t) => new Promise((r, i) => {
9
+ let a = n(), o = new AbortController(), { signal: s } = o;
13
10
  this.#e.addEventListener("message", (e) => {
14
11
  let t = e.data;
15
- t.id === a && (o.abort(), t.success ? n(t.value) : i(t.error));
12
+ t.id === a && (o.abort(), t.success ? r(t.value) : i(t.error));
16
13
  }, { signal: s }), this.#e.addEventListener("error", (e) => {
17
14
  o.abort(), i(e.error);
18
15
  }, { signal: s });
@@ -23,9 +20,9 @@ var e = "AsyncWorker", t = 1n << 128n, n = 0n, r = () => {
23
20
  this.#e.postMessage(c, t);
24
21
  });
25
22
  };
26
- Object.defineProperty(i.prototype, Symbol.toStringTag, {
23
+ Object.defineProperty(r.prototype, Symbol.toStringTag, {
27
24
  value: e,
28
25
  enumerable: !0
29
26
  });
30
27
  //#endregion
31
- export { i as AsyncWorker };
28
+ export { r as AsyncWorker };
@@ -1,3 +1,3 @@
1
1
  import { ID } from './async_worker_type';
2
- export declare const postSuccess: <TRecv>(value: TRecv, id: ID) => void;
3
- export declare const postFailed: (error: unknown, id: ID) => void;
2
+ export declare function postSuccess<TRecv>(value: TRecv, id: ID): void;
3
+ export declare function postFailed(error: unknown, id: ID): void;
@@ -1,20 +1,22 @@
1
1
  //#region lib/async_worker_post.ts
2
- var e = () => typeof window > "u" && typeof self < "u" && "importScripts" in self, t = (t, n) => {
3
- if (!e()) throw Error("this function must be used in Worker");
2
+ var e = () => typeof window > "u" && typeof self < "u" && "importScripts" in self;
3
+ function t(t, n) {
4
+ if (!e()) throw Error("This function must be used in Worker");
4
5
  let r = {
5
6
  success: !0,
6
7
  value: t,
7
8
  id: n
8
9
  };
9
10
  self.postMessage(r);
10
- }, n = (t, n) => {
11
- if (!e()) throw Error("this function must be used in Worker");
11
+ }
12
+ function n(t, n) {
13
+ if (!e()) throw Error("This function must be used in Worker");
12
14
  let r = {
13
15
  success: !1,
14
16
  error: t,
15
17
  id: n
16
18
  };
17
19
  self.postMessage(r);
18
- };
20
+ }
19
21
  //#endregion
20
22
  export { n as postFailed, t as postSuccess };
@@ -3,24 +3,24 @@
3
3
  * @param n tested integer
4
4
  * @returns whether `n` is a prime
5
5
  */
6
- export declare const bailliePSW: (n: bigint) => boolean;
6
+ export declare function bailliePSW(n: bigint): boolean;
7
7
  /**
8
8
  * returns probable prime of `min` or more and less than `max`
9
9
  * @param min minimum
10
10
  * @param max upper limit
11
11
  * @returns
12
12
  */
13
- export declare const getRandPrimeByRange: (min: bigint, max: bigint) => bigint;
13
+ export declare function getRandPrimeByRange(min: bigint, max: bigint): bigint;
14
14
  /**
15
15
  * returns probable prime of `bitLength` bit
16
16
  * @param bitLength bit length of probable prime
17
17
  * @param fixed `true`: fixed to `bitLength`, `false` (default): variable bit length of `bitLength` or under
18
18
  * @returns
19
19
  */
20
- export declare const getRandPrimeByBitLength: (bitLength: number, fixed?: boolean) => bigint;
20
+ export declare function getRandPrimeByBitLength(bitLength: number, fixed?: boolean): bigint;
21
21
  /**
22
22
  * worker async version of `bailliePSW()` \
23
23
  * only available in esm context
24
24
  * @param n
25
25
  */
26
- export declare const bailliePSWAsync: (n: bigint) => Promise<boolean>;
26
+ export declare function bailliePSWAsync(n: bigint): Promise<boolean>;
@@ -1,104 +1,8 @@
1
- import { n as e, t } from "./mod_pow-S-7GJ74l.js";
1
+ import { n as e, t } from "./mod_pow-C5090m6u.js";
2
2
  import { isSquare as n, jacobiSymbol as r } from "./math.js";
3
3
  import { getRandBIByBitLength as i, getRandBIByRange as a } from "./random.js";
4
4
  //#region lib/baillie_psw.ts
5
- var o = [
6
- 2n,
7
- 3n,
8
- 5n,
9
- 7n,
10
- 11n,
11
- 13n,
12
- 17n,
13
- 19n,
14
- 23n,
15
- 29n,
16
- 31n,
17
- 37n,
18
- 41n,
19
- 43n,
20
- 47n,
21
- 53n,
22
- 59n,
23
- 61n,
24
- 67n,
25
- 71n,
26
- 73n,
27
- 79n,
28
- 83n,
29
- 89n,
30
- 97n,
31
- 101n,
32
- 103n,
33
- 107n,
34
- 109n,
35
- 113n,
36
- 127n,
37
- 131n,
38
- 137n,
39
- 139n,
40
- 149n,
41
- 151n,
42
- 157n,
43
- 163n,
44
- 167n,
45
- 173n,
46
- 179n,
47
- 181n,
48
- 191n,
49
- 193n,
50
- 197n,
51
- 199n,
52
- 211n,
53
- 223n,
54
- 227n,
55
- 229n,
56
- 233n,
57
- 239n,
58
- 241n,
59
- 251n,
60
- 257n,
61
- 263n,
62
- 269n,
63
- 271n,
64
- 277n,
65
- 281n,
66
- 283n,
67
- 293n,
68
- 307n,
69
- 311n,
70
- 313n,
71
- 317n,
72
- 331n,
73
- 337n,
74
- 347n,
75
- 349n,
76
- 353n,
77
- 359n,
78
- 367n,
79
- 373n,
80
- 379n,
81
- 383n,
82
- 389n,
83
- 397n,
84
- 401n,
85
- 409n,
86
- 419n,
87
- 421n,
88
- 431n,
89
- 433n,
90
- 439n,
91
- 443n,
92
- 449n,
93
- 457n,
94
- 461n,
95
- 463n,
96
- 467n,
97
- 479n,
98
- 487n,
99
- 491n,
100
- 499n
101
- ], s = (e) => {
5
+ function o(e) {
102
6
  if (e <= 1n) return !1;
103
7
  if (e % 2n == 0n) return e === 2n;
104
8
  let n = e - 1n, r = 0n;
@@ -110,25 +14,29 @@ var o = [
110
14
  o = o * o % e;
111
15
  }
112
16
  return !1;
113
- }, c = (e) => {
17
+ }
18
+ function s(e) {
114
19
  let t = 5n;
115
20
  for (;;) {
116
21
  let i = r(t, e);
117
22
  if (i === -1n) return t;
118
23
  if (i === 0n || (t = t > 0n ? -(t + 2n) : -(t - 2n), t === -15n && n(e))) return null;
119
24
  }
120
- }, l = (t, n) => {
25
+ }
26
+ function c(t, n) {
121
27
  if ((n & 1n) == 0n) throw Error("`n` is not odd");
122
28
  return (t & 1n) == 1n ? e(t + n >> 1n, n) : e(t >> 1n, n);
123
- }, u = (t, n, r, i) => {
29
+ }
30
+ function l(t, n, r, i) {
124
31
  let a = 1n, o = r, s = t.toString(2).slice(1);
125
- for (let t of s) [a, o] = [e(a * o, n), l(o * o + i * a * a, n)], t === "1" && ([a, o] = [l(r * a + o, n), l(i * a + r * o, n)]);
32
+ for (let t of s) [a, o] = [e(a * o, n), c(o * o + i * a * a, n)], t === "1" && ([a, o] = [c(r * a + o, n), c(i * a + r * o, n)]);
126
33
  return [a, o];
127
- }, d = (n, r, i, a) => {
34
+ }
35
+ function u(n, r, i, a) {
128
36
  if (n % 2n != 1n) throw RangeError("`n` must be odd");
129
37
  let o = n + 1n, s = 0n;
130
38
  for (; o % 2n == 0n;) o >>= 1n, s += 1n;
131
- let [c, l] = u(o, n, i, r), d = l;
39
+ let [c, u] = l(o, n, i, r), d = u;
132
40
  if (c === 0n) return !0;
133
41
  a = t(a, o, n);
134
42
  for (let r = 0n; r < s; r++) {
@@ -136,30 +44,89 @@ var o = [
136
44
  d = e(d * d - 2n * a, n), a = t(a, 2n, n);
137
45
  }
138
46
  return !1;
139
- }, f = (e) => {
47
+ }
48
+ function d(e) {
140
49
  if (e <= 1n) return !1;
141
50
  if (e % 2n == 0n) return e === 2n;
142
- for (let t of o) if (e % t === 0n) return e === t;
143
- if (!s(e)) return !1;
144
- let t = c(e);
145
- return t == null ? !1 : d(e, t, 1n, (1n - t) / 4n);
146
- }, p = (e, t) => {
51
+ for (let t of [
52
+ 2n,
53
+ 3n,
54
+ 5n,
55
+ 7n,
56
+ 11n,
57
+ 13n,
58
+ 17n,
59
+ 19n,
60
+ 23n,
61
+ 29n,
62
+ 31n,
63
+ 37n,
64
+ 41n,
65
+ 43n,
66
+ 47n,
67
+ 53n,
68
+ 59n,
69
+ 61n,
70
+ 67n,
71
+ 71n,
72
+ 73n,
73
+ 79n,
74
+ 83n,
75
+ 89n,
76
+ 97n,
77
+ 101n,
78
+ 103n,
79
+ 107n,
80
+ 109n,
81
+ 113n,
82
+ 127n,
83
+ 131n,
84
+ 137n,
85
+ 139n,
86
+ 149n,
87
+ 151n,
88
+ 157n,
89
+ 163n,
90
+ 167n,
91
+ 173n,
92
+ 179n,
93
+ 181n,
94
+ 191n,
95
+ 193n,
96
+ 197n,
97
+ 199n,
98
+ 211n,
99
+ 223n,
100
+ 227n,
101
+ 229n,
102
+ 233n,
103
+ 239n,
104
+ 241n,
105
+ 251n
106
+ ]) if (e % t === 0n) return e === t;
107
+ if (!o(e)) return !1;
108
+ let t = s(e);
109
+ return t == null ? !1 : u(e, t, 1n, (1n - t) / 4n);
110
+ }
111
+ function f(e, t) {
147
112
  if (t < 2n) throw RangeError("`max` must be 2 or larger");
148
113
  for (let n = 0; n < 1e5; n++) {
149
114
  let n = a(e, t);
150
- if (f(n)) return n;
115
+ if (d(n)) return n;
151
116
  }
152
117
  throw Error("no primes were found");
153
- }, m = (e, t = !1) => {
118
+ }
119
+ function p(e, t = !1) {
154
120
  if (e < 2) throw RangeError("`bitLength` must be 2 or larger");
155
121
  for (let n = 0; n < 1e5; n++) {
156
122
  let n = i(e, t);
157
- if (f(n)) return n;
123
+ if (d(n)) return n;
158
124
  }
159
125
  throw Error("no primes were found");
160
- }, h = async (e) => {
161
- let { getWorker: t } = await import("./bpsw_worker_wrap-Ex4MZHGr.js");
162
- return (await t()).postMessage(e);
163
- };
126
+ }
127
+ async function m(e) {
128
+ let { getWorker: t } = await import("./bpsw_worker_wrap-iIZQPlow.js");
129
+ return t().postMessage(e);
130
+ }
164
131
  //#endregion
165
- export { f as bailliePSW, h as bailliePSWAsync, m as getRandPrimeByBitLength, p as getRandPrimeByRange };
132
+ export { d as bailliePSW, m as bailliePSWAsync, p as getRandPrimeByBitLength, f as getRandPrimeByRange };
@@ -0,0 +1,54 @@
1
+ //#region lib/base32768_table.ts
2
+ var e;
3
+ function t() {
4
+ let e = Array.from("ƀƟȴʓҊҩӺԙԱՐՠտऄणഒറกภကဟ႞ႽაჯሃቂጘፗᎠᏟᐁᙠᚠᛟកសᠠᡟᢇᢦᢰᣯ⌫⏪⓫❊❶➵⟰⥯⨍⩬⩷⫖⫝⭜⮗ⱶⱾⳝㄅㄤㆠ㇟㐀ꑿꔀꗿꚠꛟ꜀ꝟꝱꞰ".matchAll(/../g)).flatMap((e) => {
5
+ let t = e[0].charCodeAt(0), n = e[0].charCodeAt(1), r = [...Array(n - t + 1)].map((e, n) => t + n);
6
+ return [...String.fromCharCode(...r)];
7
+ }), t = Object.fromEntries(e.map((e, t) => [e, t]));
8
+ return Object.setPrototypeOf(t, null), [Object.freeze(e), Object.freeze(t)];
9
+ }
10
+ function n() {
11
+ return e ??= t(), e[0];
12
+ }
13
+ function r() {
14
+ return e ??= t(), e[1];
15
+ }
16
+ //#endregion
17
+ //#region lib/base32768.ts
18
+ var i = 15, a = 8, o = "X";
19
+ function s(e) {
20
+ let t = n(), r = 0, s = 0, c = "";
21
+ for (let n of e) for (let e = 0; e < a; e++) {
22
+ let o = n >>> a - 1 - e & 1;
23
+ if (r = r << 1 | o, s++, s === i) {
24
+ let e = t[r];
25
+ if (e == null) throw TypeError("unexpected");
26
+ c += e, r = 0, s = 0;
27
+ }
28
+ }
29
+ if (s > 0) {
30
+ r <<= 15 - s;
31
+ let e = t[r];
32
+ if (e == null) throw TypeError("unexpected");
33
+ c += e, s < a && (c += o);
34
+ }
35
+ return c;
36
+ }
37
+ function c(e) {
38
+ let t = r(), n = 0, s = 0, c = [];
39
+ for (let r of e) {
40
+ if (r === o) {
41
+ c.pop();
42
+ continue;
43
+ }
44
+ let e = t[r];
45
+ if (e == null) throw TypeError("unexpected");
46
+ for (let t = 0; t < i; t++) {
47
+ let r = e >>> i - 1 - t & 1;
48
+ n = n << 1 | r, s++, s === a && (c.push(n), n = 0, s = 0);
49
+ }
50
+ }
51
+ return Uint8Array.from(c);
52
+ }
53
+ //#endregion
54
+ export { s as n, c as t };
@@ -0,0 +1,2 @@
1
+ export declare function toBase32768(bin: Uint8Array): string;
2
+ export declare function fromBase32768(base32768: string): Uint8Array<ArrayBuffer>;
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "./base32768-BqNkkJ-a.js";
2
+ export { t as fromBase32768, e as toBase32768 };
@@ -0,0 +1,2 @@
1
+ export declare function getETable(): readonly string[];
2
+ export declare function getDTable(): Readonly<Record<string, number>>;
@@ -1,4 +1,22 @@
1
- export declare const toBase64: (bin: Uint8Array) => string;
2
- export declare const fromBase64: (base64: string) => Uint8Array<ArrayBuffer>;
3
- export declare const toBase64URL: (bin: Uint8Array) => string;
4
- export declare const fromBase64URL: (base64URL: string) => Uint8Array<ArrayBuffer>;
1
+ export interface ToBase64Options {
2
+ alphabet?: 'base64' | 'base64url';
3
+ omitPadding?: boolean;
4
+ }
5
+ export interface FromBase64Options {
6
+ alphabet?: 'base64' | 'base64url';
7
+ lastChunkHandling?: 'loose' | 'strict' | 'stop-before-partial';
8
+ }
9
+ /**
10
+ * Polyfill of `Uint8Array.prototype.toBase64()`
11
+ * @param bin
12
+ * @param options
13
+ * @returns
14
+ */
15
+ export declare function toBase64(bin: Uint8Array, options?: ToBase64Options): string;
16
+ /**
17
+ * Polyfill of `Uint8Array.fromBase64()`
18
+ * @param base64
19
+ * @param options
20
+ * @returns
21
+ */
22
+ export declare function fromBase64(base64: string, options?: FromBase64Options): Uint8Array<ArrayBuffer>;
@@ -1,13 +1,44 @@
1
1
  //#region lib/base64.ts
2
- var e = (e) => {
3
- let t = Array.from(e, (e) => String.fromCharCode(e));
4
- return btoa(t.join(""));
5
- }, t = (e) => {
6
- let t = atob(e);
7
- return Uint8Array.from(t, (e) => e.charCodeAt(0));
8
- }, n = (t) => e(t).replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/, ""), r = (e) => {
9
- let n = 4 - (e.length & 3) & 3;
10
- return t(e.concat("=".repeat(n)).replaceAll("-", "+").replaceAll("_", "/"));
11
- };
2
+ function e(e, t = {}) {
3
+ let { alphabet: n = "base64", omitPadding: r = !1 } = t, i = btoa(e.reduce((e, t) => e + String.fromCharCode(t), ""));
4
+ return n === "base64url" && (i = i.replaceAll("+", "-").replaceAll("/", "_")), r && (i = i.replace(/=+$/, "")), i;
5
+ }
6
+ function t(e, t = {}) {
7
+ if (e = e.replace(/\s+/g, ""), e === "") return new Uint8Array();
8
+ let { alphabet: n = "base64", lastChunkHandling: r = "loose" } = t, i = e.match(/=+$/)?.[0].length ?? 0, a = [..."AQgw"], o = a.concat([..."EUk0IYo4Mcs8"]);
9
+ if (i !== 0 && i !== 1 && i !== 2) throw SyntaxError("Invalid padding letter length");
10
+ let s = Array.from(e.matchAll(/.{1,4}/gu), (e) => e[0]).at(-1);
11
+ if (s == null) throw TypeError("unexpected");
12
+ let c = s.length;
13
+ if (c === 1) throw SyntaxError("Invalid last chunk length");
14
+ if (c !== 2 && c !== 3 && c !== 4) throw SyntaxError("unexpected");
15
+ switch (r) {
16
+ case "loose":
17
+ if (i === 0) {
18
+ for (; e.length & 3;) e += "=";
19
+ break;
20
+ }
21
+ if (c !== 4) throw SyntaxError("Invalid padding letter length");
22
+ break;
23
+ case "strict": {
24
+ if (c !== 4) throw SyntaxError("Invalid last chunk length");
25
+ if (i === 0) break;
26
+ if (i === 1) {
27
+ let e = s.at(-2);
28
+ if (!e || !o.includes(e)) throw SyntaxError("2 padding bits must be 0");
29
+ break;
30
+ }
31
+ let e = s.at(-3);
32
+ if (!e || !a.includes(e)) throw SyntaxError("4 padding bits must be 0");
33
+ break;
34
+ }
35
+ case "stop-before-partial": {
36
+ let t = -(c & 3);
37
+ e = e.slice(0, t);
38
+ break;
39
+ }
40
+ }
41
+ return n === "base64url" && (e = e.replaceAll("-", "+").replaceAll("_", "/")), Uint8Array.from(atob(e), (e) => e.charCodeAt(0));
42
+ }
12
43
  //#endregion
13
- export { t as fromBase64, r as fromBase64URL, e as toBase64, n as toBase64URL };
44
+ export { t as fromBase64, e as toBase64 };
@@ -0,0 +1,54 @@
1
+ //#region lib/basejuso_table.ts
2
+ var e;
3
+ function t() {
4
+ let e = Array.from("刓劚加勸厍厵吗囖囜圞圽壪夷奲妏孏孕孿宇寷尼屭岆巚帄幱庅廳弗彏彸忂忥戇戋戵扷攮攸斆斻旟旴曯有朧杤欟欣歡歼殲毞氎氕氳汴灪炅爩牟犫犸玃玝瓛瓨甗电疊疟癵癿皭盁盭盼矚砆礹祁禷秈穳穹竊竍竸笏籲籺糷紑纞罔羉羍羼翁耀耓耲耷聾肝臢舣艭芲虌蚇蠿衳襽覎觀觔觿記讟豗豷豺貜貤贜赴趲跁躪躬軉軓轥迂邐邛酈酐釅釺钄閆闧阥隵隻雧雮靐靮韊韍韬頇顴颪飍飦饢馷驫骪髗髣鬤魫鱻鳷鸞麁麤黓黸齔齾".matchAll(/../g)).flatMap((e) => {
5
+ let t = e[0].charCodeAt(0), n = e[0].charCodeAt(1), r = [...Array(n - t + 1)].map((e, n) => t + n);
6
+ return [...String.fromCharCode(...r)];
7
+ }), t = Object.fromEntries(e.map((e, t) => [e, t]));
8
+ return Object.setPrototypeOf(t, null), [Object.freeze(e), Object.freeze(t)];
9
+ }
10
+ function n() {
11
+ return e ??= t(), e[0];
12
+ }
13
+ function r() {
14
+ return e ??= t(), e[1];
15
+ }
16
+ //#endregion
17
+ //#region lib/basejuso.ts
18
+ var i = 14, a = 8, o = "乙";
19
+ function s(e) {
20
+ let t = 0, r = 0, s = "", c = n();
21
+ for (let n of e) for (let e = 0; e < a; e++) {
22
+ let o = n >>> a - 1 - e & 1;
23
+ if (t = t << 1 | o, r++, r === i) {
24
+ let e = c.at(t);
25
+ if (e == null) throw TypeError("unexpected");
26
+ s += e, t = 0, r = 0;
27
+ }
28
+ }
29
+ if (r > 0) {
30
+ t <<= i - r;
31
+ let e = c.at(t);
32
+ if (e == null) throw TypeError("unexpected");
33
+ s += e, r < a && (s += o);
34
+ }
35
+ return s;
36
+ }
37
+ function c(e) {
38
+ let t = r(), n = 0, s = 0, c = [];
39
+ for (let r of e) {
40
+ if (r === o) {
41
+ c.pop();
42
+ continue;
43
+ }
44
+ let e = t[r];
45
+ if (e == null) throw TypeError("unexpected");
46
+ for (let t = 0; t < i; t++) {
47
+ let r = e >>> i - 1 - t & 1;
48
+ n = n << 1 | r, s++, s === a && (c.push(n), n = 0, s = 0);
49
+ }
50
+ }
51
+ return Uint8Array.from(c);
52
+ }
53
+ //#endregion
54
+ export { s as n, c as t };
@@ -0,0 +1,2 @@
1
+ export declare function toBaseJuso(bin: Uint8Array): string;
2
+ export declare function fromBaseJuso(baseJuso: string): Uint8Array<ArrayBuffer>;
@@ -0,0 +1,2 @@
1
+ import { n as e, t } from "./basejuso-BYqhXFJC.js";
2
+ export { t as fromBaseJuso, e as toBaseJuso };
@@ -0,0 +1,2 @@
1
+ export declare function getETable(): readonly string[];
2
+ export declare function getDTable(): Readonly<Record<string, number>>;
@@ -0,0 +1,23 @@
1
+ import { AsyncWorker as e } from "./async_worker.js";
2
+ //#region lib/bpsw_worker.ts?worker&inline
3
+ var t = "(function(){function e(e,t){t<0n&&(t*=-1n);let n=e%t;return n<0n?n+t:n}function t(t,n,r){if(r<1n)throw RangeError(\"`mod` must be positive\");if(n<0n)throw RangeError(\"`power` must not be negative\");if(t=e(t,r),r===1n)return 0n;if(t%r===1n||t%r===0n)return t;if(t===r-1n)return n&1n?r-1n:1n;let i=1n;for(;n>0n;)n&1n&&(i=i*t%r),t=t*t%r,n>>=1n;return i}function n(e,t){if(t<1n||t%2n==0n)throw RangeError(\"`n` is out of range\");for(;e<0n;)e+=t;e%=t;let n=1n;for(;e!==0n;){for(;e%2n==0n;){e/=2n;let r=t%8n;(r===3n||r===5n)&&(n*=-1n)}[e,t]=[t,e],e%4n==3n&&t%4n==3n&&(n*=-1n),e%=t}return t===1n?n:0n}function r(e){if(e<0n)return!1;if(e===0n)return!0;let t=1n,n=e;for(;t+1n<n;){let r=(t+n)/2n;r*r<e?t=r:n=r}return e===t**2n||e===(t+1n)**2n}function i(e){if(e<=1n)return!1;if(e%2n==0n)return e===2n;let n=e-1n,r=0n;for(;n%2n==0n;)n>>=1n,r+=1n;let[i,a]=[n,r],o=t(2n,i,e);if(o===1n)return!0;for(let t=0n;t<a;t++){if(o===e-1n)return!0;o=o*o%e}return!1}function a(e){let t=5n;for(;;){let i=n(t,e);if(i===-1n)return t;if(i===0n||(t=t>0n?-(t+2n):-(t-2n),t===-15n&&r(e)))return null}}function o(t,n){if((n&1n)==0n)throw Error(\"`n` is not odd\");return(t&1n)==1n?e(t+n>>1n,n):e(t>>1n,n)}function s(t,n,r,i){let a=1n,s=r,c=t.toString(2).slice(1);for(let t of c)[a,s]=[e(a*s,n),o(s*s+i*a*a,n)],t===`1`&&([a,s]=[o(r*a+s,n),o(i*a+r*s,n)]);return[a,s]}function c(n,r,i,a){if(n%2n!=1n)throw RangeError(\"`n` must be odd\");let o=n+1n,c=0n;for(;o%2n==0n;)o>>=1n,c+=1n;let[l,u]=s(o,n,i,r),d=u;if(l===0n)return!0;a=t(a,o,n);for(let r=0n;r<c;r++){if(d===0n)return!0;d=e(d*d-2n*a,n),a=t(a,2n,n)}return!1}function l(e){if(e<=1n)return!1;if(e%2n==0n)return e===2n;for(let t of[2n,3n,5n,7n,11n,13n,17n,19n,23n,29n,31n,37n,41n,43n,47n,53n,59n,61n,67n,71n,73n,79n,83n,89n,97n,101n,103n,107n,109n,113n,127n,131n,137n,139n,149n,151n,157n,163n,167n,173n,179n,181n,191n,193n,197n,199n,211n,223n,227n,229n,233n,239n,241n,251n])if(e%t===0n)return e===t;if(!i(e))return!1;let t=a(e);return t==null?!1:c(e,t,1n,(1n-t)/4n)}let u=()=>typeof window>`u`&&typeof self<`u`&&`importScripts`in self;function d(e,t){if(!u())throw Error(`This function must be used in Worker`);let n={success:!0,value:e,id:t};self.postMessage(n)}function f(e,t){if(!u())throw Error(`This function must be used in Worker`);let n={success:!1,error:e,id:t};self.postMessage(n)}let p=e=>{if(e==null)return;let t=`${e}`;return t===`[object Object]`?JSON.stringify(e):t};globalThis.onmessage=e=>{let{value:t,id:n}=e.data;try{d(l(t),n)}catch(e){if(e instanceof Error){let{name:t,message:r,stack:i,cause:a}=e;f({name:t,message:r,stack:i,cause:p(a)},n)}else f({name:`BPSWError`,message:`unidentified error`,cause:p(e)},n)}}})();", n = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", t], { type: "text/javascript;charset=utf-8" });
4
+ function r(e) {
5
+ let r;
6
+ try {
7
+ if (r = n && (self.URL || self.webkitURL).createObjectURL(n), !r) throw "";
8
+ let t = new Worker(r, { name: e?.name });
9
+ return t.addEventListener("error", () => {
10
+ (self.URL || self.webkitURL).revokeObjectURL(r);
11
+ }), t;
12
+ } catch {
13
+ return new Worker("data:text/javascript;charset=utf-8," + encodeURIComponent(t), { name: e?.name });
14
+ }
15
+ }
16
+ //#endregion
17
+ //#region lib/bpsw_worker_wrap.ts
18
+ var i = null;
19
+ function a() {
20
+ return i ??= new e(new r({ name: "bpsw_worker" })), i;
21
+ }
22
+ //#endregion
23
+ export { a as getWorker };
@@ -1,2 +1,2 @@
1
1
  import { AsyncWorker } from './async_worker';
2
- export declare const getWorker: () => Promise<AsyncWorker<bigint, boolean>>;
2
+ export declare function getWorker(): AsyncWorker<bigint, boolean>;
@@ -4,27 +4,27 @@
4
4
  * @param format
5
5
  * @returns
6
6
  */
7
- export declare const compress: (raw: Uint8Array<ArrayBuffer>, format: CompressionFormat) => Promise<Uint8Array<ArrayBuffer>>;
7
+ export declare function compress(raw: Uint8Array<ArrayBuffer>, format: CompressionFormat): Promise<Uint8Array<ArrayBuffer>>;
8
8
  /**
9
9
  * Decompress binary data
10
10
  * @param compressed
11
11
  * @param format
12
12
  * @returns
13
13
  */
14
- export declare const decompress: (compressed: Uint8Array<ArrayBuffer>, format: CompressionFormat) => Promise<Uint8Array<ArrayBuffer>>;
14
+ export declare function decompress(compressed: Uint8Array<ArrayBuffer>, format: CompressionFormat): Promise<Uint8Array<ArrayBuffer>>;
15
15
  /**
16
16
  * Compress string into Base64(URL)-encoded string
17
17
  * @param str
18
- * @param format
18
+ * @param format default: `deflate-raw`
19
19
  * @param encoding default: `base64url`
20
20
  * @returns
21
21
  */
22
- export declare const compressString: (str: string, format: CompressionFormat, encoding?: "base64" | "base64url") => Promise<string>;
22
+ export declare function compressString(str: string, format?: CompressionFormat, encoding?: 'base64' | 'base64url'): Promise<string>;
23
23
  /**
24
24
  * Decompress Base64(URL)-encoded data
25
25
  * @param compressedString
26
- * @param format
26
+ * @param format default: `deflate-raw`
27
27
  * @param encoding default: `base64url`
28
28
  * @returns
29
29
  */
30
- export declare const decompressString: (compressedString: string, format: CompressionFormat, encoding?: "base64" | "base64url") => Promise<string>;
30
+ export declare function decompressString(compressedString: string, format?: CompressionFormat, encoding?: 'base64' | 'base64url'): Promise<string>;
@@ -1,19 +1,23 @@
1
- import { fromBase64 as e, fromBase64URL as t, toBase64 as n, toBase64URL as r } from "./base64.js";
1
+ import { fromBase64 as e, toBase64 as t } from "./base64.js";
2
2
  //#region lib/compression.ts
3
- var i = (e, t) => {
3
+ function n(e, t) {
4
4
  let n = new Blob([e]).stream().pipeThrough(new CompressionStream(t));
5
5
  return new Response(n).bytes();
6
- }, a = (e, t) => {
6
+ }
7
+ function r(e, t) {
7
8
  let n = new Blob([e]).stream().pipeThrough(new DecompressionStream(t));
8
9
  return new Response(n).bytes();
9
- }, o = async (e, t, i = "base64url") => {
10
- let a = new Blob([e]).stream().pipeThrough(new CompressionStream(t)), o = await new Response(a).bytes();
11
- return i === "base64" ? n(o) : r(o);
12
- }, s = (n, r, i = "base64url") => {
13
- let a;
14
- a = i === "base64" ? e(n) : t(n);
15
- let o = new Blob([a]).stream().pipeThrough(new DecompressionStream(r));
16
- return new Response(o).text();
17
- };
10
+ }
11
+ async function i(e, n = "deflate-raw", r = "base64url") {
12
+ let i = new Blob([e]).stream().pipeThrough(new CompressionStream(n));
13
+ return t(await new Response(i).bytes(), {
14
+ alphabet: r,
15
+ omitPadding: r === "base64url"
16
+ });
17
+ }
18
+ function a(t, n = "deflate-raw", r = "base64url") {
19
+ let i = e(t, { alphabet: r }), a = new Blob([i]).stream().pipeThrough(new DecompressionStream(n));
20
+ return new Response(a).text();
21
+ }
18
22
  //#endregion
19
- export { i as compress, o as compressString, a as decompress, s as decompressString };
23
+ export { n as compress, i as compressString, r as decompress, a as decompressString };