@coinbase/cdp-core 0.0.9 → 0.0.11

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 (95) hide show
  1. package/dist/esm/index100.js +7 -14
  2. package/dist/esm/index101.js +16 -80
  3. package/dist/esm/index102.js +72 -70
  4. package/dist/esm/index103.js +81 -0
  5. package/dist/esm/index13.js +18 -172
  6. package/dist/esm/index14.js +170 -39
  7. package/dist/esm/index15.js +40 -16
  8. package/dist/esm/index16.js +16 -4
  9. package/dist/esm/index17.js +5 -5
  10. package/dist/esm/index18.js +5 -160
  11. package/dist/esm/index19.js +157 -45
  12. package/dist/esm/index2.js +72 -68
  13. package/dist/esm/index20.js +44 -142
  14. package/dist/esm/index21.js +144 -54
  15. package/dist/esm/index22.js +56 -9
  16. package/dist/esm/index23.js +8 -17
  17. package/dist/esm/index24.js +16 -44
  18. package/dist/esm/index25.js +45 -13
  19. package/dist/esm/index26.js +13 -55
  20. package/dist/esm/index27.js +55 -6
  21. package/dist/esm/index28.js +6 -21
  22. package/dist/esm/index29.js +21 -11
  23. package/dist/esm/index3.js +4 -4
  24. package/dist/esm/index30.js +11 -3
  25. package/dist/esm/index31.js +3 -3
  26. package/dist/esm/index32.js +3 -34
  27. package/dist/esm/index33.js +32 -10
  28. package/dist/esm/index34.js +12 -4
  29. package/dist/esm/index35.js +4 -28
  30. package/dist/esm/index36.js +28 -6
  31. package/dist/esm/index37.js +6 -24
  32. package/dist/esm/index38.js +24 -16
  33. package/dist/esm/index39.js +16 -54
  34. package/dist/esm/index40.js +53 -22
  35. package/dist/esm/index41.js +23 -11
  36. package/dist/esm/index42.js +10 -26
  37. package/dist/esm/index43.js +26 -41
  38. package/dist/esm/index44.js +41 -54
  39. package/dist/esm/index45.js +54 -126
  40. package/dist/esm/index46.js +126 -11
  41. package/dist/esm/index47.js +9 -101
  42. package/dist/esm/index48.js +104 -6
  43. package/dist/esm/index49.js +7 -3
  44. package/dist/esm/index5.js +4 -4
  45. package/dist/esm/index50.js +3 -15
  46. package/dist/esm/index51.js +14 -42
  47. package/dist/esm/index52.js +38 -74
  48. package/dist/esm/index53.js +79 -2
  49. package/dist/esm/index54.js +2 -2
  50. package/dist/esm/index55.js +2 -13
  51. package/dist/esm/index56.js +8 -33
  52. package/dist/esm/index57.js +36 -5
  53. package/dist/esm/index58.js +5 -33
  54. package/dist/esm/index59.js +34 -8
  55. package/dist/esm/index60.js +8 -10
  56. package/dist/esm/index61.js +10 -11
  57. package/dist/esm/index62.js +11 -13
  58. package/dist/esm/index63.js +13 -18
  59. package/dist/esm/index64.js +18 -5
  60. package/dist/esm/index65.js +6 -5
  61. package/dist/esm/index66.js +5 -11
  62. package/dist/esm/index67.js +11 -2
  63. package/dist/esm/index68.js +13 -17
  64. package/dist/esm/index69.js +21 -15
  65. package/dist/esm/index70.js +49 -21
  66. package/dist/esm/index71.js +2 -51
  67. package/dist/esm/index72.js +18 -17
  68. package/dist/esm/index73.js +20 -80
  69. package/dist/esm/index74.js +79 -103
  70. package/dist/esm/index75.js +101 -30
  71. package/dist/esm/index76.js +32 -6
  72. package/dist/esm/index77.js +6 -54
  73. package/dist/esm/index78.js +54 -10
  74. package/dist/esm/index79.js +11 -2
  75. package/dist/esm/index80.js +2 -45
  76. package/dist/esm/index81.js +44 -13
  77. package/dist/esm/index82.js +13 -9
  78. package/dist/esm/index83.js +10 -79
  79. package/dist/esm/index84.js +79 -5
  80. package/dist/esm/index85.js +5 -21
  81. package/dist/esm/index86.js +21 -10
  82. package/dist/esm/index87.js +9 -19
  83. package/dist/esm/index88.js +15 -89
  84. package/dist/esm/index89.js +92 -19
  85. package/dist/esm/index90.js +18 -115
  86. package/dist/esm/index91.js +116 -11
  87. package/dist/esm/index92.js +12 -35
  88. package/dist/esm/index93.js +35 -41
  89. package/dist/esm/index94.js +40 -16
  90. package/dist/esm/index95.js +18 -28
  91. package/dist/esm/index96.js +26 -6
  92. package/dist/esm/index97.js +6 -9
  93. package/dist/esm/index98.js +11 -13
  94. package/dist/esm/index99.js +11 -8
  95. package/package.json +3 -3
