@peerbit/react 1.1.30 → 1.1.31

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.
@@ -12,6 +12,8 @@ export declare class FastMutex {
12
12
  timeout?: number | undefined;
13
13
  localStorage?: any;
14
14
  });
15
+ private clearKeepAlive;
16
+ private getStoredItem;
15
17
  lock(key: string, keepLocked?: () => boolean, options?: {
16
18
  replaceIfSameClient?: boolean;
17
19
  }): Promise<{
@@ -21,7 +23,10 @@ export declare class FastMutex {
21
23
  }>;
22
24
  isLocked(key: string): boolean;
23
25
  getLockedInfo(key: string): string | undefined;
26
+ getLockedOwners(key: string): string[];
24
27
  release(key: string): void;
28
+ releaseIfOwnedBy(key: string, predicate: (owner: string) => boolean): void;
29
+ pin(key: string): void;
25
30
  /**
26
31
  * Helper function to wrap all values in an object that includes the time (so
27
32
  * that we can expire it in the future) and json.stringify's it
@@ -32,4 +37,12 @@ export declare class FastMutex {
32
37
  */
33
38
  getItem(key: string): string | undefined;
34
39
  }
40
+ export type WebLockLease = {
41
+ release: () => void;
42
+ detachAbort: () => void;
43
+ };
44
+ export declare const acquireWebLock: (manager: LockManager, name: string, options?: {
45
+ ifAvailable?: boolean;
46
+ signal?: AbortSignal;
47
+ }) => Promise<WebLockLease | undefined>;
35
48
  //# sourceMappingURL=lockstorage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lockstorage.d.ts","sourceRoot":"","sources":["../../src/lockstorage.ts"],"names":[],"mappings":"AAqBA,qBAAa,SAAS;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAEhB,EACX,QAAiB,EACjB,OAA0B,EAC1B,OAA0B,EAC1B,OAAc,EACd,YAA+B,GAC/B;;;;;;KAAK;IAUN,IAAI,CACH,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,OAAO,EAC1B,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GACzC,OAAO,CAAC;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IA4JF,QAAQ,CAAC,GAAG,EAAE,MAAM;IAMpB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAM9C,OAAO,CAAC,GAAG,EAAE,MAAM;IAcnB;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,OAAO;IAiD3D;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAmBxC"}
1
+ {"version":3,"file":"lockstorage.d.ts","sourceRoot":"","sources":["../../src/lockstorage.ts"],"names":[],"mappings":"AAqBA,qBAAa,SAAS;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAEhB,EACX,QAAiB,EACjB,OAA0B,EAC1B,OAA0B,EAC1B,OAAc,EACd,YAA+B,GAC/B;;;;;;KAAK;IAUN,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,aAAa;IAqBrB,IAAI,CACH,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,MAAM,OAAO,EAC1B,OAAO,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,GACzC,OAAO,CAAC;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;IA6JF,QAAQ,CAAC,GAAG,EAAE,MAAM;IAMpB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAM9C,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAQtC,OAAO,CAAC,GAAG,EAAE,MAAM;IAInB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO;IAgBnE,GAAG,CAAC,GAAG,EAAE,MAAM;IAaf;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,OAAO;IA+C3D;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAGxC;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,cAAc,GAC1B,SAAS,WAAW,EACpB,MAAM,MAAM,EACZ,UAAS;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAA;CAAO,KAC3D,OAAO,CAAC,YAAY,GAAG,SAAS,CAwElC,CAAC"}
@@ -32,6 +32,25 @@ export class FastMutex {
32
32
  this.intervals = new Map();
33
33
  this.localStorage = localStorage || window.localStorage;
34
34
  }
