osra 0.3.0 → 0.3.2

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.
package/build/index.js CHANGED
@@ -30,17 +30,20 @@ var e = Object.defineProperty, t = (t, n) => {
30
30
  }, l = (e) => o.some((t) => e instanceof t), u = (e) => e instanceof WebSocket, d = (e) => !!globalThis.ServiceWorkerContainer && e instanceof ServiceWorkerContainer, f = (e) => !!globalThis.Worker && e instanceof Worker, p = (e) => !!globalThis.DedicatedWorkerGlobalScope && e instanceof DedicatedWorkerGlobalScope, m = (e) => !!globalThis.SharedWorker && e instanceof SharedWorker, h = (e) => e instanceof MessagePort, g = (e) => !!e && typeof e == "object" && "__OSRA_KEY__" in e && !!e.__OSRA_KEY__, _ = (e, t) => {
31
31
  for (let n of t) if (n && e instanceof n) return !0;
32
32
  return !1;
33
- }, v = (e) => _(e, [globalThis.SharedArrayBuffer]), ee = (e) => _(e, [
33
+ }, v = (e) => _(e, [globalThis.SharedArrayBuffer]), y = (e) => _(e, [
34
34
  globalThis.ArrayBuffer,
35
35
  globalThis.MessagePort,
36
36
  globalThis.ReadableStream,
37
37
  globalThis.WritableStream,
38
38
  globalThis.TransformStream,
39
39
  globalThis.ImageBitmap
40
- ]), y = (e) => {
41
- let t = se();
40
+ ]), b = (e) => {
41
+ let t = j();
42
42
  return t ? e === t : !1;
43
- }, b = (e, t = !1) => !e || typeof e != "object" || C(e) || !("name" in e) || !("disconnect" in e) || !("postMessage" in e) ? !1 : t ? "sender" in e && "onMessage" in e && "onDisconnect" in e : !0, te = (e) => !!e && typeof e == "object" && !C(e) && "addListener" in e && "hasListener" in e && "removeListener" in e, x = (e) => te(e), S = (e) => te(e), C = (e) => {
43
+ }, x = (e, t = !1) => !e || typeof e != "object" || w(e) || !("name" in e) || !("disconnect" in e) || !("postMessage" in e) ? !1 : t ? "sender" in e && "onMessage" in e && "onDisconnect" in e : !0, ee = (e) => !!e && typeof e == "object" && !w(e) && "addListener" in e && "hasListener" in e && "removeListener" in e, S = (e) => {
44
+ let t = j();
45
+ return t ? e === t.onConnect || e === t.onConnectExternal : !1;
46
+ }, C = (e) => ee(e), w = (e) => {
44
47
  if (!e || typeof e != "object") return !1;
45
48
  try {
46
49
  return "window" in e && e.window === e;
@@ -51,97 +54,97 @@ var e = Object.defineProperty, t = (t, n) => {
51
54
  return !1;
52
55
  }
53
56
  }
54
- }, w = (e) => u(e) || b(e) || y(e), T = (e) => u(e) || b(e) || x(e) || S(e) || y(e), E = (e) => !!e && typeof e == "object" && "isJson" in e && e.isJson === !0 || w(e) || T(e), D = (e) => C(e) || w(e) || d(e) || f(e) || p(e) || m(e) || h(e) || ie(e);
55
- function ne(e) {
56
- if (!D(e)) throw Error("Transport is not emitable");
57
+ }, T = (e) => u(e) || x(e) || b(e), E = (e) => u(e) || x(e) || S(e) || C(e) || b(e), D = (e) => !!e && typeof e == "object" && "isJson" in e && e.isJson === !0 || T(e) || E(e), O = (e) => w(e) || T(e) || d(e) || f(e) || p(e) || m(e) || h(e) || re(e);
58
+ function te(e) {
59
+ if (!O(e)) throw Error("Transport is not emitable");
57
60
  }