@@ -1,43 +1,174 @@
1
- import { CompactSign as i } from "./index69.js";
2
- import { JWTInvalid as r } from "./index70.js";
3
- import { JWTClaimsBuilder as n } from "./index71.js";
4
- class d {
5
- #s;
6
- #t;
7
- constructor(t = {}) {
8
- this.#t = new n(t);
9
- }
10
- setIssuer(t) {
11
- return this.#t.iss = t, this;
12
- }
13
- setSubject(t) {
14
- return this.#t.sub = t, this;
15
- }
16
- setAudience(t) {
17
- return this.#t.aud = t, this;
18
- }
19
- setJti(t) {
20
- return this.#t.jti = t, this;
21
- }
22
- setNotBefore(t) {
23
- return this.#t.nbf = t, this;
24
- }
25
- setExpirationTime(t) {
26
- return this.#t.exp = t, this;
27
- }
28
- setIssuedAt(t) {
29
- return this.#t.iat = t, this;
30
- }
31
- setProtectedHeader(t) {
32
- return this.#s = t, this;
33
- }
34
- async sign(t, e) {
35
- const s = new i(this.#t.data());
36
- if (s.setProtectedHeader(this.#s), Array.isArray(this.#s?.crit) && this.#s.crit.includes("b64") && this.#s.b64 === !1)
37
- throw new r("JWTs MUST NOT use unencoded payload");
38
- return s.sign(t, e);
1
+ import { InvalidLegacyVError as H } from "./index52.js";
2
+ import { serializeAuthorizationList as g } from "./index24.js";
3
+ import { blobsToCommitments as B } from "./index60.js";
4
+ import { blobsToProofs as V } from "./index61.js";
5
+ import { commitmentsToVersionedHashes as C } from "./index62.js";
6
+ import { toBlobSidecars as k } from "./index63.js";
7
+ import { concatHex as h } from "./index31.js";
8
+ import { trim as T } from "./index37.js";
9
+ import { numberToHex as o, bytesToHex as w } from "./index25.js";
10
+ import { toRlp as b } from "./index44.js";
11
+ import { assertTransactionEIP1559 as S, assertTransactionEIP2930 as _, assertTransactionEIP4844 as R, assertTransactionEIP7702 as Y, assertTransactionLegacy as j } from "./index53.js";
12
+ import { getTransactionType as q } from "./index51.js";
13
+ import { serializeAccessList as v } from "./index64.js";
14
+ function te(e, r) {
15
+ const i = q(e);
16
+ return i === "eip1559" ? K(e, r) : i === "eip2930" ? M(e, r) : i === "eip4844" ? J(e, r) : i === "eip7702" ? D(e, r) : N(e, r);
17
+ }
18
+ function D(e, r) {
19
+ const { authorizationList: i, chainId: s, gas: n, nonce: c, to: f, value: a, maxFeePerGas: x, maxPriorityFeePerGas: t, accessList: p, data: l } = e;
20
+ Y(e);
21
+ const d = v(p), m = g(i);
22
+ return h([
23
+ "0x04",
24
+ b([
25
+ o(s),
26
+ c ? o(c) : "0x",
27
+ t ? o(t) : "0x",
28
+ x ? o(x) : "0x",
29
+ n ? o(n) : "0x",
30
+ f ?? "0x",
31
+ a ? o(a) : "0x",
32
+ l ?? "0x",
33
+ d,
34
+ m,
35
+ ...I(e, r)
36
+ ])
37
+ ]);
38
+ }
39
+ function J(e, r) {
40
+ const { chainId: i, gas: s, nonce: n, to: c, value: f, maxFeePerBlobGas: a, maxFeePerGas: x, maxPriorityFeePerGas: t, accessList: p, data: l } = e;
41
+ R(e);
42
+ let d = e.blobVersionedHashes, m = e.sidecars;
43
+ if (e.blobs && (typeof d > "u" || typeof m > "u")) {
44
+ const u = typeof e.blobs[0] == "string" ? e.blobs : e.blobs.map((P) => w(P)), z = e.kzg, y = B({
45
+ blobs: u,
46
+ kzg: z
47
+ });
48
+ if (typeof d > "u" && (d = C({
49
+ commitments: y
50
+ })), typeof m > "u") {
51
+ const P = V({ blobs: u, commitments: y, kzg: z });
52
+ m = k({ blobs: u, commitments: y, proofs: P });
53
+ }
39
54
  }
55
+ const L = v(p), E = [
56
+ o(i),
57
+ n ? o(n) : "0x",
58
+ t ? o(t) : "0x",
59
+ x ? o(x) : "0x",
60
+ s ? o(s) : "0x",
61
+ c ?? "0x",
62
+ f ? o(f) : "0x",
63
+ l ?? "0x",
64
+ L,
65
+ a ? o(a) : "0x",
66
+ d ?? [],
67
+ ...I(e, r)
68
+ ], A = [], F = [], G = [];
69
+ if (m)
70
+ for (let u = 0; u < m.length; u++) {
71
+ const { blob: z, commitment: y, proof: P } = m[u];
72
+ A.push(z), F.push(y), G.push(P);
73
+ }
74
+ return h([
75
+ "0x03",
76
+ m ? (
77
+ // If sidecars are enabled, envelope turns into a "wrapper":
78
+ b([E, A, F, G])
79
+ ) : (
80
+ // If sidecars are disabled, standard envelope is used:
81
+ b(E)
82
+ )
83
+ ]);
84
+ }
85
+ function K(e, r) {
86
+ const { chainId: i, gas: s, nonce: n, to: c, value: f, maxFeePerGas: a, maxPriorityFeePerGas: x, accessList: t, data: p } = e;
87
+ S(e);
88
+ const l = v(t), d = [
89
+ o(i),
90
+ n ? o(n) : "0x",
91
+ x ? o(x) : "0x",
92
+ a ? o(a) : "0x",
93
+ s ? o(s) : "0x",
94
+ c ?? "0x",
95
+ f ? o(f) : "0x",
96
+ p ?? "0x",
97
+ l,
98
+ ...I(e, r)
99
+ ];
100
+ return h([
101
+ "0x02",
102
+ b(d)
103
+ ]);
104
+ }
105
+ function M(e, r) {
106
+ const { chainId: i, gas: s, data: n, nonce: c, to: f, value: a, accessList: x, gasPrice: t } = e;
107
+ _(e);
108
+ const p = v(x), l = [
109
+ o(i),
110
+ c ? o(c) : "0x",
111
+ t ? o(t) : "0x",
112
+ s ? o(s) : "0x",
113
+ f ?? "0x",
114
+ a ? o(a) : "0x",
115
+ n ?? "0x",
116
+ p,
117
+ ...I(e, r)
118
+ ];
119
+ return h([
120
+ "0x01",
121
+ b(l)
122
+ ]);
123
+ }
124
+ function N(e, r) {
125
+ const { chainId: i = 0, gas: s, data: n, nonce: c, to: f, value: a, gasPrice: x } = e;
126
+ j(e);
127
+ let t = [
128
+ c ? o(c) : "0x",
129
+ x ? o(x) : "0x",
130
+ s ? o(s) : "0x",
131
+ f ?? "0x",
132
+ a ? o(a) : "0x",
133
+ n ?? "0x"
134
+ ];
135
+ if (r) {
136
+ const p = (() => {
137
+ if (r.v >= 35n)
138
+ return (r.v - 35n) / 2n > 0 ? r.v : 27n + (r.v === 35n ? 0n : 1n);
139
+ if (i > 0)
140
+ return BigInt(i * 2) + BigInt(35n + r.v - 27n);
141
+ const m = 27n + (r.v === 27n ? 0n : 1n);
142
+ if (r.v !== m)
143
+ throw new H({ v: r.v });
144
+ return m;
145
+ })(), l = T(r.r), d = T(r.s);
146
+ t = [
147
+ ...t,
148
+ o(p),
149
+ l === "0x00" ? "0x" : l,
150
+ d === "0x00" ? "0x" : d
151
+ ];
152
+ } else i > 0 && (t = [
153
+ ...t,
154
+ o(i),
155
+ "0x",
156
+ "0x"
157
+ ]);
158
+ return b(t);
159
+ }
160
+ function I(e, r) {
161
+ const i = r ?? e, { v: s, yParity: n } = i;
162
+ if (typeof i.r > "u")
163
+ return [];
164
+ if (typeof i.s > "u")
165
+ return [];
166
+ if (typeof s > "u" && typeof n > "u")
167
+ return [];
168
+ const c = T(i.r), f = T(i.s);
169
+ return [typeof n == "number" ? n ? o(1) : "0x" : s === 0n ? "0x" : s === 1n ? o(1) : s === 27n ? "0x" : o(1), c === "0x00" ? "0x" : c, f === "0x00" ? "0x" : f];
40
170
  }
41
171
  export {
42
- d as SignJWT
172
+ te as serializeTransaction,
173
+ I as toYParitySignatureArray
43
174
  };
@@ -1,19 +1,43 @@
1
- async function n() {
2
- const e = await window.crypto.subtle.generateKey(
3
- {
4
- name: "ECDSA",
5
- namedCurve: "P-256"
6
- // secp256r1
7
- },
8
- !1,
9
- // Do not allow key export.
10
- ["sign", "verify"]
11
- // Key usages
12
- ), r = await window.crypto.subtle.exportKey("spki", e.publicKey), t = new Uint8Array(r), a = btoa(
13
- Array.from(t).map((i) => String.fromCharCode(i)).join("")
14
- );
15
- return { privateKey: e.privateKey, publicKeyBase64: a };
1
+ import { CompactSign as i } from "./index68.js";
2
+ import { JWTInvalid as r } from "./index69.js";
3
+ import { JWTClaimsBuilder as n } from "./index70.js";
4
+ class d {
5
+ #s;
6
+ #t;
7
+ constructor(t = {}) {
8
+ this.#t = new n(t);
9
+ }
10
+ setIssuer(t) {
11
+ return this.#t.iss = t, this;
12
+ }
13
+ setSubject(t) {
14
+ return this.#t.sub = t, this;
15
+ }
16
+ setAudience(t) {
17
+ return this.#t.aud = t, this;
18
+ }
19
+ setJti(t) {
20
+ return this.#t.jti = t, this;
21
+ }
22
+ setNotBefore(t) {
23
+ return this.#t.nbf = t, this;
24
+ }
25
+ setExpirationTime(t) {
26
+ return this.#t.exp = t, this;
27
+ }
28
+ setIssuedAt(t) {
29
+ return this.#t.iat = t, this;
30
+ }
31
+ setProtectedHeader(t) {
32
+ return this.#s = t, this;
33
+ }
34
+ async sign(t, e) {
35
+ const s = new i(this.#t.data());
36
+ if (s.setProtectedHeader(this.#s), Array.isArray(this.#s?.crit) && this.#s.crit.includes("b64") && this.#s.b64 === !1)
37
+ throw new r("JWTs MUST NOT use unencoded payload");
38
+ return s.sign(t, e);
39
+ }
16
40
  }
17
41
  export {
18
- n as createKeyPair
42
+ d as SignJWT
19
43
  };
@@ -1,7 +1,19 @@
1
- async function t() {
2
- const r = new Uint8Array(16);
3
- return window.crypto.getRandomValues(r), Array.from(r, (n) => n.toString(16).padStart(2, "0")).join("");
1
+ async function n() {
2
+ const e = await window.crypto.subtle.generateKey(
3
+ {
4
+ name: "ECDSA",
5
+ namedCurve: "P-256"
6
+ // secp256r1
7
+ },
8
+ !1,
9
+ // Do not allow key export.
10
+ ["sign", "verify"]
11
+ // Key usages
12
+ ), r = await window.crypto.subtle.exportKey("spki", e.publicKey), t = new Uint8Array(r), a = btoa(
13
+ Array.from(t).map((i) => String.fromCharCode(i)).join("")
14
+ );
15
+ return { privateKey: e.privateKey, publicKeyBase64: a };
4
16
  }
5
17
  export {
6
- t as generateRandomId
18
+ n as createKeyPair
7
19
  };
@@ -1,7 +1,7 @@
1
- const h = async (t) => {
2
- const a = await window.crypto.subtle.digest("SHA-256", t), r = new Uint8Array(a);
3
- return Array.from(r).map((s) => s.toString(16).padStart(2, "0")).join("");
4
- };
1
+ async function t() {
2
+ const r = new Uint8Array(16);
3
+ return window.crypto.getRandomValues(r), Array.from(r, (n) => n.toString(16).padStart(2, "0")).join("");
4
+ }
5
5
  export {
6
- h as hash
6
+ t as generateRandomId
7
7
  };
@@ -1,162 +1,7 @@
1
- const H = (m) => (h, n, r) => {
2
- const s = r.subscribe;
3
- return r.subscribe = (c, i, a) => {
4
- let l = c;
5
- if (i) {
6
- const g = a?.equalityFn || Object.is;
7
- let v = c(r.getState());
8
- l = (f) => {
9
- const u = c(f);
10
- if (!g(v, u)) {
11
- const y = v;
12
- i(v = u, y);
13
- }
14
- }, a?.fireImmediately && i(v, v);
15
- }
16
- return s(l);
17
- }, m(h, n, r);
18
- }, R = H;
19
- function F(m, h) {
20
- let n;
21
- try {
22
- n = m();
23
- } catch {
24
- return;
25
- }
26
- return {
27
- getItem: (s) => {
28
- var e;
29
- const c = (a) => a === null ? null : JSON.parse(a, void 0), i = (e = n.getItem(s)) != null ? e : null;
30
- return i instanceof Promise ? i.then(c) : c(i);
31
- },
32
- setItem: (s, e) => n.setItem(s, JSON.stringify(e, void 0)),
33
- removeItem: (s) => n.removeItem(s)
34
- };
35
- }
36
- const p = (m) => (h) => {
37
- try {
38
- const n = m(h);
39
- return n instanceof Promise ? n : {
40
- then(r) {
41
- return p(r)(n);
42
- },
43
- catch(r) {
44
- return this;
45
- }
46
- };
47
- } catch (n) {
48
- return {
49
- then(r) {
50
- return this;
51
- },
52
- catch(r) {
53
- return p(r)(n);
54
- }
55
- };
56
- }
57
- }, O = (m, h) => (n, r, s) => {
58
- let e = {
59
- storage: F(() => localStorage),
60
- partialize: (t) => t,
61
- version: 0,
62
- merge: (t, S) => ({
63
- ...S,
64
- ...t
65
- }),
66
- ...h
67
- }, c = !1;
68
- const i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
69
- let l = e.storage;
70
- if (!l)
71
- return m(
72
- (...t) => {
73
- console.warn(
74
- `[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`
75
- ), n(...t);
76
- },
77
- r,
78
- s
79
- );
80
- const g = () => {
81
- const t = e.partialize({ ...r() });
82
- return l.setItem(e.name, {
83
- state: t,
84
- version: e.version
85
- });
86
- }, v = s.setState;
87
- s.setState = (t, S) => {
88
- v(t, S), g();
89
- };
90
- const f = m(
91
- (...t) => {
92
- n(...t), g();
93
- },
94
- r,
95
- s
96
- );
97
- s.getInitialState = () => f;
98
- let u;
99
- const y = () => {
100
- var t, S;
101
- if (!l) return;
102
- c = !1, i.forEach((o) => {
103
- var d;
104
- return o((d = r()) != null ? d : f);
105
- });
106
- const b = ((S = e.onRehydrateStorage) == null ? void 0 : S.call(e, (t = r()) != null ? t : f)) || void 0;
107
- return p(l.getItem.bind(l))(e.name).then((o) => {
108
- if (o)
109
- if (typeof o.version == "number" && o.version !== e.version) {
110
- if (e.migrate) {
111
- const d = e.migrate(
112
- o.state,
113
- o.version
114
- );
115
- return d instanceof Promise ? d.then((I) => [!0, I]) : [!0, d];
116
- }
117
- console.error(
118
- "State loaded from storage couldn't be migrated since no migrate function was provided"
119
- );
120
- } else
121
- return [!1, o.state];
122
- return [!1, void 0];
123
- }).then((o) => {
124
- var d;
125
- const [I, _] = o;
126
- if (u = e.merge(
127
- _,
128
- (d = r()) != null ? d : f
129
- ), n(u, !0), I)
130
- return g();
131
- }).then(() => {
132
- b?.(u, void 0), u = r(), c = !0, a.forEach((o) => o(u));
133
- }).catch((o) => {
134
- b?.(void 0, o);
135
- });
136
- };
137
- return s.persist = {
138
- setOptions: (t) => {
139
- e = {
140
- ...e,
141
- ...t
142
- }, t.storage && (l = t.storage);
143
- },
144
- clearStorage: () => {
145
- l?.removeItem(e.name);
146
- },
147
- getOptions: () => e,
148
- rehydrate: () => y(),
149
- hasHydrated: () => c,
150
- onHydrate: (t) => (i.add(t), () => {
151
- i.delete(t);
152
- }),
153
- onFinishHydration: (t) => (a.add(t), () => {
154
- a.delete(t);
155
- })
156
- }, e.skipHydration || y(), u || f;
157
- }, w = O;
1
+ const h = async (t) => {
2
+ const a = await window.crypto.subtle.digest("SHA-256", t), r = new Uint8Array(a);
3
+ return Array.from(r).map((s) => s.toString(16).padStart(2, "0")).join("");
4
+ };
158
5
  export {
159
- F as createJSONStorage,
160
- w as persist,
161
- R as subscribeWithSelector
6
+ h as hash
162
7
  };
@@ -1,50 +1,162 @@
1
- class n {
2
- events = {};
3
- /**
4
- * Add an event listener.
5
- *
6
- * @param event - The name of the event to listen for.
7
- * @param listener - The function to call when the event is emitted.
8
- */
9
- on(e, s) {
10
- this.events[e] || (this.events[e] = []), this.events[e].push(s);
1
+ const H = (m) => (h, n, r) => {
2
+ const s = r.subscribe;
3
+ return r.subscribe = (c, i, a) => {
4
+ let l = c;
5
+ if (i) {
6
+ const g = a?.equalityFn || Object.is;
7
+ let v = c(r.getState());
8
+ l = (f) => {
9
+ const u = c(f);
10
+ if (!g(v, u)) {
11
+ const y = v;
12
+ i(v = u, y);
13
+ }
14
+ }, a?.fireImmediately && i(v, v);
15
+ }
16
+ return s(l);
17
+ }, m(h, n, r);
18
+ }, R = H;
19
+ function F(m, h) {
20
+ let n;
21
+ try {
22
+ n = m();
23
+ } catch {
24
+ return;
11
25
  }
12
- /**
13
- * Remove an event listener.
14
- *
15
- * @param event - The name of the event to remove the listener from.
16
- * @param listener - The function to remove from the event listeners.
17
- */
18
- removeListener(e, s) {
19
- if (!this.events[e])
20
- return;
21
- const t = this.events[e].indexOf(s);
22
- t > -1 && this.events[e].splice(t, 1);
23
- }
24
- /**
25
- * Emit an event.
26
- *
27
- * @param event - The name of the event to emit.
28
- * @param args - The arguments to pass to the event listeners.
29
- */
30
- emit(e, ...s) {
31
- this.events[e] && this.events[e].forEach((t) => {
32
- try {
33
- t(...s);
34
- } catch (i) {
35
- console.error(`Error in event listener for ${e}:`, i);
26
+ return {
27
+ getItem: (s) => {
28
+ var e;
29
+ const c = (a) => a === null ? null : JSON.parse(a, void 0), i = (e = n.getItem(s)) != null ? e : null;
30
+ return i instanceof Promise ? i.then(c) : c(i);
31
+ },
32
+ setItem: (s, e) => n.setItem(s, JSON.stringify(e, void 0)),
33
+ removeItem: (s) => n.removeItem(s)
34
+ };
35
+ }
36
+ const p = (m) => (h) => {
37
+ try {
38
+ const n = m(h);
39
+ return n instanceof Promise ? n : {
40
+ then(r) {
41
+ return p(r)(n);
42
+ },
43
+ catch(r) {
44
+ return this;
36
45
  }
37
- });
38
- }
39
- /**
40
- * Remove all listeners for an event.
41
- *
42
- * @param event - The name of the event to remove all listeners from. If not provided, removes all listeners for all events.
43
- */
44
- removeAllListeners(e) {
45
- e ? delete this.events[e] : this.events = {};
46
+ };
47
+ } catch (n) {
48
+ return {
49
+ then(r) {
50
+ return this;
51
+ },
52
+ catch(r) {
53
+ return p(r)(n);
54
+ }
55
+ };
46
56
  }
47
- }
57
+ }, O = (m, h) => (n, r, s) => {
58
+ let e = {
59
+ storage: F(() => localStorage),
60
+ partialize: (t) => t,
61
+ version: 0,
62
+ merge: (t, S) => ({
63
+ ...S,
64
+ ...t
65
+ }),
66
+ ...h
67
+ }, c = !1;
68
+ const i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set();
69
+ let l = e.storage;
70
+ if (!l)
71
+ return m(
72
+ (...t) => {
73
+ console.warn(
74
+ `[zustand persist middleware] Unable to update item '${e.name}', the given storage is currently unavailable.`
75
+ ), n(...t);
76
+ },
77
+ r,
78
+ s
79
+ );
80
+ const g = () => {
81
+ const t = e.partialize({ ...r() });
82
+ return l.setItem(e.name, {
83
+ state: t,
84
+ version: e.version
85
+ });
86
+ }, v = s.setState;
87
+ s.setState = (t, S) => {
88
+ v(t, S), g();
89
+ };
90
+ const f = m(
91
+ (...t) => {
92
+ n(...t), g();
93
+ },
94
+ r,
95
+ s
96
+ );
97
+ s.getInitialState = () => f;
98
+ let u;
99
+ const y = () => {
100
+ var t, S;
101
+ if (!l) return;
102
+ c = !1, i.forEach((o) => {
103
+ var d;
104
+ return o((d = r()) != null ? d : f);
105
+ });
106
+ const b = ((S = e.onRehydrateStorage) == null ? void 0 : S.call(e, (t = r()) != null ? t : f)) || void 0;
107
+ return p(l.getItem.bind(l))(e.name).then((o) => {
108
+ if (o)
109
+ if (typeof o.version == "number" && o.version !== e.version) {
110
+ if (e.migrate) {
111
+ const d = e.migrate(
112
+ o.state,
113
+ o.version
114
+ );
115
+ return d instanceof Promise ? d.then((I) => [!0, I]) : [!0, d];
116
+ }
117
+ console.error(
118
+ "State loaded from storage couldn't be migrated since no migrate function was provided"
119
+ );
120
+ } else
121
+ return [!1, o.state];
122
+ return [!1, void 0];
123
+ }).then((o) => {
124
+ var d;
125
+ const [I, _] = o;
126
+ if (u = e.merge(
127
+ _,
128
+ (d = r()) != null ? d : f
129
+ ), n(u, !0), I)
130
+ return g();
131
+ }).then(() => {
132
+ b?.(u, void 0), u = r(), c = !0, a.forEach((o) => o(u));
133
+ }).catch((o) => {
134
+ b?.(void 0, o);
135
+ });
136
+ };
137
+ return s.persist = {
138
+ setOptions: (t) => {
139
+ e = {
140
+ ...e,
141
+ ...t
142
+ }, t.storage && (l = t.storage);
143
+ },
144
+ clearStorage: () => {
145
+ l?.removeItem(e.name);
146
+ },
147
+ getOptions: () => e,
148
+ rehydrate: () => y(),
149
+ hasHydrated: () => c,
150
+ onHydrate: (t) => (i.add(t), () => {
151
+ i.delete(t);
152
+ }),
153
+ onFinishHydration: (t) => (a.add(t), () => {
154
+ a.delete(t);
155
+ })
156
+ }, e.skipHydration || y(), u || f;
157
+ }, w = O;
48
158
  export {
49
- n as EventEmitter
159
+ F as createJSONStorage,
160
+ w as persist,
161
+ R as subscribeWithSelector
50
162
  };