35
+ clearKeepAlive(key) {
36
+ clearInterval(this.intervals.get(key));
37
+ this.intervals.delete(key);
38
+ }
39
+ getStoredItem(key) {
40
+ const item = this.localStorage.getItem(key);
41
+ if (!item)
42
+ return;
43
+ const parsed = JSON.parse(item);
44
+ // Preserve the legacy grace period so a current bundle does not steal an
45
+ // identity from an older tab whose keep-alive timer was briefly throttled.
46
+ if (Date.now() - parsed.expiresAt >= this.timeout) {
47
+ debug('FastMutex client "%s" removed an expired record on "%s"', this.clientId, key);
48
+ this.localStorage.removeItem(key);
49
+ this.clearKeepAlive(key);
50
+ return;
51
+ }
52
+ return parsed;
53
+ }
35
54
  lock(key, keepLocked, options) {
36
55
  debug('Attempting to acquire Lock on "%s" using FastMutex instance "%s"', key, this.clientId);
37
56
  const x = this.xPrefix + key;
@@ -61,6 +80,7 @@ export class FastMutex {
61
80
  return;
62
81
  settled = true;
63
82
  clearPendingRetries();
83
+ this.release(key);
64
84
  reject(error);
65
85
  };
66
86
  const scheduleRetry = (fn, ms) => {
@@ -157,13 +177,34 @@ export class FastMutex {
157
177
  const y = this.yPrefix + key;
158
178
  return this.getItem(x) || this.getItem(y);
159
179
  }
180
+ getLockedOwners(key) {
181
+ const owners = [
182
+ this.getItem(this.xPrefix + key),
183
+ this.getItem(this.yPrefix + key),
184
+ ].filter((owner) => !!owner);
185
+ return [...new Set(owners)];
186
+ }
160
187
  release(key) {
188
+ this.releaseIfOwnedBy(key, (owner) => owner === this.clientId);
189
+ }
190
+ releaseIfOwnedBy(key, predicate) {
161
191
  debug('FastMutex client "%s" is releasing lock on "%s"', this.clientId, key);
162
- let ps = [this.yPrefix + key, this.xPrefix + key];
192
+ const ps = [this.yPrefix + key, this.xPrefix + key];
163
193
  for (const p of ps) {
164
- clearInterval(this.intervals.get(p));
165
- this.intervals.delete(p);
166
- this.localStorage.removeItem(p);
194
+ this.clearKeepAlive(p);
195
+ const stored = this.getStoredItem(p);
196
+ if (stored && predicate(stored.value)) {
197
+ this.localStorage.removeItem(p);
198
+ }
199
+ }
200
+ }
201
+ pin(key) {
202
+ for (const p of [this.xPrefix + key, this.yPrefix + key]) {
203
+ this.clearKeepAlive(p);
204
+ this.localStorage.setItem(p, JSON.stringify({
205
+ expiresAt: Number.MAX_SAFE_INTEGER,
206
+ value: this.clientId,
207
+ }));
167
208
  }
168
209
  }
169
210
  /**
@@ -172,11 +213,7 @@ export class FastMutex {
172
213
  */
173
214
  setItem(key, value, keepLocked) {
174
215
  // Avoid leaking keep-alive intervals when re-setting the same key (e.g. re-lock with replaceIfSameClient).
175
- const existing = this.intervals.get(key);
176
- if (existing) {
177
- clearInterval(existing);
178
- this.intervals.delete(key);
179
- }
216
+ this.clearKeepAlive(key);
180
217
  if (!keepLocked) {
181
218
  return this.localStorage.setItem(key, JSON.stringify({
182
219
  expiresAt: new Date().getTime() + this.timeout,
@@ -190,13 +227,13 @@ export class FastMutex {
190
227
  value,
191
228
  }));
192
229
  const interval = setInterval(() => {
230
+ if (this.getStoredItem(key)?.value !== value) {
231
+ this.clearKeepAlive(key);
232
+ return;
233
+ }
193
234
  if (!keepLocked()) {
194
- this.localStorage.setItem(
195
- // TODO, release directly?
196
- key, JSON.stringify({
197
- expiresAt: 0,
198
- value,
199
- }));
235
+ this.localStorage.removeItem(key);
236
+ this.clearKeepAlive(key);
200
237
  }
201
238
  else {
202
239
  this.localStorage.setItem(key, JSON.stringify({
@@ -205,6 +242,10 @@ export class FastMutex {
205
242
  }));
206
243
  }
207
244
  }, this.timeout);
245
+ // A browser timer has no `unref`, while Node returns a Timeout object.
246
+ // Keeping the lease alive must not keep an otherwise finished Node
247
+ // process (or a Vitest coverage worker) alive indefinitely.
248
+ interval.unref?.();
208
249
  this.intervals.set(key, interval);
209
250
  return ret;
210
251
  }
@@ -213,18 +254,75 @@ export class FastMutex {
213
254
  * Helper function to parse JSON encoded values set in localStorage
214
255
  */
215
256
  getItem(key) {
216
- const item = this.localStorage.getItem(key);
217
- if (!item)
218
- return;
219
- const parsed = JSON.parse(item);
220
- if (new Date().getTime() - parsed.expiresAt >= this.timeout) {
221
- debug('FastMutex client "%s" removed an expired record on "%s"', this.clientId, key);
222
- this.localStorage.removeItem(key);
223
- clearInterval(this.intervals.get(key));
224
- this.intervals.delete(key);
225
- return;
226
- }
227
- return JSON.parse(item).value;
257
+ return this.getStoredItem(key)?.value;
228
258
  }
229
259
  }
260
+ const getAbortReason = (signal) => signal.reason ?? new DOMException("Aborted", "AbortError");
261
+ export const acquireWebLock = (manager, name, options = {}) => {
262
+ return new Promise((resolve, reject) => {
263
+ let settled = false;
264
+ let held = false;
265
+ let released = false;
266
+ let releaseHold;
267
+ const hold = new Promise((resolveHold) => {
268
+ releaseHold = resolveHold;
269
+ });
270
+ const signal = options.signal;
271
+ const detachAbort = () => {
272
+ signal?.removeEventListener("abort", onAbort);
273
+ };
274
+ const release = () => {
275
+ if (released)
276
+ return;
277
+ released = true;
278
+ detachAbort();
279
+ releaseHold?.();
280
+ };
281
+ const rejectOnce = (error) => {
282
+ if (settled)
283
+ return;
284
+ settled = true;
285
+ detachAbort();
286
+ reject(error);
287
+ };
288
+ const onAbort = () => {
289
+ if (held) {
290
+ release();
291
+ }
292
+ rejectOnce(getAbortReason(signal));
293
+ };
294
+ if (signal?.aborted) {
295
+ rejectOnce(getAbortReason(signal));
296
+ return;
297
+ }
298
+ signal?.addEventListener("abort", onAbort, { once: true });
299
+ void manager
300
+ .request(name, options.ifAvailable
301
+ ? { mode: "exclusive", ifAvailable: true }
302
+ : signal
303
+ ? { mode: "exclusive", signal }
304
+ : { mode: "exclusive" }, async (lock) => {
305
+ if (!lock) {
306
+ if (!settled) {
307
+ settled = true;
308
+ detachAbort();
309
+ resolve(undefined);
310
+ }
311
+ return;
312
+ }
313
+ held = true;
314
+ if (signal?.aborted) {
315
+ release();
316
+ rejectOnce(getAbortReason(signal));
317
+ return;
318
+ }
319
+ if (!settled) {
320
+ settled = true;
321
+ resolve({ release, detachAbort });
322
+ }
323
+ await hold;
324
+ })
325
+ .catch((error) => rejectOnce(error));
326
+ });
327
+ };
230
328
  //# sourceMappingURL=lockstorage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lockstorage.js","sourceRoot":"","sources":["../../src/lockstorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lockstorage.js","sourceRoot":"","sources":["../../src/lockstorage.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"usePeer.d.ts","sourceRoot":"","sources":["../../src/usePeer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EACX,eAAe,EACf,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AA0CjC,qBAAa,eAAgB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI3B;AAED,MAAM,MAAM,gBAAgB,GACzB,cAAc,GACd,WAAW,GACX,YAAY,GACZ,QAAQ,CAAC;AAEZ,MAAM,MAAM,WAAW,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;IAClC,aAAa,EAAE,MAAM,SAAS,EAAE,CAAC;IACjC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACtE,MAAM,EAAE,CACP,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,SAAS,KAChD,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,SAAS,CAAC,EAAE,CACX,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,KAC9B,OAAO,CACT,IAAI,GACJ;QACA,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,QAAQ,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KAChD,CACH,CAAC;IACF,IAAI,EAAE,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,EAC5B,cAAc,EAAE,CAAC,GAAG,OAAO,GAAG,MAAM,EACpC,OAAO,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAC7B,OAAO,CAAC,CAAC,CAAC,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,WAAW,CAAC;AAE/C,MAAM,MAAM,sBAAsB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,aAAa,CAAC;IAC5C,gBAAgB,CAAC,EAAE,OAAO,GAAG,WAAW,CAAC;IACzC,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACzC,OAAO,EAAE,WAAW,CAAC;IACrB,SAAS,EACN;QAAE,IAAI,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,2BAA2B,CAAA;KAAE,GAChE;QACA,IAAI,EAAE,eAAe,CAAC;QACtB,MAAM,EACH,YAAY,GACZ,CAAC,MAAM,YAAY,CAAC,GACpB;YACA,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;SAC5B,CAAC;KACJ,GACD;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;KAAE,GAClD;QACA,IAAI,EAAE,QAAQ,CAAC;QACf,OAAO,EAAE,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;KACvC,CAAC;IACL,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;QAAC,IAAI,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACvE,SAAS,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAC3B,sBAAsB,GACtB,2BAA2B,CAAC;AAE/B,MAAM,MAAM,0BAA0B,GACnC,kBAAkB,GAClB,CAAC,CAAC,GAAG,EAAE,eAAe,KAAK,kBAAkB,CAAC,CAAC;AAElD,MAAM,MAAM,YAAY,GAAG;IAC1B,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;IAC9B,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,mBAAmB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC7E,SAAS,CAAC,EAAE;QACX,MAAM,EAAE,eAAe,CAAC;KACxB,CAAC;CACF,CAAC;AAMF,eAAO,MAAM,WAAW,6BAA+C,CAAC;AACxE,eAAO,MAAM,OAAO,oBAAsC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GACtB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,CAAC,EAAE,UAAU,CAAC;IAAC,SAAS,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAA;CAAE,CAAC;AAW5D,MAAM,MAAM,iBAAiB,GAAG;IAC/B,MAAM,EAAE,0BAA0B,CAAC;IACnC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC;CACtB,CAAC;AAOF,eAAO,MAAM,YAAY,GAAI,sBAAsB,iBAAiB,4CAkanE,CAAC"}
1
+ {"version":3,"file":"usePeer.d.ts","sourceRoot":"","sources":["../../src/usePeer.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { waitFor } from "@peerbit/time";
5
5
  import * as React from "react";
6
6
  import { v4 as uuid } from "uuid";
7
7
  import { FastMutex } from "./lockstorage.js";
8
- import { cookiesWhereClearedJustNow, getClientId, getFreeKeypair, inIframe, } from "./utils.js";
8
+ import { cookiesWhereClearedJustNow, createWebLockClientId, getClientId, getFreeKeypair, getFreeKeypairWithWebLock, inIframe, } from "./utils.js";
9
9
  const log = createLogger("peerbit:react:usePeer");
10
10
  const singletonLog = log.newScope("singleton");
11
11
  const keypairLog = log.newScope("keypair");
@@ -88,8 +88,16 @@ export const PeerProvider = ({ config, children }) => {
88
88
  React.useEffect(() => {
89
89
  let unmounted = false;
90
90
  let unloadUnsubscribe;
91
+ let identityUnloadUnsubscribe;
91
92
  let stopKeepAlive;
92
93
  let closePeer;
94
+ let releaseIdentityLock;
95
+ const startupAbortController = new AbortController();
96
+ const releaseIdentity = () => {
97
+ const release = releaseIdentityLock;
98
+ releaseIdentityLock = undefined;
99
+ release?.();
100
+ };
93
101
  const selected = resolveConfig(config);
94
102
  setRuntime(selected.runtime);
95
103
  setConnectionState("connecting");
@@ -162,22 +170,33 @@ export const PeerProvider = ({ config, children }) => {
162
170
  let persistedResolved = false;
163
171
  const keepAliveRef = { current: true };
164
172
  const releaseFirstLock = cookiesWhereClearedJustNow();
173
+ const webLockManager = typeof navigator.locks?.request === "function"
174
+ ? navigator.locks
175
+ : undefined;
165
176
  const sessionId = getClientId("session");
166
- const mutex = new FastMutex({ clientId: sessionId, timeout: 1e3 });
177
+ const mutex = new FastMutex({
178
+ clientId: webLockManager
179
+ ? createWebLockClientId()
180
+ : sessionId,
181
+ timeout: 1e3,
182
+ });
167
183
  if (nodeOptions.singleton) {
184
+ const singletonMutex = webLockManager
185
+ ? new FastMutex({ clientId: sessionId, timeout: 1e3 })
186
+ : mutex;
168
187
  singletonLog("acquiring lock");
169
188
  const localId = getClientId("local");
170
189
  try {
171
190
  const lockKey = localId + "-singleton";
172
191
  const unsubscribeUnload = subscribeToUnload(() => {
173
192
  keepAliveRef.current = false;
174
- mutex.release(lockKey);
193
+ singletonMutex.release(lockKey);
175
194
  });
176
195
  const onVisibility = () => {
177
196
  if (document.visibilityState === "hidden") {
178
197
  keepAliveRef.current = false;
179
198
  try {
180
- mutex.release(lockKey);
199
+ singletonMutex.release(lockKey);
181
200
  }
182
201
  catch { }
183
202
  }
@@ -185,9 +204,9 @@ export const PeerProvider = ({ config, children }) => {
185
204
  document.addEventListener("visibilitychange", onVisibility);
186
205
  if (isInStandaloneMode()) {
187
206
  keepAliveRef.current = false;
188
- mutex.release(lockKey);
207
+ singletonMutex.release(lockKey);
189
208
  }
190
- await mutex.lock(lockKey, () => keepAliveRef.current, {
209
+ await singletonMutex.lock(lockKey, () => keepAliveRef.current, {
191
210
  replaceIfSameClient: true,
192
211
  });
193
212
  singletonLog("lock acquired");
@@ -204,14 +223,32 @@ export const PeerProvider = ({ config, children }) => {
204
223
  }
205
224
  else {
206
225
  keypairLog("acquiring lock");
207
- const kp = await getFreeKeypair("", mutex, () => keepAliveRef.current, {
208
- releaseFirstLock,
209
- releaseLockIfSameId: true,
210
- });
226
+ const kp = webLockManager
227
+ ? await getFreeKeypairWithWebLock("", mutex, webLockManager, () => keepAliveRef.current, startupAbortController.signal)
228
+ : await getFreeKeypair("", mutex, () => keepAliveRef.current, {
229
+ releaseFirstLock,
230
+ releaseLockIfSameId: true,
231
+ });
211
232
  keypairLog("lock acquired", { index: kp.index });
212
- subscribeToUnload(() => {
233
+ const webLockRelease = kp.release;
234
+ releaseIdentityLock = webLockRelease
235
+ ? webLockRelease
236
+ : () => mutex.release(kp.path);
237
+ if (unmounted) {
238
+ releaseIdentity();
239
+ return;
240
+ }
241
+ identityUnloadUnsubscribe = subscribeToUnload(() => {
213
242
  keepAliveRef.current = false;
214
- mutex.release(kp.path);
243
+ if (!webLockManager) {
244
+ releaseIdentity();
245
+ }
246
+ if (closePeer) {
247
+ closePeer();
248
+ }
249
+ else {
250
+ startupAbortController.abort(new DOMException("Page unloaded", "AbortError"));
251
+ }
215
252
  });
216
253
  nodeId = kp.key;
217
254
  setTabIndex(kp.index);
@@ -220,15 +257,33 @@ export const PeerProvider = ({ config, children }) => {
220
257
  const privateKey = keys.privateKeyFromRaw(nodeId.privateKeyPublicKey);
221
258
  let directory;
222
259
  if (!nodeOptions.inMemory && !(await detectIncognito()).isPrivate) {
223
- storageLog("requesting persist");
224
- const persistedValue = await navigator.storage.persist();
260
+ const storage = navigator.storage;
261
+ let persistedValue = false;
262
+ if (typeof storage?.persist === "function") {
263
+ storageLog("requesting persist");
264
+ try {
265
+ persistedValue = await storage.persist();
266
+ }
267
+ catch (error) {
268
+ console.warn("Failed to request protection from browser storage eviction.", error);
269
+ }
270
+ }
225
271
  setPersisted(persistedValue);
226
272
  persistedResolved = persistedValue;
227
- if (!persistedValue) {
228
- console.error("Request persistence but permission was not granted by browser.");
273
+ if (typeof storage?.getDirectory === "function") {
274
+ try {
275
+ await storage.getDirectory();
276
+ directory = `./repo/${peerId.toString()}/`;
277
+ if (!persistedValue) {
278
+ console.warn("Browser storage is not protected from eviction; continuing with OPFS-backed storage.");
279
+ }
280
+ }
281
+ catch (error) {
282
+ console.error("Origin-private file system storage could not be opened; falling back to in-memory storage.", error);
283
+ }
229
284
  }
230
285
  else {
231
- directory = `./repo/${peerId.toString()}/`;
286
+ console.error("Origin-private file system storage is unavailable; falling back to in-memory storage.");
232
287
  }
233
288
  }
234
289
  clientLog("create", { directory });
@@ -263,9 +318,18 @@ export const PeerProvider = ({ config, children }) => {
263
318
  indexer: nodeOptions.indexer,
264
319
  });
265
320
  newPeer = created;
321
+ let stopping;
266
322
  closePeer = () => {
267
- keepAliveRef.current = false;
268
- void created?.stop?.().catch(() => { });
323
+ stopping ??= Promise.resolve()
324
+ .then(() => created?.stop?.())
325
+ .then(() => {
326
+ keepAliveRef.current = false;
327
+ releaseIdentity();
328
+ })
329
+ .catch((error) => {
330
+ stopping = undefined;
331
+ clientLog("stop failed; retaining identity lock", error);
332
+ });
269
333
  };
270
334
  window.__peerInfo = {
271
335
  peerHash: created?.identity?.publicKey?.hashcode?.(),
@@ -374,10 +438,7 @@ export const PeerProvider = ({ config, children }) => {
374
438
  });
375
439
  }
376
440
  if (unmounted) {
377
- try {
378
- await created?.stop?.();
379
- }
380
- catch { }
441
+ closePeer();
381
442
  return;
382
443
  }
383
444
  setPeer(newPeer);
@@ -388,6 +449,15 @@ export const PeerProvider = ({ config, children }) => {
388
449
  await fn();
389
450
  }
390
451
  catch (error) {
452
+ if (closePeer) {
453
+ closePeer();
454
+ }
455
+ else {
456
+ releaseIdentity();
457
+ }
458
+ if (unmounted) {
459
+ return;
460
+ }
391
461
  setError(error);
392
462
  setConnectionState("failed");
393
463
  setLoading(false);
@@ -397,7 +467,9 @@ export const PeerProvider = ({ config, children }) => {
397
467
  setPromise(p);
398
468
  return () => {
399
469
  unmounted = true;
470
+ startupAbortController.abort(new DOMException("PeerProvider unmounted", "AbortError"));
400
471
  unloadUnsubscribe?.();
472
+ identityUnloadUnsubscribe?.();
401
473
  closePeer?.();
402
474
  };
403
475
  }, [config]);
@@ -1 +1 @@
1
- {"version":3,"file":"usePeer.js","sourceRoot":"","sources":["../../src/usePeer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePeer.js","sourceRoot":"","sources":["../../src/usePeer.tsx"],"names":[],"mappings":";AAWA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EACN,0BAA0B,EAC1B,qBAAqB,EACrB,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,QAAQ,GACR,MAAM,YAAY,CAAC;AAEpB,MAAM,GAAG,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAClD,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC3C,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACzC,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AAE/C,MAAM,sBAAsB,GAAG,CAC9B,IAAiB,EACjB,gBAA6B,EACnB,EAAE;IACZ,IAAI,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,WAAW,GAAI,IAAY,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC;IACpE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;QACxD,IAAI,UAAU,IAAI,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACpD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAC/B,MAAM,CAAC,UAAU,CAAC,4BAA4B,CAAC,CAAC,OAAO;IACvD,CAAE,MAAM,CAAC,SAAgD,CAAC,YAAY,CAAC;QACtE,KAAK,CAAC;IACP,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;AAE9C,MAAM,OAAO,eAAgB,SAAQ,KAAK;IACzC,YAAY,OAAe;QAC1B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IACjC,CAAC;CACD;AAgGD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAClB,MAAM,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa,CAAe,EAAS,CAAC,CAAC;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAa3D,MAAM,iBAAiB,GAAG,CAAC,EAAa,EAAE,EAAE;IAC3C,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAC5C,OAAO,GAAG,EAAE;QACX,MAAM,CAAC,mBAAmB,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC3C,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;AACH,CAAC,CAAC;AAOF,MAAM,aAAa,GAAG,CACrB,KAAiC,EACZ,EAAE,CACvB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAEvE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAqB,EAAE,EAAE;IACvE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAc,MAAM,CAAC,CAAC;IAClE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAA0B,SAAS,CAAC,CAAC;IAC3E,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAE1D,SAAS,CAAC,CAAC;IACb,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC3C,SAAS,CACT,CAAC;IACF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAC/C,SAAS,CACT,CAAC;IACF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAC1C,KAAK,CAAC,QAAQ,CAAmB,cAAc,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAqB,SAAS,CAAC,CAAC;IAC9E,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAoB,SAAS,CAAC,CAAC;IACvE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,CAE1C,SAAS,CAAC,CAAC;IAEb,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAe,GAAG,EAAE;QAC7C,OAAO;YACN,OAAO;YACP,IAAI;YACJ,OAAO;YACP,OAAO;YACP,MAAM,EAAE,eAAe;YACvB,SAAS;YACT,QAAQ;YACR,KAAK;YACL,OAAO;YACP,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS;SACpE,CAAC;IACH,CAAC,EAAE;QACF,eAAe;QACf,eAAe;QACf,KAAK;QACL,OAAO;QACP,IAAI;QACJ,SAAS;QACT,OAAO;QACP,OAAO;QACP,QAAQ;QACR,OAAO;KACP,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,iBAA2C,CAAC;QAChD,IAAI,yBAAmD,CAAC;QACxD,IAAI,aAAuC,CAAC;QAC5C,IAAI,SAAmC,CAAC;QACxC,IAAI,mBAA6C,CAAC;QAClD,MAAM,sBAAsB,GAAG,IAAI,eAAe,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,GAAG,EAAE;YAC5B,MAAM,OAAO,GAAG,mBAAmB,CAAC;YACpC,mBAAmB,GAAG,SAAS,CAAC;YAChC,OAAO,EAAE,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,kBAAkB,CAAC,YAAY,CAAC,CAAC;QACjC,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,UAAU,CAAC,SAAS,CAAC,CAAC;QAEtB,MAAM,EAAE,GAAG,KAAK,IAAI,EAAE;YACrB,IAAI,QAAQ,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;gBACtC,MAAM,EACL,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,sBAAsB,GACtB,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBAE9C,IAAI,SAA0B,CAAC;gBAC/B,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;oBAClD,SAAS,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACpE,CAAC;qBAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACjD,SAAS,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;oBACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC;oBAC7C,MAAM,MAAM,GACX,OAAO,UAAU,KAAK,UAAU;wBAC/B,CAAC,CAAC,UAAU,EAAE;wBACd,CAAC,CAAC,UAAU,YAAY,YAAY;4BACnC,CAAC,CAAC,UAAU;4BACZ,CAAC,CAAC,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE;gCACjC,IAAI,EAAE,UAAU,CAAC,IAAI;gCACrB,IAAI,EAAE,UAAU,CAAC,IAAI;6BACrB,CAAC,CAAC;oBACP,SAAS,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACP,SAAS,GAAG,MAAM,QAAQ,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAChD,CAAC;gBAED,kBAAkB,CAAC,SAAS,CAAC,CAAC;gBAC9B,aAAa;oBACZ,QAAQ,CAAC,SAAS,KAAK,KAAK;wBAC3B,CAAC,CAAC,SAAS;wBACX,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAEjD,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAC/C,SAAS,EACT,QAAQ,CAAC,IAAI,CACb,CAAC;gBACF,SAAS,GAAG,GAAG,EAAE;oBAChB,aAAa,EAAE,EAAE,CAAC;oBAClB,IAAI,CAAC;wBACJ,IAAI,CAAC,KAAK,EAAE,CAAC;oBACd,CAAC;oBAAC,MAAM,CAAC,CAAA,CAAC;gBACX,CAAC,CAAC;gBACF,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;gBAC3D,IAAI,SAAS,EAAE,CAAC;oBACf,SAAS,EAAE,CAAC;oBACZ,OAAO;gBACR,CAAC;gBACD,OAAO,CAAC,IAA8B,CAAC,CAAC;gBACxC,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBAChC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAClB,OAAO;YACR,CAAC;YAED,MAAM,WAAW,GAAG,QAAkC,CAAC;YAEvD,MAAM,CACL,EAAE,eAAe,EAAE,EACnB,YAAY,EACZ,EAAE,OAAO,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAC1D,EAAE,KAAK,EAAE,EACT,EAAE,KAAK,EAAE,EACT,EAAE,UAAU,EAAE,EACd,EAAE,qBAAqB,EAAE,EACzB,EAAE,MAAM,EAAE,EACV,EAAE,IAAI,EAAE,EACR,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACrB,MAAM,CAAC,mBAAmB,CAAC;gBAC3B,MAAM,CAAC,oBAAoB,CAAC;gBAC5B,MAAM,CAAC,SAAS,CAAC;gBACjB,MAAM,CAAC,yBAAyB,CAAC;gBACjC,MAAM,CAAC,yBAAyB,CAAC;gBACjC,MAAM,CAAC,oBAAoB,CAAC;gBAC5B,MAAM,CAAC,0BAA0B,CAAC;gBAClC,MAAM,CAAC,gBAAgB,CAAC;gBACxB,MAAM,CAAC,gBAAgB,CAAC;aACxB,CAAC,CAAC;YAEH,MAAM,MAAM,GAAI,YAAoB,CAAC,OAAO,IAAI,YAAY,CAAC;YAC7D,MAAM,MAAM,CAAC,KAAK,CAAC;YAEnB,IAAI,OAAoB,CAAC;YACzB,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,IAAI,EAA0B,CAAC;YAE/D,MAAM,gBAAgB,GAAG,0BAA0B,EAAE,CAAC;YACtD,MAAM,cAAc,GACnB,OAAO,SAAS,CAAC,KAAK,EAAE,OAAO,KAAK,UAAU;gBAC7C,CAAC,CAAC,SAAS,CAAC,KAAK;gBACjB,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,SAAS,CAAC;gBAC3B,QAAQ,EAAE,cAAc;oBACvB,CAAC,CAAC,qBAAqB,EAAE;oBACzB,CAAC,CAAC,SAAS;gBACZ,OAAO,EAAE,GAAG;aACZ,CAAC,CAAC;YAEH,IAAI,WAAW,CAAC,SAAS,EAAE,CAAC;gBAC3B,MAAM,cAAc,GAAG,cAAc;oBACpC,CAAC,CAAC,IAAI,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;oBACtD,CAAC,CAAC,KAAK,CAAC;gBACT,YAAY,CAAC,gBAAgB,CAAC,CAAC;gBAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACJ,MAAM,OAAO,GAAG,OAAO,GAAG,YAAY,CAAC;oBACvC,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,GAAG,EAAE;wBAChD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;wBAC7B,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC,CAAC,CAAC;oBACH,MAAM,YAAY,GAAG,GAAG,EAAE;wBACzB,IAAI,QAAQ,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;4BAC3C,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;4BAC7B,IAAI,CAAC;gCACJ,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;4BACjC,CAAC;4BAAC,MAAM,CAAC,CAAA,CAAC;wBACX,CAAC;oBACF,CAAC,CAAC;oBACF,QAAQ,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC;oBAC5D,IAAI,kBAAkB,EAAE,EAAE,CAAC;wBAC1B,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;wBAC7B,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE;wBAC9D,mBAAmB,EAAE,IAAI;qBACzB,CAAC,CAAC;oBACH,YAAY,CAAC,eAAe,CAAC,CAAC;oBAC9B,KAAK,iBAAiB,CAAC;gBACxB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;oBACxD,MAAM,IAAI,eAAe,CAAC,8BAA8B,CAAC,CAAC;gBAC3D,CAAC;YACF,CAAC;YAED,IAAI,MAAsB,CAAC;YAC3B,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACP,UAAU,CAAC,gBAAgB,CAAC,CAAC;gBAC7B,MAAM,EAAE,GAAG,cAAc;oBACxB,CAAC,CAAC,MAAM,yBAAyB,CAC/B,EAAE,EACF,KAAK,EACL,cAAc,EACd,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAC1B,sBAAsB,CAAC,MAAM,CAC7B;oBACF,CAAC,CAAC,MAAM,cAAc,CACpB,EAAE,EACF,KAAK,EACL,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAC1B;wBACC,gBAAgB;wBAChB,mBAAmB,EAAE,IAAI;qBACzB,CACD,CAAC;gBACJ,UAAU,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjD,MAAM,cAAc,GAAI,EAA+B,CAAC,OAAO,CAAC;gBAChE,mBAAmB,GAAG,cAAc;oBACnC,CAAC,CAAC,cAAc;oBAChB,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChC,IAAI,SAAS,EAAE,CAAC;oBACf,eAAe,EAAE,CAAC;oBAClB,OAAO;gBACR,CAAC;gBACD,yBAAyB,GAAG,iBAAiB,CAAC,GAAG,EAAE;oBAClD,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC7B,IAAI,CAAC,cAAc,EAAE,CAAC;wBACrB,eAAe,EAAE,CAAC;oBACnB,CAAC;oBACD,IAAI,SAAS,EAAE,CAAC;wBACf,SAAS,EAAE,CAAC;oBACb,CAAC;yBAAM,CAAC;wBACP,sBAAsB,CAAC,KAAK,CAC3B,IAAI,YAAY,CAAC,eAAe,EAAE,YAAY,CAAC,CAC/C,CAAC;oBACH,CAAC;gBACF,CAAC,CAAC,CAAC;gBACH,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC;gBAChB,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;YAEtE,IAAI,SAA6B,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;gBACnE,MAAM,OAAO,GAAG,SAAS,CAAC,OAEzB,CAAC;gBACF,IAAI,cAAc,GAAG,KAAK,CAAC;gBAC3B,IAAI,OAAO,OAAO,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;oBAC5C,UAAU,CAAC,oBAAoB,CAAC,CAAC;oBACjC,IAAI,CAAC;wBACJ,cAAc,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC1C,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACX,6DAA6D,EAC7D,KAAK,CACL,CAAC;oBACH,CAAC;gBACF,CAAC;gBACD,YAAY,CAAC,cAAc,CAAC,CAAC;gBAC7B,iBAAiB,GAAG,cAAc,CAAC;gBACnC,IAAI,OAAO,OAAO,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC;oBACjD,IAAI,CAAC;wBACJ,MAAM,OAAO,CAAC,YAAY,EAAE,CAAC;wBAC7B,SAAS,GAAG,UAAU,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC;wBAC3C,IAAI,CAAC,cAAc,EAAE,CAAC;4BACrB,OAAO,CAAC,IAAI,CACX,sFAAsF,CACtF,CAAC;wBACH,CAAC;oBACF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,OAAO,CAAC,KAAK,CACZ,4FAA4F,EAC5F,KAAK,CACL,CAAC;oBACH,CAAC;gBACF,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,KAAK,CACZ,uFAAuF,CACvF,CAAC;gBACH,CAAC;YACF,CAAC;YAED,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;gBACpC,MAAM,EAAE;oBACP,UAAU;oBACV,YAAY,EAAE,CAAC,KAAK,EAAE,CAAC;oBACvB,oBAAoB,EAAE,CAAC,KAAK,EAAE,CAAC;oBAC/B,iBAAiB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE;oBAC1C,iBAAiB,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE;oBACrC,GAAG,CAAC,WAAW,CAAC,OAAO,KAAK,OAAO;wBAClC,CAAC,CAAC;4BACA,SAAS,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;4BACzB,eAAe,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;4BACnD,UAAU,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;yBAC5B;wBACF,CAAC,CAAC;4BACA,SAAS,EAAE;gCACV,MAAM,EAAE,CAAC,SAAS,EAAE,cAAc,CAAC;6BACnC;4BACD,eAAe,EAAE,EAAE,iBAAiB,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE;4BACnD,UAAU,EAAE;gCACX,UAAU,EAAE;gCACZ,qBAAqB,CAAC;oCACrB,4BAA4B,EAAE,KAAK;iCACnC,CAAC;gCACF,MAAM,CAAC,EAAE,CAAC;6BACV;yBACD,CAAC;iBACJ;gBACD,SAAS;gBACT,OAAO,EAAE,WAAW,CAAC,OAAO;aAC5B,CAAC,CAAC;YAEH,OAAO,GAAG,OAAiC,CAAC;YAC5C,IAAI,QAAmC,CAAC;YACxC,SAAS,GAAG,GAAG,EAAE;gBAChB,QAAQ,KAAK,OAAO,CAAC,OAAO,EAAE;qBAC5B,IAAI,CAAC,GAAG,EAAE,CAAE,OAAe,EAAE,IAAI,EAAE,EAAE,CAAC;qBACtC,IAAI,CAAC,GAAG,EAAE;oBACV,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC7B,eAAe,EAAE,CAAC;gBACnB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBAChB,QAAQ,GAAG,SAAS,CAAC;oBACrB,SAAS,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;gBAC1D,CAAC,CAAC,CAAC;YACL,CAAC,CAAC;YAED,MAAc,CAAC,UAAU,GAAG;gBAC5B,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;gBACpD,SAAS,EAAE,iBAAiB;aAC5B,CAAC;YACF,MAAM,CAAC,aAAa,CACnB,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,MAAM,EAAG,MAAc,CAAC,UAAU,EAAE,CAAC,CACrE,CAAC;YAEF,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;gBAC5B,IAAI,gBAAgB,GAA2B,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACJ,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;oBACpC,IAAI,eAAe,GAMJ,SAAS,CAAC;oBACzB,IACC,OAAO,OAAO,KAAK,QAAQ;wBAC1B,OAAe,EAAE,SAAS,KAAK,SAAS,EACxC,CAAC;wBACF,MAAM,IAAI,GAAI,OAAe,CAAC,SAAmC,CAAC;wBAClE,gBAAgB,GAAG,IAAI,CAAC;wBACxB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACvB,YAAY,CAAC,iCAAiC,CAAC,CAAC;wBACjD,CAAC;6BAAM,CAAC;4BACP,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gCAC7C,YAAY,CAAC,kCAAkC,EAAE,IAAI,CAAC,CAAC;gCACvD,eAAe,GAAG,MAAM,OAAO,CAAC,SAAS,CACxC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACjB,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,CACjD,CACD,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACP,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;oCACzB,MAAM,OAAO,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC;gCACjC,CAAC;4BACF,CAAC;wBACF,CAAC;oBACF,CAAC;yBAAM,IACN,OAAO,KAAK,OAAO;wBACnB,CAAC,OAAO,OAAO,KAAK,QAAQ,IAAK,OAAe,EAAE,IAAI,KAAK,OAAO,CAAC,EAClE,CAAC;wBACF,MAAM,YAAY,GACjB,iCAAiC;4BACjC,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC/D,gBAAgB,GAAG,CAAC,YAAY,CAAC,CAAC;wBAClC,YAAY,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;wBACpD,MAAM,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBACjC,CAAC;yBAAM,CAAC;wBACP,MAAM,0BAA0B,GAC/B,CAAC,MAAM,yBAAyB,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;wBAC7C,gBAAgB,GAAG,0BAA0B,CAAC;wBAC9C,eAAe;4BACd,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,0BAA0B,CAAC,CAAC;oBACxD,CAAC;oBACD,IAAI,CAAC,eAAe,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;wBAClD,MAAM,gBAAgB,GAAG,eAAgB,CAAC,QAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;4BACnE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,0BAA0B,CAAC;4BAC5D,OAAO,GAAG,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;wBACvC,CAAC,CAAC,CAAC;wBACH,MAAM,OAAO,GACZ,gBAAgB,eAAe,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC,sBAAsB;4BACpF,uBAAuB,eAAe,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC;wBACzE,YAAY,CAAC,2BAA2B,EAAE;4BACzC,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,IAAI,EAAE;4BACzD,QAAQ,EAAE,gBAAgB;yBAC1B,CAAC,CAAC;wBACH,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;wBACxC,UAAU,CAAC;4BACV,IAAI,EAAE,mBAAmB;4BACzB,OAAO;4BACP,QAAQ,EAAE,gBAAgB;yBAC1B,CAAC,CAAC;oBACJ,CAAC;oBACD,kBAAkB,CAAC,WAAW,CAAC,CAAC;gBACjC,CAAC;gBAAC,OAAO,GAAQ,EAAE,CAAC;oBACnB,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAChC,gBAAgB;yBACd,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;yBAC7C,MAAM,CAAC,CAAC,OAAO,EAAqB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CACnD,CAAC;oBACF,IAAI,SAAS,EAAE,CAAC;wBACf,YAAY,CAAC,0CAA0C,EAAE;4BACxD,KAAK,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;4BAClC,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;yBACvC,CAAC,CAAC;wBACH,OAAO;oBACR,CAAC;oBACD,IACC,sBAAsB,CACrB,OAAiC,EACjC,gBAAgB,CAChB,EACA,CAAC;wBACF,YAAY,CACX,6DAA6D,EAC7D;4BACA,KAAK,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC;4BACjC,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;yBACvC,CACD,CAAC;wBACF,kBAAkB,CAAC,WAAW,CAAC,CAAC;wBAChC,OAAO;oBACR,CAAC;oBACD,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;oBAC3C,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC9B,CAAC;YACF,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBAC3C,MAAM,OAAO,CAAC;YACf,CAAC;iBAAM,IAAI,WAAW,CAAC,gBAAgB,KAAK,WAAW,EAAE,CAAC;gBACzD,IAAI,MAAM,GAAG,KAAK,CAAC;gBACnB,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE;oBACpB,MAAM,GAAG,IAAI,CAAC;gBACf,CAAC,CAAC,CAAC;gBACH,MAAM,OAAO,CAAC,GAAG,EAAE;oBAClB,IAAI,MAAM;wBAAE,OAAO,IAAI,CAAC;oBACxB,MAAM,MAAM,GAAG,OAAc,CAAC;oBAC9B,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC7D,IAAI,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,MAAM,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC;oBAC/D,OAAO,KAAK,CAAC;gBACd,CAAC,CAAC,CAAC;YACJ,CAAC;YAED,IAAI,SAAS,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,OAAO;YACR,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC;QAEF,MAAM,mBAAmB,GAAG,KAAK,IAAI,EAAE;YACtC,IAAI,CAAC;gBACJ,MAAM,EAAE,EAAE,CAAC;YACZ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACrB,IAAI,SAAS,EAAE,CAAC;oBACf,SAAS,EAAE,CAAC;gBACb,CAAC;qBAAM,CAAC;oBACP,eAAe,EAAE,CAAC;gBACnB,CAAC;gBACD,IAAI,SAAS,EAAE,CAAC;oBACf,OAAO;gBACR,CAAC;gBACD,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBAC7B,UAAU,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;QACF,CAAC,CAAC;QAEF,MAAM,CAAC,GAAG,mBAAmB,EAAE,CAAC;QAChC,UAAU,CAAC,CAAC,CAAC,CAAC;QACd,OAAO,GAAG,EAAE;YACX,SAAS,GAAG,IAAI,CAAC;YACjB,sBAAsB,CAAC,KAAK,CAC3B,IAAI,YAAY,CAAC,wBAAwB,EAAE,YAAY,CAAC,CACxD,CAAC;YACF,iBAAiB,EAAE,EAAE,CAAC;YACtB,yBAAyB,EAAE,EAAE,CAAC;YAC9B,SAAS,EAAE,EAAE,CAAC;QACf,CAAC,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,OAAO,KAAC,WAAW,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YAAG,QAAQ,GAAwB,CAAC;AAC7E,CAAC,CAAC"}
@@ -1,8 +1,10 @@
1
1
  import { Ed25519Keypair } from "@peerbit/crypto";
2
2
  import { FastMutex } from "./lockstorage.ts";
3
+ export declare const WEB_LOCK_CLIENT_ID_PREFIX = "@peerbit/react:web-lock/v1:";
3
4
  export declare const cookiesWhereClearedJustNow: () => boolean;
4
5
  export declare const getClientId: (type: "session" | "local") => string;
5
6
  export declare const releaseKey: (path: string, lock: FastMutex) => void;
7
+ export declare const createWebLockClientId: () => string;
6
8
  export declare const getFreeKeypair: (id: string | undefined, lock: FastMutex, lockCondition?: () => boolean, options?: {
7
9
  releaseLockIfSameId?: boolean;
8
10
  releaseFirstLock?: boolean;
@@ -11,6 +13,12 @@ export declare const getFreeKeypair: (id: string | undefined, lock: FastMutex, l
11
13
  path: string;
12
14
  key: Ed25519Keypair;
13
15
  }>;
16
+ export declare const getFreeKeypairWithWebLock: (id: string, lock: FastMutex, lockManager: LockManager, lockCondition?: () => boolean, signal?: AbortSignal) => Promise<{
17
+ index: number;
18
+ path: string;
19
+ key: Ed25519Keypair;
20
+ release: () => void;
21
+ }>;
14
22
  export declare const getAllKeyPairs: (id?: string) => Promise<Ed25519Keypair[]>;
15
23
  export declare const getKeypair: (keyName: string) => Promise<Ed25519Keypair>;
16
24
  export declare const inIframe: () => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAwB,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAO7C,eAAO,MAAM,0BAA0B,eAOtC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,GAAG,OAAO,WASpD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,MAAM,SAAS,SAEvD,CAAC;AAEF,eAAO,MAAM,cAAc,GAC1B,sBAAO,EACP,MAAM,SAAS,EACf,gBAAe,MAAM,OAAoB,EACzC,UAAU;IACT,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;;;;EAiCD,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,WAAO,8BAY3C,CAAC;AAIF,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,cAAc,CAcxE,CAAC;AAeF,eAAO,MAAM,QAAQ,eAMpB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAwB,MAAM,iBAAiB,CAAC;AAGvE,OAAO,EAAkB,SAAS,EAAqB,MAAM,kBAAkB,CAAC;AAIhF,eAAO,MAAM,yBAAyB,gCAAgC,CAAC;AAKvE,eAAO,MAAM,0BAA0B,eAOtC,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,GAAG,OAAO,WASpD,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,MAAM,SAAS,SAEvD,CAAC;AAEF,eAAO,MAAM,qBAAqB,cACM,CAAC;AAkHzC,eAAO,MAAM,cAAc,GAC1B,sBAAO,EACP,MAAM,SAAS,EACf,gBAAe,MAAM,OAAoB,EACzC,UAAU;IACT,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC3B;;;;EAsCD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACrC,IAAI,MAAM,EACV,MAAM,SAAS,EACf,aAAa,WAAW,EACxB,gBAAe,MAAM,OAAoB,EACzC,SAAS,WAAW;;;;;EAkEpB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAU,WAAO,8BAY3C,CAAC;AAIF,eAAO,MAAM,UAAU,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,cAAc,CAcxE,CAAC;AAeF,eAAO,MAAM,QAAQ,eAMpB,CAAC"}