@fkn/lib 0.9.53 → 0.9.54

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 (75) hide show
  1. package/{account-generation-BgiEc3fw.js → account-generation-CTB1J33G.js} +4 -3
  2. package/account-generation-DOuApHq5.cjs +1 -0
  3. package/{account-storage-IAVrRXTF.cjs → account-storage-CL0wLuQw.cjs} +1 -1
  4. package/{account-storage-DHl6bXdb.d.ts → account-storage-Co9IvkPr.d.ts} +3 -3
  5. package/{account-storage-DptsMWKl.js → account-storage-D1RiskV6.js} +2 -2
  6. package/account.cjs +1 -1
  7. package/account.d.ts +21 -11
  8. package/account.js +2 -2
  9. package/{api-CX9w35R2.js → api-BYtMzj8u.js} +1 -1
  10. package/{api-mHRuM_Sd.d.ts → api-C-VvG5P-.d.ts} +833 -1
  11. package/{api-6wTec7WK.cjs → api-Csb5b8dE.cjs} +1 -1
  12. package/api.cjs +1 -1
  13. package/api.d.ts +2 -2
  14. package/api.js +1 -1
  15. package/cloud/dns.d.ts +1 -1
  16. package/cloud/fetch.cjs +1 -1
  17. package/cloud/fetch.d.ts +1 -1
  18. package/cloud/fetch.js +1 -1
  19. package/cloud/fs/promises.d.ts +1 -1
  20. package/cloud/fs.cjs +1 -1
  21. package/cloud/fs.d.ts +2 -2
  22. package/cloud/fs.js +1 -1
  23. package/cloud/net.d.ts +1 -1
  24. package/{cloud-CMEnCSBw.js → cloud-8sJ1Sg8n.js} +3 -3
  25. package/{cloud-kg1hOpPJ.cjs → cloud-CI6WMBPa.cjs} +1 -1
  26. package/{cloud-Dykm74YZ.d.ts → cloud-S8hQywqV.d.ts} +3 -3
  27. package/cloud.cjs +1 -1
  28. package/cloud.d.ts +4 -4
  29. package/cloud.js +2 -2
  30. package/{contract-BN0cD-Oq.d.ts → contract-CMQOic3K.d.ts} +29 -0
  31. package/contract.d.ts +1 -1
  32. package/dgram.cjs +1 -1
  33. package/dgram.d.ts +2 -2
  34. package/dgram.js +1 -1
  35. package/dns.cjs +1 -1
  36. package/dns.d.ts +1 -1
  37. package/dns.js +1 -1
  38. package/{extension-BdAR-wQ0.cjs → extension-BXI3MVXw.cjs} +1 -1
  39. package/{extension-DiyykwoW.js → extension-BmqjgSIQ.js} +3 -3
  40. package/extension.cjs +1 -1
  41. package/extension.js +2 -2
  42. package/fs/promises.cjs +1 -1
  43. package/fs/promises.d.ts +1 -1
  44. package/fs/promises.js +1 -1
  45. package/{fs-CPsnX6ti.cjs → fs-CPU00CI3.cjs} +1 -1
  46. package/{fs-BZv2djbS.d.ts → fs-DCJAYoYy.d.ts} +1 -1
  47. package/{fs-Cd1HK3C3.js → fs-ohcMNiu2.js} +2 -2
  48. package/fs.cjs +1 -1
  49. package/fs.d.ts +2 -2
  50. package/fs.js +2 -2
  51. package/http.d.ts +1 -1
  52. package/{index-DawD_N1P.d.ts → index-57lTXnoe.d.ts} +1 -1
  53. package/index.cjs +1 -1
  54. package/index.d.ts +4 -4
  55. package/index.js +5 -5
  56. package/{lib-C5N2rmbj.js → lib-BGAmzIcU.js} +1 -1
  57. package/{lib-C0xyv8BQ.cjs → lib-BiQ6cOZ7.cjs} +1 -1
  58. package/{net-Dq1KyRP0.d.ts → net-B8YQuB9E.d.ts} +2 -2
  59. package/net.cjs +1 -1
  60. package/net.d.ts +1 -1
  61. package/net.js +1 -1
  62. package/package.json +1 -1
  63. package/packages.cjs +1 -1
  64. package/packages.d.ts +15 -2
  65. package/packages.js +114 -113
  66. package/{proxy-DhalpZoN.cjs → proxy-CL8j00ao.cjs} +1 -1
  67. package/{proxy-Cer0Iarp.d.ts → proxy-ClDBa5il.d.ts} +2 -2
  68. package/{proxy-v_Z5aPh2.js → proxy-vAsYHMIa.js} +1 -1
  69. package/rooms.cjs +1 -1
  70. package/rooms.d.ts +1 -1
  71. package/rooms.js +99 -88
  72. package/storage.cjs +1 -1
  73. package/storage.d.ts +1 -1
  74. package/storage.js +3 -3
  75. package/account-generation-C5rMCyt1.cjs +0 -1