58
- var O = (e) => C(e) || T(e) || d(e) || f(e) || p(e) || m(e) || h(e) || k(e);
59
- function re(e) {
60
- if (!O(e)) throw Error("Transport is not receiveable");
61
+ var k = (e) => w(e) || E(e) || d(e) || f(e) || p(e) || m(e) || h(e) || ie(e);
62
+ function ne(e) {
63
+ if (!k(e)) throw Error("Transport is not receiveable");
61
64
  }
62
- var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.emit) || typeof e.emit == "function", k = (e) => !e || typeof e != "object" || C(e) || !("receive" in e) ? !1 : O(e.receive) || typeof e.receive == "function", A = (e) => ie(e) || k(e), ae = (e) => D(e) || O(e) || A(e) || E(e), oe = () => globalThis.browser ?? globalThis.chrome, se = () => oe()?.runtime, j = (e, t) => g(e) && e.__OSRA_KEY__ === t, M = (e, t) => e?.addEventListener("abort", t, { once: !0 }), ce = ({ listener: e, transport: t, remoteName: r, key: i = n, unregisterSignal: a }) => {
65
+ var re = (e) => !e || typeof e != "object" || w(e) || !("emit" in e) ? !1 : O(e.emit) || typeof e.emit == "function", ie = (e) => !e || typeof e != "object" || w(e) || !("receive" in e) ? !1 : k(e.receive) || typeof e.receive == "function", A = (e) => re(e) || ie(e), ae = (e) => O(e) || k(e) || A(e) || D(e), oe = () => globalThis.browser ?? globalThis.chrome, j = () => oe()?.runtime, M = (e, t) => g(e) && e.__OSRA_KEY__ === t, N = (e, t) => e?.addEventListener("abort", t, { once: !0 }), se = ({ listener: e, transport: t, remoteName: r, key: i = n, unregisterSignal: a }) => {
63
66
  let o = A(t) ? t.receive : t;
64
67
  if (typeof o == "function") {
65
68
  o((t, n) => {
66
- j(t, i) && (r && t.name !== r || e(t, n));
69
+ M(t, i) && (r && t.name !== r || e(t, n));
67
70
  });
68
71
  return;
69
72
  }
70
- if (y(o) || b(o) || x(o) || S(o)) {
73
+ if (b(o) || x(o) || S(o) || C(o)) {
71
74
  let t = (t, n) => {
72
75
  let o = (t, a) => {
73
- j(t, i) && (r && t.name !== r || e(t, {
76
+ M(t, i) && (r && t.name !== r || e(t, {
74
77
  port: n,
75
78
  sender: a
76
79
  }));
77
80
  };
78
- t.addListener(o), M(a, () => t.removeListener(o));
81
+ t.addListener(o), N(a, () => t.removeListener(o));
79
82
  };
80
- if (y(o)) t(o.onMessage);
81
- else if (x(o)) {
83
+ if (b(o)) t(o.onMessage);
84
+ else if (S(o)) {
82
85
  let e = (e) => t(e.onMessage, e);
83
- o.addListener(e), M(a, () => o.removeListener(e));
84
- } else S(o) ? t(o) : t(o.onMessage);
86
+ o.addListener(e), N(a, () => o.removeListener(e));
87
+ } else C(o) ? t(o) : t(o.onMessage);
85
88
  return;
86
89
  }
87
90
  let s = (t) => {
88
- j(t.data, i) && (r && t.data.name !== r || e(t.data, {
91
+ M(t.data, i) && (r && t.data.name !== r || e(t.data, {
89
92
  receiveTransport: o,
90
93
  source: t.source
91
94
  }));
92
95
  };
93
- o.addEventListener("message", s), M(a, () => o.removeEventListener("message", s));
94
- }, le = (e, t, n = "*", r = []) => {
96
+ o.addEventListener("message", s), N(a, () => o.removeEventListener("message", s));
97
+ }, ce = (e, t, n = "*", r = []) => {
95
98
  let i = A(e) ? e.emit : e;
96
- typeof i == "function" ? i(t, r) : C(i) ? i.postMessage(t, n, r) : b(i) ? i.postMessage(t) : y(i) ? i.sendMessage(t) : u(i) ? i.send(JSON.stringify(t)) : m(i) ? i.port.postMessage(t, r) : i.postMessage(t, r);
97
- }, N = { [i]: "revivable" }, P = (e) => !!e && typeof e == "object" && "__OSRA_BOX__" in e && e.__OSRA_BOX__ === "revivable", F = (e) => e instanceof Error ? e.stack ?? String(e) : String(e), ue = (e, t) => E(t.transport) ? { base64Buffer: new Uint8Array(e).toBase64() } : { arrayBuffer: e }, de = (e) => "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer, fe = /* @__PURE__ */ t({
98
- box: () => he,
99
- isType: () => me,
100
- revive: () => ge,
101
- type: () => pe
102
- }), pe = "arrayBuffer", me = (e) => e instanceof ArrayBuffer, he = (e, t) => ({
103
- ...N,
104
- type: pe,
105
- ...ue(e, t)
106
- }), ge = (e, t) => de(e), _e = /* @__PURE__ */ t({
107
- box: () => be,
108
- isType: () => ye,
109
- revive: () => xe,
110
- type: () => ve
111
- }), ve = "date", ye = (e) => e instanceof Date, be = (e, t) => ({
112
- ...N,
113
- type: ve,
99
+ typeof i == "function" ? i(t, r) : w(i) ? i.postMessage(t, n, r) : x(i) ? i.postMessage(t) : b(i) ? i.sendMessage(t) : u(i) ? i.send(JSON.stringify(t)) : m(i) ? i.port.postMessage(t, r) : i.postMessage(t, r);
100
+ }, P = { [i]: "revivable" }, F = (e) => !!e && typeof e == "object" && "__OSRA_BOX__" in e && e.__OSRA_BOX__ === "revivable", I = (e) => e instanceof Error ? e.stack ?? String(e) : String(e), L = (e, t) => D(t.transport) ? { base64Buffer: new Uint8Array(e).toBase64() } : { arrayBuffer: e }, R = (e) => "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer, le = /* @__PURE__ */ t({
101
+ box: () => fe,
102
+ isType: () => de,
103
+ revive: () => pe,
104
+ type: () => ue
105
+ }), ue = "arrayBuffer", de = (e) => e instanceof ArrayBuffer, fe = (e, t) => ({
106
+ ...P,
107
+ type: ue,
108
+ ...L(e, t)
109
+ }), pe = (e, t) => R(e), me = /* @__PURE__ */ t({
110
+ box: () => _e,
111
+ isType: () => ge,
112
+ revive: () => ve,
113
+ type: () => he
114
+ }), he = "date", ge = (e) => e instanceof Date, _e = (e, t) => ({
115
+ ...P,
116
+ type: he,
114
117
  ISOString: e.toISOString()
115
- }), xe = (e, t) => new Date(e.ISOString), Se = /* @__PURE__ */ t({
118
+ }), ve = (e, t) => new Date(e.ISOString), ye = /* @__PURE__ */ t({
119
+ box: () => z,
120
+ isType: () => xe,
121
+ revive: () => B,
122
+ type: () => be
123
+ }), be = "headers", xe = (e) => e instanceof Headers, z = (e, t) => ({
124
+ ...P,
125
+ type: be,
126
+ entries: [...e.entries()]
127
+ }), B = (e, t) => new Headers(e.entries), Se = /* @__PURE__ */ t({
116
128
  box: () => Te,
117
129
  isType: () => we,
118
- revive: () => I,
130
+ revive: () => Ee,
119
131
  type: () => Ce
120
- }), Ce = "headers", we = (e) => e instanceof Headers, Te = (e, t) => ({
121
- ...N,
132
+ }), Ce = "error", we = (e) => e instanceof Error, Te = (e, t) => ({
133
+ ...P,
122
134
  type: Ce,
123
- entries: [...e.entries()]
124
- }), I = (e, t) => new Headers(e.entries), Ee = /* @__PURE__ */ t({
125
- box: () => ke,
126
- isType: () => Oe,
127
- revive: () => Ae,
128
- type: () => De
129
- }), De = "error", Oe = (e) => e instanceof Error, ke = (e, t) => ({
130
- ...N,
131
- type: De,
132
135
  message: e.message,
133
136
  stack: e.stack || e.toString()
134
- }), Ae = (e, t) => Error(e.message, { cause: e.stack }), je = /* @__PURE__ */ t({
135
- box: () => Pe,
136
- isType: () => Ne,
137
- revive: () => Fe,
138
- type: () => Me
139
- }), Me = "typedArray", Ne = l, Pe = (e, t) => ({
140
- ...N,
141
- type: Me,
137
+ }), Ee = (e, t) => Error(e.message, { cause: e.stack }), De = /* @__PURE__ */ t({
138
+ box: () => Ae,
139
+ isType: () => ke,
140
+ revive: () => je,
141
+ type: () => Oe
142
+ }), Oe = "typedArray", ke = l, Ae = (e, t) => ({
143
+ ...P,
144
+ type: Oe,
142
145
  typedArrayType: s(e),
143
- ...ue(e.buffer, t)
144
- }), Fe = (e, t) => new (c(e.typedArrayType))(de(e)), L = class extends EventTarget {
146
+ ...L(e.buffer, t)
147
+ }), je = (e, t) => new (c(e.typedArrayType))(R(e)), V = class extends EventTarget {
145
148
  addEventListener(e, t, n) {
146
149
  super.addEventListener(e, t, n);
147
150
  }
@@ -181,109 +184,109 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
181
184
  close() {
182
185
  this._closed || (this._closed = !0, this._queue.length = 0, this._onClose?.());
183
186
  }
184
- }, R = class {
187
+ }, H = class {
185
188
  port1;
186
189
  port2;
187
190
  constructor() {
188
- let e = new L(), t = new L();
191
+ let e = new V(), t = new V();
189
192
  e._peer = t, t._peer = e, this.port1 = e, this.port2 = t;
190
193
  }
191
- }, Ie = /* @__PURE__ */ t({
192
- box: () => V,
193
- createRevivableChannel: () => U,
194
- init: () => ze,
195
- isType: () => Be,
196
- revive: () => H,
197
- type: () => B
198
- }), z = new FinalizationRegistry((e) => {
194
+ }, Me = /* @__PURE__ */ t({
195
+ box: () => G,
196
+ createRevivableChannel: () => q,
197
+ init: () => Fe,
198
+ isType: () => Ie,
199
+ revive: () => K,
200
+ type: () => W
201
+ }), U = new FinalizationRegistry((e) => {
199
202
  e.sendMessage({
200
203
  type: "message-port-close",
201
204
  remoteUuid: e.remoteUuid,
202
205
  portId: e.portId
203
206
  }), e.cleanup();
204
- }), B = "messagePort", Le = /* @__PURE__ */ new WeakMap(), Re = (e) => {
205
- let t = Le.get(e);
207
+ }), W = "messagePort", Ne = /* @__PURE__ */ new WeakMap(), Pe = (e) => {
208
+ let t = Ne.get(e);
206
209
  if (!t) throw Error("osra message-port: connection state missing; did init() run?");
207
210
  return t;
208
- }, ze = (e) => {
211
+ }, Fe = (e) => {
209
212
  let t = { portHandlers: /* @__PURE__ */ new Map() };
210
- Le.set(e, t), e.eventTarget.addEventListener("message", ({ detail: e }) => {
213
+ Ne.set(e, t), e.eventTarget.addEventListener("message", ({ detail: e }) => {
211
214
  e.type !== "message" && e.type !== "message-port-close" || t.portHandlers.get(e.portId)?.(e);
212
215
  });
213
- }, Be = (e) => e instanceof MessagePort || e instanceof L, V = (e, t, n) => {
214
- let r = e instanceof L;
215
- if (r || E(t.transport)) {
216
- let { portHandlers: n } = Re(t), i = e, a = globalThis.crypto.randomUUID(), o = !1, s = () => {
217
- o || (o = !0, n.delete(a), z.unregister(i), i.removeEventListener("message", l));
216
+ }, Ie = (e) => e instanceof MessagePort || e instanceof V, G = (e, t, n) => {
217
+ let r = e instanceof V;
218
+ if (r || D(t.transport)) {
219
+ let { portHandlers: n } = Pe(t), i = e, a = globalThis.crypto.randomUUID(), o = !1, s = () => {
220
+ o || (o = !0, n.delete(a), U.unregister(i), i.removeEventListener("message", l));
218
221
  }, c = (e) => {
219
222
  if (e.type === "message-port-close") {
220
223
  s(), i.close();
221
224
  return;
222
225
  }
223
- let n = Q(e.data, t);
226
+ let n = Z(e.data, t);
224
227
  i.postMessage(n, $(n));
225
228
  };
226
229
  function l({ data: e }) {
227
230
  t.sendMessage({
228
231
  type: "message",
229
232
  remoteUuid: t.remoteUuid,
230
- data: Z(e, t),
233
+ data: X(e, t),
231
234
  portId: a
232
235
  });
233
236
  }
234
- return z.register(i, {
237
+ return U.register(i, {
235
238
  sendMessage: t.sendMessage,
236
239
  remoteUuid: t.remoteUuid,
237
240
  portId: a,
238
241
  cleanup: s
239
- }, i), i.addEventListener("message", l), i.start(), i instanceof L && (i._onClose = () => {
242
+ }, i), i.addEventListener("message", l), i.start(), i instanceof V && (i._onClose = () => {
240
243
  o || (t.sendMessage({
241
244
  type: "message-port-close",
242
245
  remoteUuid: t.remoteUuid,
243
246
  portId: a
244
247
  }), s());
245
248
  }), n.set(a, c), {
246
- ...N,
247
- type: B,
249
+ ...P,
250
+ type: W,
248
251
  portId: a,
249
252
  synthetic: r
250
253
  };
251
254
  }
252
255
  return {
253
- ...N,
254
- type: B,
256
+ ...P,
257
+ type: W,
255
258
  port: e,
256
259
  ...n?.autoBox ? { autoBox: !0 } : {}
257
260
  };
258
- }, H = (e, t) => "port" in e ? e.autoBox ? Ve(e.port, t) : e.port : He(e.portId, t, e.synthetic), Ve = (e, t) => {
261
+ }, K = (e, t) => "port" in e ? e.autoBox ? Le(e.port, t) : e.port : Re(e.portId, t, e.synthetic), Le = (e, t) => {
259
262
  let n = new EventTarget(), r = ({ data: e }) => {
260
- n.dispatchEvent(new MessageEvent("message", { data: Q(e, t) }));
263
+ n.dispatchEvent(new MessageEvent("message", { data: Z(e, t) }));
261
264
  };
262
265
  return e.addEventListener("message", r), n.postMessage = (n, r) => {
263
- let i = Z(n, t), a = $(i), o = Array.isArray(r) ? r : [];
266
+ let i = X(n, t), a = $(i), o = Array.isArray(r) ? r : [];
264
267
  e.postMessage(i, o.length ? [...a, ...o] : a);
265
268
  }, n.start = () => e.start(), n.close = () => {
266
269
  e.removeEventListener("message", r), e.close();
267
270
  }, n;
268
- }, U = (e) => {
269
- if (E(e.transport)) {
270
- let { port1: t, port2: n } = new R();
271
+ }, q = (e) => {
272
+ if (D(e.transport)) {
273
+ let { port1: t, port2: n } = new H();
271
274
  return {
272
275
  localPort: t,
273
- boxedRemote: V(n, e)
276
+ boxedRemote: G(n, e)
274
277
  };
275
278
  }
276
279
  let { port1: t, port2: n } = new MessageChannel();
277
280
  return {
278
- localPort: Ve(t, e),
279
- boxedRemote: V(n, e, { autoBox: !0 })
281
+ localPort: Le(t, e),
282
+ boxedRemote: G(n, e, { autoBox: !0 })
280
283
  };
281
- }, He = (e, t, n) => {
282
- let { portHandlers: r } = Re(t), { port1: i, port2: a } = n ? new R() : new MessageChannel(), o = new WeakRef(i), s = !1, c = () => {
284
+ }, Re = (e, t, n) => {
285
+ let { portHandlers: r } = Pe(t), { port1: i, port2: a } = n ? new H() : new MessageChannel(), o = new WeakRef(i), s = !1, c = () => {
283
286
  if (s) return;
284
287
  s = !0, r.delete(e), a.removeEventListener("message", u), a.close();
285
288
  let t = o.deref();
286
- t && z.unregister(t);
289
+ t && U.unregister(t);
287
290
  }, l = (e) => {
288
291
  if (e.type === "message-port-close") {
289
292
  c(), o.deref()?.close();
@@ -293,36 +296,36 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
293
296
  c();
294
297
  return;
295
298
  }
296
- let r = Q(e.data, t);
299
+ let r = Z(e.data, t);
297
300
  n ? a.postMessage(r) : a.postMessage(r, $(r));
298
301
  }, u = ({ data: n }) => {
299
302
  t.sendMessage({
300
303
  type: "message",
301
304
  remoteUuid: t.remoteUuid,
302
- data: Z(n, t),
305
+ data: X(n, t),
303
306
  portId: e
304
307
  });
305
308
  };
306
- return z.register(i, {
309
+ return U.register(i, {
307
310
  sendMessage: t.sendMessage,
308
311
  remoteUuid: t.remoteUuid,
309
312
  portId: e,
310
313
  cleanup: c
311
- }, i), i instanceof L && (i._onClose = () => {
314
+ }, i), i instanceof V && (i._onClose = () => {
312
315
  s || (t.sendMessage({
313
316
  type: "message-port-close",
314
317
  remoteUuid: t.remoteUuid,
315
318
  portId: e
316
319
  }), c());
317
320
  }), a.addEventListener("message", u), a.start(), r.set(e, l), i;
318
- }, Ue = /* @__PURE__ */ t({
319
- box: () => Je,
320
- isType: () => qe,
321
- revive: () => Ye,
322
- type: () => We
323
- }), We = "promise", Ge = (e) => e instanceof Promise, Ke = /* @__PURE__ */ new Set(), qe = (e) => e instanceof Promise, Je = (e, t) => {
324
- if (!Ge(e)) throw TypeError("Expected Promise");
325
- let n = e, { localPort: r, boxedRemote: i } = U(t), a = (e) => {
321
+ }, ze = /* @__PURE__ */ t({
322
+ box: () => We,
323
+ isType: () => Ue,
324
+ revive: () => Ge,
325
+ type: () => Be
326
+ }), Be = "promise", Ve = (e) => e instanceof Promise, He = /* @__PURE__ */ new Set(), Ue = (e) => e instanceof Promise, We = (e, t) => {
327
+ if (!Ve(e)) throw TypeError("Expected Promise");
328
+ let n = e, { localPort: r, boxedRemote: i } = q(t), a = (e) => {
326
329
  r.postMessage(e), r.close();
327
330
  };
328
331
  return n.then((e) => a({
@@ -330,25 +333,25 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
330
333
  data: e
331
334
  })).catch((e) => a({
332
335
  type: "reject",
333
- error: F(e)
336
+ error: I(e)
334
337
  })), {
335
- ...N,
336
- type: We,
338
+ ...P,
339
+ type: Be,
337
340
  port: i
338
341
  };
339
- }, Ye = (e, t) => {
340
- let n = H(e.port, t);
341
- return Ke.add(n), new Promise((e, t) => {
342
+ }, Ge = (e, t) => {
343
+ let n = K(e.port, t);
344
+ return He.add(n), new Promise((e, t) => {
342
345
  n.addEventListener("message", ({ data: r }) => {
343
- r.type === "resolve" ? e(r.data) : t(r.error), n.close(), Ke.delete(n);
346
+ r.type === "resolve" ? e(r.data) : t(r.error), n.close(), He.delete(n);
344
347
  }, { once: !0 }), n.start();
345
348
  });
346
- }, Xe = /* @__PURE__ */ t({
347
- box: () => et,
348
- isType: () => $e,
349
- revive: () => tt,
350
- type: () => Ze
351
- }), Ze = "function", Qe = new FinalizationRegistry((e) => {
349
+ }, Ke = /* @__PURE__ */ t({
350
+ box: () => Xe,
351
+ isType: () => Ye,
352
+ revive: () => Ze,
353
+ type: () => qe
354
+ }), qe = "function", Je = new FinalizationRegistry((e) => {
352
355
  try {
353
356
  e.port.postMessage({ __osra_close__: !0 });
354
357
  } catch {}
@@ -359,14 +362,14 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
359
362
  try {
360
363
  n(/* @__PURE__ */ Error("osra function was garbage collected before result arrived"));
361
364
  } catch {}
362
- W.delete(t);
365
+ J.delete(t);
363
366
  try {
364
367
  t.close();
365
368
  } catch {}
366
369
  }
367
370
  e.inFlight.clear();
368
- }), W = /* @__PURE__ */ new Set(), $e = (e) => typeof e == "function", et = (e, t) => {
369
- let { localPort: n, boxedRemote: r } = U(t), i = () => {
371
+ }), J = /* @__PURE__ */ new Set(), Ye = (e) => typeof e == "function", Xe = (e, t) => {
372
+ let { localPort: n, boxedRemote: r } = q(t), i = () => {
370
373
  n.close();
371
374
  };
372
375
  return n.addEventListener("message", ({ data: t }) => {
@@ -385,7 +388,7 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
385
388
  try {
386
389
  n.postMessage({
387
390
  __osra_err__: !0,
388
- error: F(e)
391
+ error: I(e)
389
392
  });
390
393
  } catch {}
391
394
  }
@@ -393,58 +396,58 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
393
396
  try {
394
397
  n.postMessage({
395
398
  __osra_err__: !0,
396
- error: F(e)
399
+ error: I(e)
397
400
  });
398
401
  } catch {}
399
402
  }).finally(() => {
400
403
  queueMicrotask(() => n.close());
401
404
  });
402
405
  }), n.start(), {
403
- ...N,
404
- type: Ze,
406
+ ...P,
407
+ type: qe,
405
408
  port: r
406
409
  };
407
- }, tt = (e, t) => {
408
- let n = H(e.port, t), r = /* @__PURE__ */ new Set(), i = (...e) => new Promise((i, a) => {
409
- let { localPort: o, boxedRemote: s } = U(t);
410
- W.add(o);
410
+ }, Ze = (e, t) => {
411
+ let n = K(e.port, t), r = /* @__PURE__ */ new Set(), i = (...e) => new Promise((i, a) => {
412
+ let { localPort: o, boxedRemote: s } = q(t);
413
+ J.add(o);
411
414
  let c = {
412
415
  returnLocal: o,
413
416
  reject: a
414
417
  };
415
418
  r.add(c), o.addEventListener("message", ({ data: e }) => {
416
- "__osra_ok__" in e ? i(e.value) : a(e.error), o.close(), W.delete(o), r.delete(c);
419
+ "__osra_ok__" in e ? i(e.value) : a(e.error), o.close(), J.delete(o), r.delete(c);
417
420
  }, { once: !0 }), o.start();
418
421
  try {
419
422
  n.postMessage([s, e]);
420
423
  } catch (e) {
421
- W.delete(o), r.delete(c);
424
+ J.delete(o), r.delete(c);
422
425
  try {
423
426
  o.close();
424
427
  } catch {}
425
428
  a(e);
426
429
  }
427
430
  });
428
- return Qe.register(i, {
431
+ return Je.register(i, {
429
432
  port: n,
430
433
  inFlight: r
431
434
  }, i), i;
432
- }, nt = /* @__PURE__ */ t({
433
- box: () => G,
434
- isType: () => it,
435
- revive: () => K,
436
- type: () => rt
437
- }), rt = "readableStream", it = (e) => e instanceof ReadableStream, G = (e, t) => {
438
- let { localPort: n, boxedRemote: r } = U(t), i = e.getReader();
435
+ }, Qe = /* @__PURE__ */ t({
436
+ box: () => Y,
437
+ isType: () => et,
438
+ revive: () => tt,
439
+ type: () => $e
440
+ }), $e = "readableStream", et = (e) => e instanceof ReadableStream, Y = (e, t) => {
441
+ let { localPort: n, boxedRemote: r } = q(t), i = e.getReader();
439
442
  return n.addEventListener("message", ({ data: e }) => {
440
443
  "type" in e && e.type === "pull" ? n.postMessage(i.read()) : (i.cancel(), n.close());
441
444
  }), n.start(), {
442
- ...N,
443
- type: rt,
445
+ ...P,
446
+ type: $e,
444
447
  port: r
445
448
  };
446
- }, K = (e, t) => {
447
- let n = H(e.port, t);
449
+ }, tt = (e, t) => {
450
+ let n = K(e.port, t);
448
451
  return n.start(), new ReadableStream({
449
452
  pull: (e) => new Promise((t, r) => {
450
453
  n.addEventListener("message", ({ data: n }) => {
@@ -457,65 +460,65 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
457
460
  n.postMessage({ type: "cancel" }), queueMicrotask(() => n.close());
458
461
  }
459
462
  });
460
- }, at = /* @__PURE__ */ t({
461
- box: () => ct,
462
- isType: () => st,
463
- revive: () => lt,
464
- type: () => ot
465
- }), ot = "abortSignal", st = (e) => e instanceof AbortSignal, ct = (e, t) => {
466
- let { localPort: n, boxedRemote: r } = U(t);
463
+ }, nt = /* @__PURE__ */ t({
464
+ box: () => at,
465
+ isType: () => it,
466
+ revive: () => ot,
467
+ type: () => rt
468
+ }), rt = "abortSignal", it = (e) => e instanceof AbortSignal, at = (e, t) => {
469
+ let { localPort: n, boxedRemote: r } = q(t);
467
470
  return e.aborted ? n.close() : e.addEventListener("abort", () => {
468
471
  n.postMessage({
469
472
  type: "abort",
470
473
  reason: e.reason
471
474
  }), n.close();
472
475
  }, { once: !0 }), {
473
- ...N,
474
- type: ot,
476
+ ...P,
477
+ type: rt,
475
478
  aborted: e.aborted,
476
- reason: e.aborted ? Z(e.reason, t) : void 0,
479
+ reason: e.aborted ? X(e.reason, t) : void 0,
477
480
  port: r
478
481
  };
479
- }, lt = (e, t) => {
482
+ }, ot = (e, t) => {
480
483
  let n = new AbortController();
481
- if (e.aborted) return n.abort(Q(e.reason, t)), n.signal;
482
- let r = H(e.port, t);
484
+ if (e.aborted) return n.abort(Z(e.reason, t)), n.signal;
485
+ let r = K(e.port, t);
483
486
  return r.start(), r.addEventListener("message", ({ data: e }) => {
484
- e.type === "abort" && (n.abort(Q(e.reason, t)), r.close());
487
+ e.type === "abort" && (n.abort(Z(e.reason, t)), r.close());
485
488
  }), n.signal;
486
- }, ut = /* @__PURE__ */ t({
487
- box: () => pt,
488
- isType: () => ft,
489
- revive: () => mt,
490
- type: () => dt
491
- }), dt = "response", ft = (e) => e instanceof Response, pt = (e, t) => ({
492
- ...N,
493
- type: dt,
489
+ }, st = /* @__PURE__ */ t({
490
+ box: () => ut,
491
+ isType: () => lt,
492
+ revive: () => dt,
493
+ type: () => ct
494
+ }), ct = "response", lt = (e) => e instanceof Response, ut = (e, t) => ({
495
+ ...P,
496
+ type: ct,
494
497
  status: e.status,
495
498
  statusText: e.statusText,
496
- headers: Te(e.headers, t),
497
- body: e.body ? G(e.body, t) : null,
499
+ headers: z(e.headers, t),
500
+ body: e.body ? Y(e.body, t) : null,
498
501
  url: e.url,
499
502
  redirected: e.redirected
500
- }), mt = (e, t) => {
501
- let n = I(e.headers, t), r = e.body ? K(e.body, t) : null;
503
+ }), dt = (e, t) => {
504
+ let n = B(e.headers, t), r = e.body ? tt(e.body, t) : null;
502
505
  return new Response(r, {
503
506
  status: e.status,
504
507
  statusText: e.statusText,
505
508
  headers: n
506
509
  });
507
- }, ht = /* @__PURE__ */ t({
508
- box: () => vt,
509
- isType: () => _t,
510
- revive: () => yt,
511
- type: () => gt
512
- }), gt = "request", _t = (e) => e instanceof Request, vt = (e, t) => ({
513
- ...N,
514
- type: gt,
510
+ }, ft = /* @__PURE__ */ t({
511
+ box: () => ht,
512
+ isType: () => mt,
513
+ revive: () => gt,
514
+ type: () => pt
515
+ }), pt = "request", mt = (e) => e instanceof Request, ht = (e, t) => ({
516
+ ...P,
517
+ type: pt,
515
518
  method: e.method,
516
519
  url: e.url,
517
- headers: Te(e.headers, t),
518
- body: e.body ? G(e.body, t) : null,
520
+ headers: z(e.headers, t),
521
+ body: e.body ? Y(e.body, t) : null,
519
522
  credentials: e.credentials,
520
523
  cache: e.cache,
521
524
  redirect: e.redirect,
@@ -523,8 +526,8 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
523
526
  referrerPolicy: e.referrerPolicy,
524
527
  integrity: e.integrity,
525
528
  keepalive: e.keepalive
526
- }), yt = (e, t) => {
527
- let n = I(e.headers, t), r = e.body ? K(e.body, t) : null;
529
+ }), gt = (e, t) => {
530
+ let n = B(e.headers, t), r = e.body ? tt(e.body, t) : null;
528
531
  return new Request(e.url, {
529
532
  method: e.method,
530
533
  headers: n,
@@ -538,22 +541,22 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
538
541
  keepalive: e.keepalive,
539
542
  duplex: "half"
540
543
  });
541
- }, bt = /* @__PURE__ */ t({
544
+ }, _t = /* @__PURE__ */ t({
542
545
  box: () => kt,
543
546
  identity: () => wt,
544
547
  isType: () => Ot,
545
548
  revive: () => At,
546
- type: () => q
547
- }), q = "identity", J = Symbol.for("osra.identity"), Y = (e) => e !== null && (typeof e == "object" || typeof e == "function"), xt = (e) => Y(e) && J in e && e[J] === !0, St = /* @__PURE__ */ new WeakMap(), Ct = (e) => {
549
+ type: () => vt
550
+ }), vt = "identity", yt = Symbol.for("osra.identity"), bt = (e) => e !== null && (typeof e == "object" || typeof e == "function"), xt = (e) => bt(e) && yt in e && e[yt] === !0, St = /* @__PURE__ */ new WeakMap(), Ct = (e) => {
548
551
  if (xt(e)) return e;
549
552
  let t = St.get(e);
550
553
  if (t) return t;
551
554
  let n = {
552
- [J]: !0,
555
+ [yt]: !0,
553
556
  value: e
554
557
  };
555
558
  return St.set(e, n), n;
556
- }, wt = (e) => Y(e) ? Ct(e) : e, Tt = /* @__PURE__ */ new WeakMap(), Et = (e) => {
559
+ }, wt = (e) => bt(e) ? Ct(e) : e, Tt = /* @__PURE__ */ new WeakMap(), Et = (e) => {
557
560
  let t = Tt.get(e);
558
561
  if (t) return t;
559
562
  let n = {
@@ -576,19 +579,19 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
576
579
  e?.type === "identity-dispose" && t.receiveCache.delete(e.id);
577
580
  }));
578
581
  }, Ot = (e) => xt(e), kt = (e, t) => {
579
- let n = Et(t), r = e.value, i = Y(r) ? r : void 0;
582
+ let n = Et(t), r = e.value, i = bt(r) ? r : void 0;
580
583
  if (i !== void 0) {
581
584
  let e = n.sendIds.get(i);
582
585
  if (e !== void 0) return {
583
- ...N,
584
- type: q,
586
+ ...P,
587
+ type: vt,
585
588
  id: e
586
589
  };
587
590
  }
588
- let a = globalThis.crypto.randomUUID(), o = Z(r, t);
591
+ let a = globalThis.crypto.randomUUID(), o = X(r, t);
589
592
  return i !== void 0 && (n.sendIds.set(i, a), n.sendRegistry.register(i, a)), {
590
- ...N,
591
- type: q,
593
+ ...P,
594
+ type: vt,
592
595
  id: a,
593
596
  inner: o
594
597
  };
@@ -596,15 +599,15 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
596
599
  let n = Et(t), r = n.receiveCache.get(e.id);
597
600
  if (r !== void 0) return r;
598
601
  if (!("inner" in e) || e.inner === void 0) throw Error(`osra identity: received id=${e.id} with no inner payload and no cached value`);
599
- let i = Q(e.inner, t);
602
+ let i = Z(e.inner, t);
600
603
  return n.receiveCache.set(e.id, i), i;
601
604
  }, jt = /* @__PURE__ */ t({
602
- box: () => Rt,
603
- isType: () => Lt,
604
- revive: () => zt,
605
- transfer: () => It,
605
+ box: () => zt,
606
+ isType: () => Rt,
607
+ revive: () => Bt,
608
+ transfer: () => Lt,
606
609
  type: () => Mt
607
- }), Mt = "transfer", X = Symbol.for("osra.transfer"), Nt = (e) => typeof e == "object" && !!e, Pt = (e) => Nt(e) && X in e && e[X] === !0, Ft = (e) => Nt(e) ? ArrayBuffer.isView(e) ? !0 : _(e, [
610
+ }), Mt = "transfer", Nt = Symbol.for("osra.transfer"), Pt = (e) => typeof e == "object" && !!e, Ft = (e) => Pt(e) && Nt in e && e[Nt] === !0, It = (e) => Pt(e) ? ArrayBuffer.isView(e) ? !0 : _(e, [
608
611
  globalThis.ArrayBuffer,
609
612
  globalThis.MessagePort,
610
613
  globalThis.ReadableStream,
@@ -612,55 +615,55 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
612
615
  globalThis.TransformStream,
613
616
  globalThis.ImageBitmap,
614
617
  globalThis.OffscreenCanvas
615
- ]) : !1, It = (e) => Ft(e) ? {
616
- [X]: !0,
618
+ ]) : !1, Lt = (e) => It(e) ? {
619
+ [Nt]: !0,
617
620
  value: e
618
- } : e, Lt = (e) => Pt(e), Rt = (e, t) => {
619
- let n = e.value, r = Z(n, t);
621
+ } : e, Rt = (e) => Ft(e), zt = (e, t) => {
622
+ let n = e.value, r = X(n, t);
620
623
  return {
621
- ...N,
624
+ ...P,
622
625
  type: Mt,
623
626
  inner: r,
624
- degraded: E(t.transport)
627
+ degraded: D(t.transport)
625
628
  };
626
- }, zt = (e, t) => Q(e.inner, t), Bt = /* @__PURE__ */ t({
627
- box: () => Ht,
628
- isType: () => Vt,
629
- revive: () => Ut,
629
+ }, Bt = (e, t) => Z(e.inner, t), Vt = /* @__PURE__ */ t({
630
+ box: () => Ut,
631
+ isType: () => Ht,
632
+ revive: () => Wt,
630
633
  type: () => "map"
631
- }), Vt = (e) => e instanceof Map, Ht = (e, t) => ({
632
- ...N,
634
+ }), Ht = (e) => e instanceof Map, Ut = (e, t) => ({
635
+ ...P,
633
636
  type: "map",
634
- entries: Array.from(e, ([e, n]) => [Z(e, t), Z(n, t)])
635
- }), Ut = (e, t) => new Map(e.entries.map(([e, n]) => [Q(e, t), Q(n, t)])), Wt = /* @__PURE__ */ t({
636
- box: () => Kt,
637
- isType: () => Gt,
638
- revive: () => qt,
637
+ entries: Array.from(e, ([e, n]) => [X(e, t), X(n, t)])
638
+ }), Wt = (e, t) => new Map(e.entries.map(([e, n]) => [Z(e, t), Z(n, t)])), Gt = /* @__PURE__ */ t({
639
+ box: () => qt,
640
+ isType: () => Kt,
641
+ revive: () => Jt,
639
642
  type: () => "set"
640
- }), Gt = (e) => e instanceof Set, Kt = (e, t) => ({
641
- ...N,
643
+ }), Kt = (e) => e instanceof Set, qt = (e, t) => ({
644
+ ...P,
642
645
  type: "set",
643
- values: Array.from(e, (e) => Z(e, t))
644
- }), qt = (e, t) => new Set(e.values.map((e) => Q(e, t))), Jt = /* @__PURE__ */ t({
645
- box: () => Zt,
646
- isType: () => Xt,
647
- revive: () => Qt,
648
- type: () => Yt
649
- }), Yt = "bigint", Xt = (e) => typeof e == "bigint", Zt = (e, t) => ({
650
- ...N,
651
- type: Yt,
646
+ values: Array.from(e, (e) => X(e, t))
647
+ }), Jt = (e, t) => new Set(e.values.map((e) => Z(e, t))), Yt = /* @__PURE__ */ t({
648
+ box: () => Qt,
649
+ isType: () => Zt,
650
+ revive: () => $t,
651
+ type: () => Xt
652
+ }), Xt = "bigint", Zt = (e) => typeof e == "bigint", Qt = (e, t) => ({
653
+ ...P,
654
+ type: Xt,
652
655
  value: e.toString()
653
- }), Qt = (e, t) => BigInt(e.value), $t = /* @__PURE__ */ t({
654
- box: () => rn,
655
- isType: () => nn,
656
- revive: () => un,
657
- type: () => en
658
- }), en = "eventTarget", tn = new FinalizationRegistry((e) => {
656
+ }), $t = (e, t) => BigInt(e.value), en = /* @__PURE__ */ t({
657
+ box: () => an,
658
+ isType: () => rn,
659
+ revive: () => dn,
660
+ type: () => tn
661
+ }), tn = "eventTarget", nn = new FinalizationRegistry((e) => {
659
662
  try {
660
663
  e.port.postMessage({ kind: "close" });
661
664
  } catch {}
662
- }), nn = (e) => e instanceof EventTarget, rn = (e, t) => {
663
- let { localPort: n, boxedRemote: r } = U(t), i = /* @__PURE__ */ new Map(), a = () => {
665
+ }), rn = (e) => e instanceof EventTarget, an = (e, t) => {
666
+ let { localPort: n, boxedRemote: r } = q(t), i = /* @__PURE__ */ new Map(), a = () => {
664
667
  for (let [t, n] of i) e.removeEventListener(t, n);
665
668
  i.clear(), n.removeEventListener("message", o), n.close();
666
669
  }, o = ({ data: t }) => {
@@ -690,16 +693,16 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
690
693
  }
691
694
  };
692
695
  return n.addEventListener("message", o), n.start(), {
693
- ...N,
694
- type: en,
696
+ ...P,
697
+ type: tn,
695
698
  port: r
696
699
  };
697
- }, an = (e) => typeof e == "boolean" ? e : !!e?.capture, on = (e) => typeof e == "object" && !!e && !!e.once, sn = (e, t, n, r) => {
700
+ }, on = (e) => typeof e == "boolean" ? e : !!e?.capture, sn = (e) => typeof e == "object" && !!e && !!e.once, cn = (e, t, n, r) => {
698
701
  let i = e.get(t);
699
702
  if (!i) return !1;
700
703
  let a = i.get(n);
701
704
  return !a || !a.delete(r) || (a.size === 0 && i.delete(n), i.size > 0) ? !1 : (e.delete(t), !0);
702
- }, cn = (e, t) => {
705
+ }, ln = (e, t) => {
703
706
  e.addEventListener("message", ({ data: e }) => {
704
707
  if (e.kind !== "event") return;
705
708
  let n = t.deref();
@@ -714,16 +717,16 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
714
717
  }) : new Event(e.eventType, r);
715
718
  n.dispatchEvent(i);
716
719
  });
717
- }, ln = (e, t, n) => {
720
+ }, un = (e, t, n) => {
718
721
  let r = EventTarget.prototype.addEventListener.bind(e), i = EventTarget.prototype.removeEventListener.bind(e);
719
722
  Object.defineProperty(e, "addEventListener", { value: (e, i, a) => {
720
723
  if (i === null) return;
721
- let o = an(a), s = on(a), c = n.get(e), l = !c;
724
+ let o = on(a), s = sn(a), c = n.get(e), l = !c;
722
725
  c || (c = /* @__PURE__ */ new Map(), n.set(e, c));
723
726
  let u = c.get(i);
724
727
  if (u || (u = /* @__PURE__ */ new Map(), c.set(i, u)), u.has(o)) return;
725
728
  let d = s ? (r) => {
726
- sn(n, e, i, o) && t.postMessage({
729
+ cn(n, e, i, o) && t.postMessage({
727
730
  kind: "unsubscribe",
728
731
  eventType: e
729
732
  }), typeof i == "function" ? i(r) : i.handleEvent(r);
@@ -734,58 +737,58 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
734
737
  }), r(e, d, a);
735
738
  } }), Object.defineProperty(e, "removeEventListener", { value: (e, r, a) => {
736
739
  if (r === null) return;
737
- let o = an(a), s = n.get(e)?.get(r)?.get(o);
738
- s && (i(e, s, a), sn(n, e, r, o) && t.postMessage({
740
+ let o = on(a), s = n.get(e)?.get(r)?.get(o);
741
+ s && (i(e, s, a), cn(n, e, r, o) && t.postMessage({
739
742
  kind: "unsubscribe",
740
743
  eventType: e
741
744
  }));
742
745
  } });
743
- }, un = (e, t) => {
744
- let n = H(e.port, t);
746
+ }, dn = (e, t) => {
747
+ let n = K(e.port, t);
745
748
  n.start();
746
749
  let r = new EventTarget(), i = /* @__PURE__ */ new Map();
747
- return cn(n, new WeakRef(r)), ln(r, n, i), tn.register(r, { port: n }, r), r;
748
- }, dn = [
750
+ return ln(n, new WeakRef(r)), un(r, n, i), nn.register(r, { port: n }, r), r;
751
+ }, fn = [
749
752
  jt,
750
- bt,
751
- fe,
752
- _e,
753
+ _t,
754
+ le,
755
+ me,
756
+ ye,
753
757
  Se,
754
- Ee,
755
- je,
756
- Ue,
757
- Xe,
758
- Ie,
758
+ De,
759
+ ze,
760
+ Ke,
761
+ Me,
762
+ Qe,
759
763
  nt,
760
- at,
761
- ut,
762
- ht,
763
- Bt,
764
- Wt,
765
- Jt,
766
- $t
767
- ], fn = (e, t) => t.find((t) => t.isType(e)), pn = (e, t) => t.find((t) => t.type === e.type), mn = (e) => !!e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype, hn = (e, t) => Array.isArray(e) ? e.map((e) => t(e)) : mn(e) ? Object.fromEntries(Object.entries(e).map(([e, n]) => [e, t(n)])) : e, gn = (e, t) => {
768
- let n = fn(e, t.revivableModules);
764
+ st,
765
+ ft,
766
+ Vt,
767
+ Gt,
768
+ Yt,
769
+ en
770
+ ], pn = (e, t) => t.find((t) => t.isType(e)), mn = (e, t) => t.find((t) => t.type === e.type), hn = (e) => !!e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype, gn = (e, t) => Array.isArray(e) ? e.map((e) => t(e)) : hn(e) ? Object.fromEntries(Object.entries(e).map(([e, n]) => [e, t(n)])) : e, _n = (e, t) => {
771
+ let n = pn(e, t.revivableModules);
769
772
  return n ? n.box(e, t) : e;
770
- }, Z = (e, t) => {
771
- if (P(e)) return e;
772
- let n = fn(e, t.revivableModules);
773
- return n ? n.box(e, t) : hn(e, (e) => Z(e, t));
774
- }, _n = (e, t) => {
775
- if (!P(e)) return e;
773
+ }, X = (e, t) => {
774
+ if (F(e)) return e;
776
775
  let n = pn(e, t.revivableModules);
776
+ return n ? n.box(e, t) : gn(e, (e) => X(e, t));
777
+ }, vn = (e, t) => {
778
+ if (!F(e)) return e;
779
+ let n = mn(e, t.revivableModules);
777
780
  return n ? n.revive(e, t) : e;
778
- }, Q = (e, t) => {
779
- if (P(e)) {
780
- let n = pn(e, t.revivableModules);
781
+ }, Z = (e, t) => {
782
+ if (F(e)) {
783
+ let n = mn(e, t.revivableModules);
781
784
  if (n) return n.revive(e, t);
782
785
  }
783
- return hn(e, (e) => Q(e, t));
784
- }, vn = /* @__PURE__ */ t({
786
+ return gn(e, (e) => Z(e, t));
787
+ }, yn = /* @__PURE__ */ t({
785
788
  init: () => xn,
786
- startBidirectionalConnection: () => bn,
787
- type: () => yn
788
- }), yn = "bidirectional", bn = ({ transport: e, value: t, remoteUuid: n, eventTarget: r, send: i, revivableModules: a }) => {
789
+ startBidirectionalConnection: () => Q,
790
+ type: () => bn
791
+ }), bn = "bidirectional", Q = ({ transport: e, value: t, remoteUuid: n, eventTarget: r, send: i, revivableModules: a }) => {
789
792
  let o = {
790
793
  transport: e,
791
794
  remoteUuid: n,
@@ -800,57 +803,75 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
800
803
  }), i({
801
804
  type: "init",
802
805
  remoteUuid: n,
803
- data: Z(t, o)
806
+ data: X(t, o)
804
807
  }), {
805
808
  revivableContext: o,
806
- remoteValue: s.then((e) => Q(e, o))
809
+ remoteValue: s.then((e) => Z(e, o))
807
810
  };
808
811
  }, xn = (e) => {
809
- D(e.transport) && O(e.transport) && (e.protocolEventTarget.addEventListener("message", ({ detail: t }) => {
810
- if (t.type === "announce") {
811
- if (!t.remoteUuid) {
812
+ if (O(e.transport) && k(e.transport)) {
813
+ if (e.protocolEventTarget.addEventListener("message", ({ detail: t }) => {
814
+ if (t.type === "announce") {
815
+ if (!t.remoteUuid) {
816
+ e.sendMessage({
817
+ type: "announce",
818
+ remoteUuid: t.uuid
819
+ });
820
+ return;
821
+ }
822
+ if (t.remoteUuid !== e.getUuid() || e.connectionContexts.has(t.uuid)) return;
812
823
  e.sendMessage({
813
824
  type: "announce",
814
825
  remoteUuid: t.uuid
815
826
  });
827
+ let n = e.createConnectionEventTarget(), r = {
828
+ type: "bidirectional",
829
+ eventTarget: n,
830
+ connection: Q({
831
+ transport: e.transport,
832
+ value: e.value,
833
+ remoteUuid: t.uuid,
834
+ eventTarget: n,
835
+ send: (t) => e.sendMessage(t),
836
+ revivableModules: e.revivableModules
837
+ })
838
+ };
839
+ e.connectionContexts.set(t.uuid, r), r.connection.remoteValue.then((t) => e.resolveRemoteValue(t));
816
840
  return;
817
841
  }
818
- if (t.remoteUuid !== e.getUuid() || e.connectionContexts.has(t.uuid)) return;
819
- e.sendMessage({
820
- type: "announce",
821
- remoteUuid: t.uuid
822
- });
823
- let n = e.createConnectionEventTarget(), r = {
842
+ if (t.type === "close") {
843
+ if (t.remoteUuid !== e.getUuid()) return;
844
+ e.connectionContexts.delete(t.uuid);
845
+ return;
846
+ }
847
+ if (t.remoteUuid !== e.getUuid()) return;
848
+ let n = e.connectionContexts.get(t.uuid);
849
+ n && n.eventTarget.dispatchEvent(new CustomEvent("message", { detail: t }));
850
+ }), e.presetRemoteUuid !== void 0) {
851
+ let t = e.createConnectionEventTarget(), n = {
824
852
  type: "bidirectional",
825
- eventTarget: n,
826
- connection: bn({
853
+ eventTarget: t,
854
+ connection: Q({
827
855
  transport: e.transport,
828
856
  value: e.value,
829
- remoteUuid: t.uuid,
830
- eventTarget: n,
857
+ remoteUuid: e.presetRemoteUuid,
858
+ eventTarget: t,
831
859
  send: (t) => e.sendMessage(t),
832
860
  revivableModules: e.revivableModules
833
861
  })
834
862
  };
835
- e.connectionContexts.set(t.uuid, r), r.connection.remoteValue.then((t) => e.resolveRemoteValue(t));
863
+ e.connectionContexts.set(e.presetRemoteUuid, n), n.connection.remoteValue.then((t) => e.resolveRemoteValue(t));
836
864
  return;
837
865
  }
838
- if (t.type === "close") {
839
- if (t.remoteUuid !== e.getUuid()) return;
840
- e.connectionContexts.delete(t.uuid);
841
- return;
842
- }
843
- if (t.remoteUuid !== e.getUuid()) return;
844
- let n = e.connectionContexts.get(t.uuid);
845
- n && n.eventTarget.dispatchEvent(new CustomEvent("message", { detail: t }));
846
- }), e.sendMessage({ type: "announce" }));
866
+ e.sendMessage({ type: "announce" });
867
+ }
847
868
  }, Sn = () => new EventTarget(), Cn = (e) => _(e, [
848
869
  globalThis.MessagePort,
849
870
  globalThis.ReadableStream,
850
871
  globalThis.WritableStream,
851
872
  globalThis.TransformStream,
852
873
  globalThis.OffscreenCanvas
853
- ]), wn = (e) => P(e) && e.type === "transfer", $ = (e) => {
874
+ ]), wn = (e) => F(e) && e.type === "transfer", $ = (e) => {
854
875
  let t = [], n = /* @__PURE__ */ new WeakSet(), r = (e, i) => {
855
876
  if (!(!e || typeof e != "object") && !n.has(e) && (n.add(e), !v(e))) {
856
877
  if (wn(e)) {
@@ -861,7 +882,7 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
861
882
  t.push(e);
862
883
  return;
863
884
  }
864
- if (ee(e)) {
885
+ if (y(e)) {
865
886
  i && t.push(e);
866
887
  return;
867
888
  }
@@ -876,45 +897,46 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
876
897
  };
877
898
  return r(e, !1), t;
878
899
  }, Tn = (e) => ({
879
- isJson: "isJson" in e && e.isJson !== void 0 ? e.isJson : E(e),
900
+ isJson: "isJson" in e && e.isJson !== void 0 ? e.isJson : D(e),
880
901
  ...A(e) ? e : {
881
902
  emit: e,
882
903
  receive: e
883
904
  }
884
- }), En = (e) => [...dn.filter((t) => !(e ?? []).some((e) => e.type === t.type)), ...e ?? []], Dn = [vn], On = (e, { transport: t, name: i, remoteName: a, key: o = r, origin: s = "*", unregisterSignal: c, revivableModules: l }) => {
885
- let u = Tn(t), d = En(l), f = /* @__PURE__ */ new Map(), { promise: p, resolve: m } = Promise.withResolvers(), h = globalThis.crypto.randomUUID(), g = (e) => {
886
- if (c?.aborted || !D(u)) return;
905
+ }), En = (e) => [...fn.filter((t) => !(e ?? []).some((e) => e.type === t.type)), ...e ?? []], Dn = [yn], On = (e, { transport: t, name: i, remoteName: a, key: o = r, origin: s = "*", unregisterSignal: c, revivableModules: l, uuid: u, remoteUuid: d }) => {
906
+ let f = Tn(t), p = En(l), m = /* @__PURE__ */ new Map(), { promise: h, resolve: g } = Promise.withResolvers(), _ = u ?? globalThis.crypto.randomUUID(), v = (e) => {
907
+ if (c?.aborted || !O(f)) return;
887
908
  let t = {
888
909
  [n]: o,
889
910
  name: i,
890
- uuid: h,
911
+ uuid: _,
891
912
  ...e
892
913
  };
893
- le(u, t, s, $(t));
894
- }, _ = Sn(), v = {
895
- transport: u,
914
+ ce(f, t, s, $(t));
915
+ }, y = Sn(), b = {
916
+ transport: f,
896
917
  value: e,
897
- revivableModules: d,
898
- connectionContexts: f,
899
- getUuid: () => h,
900
- sendMessage: g,
901
- protocolEventTarget: _,
902
- resolveRemoteValue: m,
918
+ revivableModules: p,
919
+ connectionContexts: m,
920
+ getUuid: () => _,
921
+ presetRemoteUuid: d,
922
+ sendMessage: v,
923
+ protocolEventTarget: y,
924
+ resolveRemoteValue: g,
903
925
  createConnectionEventTarget: Sn
904
926
  };
905
- O(u) && ce({
927
+ k(f) && se({
906
928
  listener: (e, t) => {
907
- e.uuid !== h && _.dispatchEvent(new CustomEvent("message", { detail: e }));
929
+ e.uuid !== _ && y.dispatchEvent(new CustomEvent("message", { detail: e }));
908
930
  },
909
- transport: u,
931
+ transport: f,
910
932
  remoteName: a,
911
933
  key: o,
912
934
  unregisterSignal: c
913
935
  });
914
- for (let e of Dn) e.init(v);
915
- return p;
936
+ for (let e of Dn) e.init(b);
937
+ return h;
916
938
  }, kn = async (e, t) => On(e, t);
917
939
  //#endregion
918
- export { N as BoxBase, R as EventChannel, L as EventPort, i as OSRA_BOX, r as OSRA_DEFAULT_KEY, n as OSRA_KEY, ne as assertEmitTransport, re as assertReceiveTransport, gn as box, ue as boxBuffer, j as checkOsraMessageKey, Dn as connections, Sn as createTypedEventTarget, dn as defaultRevivableModules, kn as expose, $ as getTransferableObjects, oe as getWebExtensionGlobal, se as getWebExtensionRuntime, wt as identity, xn as init, _ as instanceOfAny, v as isClonable, ie as isCustomEmitTransport, k as isCustomReceiveTransport, A as isCustomTransport, p as isDedicatedWorker, w as isEmitJsonOnlyTransport, D as isEmitTransport, E as isJsonOnlyTransport, g as isOsraMessage, T as isReceiveJsonOnlyTransport, O as isReceiveTransport, P as isRevivableBox, d as isServiceWorkerContainer, m as isSharedWorker, ee as isTransferable, ae as isTransport, l as isTypedArray, x as isWebExtensionOnConnect, S as isWebExtensionOnMessage, b as isWebExtensionPort, y as isWebExtensionRuntime, u as isWebSocket, C as isWindow, f as isWorker, En as mergeRevivableModules, Tn as normalizeTransport, Z as recursiveBox, Q as recursiveRevive, ce as registerOsraMessageListener, _n as revive, de as reviveBuffer, le as sendOsraMessage, F as serializeError, bn as startBidirectionalConnection, On as startConnections, It as transfer, yn as type, s as typedArrayToType, c as typedArrayTypeToTypedArrayConstructor };
940
+ export { P as BoxBase, H as EventChannel, V as EventPort, i as OSRA_BOX, r as OSRA_DEFAULT_KEY, n as OSRA_KEY, te as assertEmitTransport, ne as assertReceiveTransport, _n as box, L as boxBuffer, M as checkOsraMessageKey, Dn as connections, Sn as createTypedEventTarget, fn as defaultRevivableModules, kn as expose, $ as getTransferableObjects, oe as getWebExtensionGlobal, j as getWebExtensionRuntime, wt as identity, xn as init, _ as instanceOfAny, v as isClonable, re as isCustomEmitTransport, ie as isCustomReceiveTransport, A as isCustomTransport, p as isDedicatedWorker, T as isEmitJsonOnlyTransport, O as isEmitTransport, D as isJsonOnlyTransport, g as isOsraMessage, E as isReceiveJsonOnlyTransport, k as isReceiveTransport, F as isRevivableBox, d as isServiceWorkerContainer, m as isSharedWorker, y as isTransferable, ae as isTransport, l as isTypedArray, S as isWebExtensionOnConnect, C as isWebExtensionOnMessage, x as isWebExtensionPort, b as isWebExtensionRuntime, u as isWebSocket, w as isWindow, f as isWorker, En as mergeRevivableModules, Tn as normalizeTransport, X as recursiveBox, Z as recursiveRevive, se as registerOsraMessageListener, vn as revive, R as reviveBuffer, ce as sendOsraMessage, I as serializeError, Q as startBidirectionalConnection, On as startConnections, Lt as transfer, bn as type, s as typedArrayToType, c as typedArrayTypeToTypedArrayConstructor };
919
941
 
920
942
  //# sourceMappingURL=index.js.map