package/rooms.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { l as t, s as n, u as r } from "./api-CX9w35R2.js";
2
+ import { l as t, s as n, u as r } from "./api-BYtMzj8u.js";
3
3
  import { t as i } from "./busy-DsMWrSzc.js";
4
4
  import { ROOM_TEMPORARY_MS as a } from "./contract.js";
5
5
  //#region src/rooms.ts
6
6
  var o = /* @__PURE__ */ e({
7
- available: () => _,
8
- create: () => b,
9
- join: () => x,
10
- open: () => y
7
+ available: () => y,
8
+ create: () => S,
9
+ join: () => C,
10
+ open: () => x
11
11
  }), s = {
12
12
  wrongKey: "rooms: wrong room key",
13
13
  inviteNoKey: "rooms: the invite carries no key",
@@ -42,6 +42,7 @@ var o = /* @__PURE__ */ e({
42
42
  notTemporaryClaimer: "rooms: only the app that claimed the room can set when it expires",
43
43
  temporaryUnavailable: "rooms: temporary claims are not available",
44
44
  mailboxUnavailable: "rooms: the mailbox switch is not available",
45
+ guestUnavailable: "rooms: guest joins are not available",
45
46
  tooFast: "rooms: sending too fast",
46
47
  tooLarge: "rooms: the message is too large",
47
48
  unavailable: "rooms: rooms are unavailable",
@@ -67,74 +68,82 @@ var o = /* @__PURE__ */ e({
67
68
  throw c("unavailable", s.unavailable);
68
69
  }, m = (e) => e === "blocked" ? "blocked" : e === "not-found" ? "ended" : "unavailable", h = (e) => {
69
70
  if (e !== void 0 && e !== !1) return e === !0 ? a.default : typeof e != "number" || !Number.isInteger(e) ? null : e >= a.min && e <= a.max ? e : null;
70
- }, g = async (e) => {
71
- let t = e.invite, n = e, a = 0, o = e.self, f = e.owner, p = e.claimed, g = e.mailbox, _ = 0, v = await e.defaults().catch(() => u), y = !1, b = /* @__PURE__ */ new Set(), x = /* @__PURE__ */ new Set(), S = i("room"), C = () => {}, w = () => {}, T = new Promise((e) => {
72
- w = e;
73
- }), E = (e) => {
74
- let t = [...x];
75
- x.clear();
71
+ }, g = (e, t) => {
72
+ let n = t ? e?.guest : e;
73
+ return typeof n?.join == "function" ? n : void 0;
74
+ }, _ = (e) => {
75
+ let t = e?.guest;
76
+ if (t !== void 0 && typeof t != "boolean") throw c("invalid", s.malformed);
77
+ return t === !0;
78
+ }, v = async (e, t) => {
79
+ let n = e.invite, a = e, o = 0, f = e.self, p = e.owner, _ = e.claimed, v = e.mailbox, y = 0, b = await e.defaults().catch(() => u), x = !1, S = /* @__PURE__ */ new Set(), C = /* @__PURE__ */ new Set(), w = i("room"), T = () => {}, E = () => {}, D = new Promise((e) => {
80
+ E = e;
81
+ }), O = (e) => {
82
+ let t = [...C];
83
+ C.clear();
76
84
  for (let n of t) try {
77
85
  n(e);
78
86
  } catch {}
79
- }, D = (e) => {
80
- y || (y = !0, C(), b.clear(), S(), E(c("closed", s.ended)), w({ reason: e }));
81
- }, O = (e) => {
82
- if (y) return;
87
+ }, k = (e) => {
88
+ x || (x = !0, T(), S.clear(), w(), O(c("closed", s.ended)), E({ reason: e }));
89
+ }, A = (e) => {
90
+ if (x) return;
83
91
  let t = e;
84
- if (t.type === "defaults" && (v = t.defaults), t.type === "permissions" && t.id === o.id && (o = {
85
- id: o.id,
92
+ if (t.type === "defaults" && (b = t.defaults), t.type === "permissions" && t.id === f.id && (f = {
93
+ id: f.id,
86
94
  permissions: t.permissions,
87
95
  maxMessageBytes: t.maxMessageBytes
88
96
  }), t.type === "claim") {
89
- _ += 1;
97
+ y += 1;
90
98
  let e = t.claimed && t.mailbox !== !1;
91
99
  t = {
92
100
  type: "claim",
93
101
  claimed: t.claimed,
94
102
  owner: t.owner,
95
103
  mailbox: e
96
- }, p = t.claimed, f = t.owner, g = e ? d() : null;
104
+ }, _ = t.claimed, p = t.owner, v = e ? d() : null;
97
105
  }
98
- for (let e of [...b]) try {
106
+ for (let e of [...S]) try {
99
107
  e(t);
100
108
  } catch {}
101
- }, k = (e, t) => {
102
- Promise.resolve(e.on(O)).catch(() => {}), Promise.resolve(e.closed).then((e) => {
103
- t === a && D(e.reason);
109
+ }, j = (e, t) => {
110
+ Promise.resolve(e.on(A)).catch(() => {}), Promise.resolve(e.closed).then((e) => {
111
+ t === o && k(e.reason);
104
112
  }, () => {});
105
- }, A = async (e, r) => {
106
- if (typeof e?.join != "function") return D("unavailable");
107
- let i = await e.join(t).catch(() => void 0);
108
- if (y || r !== a) return;
109
- if (!i) return D("unavailable");
110
- if ("error" in i) return D(m(i.error));
111
- if (i.self.id !== o.id) return Promise.resolve(i.leave()).catch(() => {}), D("unavailable");
112
- n = i, o = i.self, f = i.owner, p = i.claimed, g = i.mailbox, k(i, r);
113
- let s = await i.defaults().catch(() => void 0);
114
- s && !y && r === a && (v = s);
113
+ }, M = async (e, r) => {
114
+ let i = g(e, t);
115
+ if (!i) return k("unavailable");
116
+ let s = await i.join(n).catch(() => void 0);
117
+ if (x || r !== o) return;
118
+ if (!s) return k("unavailable");
119
+ if ("error" in s) return k(m(s.error));
120
+ if (s.self.id !== f.id) return Promise.resolve(s.leave()).catch(() => {}), k("unavailable");
121
+ a = s, f = s.self, p = s.owner, _ = s.claimed, v = s.mailbox, j(s, r);
122
+ let c = await s.defaults().catch(() => void 0);
123
+ c && !x && r === o && (b = c);
115
124
  };
116
- C = r((e, t) => {
117
- let n = a;
118
- a = t, !(y || n === 0 || n === t) && (E(c("unavailable", s.unavailable)), A(e.rooms, t));
119
- }), k(e, a);
120
- let j = async (e) => {
121
- if (y) throw c("closed", s.ended);
122
- let t = () => {}, r = new Promise((e, n) => {
125
+ T = r((e, t) => {
126
+ let n = o;
127
+ o = t, !(x || n === 0 || n === t) && (O(c("unavailable", s.unavailable)), M(e.rooms, t));
128
+ }), j(e, o);
129
+ let N = async (e) => {
130
+ if (x) throw c("closed", s.ended);
131
+ let t = () => {}, n = new Promise((e, n) => {
123
132
  t = n;
124
133
  });
125
- x.add(t);
134
+ C.add(t);
126
135
  try {
127
- return await Promise.race([Promise.resolve(e(n)), r]);
136
+ return await Promise.race([Promise.resolve(e(a)), n]);
128
137
  } catch (e) {
129
138
  throw l(e) ? e : c("unavailable", s.unavailable);
130
139
  } finally {
131
- x.delete(t);
140
+ C.delete(t);
132
141
  }
133
- }, M = async (e) => {
134
- let t = await j(e);
142
+ }, P = async (e) => {
143
+ let t = await N(e);
135
144
  if ("error" in t) throw c(t.error, t.message);
136
- }, N = async (e) => {
137
- let t = await j(e);
145
+ }, F = async (e) => {
146
+ let t = await N(e);
138
147
  if (typeof t == "object" && t && "error" in t) throw c(t.error, t.message);
139
148
  return t;
140
149
  };
@@ -142,32 +151,32 @@ var o = /* @__PURE__ */ e({
142
151
  id: e.id,
143
152
  name: e.name,
144
153
  key: e.key,
145
- invite: t,
154
+ invite: n,
146
155
  get self() {
147
- return o;
156
+ return f;
148
157
  },
149
158
  get owner() {
150
- return f;
159
+ return p;
151
160
  },
152
161
  get claimed() {
153
- return p;
162
+ return _;
154
163
  },
155
164
  get mailbox() {
156
- return g;
165
+ return v;
157
166
  },
158
- defaults: () => v,
159
- members: () => j((e) => e.members()),
160
- send: (e) => M((t) => t.send(e)),
161
- edit: (e, t) => M((n) => n.edit(e, t)),
162
- delete: (e, t) => M((n) => n.delete(e, t)),
163
- backlog: (e, t) => N((n) => n.backlog(e, t)),
164
- setDefault: (e, t) => M((n) => n.setDefault(e, t)),
165
- limit: (e, t) => M((n) => n.limit(e, t)),
166
- grant: (e, t) => M((n) => n.grant(e, t)),
167
- revoke: (e, t) => M((n) => n.revoke(e, t)),
168
- remove: (e) => M((t) => t.remove(e)),
169
- block: (e) => M((t) => t.block(e)),
170
- unblock: (e) => M((t) => t.unblock(e)),
167
+ defaults: () => b,
168
+ members: () => N((e) => e.members()),
169
+ send: (e) => P((t) => t.send(e)),
170
+ edit: (e, t) => P((n) => n.edit(e, t)),
171
+ delete: (e, t) => P((n) => n.delete(e, t)),
172
+ backlog: (e, t) => F((n) => n.backlog(e, t)),
173
+ setDefault: (e, t) => P((n) => n.setDefault(e, t)),
174
+ limit: (e, t) => P((n) => n.limit(e, t)),
175
+ grant: (e, t) => P((n) => n.grant(e, t)),
176
+ revoke: (e, t) => P((n) => n.revoke(e, t)),
177
+ remove: (e) => P((t) => t.remove(e)),
178
+ block: (e) => P((t) => t.block(e)),
179
+ unblock: (e) => P((t) => t.unblock(e)),
171
180
  claim: async (e) => {
172
181
  let t = e?.description;
173
182
  if (t !== void 0 && typeof t != "string") throw c("invalid", s.badDescription);
@@ -180,7 +189,7 @@ var o = /* @__PURE__ */ e({
180
189
  ...n === void 0 ? {} : { temporary: n },
181
190
  ...r === void 0 ? {} : { mailbox: r }
182
191
  };
183
- return Object.keys(i).length === 0 ? M((e) => e.claim()) : M((e) => {
192
+ return Object.keys(i).length === 0 ? P((e) => e.claim()) : P((e) => {
184
193
  if (n !== void 0 && e.temporaryClaims !== !0) throw c("unavailable", s.temporaryUnavailable);
185
194
  if (r === !1 && e.mailboxSwitch !== !0) throw c("unavailable", s.mailboxUnavailable);
186
195
  return e.claim(i);
@@ -188,41 +197,43 @@ var o = /* @__PURE__ */ e({
188
197
  },
189
198
  setMailbox: async (e) => {
190
199
  if (typeof e != "boolean") throw c("invalid", s.malformed);
191
- let t = _;
192
- await M((t) => {
200
+ let t = y;
201
+ await P((t) => {
193
202
  if (t.mailboxSwitch !== !0) throw c("unavailable", s.mailboxUnavailable);
194
203
  return t.setMailbox(e);
195
- }), _ === t && (e ? g === null && (g = d()) : g = null);
204
+ }), y === t && (e ? v === null && (v = d()) : v = null);
196
205
  },
197
- release: () => M((e) => e.release()),
206
+ release: () => P((e) => e.release()),
198
207
  usage: async () => {
199
- let e = await N((e) => e.usage());
200
- return g = e, e;
208
+ let e = await F((e) => e.usage());
209
+ return v = e, e;
201
210
  },
202
- on: async (e) => y ? () => {} : (b.add(e), () => {
203
- b.delete(e);
211
+ on: async (e) => x ? () => {} : (S.add(e), () => {
212
+ S.delete(e);
204
213
  }),
205
214
  leave: async () => {
206
- await Promise.resolve(n.leave()).catch(() => {}), D("left");
215
+ await Promise.resolve(a.leave()).catch(() => {}), k("left");
207
216
  },
208
- closed: T
217
+ closed: D
209
218
  };
210
- }, _ = async () => {
219
+ }, y = async () => {
211
220
  let e = await f();
212
221
  return e ? e.available().catch(() => !1) : !1;
213
- }, v = async (e) => {
214
- let t = await f();
215
- if (!t) throw c("unavailable", s.unavailable);
216
- let n = await e(t).catch(p);
217
- if ("error" in n) throw c(n.error, n.message);
218
- return g(n);
219
- }, y = async (e, t) => {
222
+ }, b = async (e, t) => {
223
+ let n = await f();
224
+ if (!n) throw c("unavailable", s.unavailable);
225
+ let r = g(n, e);
226
+ if (!r) throw c("unavailable", s.guestUnavailable);
227
+ let i = await t(r).catch(p);
228
+ if ("error" in i) throw c(i.error, i.message);
229
+ return v(i, e);
230
+ }, x = async (e, t) => {
220
231
  if (typeof e != "string" || e.length === 0 || e.length > 72) throw c("invalid", s.badName);
221
- return v((n) => n.open(e, t));
222
- }, b = (e) => v((t) => t.create(e)), x = async (e, t) => {
232
+ return b(_(t), (n) => n.open(e, t));
233
+ }, S = async (e) => b(_(e), (t) => t.create(e)), C = async (e, t) => {
223
234
  let n = typeof e == "string" ? e.indexOf(".") : -1;
224
235
  if (n <= 0 || n === e.length - 1) throw c("invalid", s.inviteNoKey);
225
- return v((n) => n.join(e, t));
236
+ return b(_(t), (n) => n.join(e, t));
226
237
  };
227
238
  //#endregion
228
- export { _ as available, b as create, x as join, y as open, o as t };
239
+ export { y as available, S as create, C as join, x as open, o as t };
package/storage.cjs CHANGED
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-6wTec7WK.cjs"),n=require("./contract.cjs"),r=require("./account-generation-C5rMCyt1.cjs"),i=require("./account-storage-IAVrRXTF.cjs");var a=e.t({available:()=>v,delete:()=>C,get:()=>x,list:()=>S,put:()=>y}),o=new Map(Object.values(n.STORAGE_REFUSALS).map(({code:e,message:t})=>[t,e])),s=new Set(o.values()),c=(e,t)=>Object.assign(Error(t),{code:e}),l=e=>c(n.STORAGE_REFUSALS[e].code,n.STORAGE_REFUSALS[e].message),u=e=>e instanceof Error&&s.has(e.code),d=e=>{if(u(e))return e;let t=e instanceof Error?e.message:``,n=o.get(t);return n?c(n,t):l(`unavailable`)},f=async()=>{if(!t.l)return;let e=(await t.s(`storage`).catch(()=>void 0))?.storage;return typeof e?.put==`function`?e:void 0},p=()=>{throw l(`unavailable`)},m=e=>typeof e==`object`&&!!e&&typeof e.error==`string`&&typeof e.message==`string`,h=(e,t,n)=>{throw e.error===`aborted`?t?.reason??new DOMException(`The operation was aborted.`,`AbortError`):(e.error===`account-changed`&&n&&r.r(n.generation),s.has(e.error)?c(e.error,e.message):l(`unavailable`))},g=async e=>{try{return await i.m(e)}catch(e){throw i.l(e)?l(`accountChanged`):e instanceof Error&&/not connected|not signed in/i.test(e.message)?l(`needsAccount`):l(`unavailable`)}},_=(e,t)=>(e.catch(()=>{}),t?Promise.race([e,new Promise((e,n)=>t.addEventListener(`abort`,()=>n(t.reason),{once:!0}))]):e),v=async()=>{let e=await f();return e?Promise.resolve(e.available()).catch(()=>!1):!1},y=async(e,t={})=>{let n=i.s(),{signal:r,onProgress:a,key:o}=t;r?.throwIfAborted();let s=typeof Blob<`u`&&e instanceof Blob,c=typeof ReadableStream<`u`&&e instanceof ReadableStream;if(!s&&!c)throw l(`notAFile`);let u=s?e.size:t.size;if(typeof u!=`number`||!Number.isSafeInteger(u)||u<0||s&&t.size!==void 0&&t.size!==u)throw l(`badSize`);let d=await f();if(!d)throw l(`unavailable`);let v=await g(n);r?.throwIfAborted();let y=await _(Promise.resolve(d.put(e,{size:u,...o===void 0?{}:{key:o},accountPin:v,...r?{signal:r}:{},...typeof a==`function`?{onProgress:e=>{try{a(e)}catch{}}}:{}})).catch(p),r);return m(y)?h(y,r,n):y},b=(e,t,n)=>{let r=(t,n)=>{if(t===void 0)return n;let r=Math.trunc(Number.isFinite(t)?t:t>0?e:-e);return r<0?Math.max(e+r,0):Math.min(r,e)},i=r(t,0);return{from:i,to:Math.max(i,r(n,e))}},x=async(e,n,r={})=>{if(typeof e!=`string`)throw l(`badUrl`);if(typeof n!=`string`)throw l(`badKey`);let{signal:i}=r;i?.throwIfAborted();let a=async()=>{let r=await f();if(!r)throw l(`unavailable`);let a=t.c()?.epoch,o=await _(Promise.resolve(r.get(e,n,i?{signal:i}:void 0)).catch(p),i);return m(o)?h(o,i):{handle:o,epoch:a}},o=await a(),s=async()=>{let e=t.c()?.epoch;return o.epoch!==void 0&&e!==void 0&&e!==o.epoch&&(o=await a()),o.handle},c=(e,t)=>{let n;return new ReadableStream({pull:async r=>{try{if(!n){let r=await s(),i=await Promise.resolve(r.read(e,t)).catch(p);if(m(i))return h(i);n=i.getReader()}let{value:i,done:a}=await n.read();a?r.close():r.enqueue(i)}catch(e){throw d(e)}},cancel:e=>n?.cancel(e)},{highWaterMark:0})},u=(e,t)=>({size:t-e,stream:()=>c(e,t),arrayBuffer:async()=>{let n=new Uint8Array(t-e),r=c(e,t).getReader(),i=0;for(;;){let{value:e,done:t}=await r.read();if(t)break;n.set(e,i),i+=e.length}return n.buffer},slice:(n,r)=>{let i=b(t-e,n,r);return u(e+i.from,e+i.to)}});return u(0,o.handle.size)},S=async(e={})=>{let t=i.s(),n=await f();if(!n)throw l(`unavailable`);let r=await g(t),{limit:a,cursor:o}=e,s=await Promise.resolve(n.list({accountPin:r,...a===void 0?{}:{limit:a},...o===void 0?{}:{cursor:o}})).catch(p);return m(s)?h(s,void 0,t):s},C=async e=>{let t=i.s();if(typeof e!=`string`)throw l(`badUrl`);let n=await f();if(!n)throw l(`unavailable`);let r=await g(t),a=await Promise.resolve(n.delete(e,{accountPin:r})).catch(p);m(a)&&h(a,void 0,t)};exports.available=v,exports.delete=C,exports.get=x,exports.list=S,exports.put=y,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./rolldown-runtime-BIInC43l.cjs"),t=require("./api-Csb5b8dE.cjs"),n=require("./contract.cjs"),r=require("./account-generation-DOuApHq5.cjs"),i=require("./account-storage-CL0wLuQw.cjs");var a=e.t({available:()=>v,delete:()=>C,get:()=>x,list:()=>S,put:()=>y}),o=new Map(Object.values(n.STORAGE_REFUSALS).map(({code:e,message:t})=>[t,e])),s=new Set(o.values()),c=(e,t)=>Object.assign(Error(t),{code:e}),l=e=>c(n.STORAGE_REFUSALS[e].code,n.STORAGE_REFUSALS[e].message),u=e=>e instanceof Error&&s.has(e.code),d=e=>{if(u(e))return e;let t=e instanceof Error?e.message:``,n=o.get(t);return n?c(n,t):l(`unavailable`)},f=async()=>{if(!t.l)return;let e=(await t.s(`storage`).catch(()=>void 0))?.storage;return typeof e?.put==`function`?e:void 0},p=()=>{throw l(`unavailable`)},m=e=>typeof e==`object`&&!!e&&typeof e.error==`string`&&typeof e.message==`string`,h=(e,t,n)=>{throw e.error===`aborted`?t?.reason??new DOMException(`The operation was aborted.`,`AbortError`):(e.error===`account-changed`&&n&&r.r(n.generation),s.has(e.error)?c(e.error,e.message):l(`unavailable`))},g=async e=>{try{return await i.m(e)}catch(e){throw i.l(e)?l(`accountChanged`):e instanceof Error&&/not connected|not signed in/i.test(e.message)?l(`needsAccount`):l(`unavailable`)}},_=(e,t)=>(e.catch(()=>{}),t?Promise.race([e,new Promise((e,n)=>t.addEventListener(`abort`,()=>n(t.reason),{once:!0}))]):e),v=async()=>{let e=await f();return e?Promise.resolve(e.available()).catch(()=>!1):!1},y=async(e,t={})=>{let n=i.s(),{signal:r,onProgress:a,key:o}=t;r?.throwIfAborted();let s=typeof Blob<`u`&&e instanceof Blob,c=typeof ReadableStream<`u`&&e instanceof ReadableStream;if(!s&&!c)throw l(`notAFile`);let u=s?e.size:t.size;if(typeof u!=`number`||!Number.isSafeInteger(u)||u<0||s&&t.size!==void 0&&t.size!==u)throw l(`badSize`);let d=await f();if(!d)throw l(`unavailable`);let v=await g(n);r?.throwIfAborted();let y=await _(Promise.resolve(d.put(e,{size:u,...o===void 0?{}:{key:o},accountPin:v,...r?{signal:r}:{},...typeof a==`function`?{onProgress:e=>{try{a(e)}catch{}}}:{}})).catch(p),r);return m(y)?h(y,r,n):y},b=(e,t,n)=>{let r=(t,n)=>{if(t===void 0)return n;let r=Math.trunc(Number.isFinite(t)?t:t>0?e:-e);return r<0?Math.max(e+r,0):Math.min(r,e)},i=r(t,0);return{from:i,to:Math.max(i,r(n,e))}},x=async(e,n,r={})=>{if(typeof e!=`string`)throw l(`badUrl`);if(typeof n!=`string`)throw l(`badKey`);let{signal:i}=r;i?.throwIfAborted();let a=async()=>{let r=await f();if(!r)throw l(`unavailable`);let a=t.c()?.epoch,o=await _(Promise.resolve(r.get(e,n,i?{signal:i}:void 0)).catch(p),i);return m(o)?h(o,i):{handle:o,epoch:a}},o=await a(),s=async()=>{let e=t.c()?.epoch;return o.epoch!==void 0&&e!==void 0&&e!==o.epoch&&(o=await a()),o.handle},c=(e,t)=>{let n;return new ReadableStream({pull:async r=>{try{if(!n){let r=await s(),i=await Promise.resolve(r.read(e,t)).catch(p);if(m(i))return h(i);n=i.getReader()}let{value:i,done:a}=await n.read();a?r.close():r.enqueue(i)}catch(e){throw d(e)}},cancel:e=>n?.cancel(e)},{highWaterMark:0})},u=(e,t)=>({size:t-e,stream:()=>c(e,t),arrayBuffer:async()=>{let n=new Uint8Array(t-e),r=c(e,t).getReader(),i=0;for(;;){let{value:e,done:t}=await r.read();if(t)break;n.set(e,i),i+=e.length}return n.buffer},slice:(n,r)=>{let i=b(t-e,n,r);return u(e+i.from,e+i.to)}});return u(0,o.handle.size)},S=async(e={})=>{let t=i.s(),n=await f();if(!n)throw l(`unavailable`);let r=await g(t),{limit:a,cursor:o}=e,s=await Promise.resolve(n.list({accountPin:r,...a===void 0?{}:{limit:a},...o===void 0?{}:{cursor:o}})).catch(p);return m(s)?h(s,void 0,t):s},C=async e=>{let t=i.s();if(typeof e!=`string`)throw l(`badUrl`);let n=await f();if(!n)throw l(`unavailable`);let r=await g(t),a=await Promise.resolve(n.delete(e,{accountPin:r})).catch(p);m(a)&&h(a,void 0,t)};exports.available=v,exports.delete=C,exports.get=x,exports.list=S,exports.put=y,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
package/storage.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Ct as StorageProgress, Ot as StoredObject, kt as StoredPage, wt as StoragePutOptions, xt as StorageErrorCode } from "./contract-BN0cD-Oq.js";
1
+ import { Ct as StorageProgress, Ot as StoredObject, kt as StoredPage, wt as StoragePutOptions, xt as StorageErrorCode } from "./contract-CMQOic3K.js";
2
2
  declare namespace storage_d_exports {
3
3
  export { StorageError, StorageErrorCode, StorageProgress, StoragePutOptions, StoredBlob, StoredObject, StoredPage, available, remove as delete, get, list, put };
4
4
  }
package/storage.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { t as e } from "./rolldown-runtime-Dy4uBu1J.js";
2
- import { c as t, l as n, s as r } from "./api-CX9w35R2.js";
2
+ import { c as t, l as n, s as r } from "./api-BYtMzj8u.js";
3
3
  import { STORAGE_REFUSALS as i } from "./contract.js";
4
- import { r as a } from "./account-generation-BgiEc3fw.js";
5
- import { l as o, m as s, s as c } from "./account-storage-DptsMWKl.js";
4
+ import { r as a } from "./account-generation-CTB1J33G.js";
5
+ import { l as o, m as s, s as c } from "./account-storage-D1RiskV6.js";
6
6
  //#region src/storage.ts
7
7
  var l = /* @__PURE__ */ e({
8
8
  available: () => S,
@@ -1 +0,0 @@
1
- const e=require("./api-6wTec7WK.cjs");var t=0,n=new Set,r=2e3,i=null,a=e=>{e?.switched!==!1&&(t+=1,i&&=(clearTimeout(i.timer),null));for(let e of[...n])try{e()}catch{}},o=!1,s=0,c=()=>{let t=e.c();t&&s!==t.epoch&&(s=t.epoch,Promise.resolve(t.remote.account.onChange(a)).catch(()=>{s===t.epoch&&(s=0)}))},l=()=>{!o&&e.l&&(o=!0,e.u(c))},u=()=>t,d=e=>(n.add(e),l(),()=>{n.delete(e)}),f=e=>{if(e!==t||i?.generation===e)return;let n=setTimeout(()=>{i?.timer===n&&(i=null,t===e&&a({switched:!0}))},r);i={generation:e,timer:n}};Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}});