osra 0.2.6 → 0.2.8

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
@@ -1,7 +1,17 @@
1
- const C = "__OSRA_KEY__", de = "__OSRA_DEFAULT_KEY__", M = "__OSRA_BOX__", m = {
1
+ const P = "__OSRA_KEY__", pe = "__OSRA_DEFAULT_KEY__", M = "__OSRA_BOX__", b = {
2
2
  [M]: "revivable",
3
3
  type: ""
4
- }, le = (e, t) => e && typeof e == "object" && M in e && e[M] === "revivable", pe = () => {
4
+ }, ge = (e, t) => e && typeof e == "object" && M in e && e[M] === "revivable", q = "context", K = Symbol.for("OSRA_CONTEXT"), be = { [K]: !0 }, me = (e) => e !== null && typeof e == "object" && K in e, ue = (e, t) => ({
5
+ ...b,
6
+ type: q
7
+ }), Ae = (e, t) => t.messageContext ?? {}, he = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
8
+ __proto__: null,
9
+ OSRA_CONTEXT: be,
10
+ box: ue,
11
+ isType: me,
12
+ revive: Ae,
13
+ type: q
14
+ }, Symbol.toStringTag, { value: "Module" })), we = () => {
5
15
  const e = /* @__PURE__ */ new Map(), t = {
6
16
  getUniqueUuid: () => {
7
17
  let r = globalThis.crypto.randomUUID();
@@ -33,48 +43,48 @@ const C = "__OSRA_KEY__", de = "__OSRA_DEFAULT_KEY__", M = "__OSRA_BOX__", m = {
33
43
  }
34
44
  };
35
45
  return t;
36
- }, K = (e, t) => ue(e) && e[C] === t, ge = ({ listener: e, transport: t, remoteName: r, key: n = C, unregisterSignal: a }) => {
46
+ }, v = (e, t) => _e(e) && e[P] === t, Ue = ({ listener: e, transport: t, remoteName: r, key: n = P, unregisterSignal: a }) => {
37
47
  const s = (o) => {
38
48
  if (typeof o == "function")
39
49
  o(e);
40
50
  else if (O(o) || R(o) || $(o)) {
41
- const i = (c, y) => {
42
- const l = (p, f) => {
43
- K(p, n) && (r && p.name !== r || e(p, { port: y, sender: f }));
51
+ const c = (y, l) => {
52
+ const f = (p, i) => {
53
+ v(p, n) && (r && p.name !== r || e(p, { port: l, sender: i }));
44
54
  };
45
- c.addListener(l), a && a.addEventListener(
55
+ y.addListener(f), a && a.addEventListener(
46
56
  "abort",
47
- () => c.removeListener(l)
57
+ () => y.removeListener(f)
48
58
  );
49
59
  };
50
60
  if (R(o)) {
51
- const c = (y) => {
52
- i(y.onMessage, y);
61
+ const y = (l) => {
62
+ c(l.onMessage, l);
53
63
  };
54
- o.addListener(c), a && a.addEventListener(
64
+ o.addListener(y), a && a.addEventListener(
55
65
  "abort",
56
- () => o.removeListener(c)
66
+ () => o.removeListener(y)
57
67
  );
58
- } else $(o) ? i(o) : i(o.onMessage);
68
+ } else $(o) ? c(o) : c(o.onMessage);
59
69
  } else {
60
- const i = (c) => {
61
- K(c.data, n) && (r && c.data.name !== r || e(c.data, { receiveTransport: o, source: c.source }));
70
+ const c = (y) => {
71
+ v(y.data, n) && (r && y.data.name !== r || e(y.data, { receiveTransport: o, source: y.source }));
62
72
  };
63
- o.addEventListener("message", i), a && a.addEventListener(
73
+ o.addEventListener("message", c), a && a.addEventListener(
64
74
  "abort",
65
- () => o.removeEventListener("message", i)
75
+ () => o.removeEventListener("message", c)
66
76
  );
67
77
  }
68
78
  };
69
79
  J(t) ? s(t.receive) : s(t);
70
- }, be = (e, t, r = "*", n = []) => {
80
+ }, Te = (e, t, r = "*", n = []) => {
71
81
  const a = (s) => {
72
82
  typeof s == "function" ? s(t, n) : O(s) ? s.postMessage(t) : z(s) ? s.postMessage(t, r, n) : k(s) ? s.send(JSON.stringify(t)) : D(s) ? s.port.postMessage(t, n) : s.postMessage(t, n);
73
83
  };
74
84
  J(e) ? a(e.emit) : a(e);
75
85
  };
76
86
  new Int8Array(), new Uint8Array(), new Uint8ClampedArray(), new Int16Array(), new Uint16Array(), new Int32Array(), new Uint32Array(), new Float16Array(), new Float32Array(), new Float64Array(), new BigInt64Array(), new BigUint64Array();
77
- const k = (e) => e instanceof WebSocket, Y = (e) => globalThis.ServiceWorkerContainer && e instanceof ServiceWorkerContainer, G = (e) => globalThis.Worker && e instanceof Worker, H = (e) => globalThis.DedicatedWorkerGlobalScope && e instanceof DedicatedWorkerGlobalScope, D = (e) => globalThis.SharedWorker && e instanceof SharedWorker, X = (e) => e instanceof MessagePort, ue = (e) => !!(e && typeof e == "object" && e[C]), me = (e) => !!(globalThis.SharedArrayBuffer && e instanceof globalThis.SharedArrayBuffer), Ae = (e) => globalThis.ArrayBuffer && e instanceof globalThis.ArrayBuffer || globalThis.MessagePort && e instanceof globalThis.MessagePort || globalThis.ReadableStream && e instanceof globalThis.ReadableStream || globalThis.WritableStream && e instanceof globalThis.WritableStream || globalThis.TransformStream && e instanceof globalThis.TransformStream ? !0 : !!(globalThis.ImageBitmap && e instanceof globalThis.ImageBitmap), O = (e, t = !1) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && "name" in e && "disconnect" in e && "postMessage" in e && (!t || "sender" in e && "onMessage" in e && "onDisconnect" in e)), R = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && e.addListener && e.hasListener && e.removeListener), $ = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && e.addListener && e.hasListener && e.removeListener), z = (e) => {
87
+ const k = (e) => e instanceof WebSocket, X = (e) => globalThis.ServiceWorkerContainer && e instanceof ServiceWorkerContainer, Y = (e) => globalThis.Worker && e instanceof Worker, G = (e) => globalThis.DedicatedWorkerGlobalScope && e instanceof DedicatedWorkerGlobalScope, D = (e) => globalThis.SharedWorker && e instanceof SharedWorker, H = (e) => e instanceof MessagePort, _e = (e) => !!(e && typeof e == "object" && e[P]), Me = (e) => !!(globalThis.SharedArrayBuffer && e instanceof globalThis.SharedArrayBuffer), Ce = (e) => globalThis.ArrayBuffer && e instanceof globalThis.ArrayBuffer || globalThis.MessagePort && e instanceof globalThis.MessagePort || globalThis.ReadableStream && e instanceof globalThis.ReadableStream || globalThis.WritableStream && e instanceof globalThis.WritableStream || globalThis.TransformStream && e instanceof globalThis.TransformStream ? !0 : !!(globalThis.ImageBitmap && e instanceof globalThis.ImageBitmap), O = (e, t = !1) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && "name" in e && "disconnect" in e && "postMessage" in e && (!t || "sender" in e && "onMessage" in e && "onDisconnect" in e)), R = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && e.addListener && e.hasListener && e.removeListener), $ = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && e.addListener && e.hasListener && e.removeListener), z = (e) => {
78
88
  if (!e || typeof e != "object") return !1;
79
89
  try {
80
90
  return e.window === e;
@@ -86,44 +96,44 @@ const k = (e) => e instanceof WebSocket, Y = (e) => globalThis.ServiceWorkerCont
86
96
  return !1;
87
97
  }
88
98
  }
89
- }, v = (e) => k(e) || O(e), x = (e) => k(e) || O(e) || R(e) || $(e), S = (e) => "isJson" in e && e.isJson === !0 || v(e) || x(e), B = (e) => z(e) || v(e) || Y(e) || G(e) || H(e) || D(e) || X(e) || Q(e), W = (e) => z(e) || x(e) || Y(e) || G(e) || H(e) || D(e) || X(e) || Z(e), Q = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && "emit" in e && (B(e.emit) || typeof e.emit == "function")), Z = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && "receive" in e && (W(e.receive) || typeof e.receive == "function")), J = (e) => Q(e) || Z(e), w = (e) => {
90
- const t = [], r = (n) => me(n) ? void 0 : Ae(n) ? t.push(n) : Array.isArray(n) ? n.map(r) : n && typeof n == "object" ? Object.values(n).map(r) : void 0;
99
+ }, N = (e) => k(e) || O(e), Q = (e) => k(e) || O(e) || R(e) || $(e), S = (e) => "isJson" in e && e.isJson === !0 || N(e) || Q(e), C = (e) => z(e) || N(e) || X(e) || Y(e) || G(e) || D(e) || H(e) || Z(e), W = (e) => z(e) || Q(e) || X(e) || Y(e) || G(e) || D(e) || H(e) || ee(e), Z = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && "emit" in e && (C(e.emit) || typeof e.emit == "function")), ee = (e) => !!(e && typeof e == "object" && !(globalThis.Window && e instanceof globalThis.Window) && "receive" in e && (W(e.receive) || typeof e.receive == "function")), J = (e) => Z(e) || ee(e), U = (e) => {
100
+ const t = [], r = (n) => Me(n) ? void 0 : Ce(n) ? t.push(n) : Array.isArray(n) ? n.map(r) : n && typeof n == "object" ? Object.values(n).map(r) : void 0;
91
101
  return r(e), t;
92
- }, I = (e, t = !1) => {
102
+ }, E = (e, t = !1) => {
93
103
  const { port1: r, port2: n } = new MessageChannel(), a = new Promise(
94
104
  (s) => r.addEventListener(
95
105
  "message",
96
106
  (o) => s(o.data)
97
107
  )
98
108
  );
99
- return r.start(), n.postMessage(e, t ? w(e) : []), a;
100
- }, he = async () => {
109
+ return r.start(), n.postMessage(e, t ? U(e) : []), a;
110
+ }, Be = async () => {
101
111
  const { port1: e } = new MessageChannel();
102
- return await I(e, !0) instanceof MessagePort;
103
- }, we = async () => {
112
+ return await E(e, !0) instanceof MessagePort;
113
+ }, Pe = async () => {
104
114
  const e = new ArrayBuffer(1);
105
- return await I(e) instanceof ArrayBuffer;
106
- }, Ue = async () => {
115
+ return await E(e) instanceof ArrayBuffer;
116
+ }, Oe = async () => {
107
117
  const e = new ArrayBuffer(1);
108
- return await I(e, !0) instanceof ArrayBuffer;
109
- }, Te = async () => {
118
+ return await E(e, !0) instanceof ArrayBuffer;
119
+ }, Se = async () => {
110
120
  const e = new ReadableStream({
111
121
  start(r) {
112
122
  r.enqueue(new Uint8Array(1)), r.close();
113
123
  }
114
124
  });
115
- return await I(e, !0) instanceof ReadableStream;
116
- }, Me = async () => {
125
+ return await E(e, !0) instanceof ReadableStream;
126
+ }, Ee = async () => {
117
127
  const [
118
128
  e,
119
129
  t,
120
130
  r,
121
131
  n
122
132
  ] = await Promise.all([
123
- he().catch(() => !1),
124
- we().catch(() => !1),
125
- Ue().catch(() => !1),
126
- Te().catch(() => !1)
133
+ Be().catch(() => !1),
134
+ Pe().catch(() => !1),
135
+ Oe().catch(() => !1),
136
+ Se().catch(() => !1)
127
137
  ]);
128
138
  return {
129
139
  jsonOnly: !e && !t && !r && !n,
@@ -132,48 +142,48 @@ const k = (e) => e instanceof WebSocket, Y = (e) => globalThis.ServiceWorkerCont
132
142
  transferable: r,
133
143
  transferableStream: n
134
144
  };
135
- }, N = "arrayBuffer", _e = (e) => e instanceof ArrayBuffer, Be = (e, t) => ({
136
- ...m,
137
- type: N,
145
+ }, te = "arrayBuffer", Ie = (e) => e instanceof ArrayBuffer, je = (e, t) => ({
146
+ ...b,
147
+ type: te,
138
148
  ...S(t.transport) ? { base64Buffer: new Uint8Array(e).toBase64() } : { arrayBuffer: e }
139
- }), Pe = (e, t) => "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer, Ce = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
149
+ }), Le = (e, t) => "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer, Re = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
140
150
  __proto__: null,
141
- box: Be,
142
- isType: _e,
143
- revive: Pe,
144
- type: N
145
- }, Symbol.toStringTag, { value: "Module" })), ee = "date", Oe = (e) => e instanceof Date, Se = (e, t) => ({
146
- ...m,
147
- type: ee,
151
+ box: je,
152
+ isType: Ie,
153
+ revive: Le,
154
+ type: te
155
+ }, Symbol.toStringTag, { value: "Module" })), re = "date", $e = (e) => e instanceof Date, We = (e, t) => ({
156
+ ...b,
157
+ type: re,
148
158
  ISOString: e.toISOString()
149
- }), Ie = (e, t) => new Date(e.ISOString), Ee = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
159
+ }), Fe = (e, t) => new Date(e.ISOString), ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
150
160
  __proto__: null,
151
- box: Se,
152
- isType: Oe,
153
- revive: Ie,
154
- type: ee
155
- }, Symbol.toStringTag, { value: "Module" })), te = "headers", Le = (e) => e instanceof Headers, je = (e, t) => ({
156
- ...m,
157
- type: te,
161
+ box: We,
162
+ isType: $e,
163
+ revive: Fe,
164
+ type: re
165
+ }, Symbol.toStringTag, { value: "Module" })), ne = "headers", De = (e) => e instanceof Headers, ze = (e, t) => ({
166
+ ...b,
167
+ type: ne,
158
168
  entries: [...e.entries()]
159
- }), Re = (e, t) => new Headers(e.entries), $e = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
169
+ }), Je = (e, t) => new Headers(e.entries), xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
160
170
  __proto__: null,
161
- box: je,
162
- isType: Le,
163
- revive: Re,
164
- type: te
165
- }, Symbol.toStringTag, { value: "Module" })), re = "error", We = (e) => e instanceof Error, Fe = (e, t) => ({
166
- ...m,
167
- type: re,
171
+ box: ze,
172
+ isType: De,
173
+ revive: Je,
174
+ type: ne
175
+ }, Symbol.toStringTag, { value: "Module" })), se = "error", Ve = (e) => e instanceof Error, ve = (e, t) => ({
176
+ ...b,
177
+ type: se,
168
178
  message: e.message,
169
179
  stack: e.stack || e.toString()
170
- }), ke = (e, t) => new Error(e.message, { cause: e.stack }), De = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
180
+ }), qe = (e, t) => new Error(e.message, { cause: e.stack }), Ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
171
181
  __proto__: null,
172
- box: Fe,
173
- isType: We,
174
- revive: ke,
175
- type: re
176
- }, Symbol.toStringTag, { value: "Module" })), ne = "typedArray", ze = [
182
+ box: ve,
183
+ isType: Ve,
184
+ revive: qe,
185
+ type: se
186
+ }, Symbol.toStringTag, { value: "Module" })), oe = "typedArray", Xe = [
177
187
  Int8Array,
178
188
  Uint8Array,
179
189
  Uint8ClampedArray,
@@ -188,153 +198,155 @@ const k = (e) => e instanceof WebSocket, Y = (e) => globalThis.ServiceWorkerCont
188
198
  BigUint64Array
189
199
  ];
190
200
  new Int8Array(), new Uint8Array(), new Uint8ClampedArray(), new Int16Array(), new Uint16Array(), new Int32Array(), new Uint32Array(), new Float16Array(), new Float32Array(), new Float64Array(), new BigInt64Array(), new BigUint64Array();
191
- const se = (e) => {
201
+ const ae = (e) => {
192
202
  const t = e instanceof Int8Array ? "Int8Array" : e instanceof Uint8Array ? "Uint8Array" : e instanceof Uint8ClampedArray ? "Uint8ClampedArray" : e instanceof Int16Array ? "Int16Array" : e instanceof Uint16Array ? "Uint16Array" : e instanceof Int32Array ? "Int32Array" : e instanceof Uint32Array ? "Uint32Array" : e instanceof Float16Array ? "Float16Array" : e instanceof Float32Array ? "Float32Array" : e instanceof Float64Array ? "Float64Array" : e instanceof BigInt64Array ? "BigInt64Array" : e instanceof BigUint64Array ? "BigUint64Array" : void 0;
193
203
  if (t === void 0) throw new Error("Unknown typed array type");
194
204
  return t;
195
- }, oe = (e) => {
205
+ }, ie = (e) => {
196
206
  const t = e === "Int8Array" ? Int8Array : e === "Uint8Array" ? Uint8Array : e === "Uint8ClampedArray" ? Uint8ClampedArray : e === "Int16Array" ? Int16Array : e === "Uint16Array" ? Uint16Array : e === "Int32Array" ? Int32Array : e === "Uint32Array" ? Uint32Array : e === "Float16Array" ? Float16Array : e === "Float32Array" ? Float32Array : e === "Float64Array" ? Float64Array : e === "BigInt64Array" ? BigInt64Array : e === "BigUint64Array" ? BigUint64Array : void 0;
197
207
  if (t === void 0) throw new Error("Unknown typed array type");
198
208
  return t;
199
- }, Je = (e) => ze.some((t) => e instanceof t), Ve = (e, t) => ({
200
- ...m,
201
- type: ne,
202
- typedArrayType: se(e),
209
+ }, Ye = (e) => Xe.some((t) => e instanceof t), Ge = (e, t) => ({
210
+ ...b,
211
+ type: oe,
212
+ typedArrayType: ae(e),
203
213
  ...S(t.transport) ? { base64Buffer: new Uint8Array(e.buffer).toBase64() } : { arrayBuffer: e.buffer }
204
- }), qe = (e, t) => {
205
- const r = oe(e.typedArrayType), n = "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer;
214
+ }), He = (e, t) => {
215
+ const r = ie(e.typedArrayType), n = "arrayBuffer" in e ? e.arrayBuffer : Uint8Array.fromBase64(e.base64Buffer).buffer;
206
216
  return new r(n);
207
- }, Ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
217
+ }, Ne = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
208
218
  __proto__: null,
209
- box: Ve,
210
- isType: Je,
211
- revive: qe,
212
- type: ne,
213
- typedArrayToType: se,
214
- typedArrayTypeToTypedArrayConstructor: oe
215
- }, Symbol.toStringTag, { value: "Module" })), P = new FinalizationRegistry((e) => {
219
+ box: Ge,
220
+ isType: Ye,
221
+ revive: He,
222
+ type: oe,
223
+ typedArrayToType: ae,
224
+ typedArrayTypeToTypedArrayConstructor: ie
225
+ }, Symbol.toStringTag, { value: "Module" })), B = new FinalizationRegistry((e) => {
216
226
  e.sendMessage({
217
227
  type: "message-port-close",
218
228
  remoteUuid: e.remoteUuid,
219
229
  portId: e.portId
220
230
  }), e.cleanup();
221
- }), F = "messagePort", Ye = (e) => e instanceof MessagePort, ae = (e) => e !== null && typeof e == "object" && M in e && e[M] === "revivable", E = (e, t) => {
231
+ }), F = "messagePort", Qe = (e) => e instanceof MessagePort, ce = (e) => e !== null && typeof e == "object" && M in e && e[M] === "revivable", I = (e, t) => {
222
232
  if (S(t.transport)) {
223
- let n = function({ data: y }) {
233
+ let n = function({ data: l }) {
224
234
  t.sendMessage({
225
235
  type: "message",
226
236
  remoteUuid: t.remoteUuid,
227
- data: ae(y) ? y : b(y, t),
237
+ data: ce(l) ? l : m(l, t),
228
238
  portId: s
229
239
  });
230
240
  };
231
- const a = e, s = t.messageChannels.getUniqueUuid(), o = new WeakRef(a), i = ({ detail: y }) => {
232
- if (y.type === "message-port-close") {
233
- if (y.portId !== s) return;
241
+ const a = e, s = t.messageChannels.getUniqueUuid(), o = new WeakRef(a), c = ({ detail: l }) => {
242
+ const { message: f } = l;
243
+ if (f.type === "message-port-close") {
244
+ if (f.portId !== s) return;
234
245
  t.messageChannels.free(s);
235
- const p = o.deref();
236
- p && (P.unregister(p), p.close()), t.eventTarget.removeEventListener("message", i);
246
+ const i = o.deref();
247
+ i && (B.unregister(i), i.close()), t.eventTarget.removeEventListener("message", c);
237
248
  return;
238
249
  }
239
- if (y.type !== "message" || y.portId !== s) return;
240
- const l = o.deref();
241
- if (!l) {
242
- t.eventTarget.removeEventListener("message", i);
250
+ if (f.type !== "message" || f.portId !== s) return;
251
+ const p = o.deref();
252
+ if (!p) {
253
+ t.eventTarget.removeEventListener("message", c);
243
254
  return;
244
255
  }
245
- l.postMessage(y.data, w(y.data));
256
+ p.postMessage(f.data, U(f.data));
246
257
  };
247
- return P.register(o.deref(), {
258
+ return B.register(o.deref(), {
248
259
  sendMessage: t.sendMessage,
249
260
  remoteUuid: t.remoteUuid,
250
261
  portId: s,
251
262
  cleanup: () => {
252
- t.messageChannels.free(s), t.eventTarget.removeEventListener("message", i), o.deref()?.removeEventListener("message", n), o.deref()?.close();
263
+ t.messageChannels.free(s), t.eventTarget.removeEventListener("message", c), o.deref()?.removeEventListener("message", n), o.deref()?.close();
253
264
  }
254
- }, o.deref()), o.deref()?.addEventListener("message", n), o.deref()?.start(), t.eventTarget.addEventListener("message", i), {
255
- ...m,
265
+ }, o.deref()), o.deref()?.addEventListener("message", n), o.deref()?.start(), t.eventTarget.addEventListener("message", c), {
266
+ ...b,
256
267
  type: F,
257
268
  portId: s
258
269
  };
259
270
  }
260
271
  return {
261
- ...m,
272
+ ...b,
262
273
  type: F,
263
274
  port: e
264
275
  };
265
- }, L = (e, t) => {
276
+ }, j = (e, t) => {
266
277
  if ("portId" in e) {
267
- let r = function({ data: f }) {
278
+ let r = function({ data: i }) {
268
279
  t.sendMessage({
269
280
  type: "message",
270
281
  remoteUuid: t.remoteUuid,
271
- data: ae(f) ? f : b(f, t),
282
+ data: ce(i) ? i : m(i, t),
272
283
  portId: n
273
284
  });
274
285
  };
275
- const { portId: n } = e, { port1: a, port2: s } = new MessageChannel(), o = t.messageChannels.get(e.portId), { port1: i } = o || t.messageChannels.alloc(e.portId), c = new WeakRef(a), y = ({ detail: f }) => {
276
- if (f.type !== "message-port-close" || f.portId !== n) return;
277
- const h = c.deref();
278
- h && P.unregister(h), p();
279
- }, l = ({ data: f }) => {
280
- if (f.type !== "message" || f.portId !== n) return;
281
- const h = c.deref();
282
- if (!h) {
286
+ const { portId: n } = e, { port1: a, port2: s } = new MessageChannel(), o = t.messageChannels.get(e.portId), { port1: c } = o || t.messageChannels.alloc(e.portId), y = new WeakRef(a), l = ({ detail: i }) => {
287
+ const { message: u } = i;
288
+ if (u.type !== "message-port-close" || u.portId !== n) return;
289
+ const w = y.deref();
290
+ w && B.unregister(w), p();
291
+ }, f = ({ data: i }) => {
292
+ if (i.type !== "message" || i.portId !== n) return;
293
+ const u = y.deref();
294
+ if (!u) {
283
295
  p();
284
296
  return;
285
297
  }
286
- if (t.messagePorts.has(h))
287
- s.postMessage(f.data);
298
+ if (t.messagePorts.has(u))
299
+ s.postMessage(i.data);
288
300
  else {
289
- const _ = A(f.data, t);
290
- s.postMessage(_, w(_));
301
+ const w = h(i.data, t);
302
+ s.postMessage(w, U(w));
291
303
  }
292
304
  }, p = () => {
293
- t.eventTarget.removeEventListener("message", y), i.removeEventListener("message", l), s.removeEventListener("message", r), s.close();
294
- const f = t.messageChannels.get(n);
295
- f && (f.port1.close(), f.port2 && f.port2.close()), t.messageChannels.free(n);
305
+ t.eventTarget.removeEventListener("message", l), c.removeEventListener("message", f), s.removeEventListener("message", r), s.close();
306
+ const i = t.messageChannels.get(n);
307
+ i && (i.port1.close(), i.port2 && i.port2.close()), t.messageChannels.free(n);
296
308
  };
297
- return P.register(a, {
309
+ return B.register(a, {
298
310
  sendMessage: t.sendMessage,
299
311
  remoteUuid: t.remoteUuid,
300
312
  portId: n,
301
313
  cleanup: p
302
- }, a), s.addEventListener("message", r), s.start(), t.eventTarget.addEventListener("message", y), i.addEventListener("message", l), i.start(), a;
314
+ }, a), s.addEventListener("message", r), s.start(), t.eventTarget.addEventListener("message", l), c.addEventListener("message", f), c.start(), a;
303
315
  }
304
316
  return e.port;
305
- }, Ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
317
+ }, Ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
306
318
  __proto__: null,
307
- box: E,
308
- isType: Ye,
309
- revive: L,
319
+ box: I,
320
+ isType: Qe,
321
+ revive: j,
310
322
  type: F
311
- }, Symbol.toStringTag, { value: "Module" })), ie = "promise", He = (e) => e instanceof Promise, Xe = (e, t) => {
323
+ }, Symbol.toStringTag, { value: "Module" })), ye = "promise", et = (e) => e instanceof Promise, tt = (e, t) => {
312
324
  const r = e, { port1: n, port2: a } = new MessageChannel();
313
325
  t.messagePorts.add(a);
314
326
  const s = (o) => {
315
- const i = b(o, t);
316
- n.postMessage(i, w(i)), n.close(), t.messagePorts.delete(a);
327
+ const c = m(o, t);
328
+ n.postMessage(c, U(c)), n.close(), t.messagePorts.delete(a);
317
329
  };
318
330
  return r.then((o) => s({ type: "resolve", data: o })).catch((o) => s({ type: "reject", error: o?.stack ?? String(o) })), {
319
- ...m,
320
- type: ie,
321
- port: E(a, t)
331
+ ...b,
332
+ type: ye,
333
+ port: I(a, t)
322
334
  };
323
- }, ve = (e, t) => {
324
- const r = L(e.port, t);
335
+ }, rt = (e, t) => {
336
+ const r = j(e.port, t);
325
337
  return t.messagePorts.add(r), new Promise((n, a) => {
326
338
  r.addEventListener("message", (s) => {
327
- const o = s.data, i = A(o, t);
328
- i.type === "resolve" ? n(i.data) : a(i.error), t.messagePorts.delete(r), r.close();
339
+ const o = s.data, c = h(o, t);
340
+ c.type === "resolve" ? n(c.data) : a(c.error), t.messagePorts.delete(r), r.close();
329
341
  }, { once: !0 }), r.start();
330
342
  });
331
- }, xe = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
343
+ }, nt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
332
344
  __proto__: null,
333
- box: Xe,
334
- isType: He,
335
- revive: ve,
336
- type: ie
337
- }, Symbol.toStringTag, { value: "Module" })), ce = "function", Qe = new FinalizationRegistry((e) => {
345
+ box: tt,
346
+ isType: et,
347
+ revive: rt,
348
+ type: ye
349
+ }, Symbol.toStringTag, { value: "Module" })), fe = "function", st = new FinalizationRegistry((e) => {
338
350
  try {
339
351
  e.port.postMessage({ __osra_close__: !0 });
340
352
  } catch {
@@ -343,7 +355,7 @@ const se = (e) => {
343
355
  e.port.close();
344
356
  } catch {
345
357
  }
346
- }), Ze = (e) => typeof e == "function", Ne = (e, t) => {
358
+ }), ot = (e) => typeof e == "function", at = (e, t) => {
347
359
  const { port1: r, port2: n } = new MessageChannel();
348
360
  t.messagePorts.add(n);
349
361
  const a = () => {
@@ -354,264 +366,268 @@ const se = (e) => {
354
366
  a();
355
367
  return;
356
368
  }
357
- const [o, i] = A(s, t), c = (async () => e(...i))(), y = b(c, t);
358
- o.postMessage(y, w(y));
369
+ const [o, c] = h(s, t), y = (async () => e(...c))(), l = m(y, t);
370
+ o.postMessage(l, U(l));
359
371
  }), r.start(), {
360
- ...m,
361
- type: ce,
372
+ ...b,
373
+ type: fe,
362
374
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
363
- port: E(n, t)
375
+ port: I(n, t)
364
376
  };
365
- }, et = (e, t) => {
366
- const r = L(e.port, t), n = (...a) => new Promise((s, o) => {
367
- const { port1: i, port2: c } = new MessageChannel();
368
- t.messagePorts.add(c);
369
- const y = b([c, a], t);
370
- r.postMessage(y, w(y)), t.messagePorts.delete(c), i.addEventListener("message", ({ data: l }) => {
371
- A(l, t).then(s).catch(o).finally(() => {
372
- i.close();
377
+ }, it = (e, t) => {
378
+ const r = j(e.port, t), n = (...a) => new Promise((s, o) => {
379
+ const { port1: c, port2: y } = new MessageChannel();
380
+ t.messagePorts.add(y);
381
+ const l = m([y, a], t);
382
+ r.postMessage(l, U(l)), t.messagePorts.delete(y), c.addEventListener("message", ({ data: f }) => {
383
+ h(f, t).then(s).catch(o).finally(() => {
384
+ c.close();
373
385
  });
374
- }, { once: !0 }), i.start();
386
+ }, { once: !0 }), c.start();
375
387
  });
376
- return Qe.register(n, { port: r }, n), n;
377
- }, tt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
388
+ return st.register(n, { port: r }, n), n;
389
+ }, ct = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
378
390
  __proto__: null,
379
- box: Ne,
380
- isType: Ze,
381
- revive: et,
382
- type: ce
383
- }, Symbol.toStringTag, { value: "Module" })), ye = "readableStream", rt = (e) => e instanceof ReadableStream, nt = (e, t) => {
391
+ box: at,
392
+ isType: ot,
393
+ revive: it,
394
+ type: fe
395
+ }, Symbol.toStringTag, { value: "Module" })), de = "readableStream", yt = (e) => e instanceof ReadableStream, ft = (e, t) => {
384
396
  const { port1: r, port2: n } = new MessageChannel();
385
397
  t.messagePorts.add(n);
386
398
  const a = e.getReader();
387
399
  return r.addEventListener("message", async ({ data: s }) => {
388
- const { type: o } = A(s, t);
400
+ const { type: o } = h(s, t);
389
401
  if (o === "pull") {
390
- const i = a.read(), c = b(i, t);
391
- r.postMessage(c, w(c));
402
+ const c = a.read(), y = m(c, t);
403
+ r.postMessage(y, U(y));
392
404
  } else
393
405
  a.cancel(), r.close();
394
406
  }), r.start(), {
395
- ...m,
396
- type: ye,
397
- port: E(n, t)
407
+ ...b,
408
+ type: de,
409
+ port: I(n, t)
398
410
  };
399
- }, st = (e, t) => {
400
- const r = L(e.port, t);
411
+ }, dt = (e, t) => {
412
+ const r = j(e.port, t);
401
413
  return t.messagePorts.add(r), r.start(), new ReadableStream({
402
414
  start(n) {
403
415
  },
404
416
  pull(n) {
405
417
  return new Promise((a, s) => {
406
418
  r.addEventListener("message", async ({ data: o }) => {
407
- A(o, t).then((c) => {
408
- c.done ? n.close() : n.enqueue(c.value), a();
419
+ h(o, t).then((y) => {
420
+ y.done ? n.close() : n.enqueue(y.value), a();
409
421
  }).catch(s);
410
- }, { once: !0 }), r.postMessage(b({ type: "pull" }, t));
422
+ }, { once: !0 }), r.postMessage(m({ type: "pull" }, t));
411
423
  });
412
424
  },
413
425
  cancel() {
414
- r.postMessage(b({ type: "cancel" }, t)), r.close();
426
+ r.postMessage(m({ type: "cancel" }, t)), r.close();
415
427
  }
416
428
  });
417
- }, ot = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
429
+ }, lt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
418
430
  __proto__: null,
419
- box: nt,
420
- isType: rt,
421
- revive: st,
422
- type: ye
423
- }, Symbol.toStringTag, { value: "Module" })), at = [
424
- Ce,
425
- Ee,
426
- $e,
427
- De,
428
- Ke,
431
+ box: ft,
432
+ isType: yt,
433
+ revive: dt,
434
+ type: de
435
+ }, Symbol.toStringTag, { value: "Module" })), pt = [
436
+ Re,
437
+ he,
438
+ ke,
429
439
  xe,
430
- tt,
431
- Ge,
432
- ot
433
- ], b = (e, t) => {
440
+ Ke,
441
+ Ne,
442
+ nt,
443
+ ct,
444
+ Ze,
445
+ lt
446
+ ], m = (e, t) => {
434
447
  const r = t.revivableModules.find((n) => n.isType(e));
435
- return r?.isType(e) ? r.box(e, t) : Array.isArray(e) ? e.map((n) => b(n, t)) : e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype ? Object.fromEntries(
448
+ return r?.isType(e) ? r.box(e, t) : Array.isArray(e) ? e.map((n) => m(n, t)) : e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype ? Object.fromEntries(
436
449
  Object.entries(e).map(([n, a]) => [
437
450
  n,
438
- b(a, t)
451
+ m(a, t)
439
452
  ])
440
453
  ) : e;
441
- }, A = (e, t) => {
442
- if (le(e)) {
454
+ }, h = (e, t) => {
455
+ if (ge(e)) {
443
456
  const r = t.revivableModules.find((n) => n.type === e.type);
444
457
  if (r)
445
458
  return r.revive(e, t);
446
459
  }
447
- return Array.isArray(e) ? e.map((r) => A(r, t)) : e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype ? Object.fromEntries(
460
+ return Array.isArray(e) ? e.map((r) => h(r, t)) : e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype ? Object.fromEntries(
448
461
  Object.entries(e).map(([r, n]) => [
449
462
  r,
450
- A(n, t)
463
+ h(n, t)
451
464
  ])
452
465
  ) : e;
453
- }, it = ({ transport: e, value: t, uuid: r, remoteUuid: n, platformCapabilities: a, eventTarget: s, send: o, close: i }) => {
454
- const c = {
466
+ }, gt = ({ transport: e, value: t, uuid: r, remoteUuid: n, platformCapabilities: a, eventTarget: s, send: o, close: c }) => {
467
+ const y = {
455
468
  platformCapabilities: a,
456
469
  transport: e,
457
470
  remoteUuid: n,
458
471
  messagePorts: /* @__PURE__ */ new Set(),
459
- messageChannels: pe(),
472
+ messageChannels: we(),
460
473
  sendMessage: o,
461
474
  eventTarget: s,
462
- revivableModules: at
475
+ revivableModules: pt,
476
+ messageContext: void 0
463
477
  };
464
- let y;
465
- const l = new Promise((p, f) => {
466
- y = p;
478
+ let l;
479
+ const f = new Promise((p, i) => {
480
+ l = p;
467
481
  });
468
482
  return s.addEventListener("message", ({ detail: p }) => {
469
- if (p.type === "init") {
470
- y(p);
483
+ const { message: i, messageContext: u } = p;
484
+ if (i.type === "init") {
485
+ l({ message: i, messageContext: u });
471
486
  return;
472
- } else p.type === "message" && c.messageChannels.getOrAlloc(p.portId).port2?.postMessage(p);
487
+ } else i.type === "message" && y.messageChannels.getOrAlloc(i.portId).port2?.postMessage(i);
473
488
  }), o({
474
489
  type: "init",
475
490
  remoteUuid: n,
476
- data: b(t, c)
491
+ data: m(t, y)
477
492
  }), {
478
- revivableContext: c,
493
+ revivableContext: y,
479
494
  close: () => {
480
495
  },
481
- remoteValue: l.then((p) => A(p.data, c))
496
+ remoteValue: f.then(({ message: p, messageContext: i }) => (y.messageContext = i, h(p.data, y)))
482
497
  };
483
- }, ct = ({ value: e, uuid: t, platformCapabilities: r, send: n, close: a }) => ({
498
+ }, bt = ({ value: e, uuid: t, platformCapabilities: r, send: n, close: a }) => ({
484
499
  close: () => {
485
500
  },
486
501
  remoteValueProxy: new Proxy(
487
502
  new Function(),
488
503
  {
489
- apply: (s, o, i) => {
504
+ apply: (s, o, c) => {
490
505
  },
491
506
  get: (s, o) => {
492
507
  }
493
508
  }
494
509
  )
495
510
  });
496
- var yt = class extends EventTarget {
511
+ var mt = class extends EventTarget {
497
512
  dispatchTypedEvent(e, t) {
498
513
  return super.dispatchEvent(t);
499
514
  }
500
515
  };
501
- const ft = async (e, {
516
+ const ut = async (e, {
502
517
  transport: t,
503
518
  name: r,
504
519
  remoteName: n,
505
- key: a = de,
520
+ key: a = pe,
506
521
  origin: s = "*",
507
522
  unregisterSignal: o,
508
- platformCapabilities: i,
509
- transferAll: c,
510
- logger: y
523
+ platformCapabilities: c,
524
+ transferAll: y,
525
+ logger: l
511
526
  }) => {
512
- const l = {
527
+ const f = {
513
528
  isJson: "isJson" in t && t.isJson !== void 0 ? t.isJson : S(t),
514
529
  ...J(t) ? t : {
515
530
  emit: t,
516
531
  receive: t
517
532
  }
518
- }, p = i ?? await Me(), f = /* @__PURE__ */ new Map();
519
- let h;
520
- const _ = new Promise((d) => {
521
- h = d;
533
+ }, p = c ?? await Ee(), i = /* @__PURE__ */ new Map();
534
+ let u;
535
+ const w = new Promise((d) => {
536
+ u = d;
522
537
  });
523
- let u = globalThis.crypto.randomUUID(), V = !1;
538
+ let A = globalThis.crypto.randomUUID(), x = !1;
524
539
  o && o.addEventListener("abort", () => {
525
- V = !0;
540
+ x = !0;
526
541
  });
527
- const U = (d, T) => {
528
- if (V) return;
529
- const g = w(T);
530
- be(
542
+ const T = (d, _) => {
543
+ if (x) return;
544
+ const g = U(_);
545
+ Te(
531
546
  d,
532
547
  {
533
- [C]: a,
548
+ [P]: a,
534
549
  name: r,
535
- uuid: u,
536
- ...T
550
+ uuid: A,
551
+ ..._
537
552
  },
538
553
  s,
539
554
  g
540
555
  );
541
- }, fe = async (d, T) => {
542
- if (d.uuid !== u) {
543
- if (!B(l))
556
+ }, le = async (d, _) => {
557
+ if (d.uuid !== A) {
558
+ if (!C(f))
544
559
  throw new Error("Unidirectional receiving mode not implemented");
545
560
  if (d.type === "announce") {
546
561
  if (!d.remoteUuid) {
547
- U(l, { type: "announce", remoteUuid: d.uuid });
562
+ T(f, { type: "announce", remoteUuid: d.uuid });
548
563
  return;
549
564
  }
550
- if (d.remoteUuid !== u || f.has(d.uuid))
565
+ if (d.remoteUuid !== A || i.has(d.uuid))
551
566
  return;
552
- U(l, { type: "announce", remoteUuid: d.uuid });
553
- const g = new yt(), q = {
567
+ T(f, { type: "announce", remoteUuid: d.uuid });
568
+ const g = new mt(), V = {
554
569
  type: "bidirectional",
555
570
  eventTarget: g,
556
- connection: it({
557
- transport: l,
571
+ connection: gt({
572
+ transport: f,
558
573
  value: e,
559
- uuid: u,
574
+ uuid: A,
560
575
  remoteUuid: d.uuid,
561
576
  platformCapabilities: p,
562
577
  eventTarget: g,
563
- send: (j) => U(l, j),
564
- close: () => void f.delete(d.uuid)
578
+ send: (L) => T(f, L),
579
+ close: () => void i.delete(d.uuid)
565
580
  })
566
581
  };
567
- f.set(d.uuid, q), q.connection.remoteValue.then(
568
- (j) => h(j)
582
+ i.set(d.uuid, V), V.connection.remoteValue.then(
583
+ (L) => u(L)
569
584
  );
570
585
  } else if (d.type === "reject-uuid-taken") {
571
- if (d.remoteUuid !== u) return;
572
- u = globalThis.crypto.randomUUID(), U(l, { type: "announce" });
586
+ if (d.remoteUuid !== A) return;
587
+ A = globalThis.crypto.randomUUID(), T(f, { type: "announce" });
573
588
  } else if (d.type === "close") {
574
- if (d.remoteUuid !== u) return;
575
- const g = f.get(d.uuid);
589
+ if (d.remoteUuid !== A) return;
590
+ const g = i.get(d.uuid);
576
591
  if (!g) {
577
592
  console.warn(`Connection not found for remoteUuid: ${d.uuid}`);
578
593
  return;
579
594
  }
580
- g.connection.close(), f.delete(d.uuid);
595
+ g.connection.close(), i.delete(d.uuid);
581
596
  } else {
582
- if (d.remoteUuid !== u) return;
583
- const g = f.get(d.uuid);
597
+ if (d.remoteUuid !== A) return;
598
+ const g = i.get(d.uuid);
584
599
  if (!g) {
585
600
  console.warn(`Connection not found for remoteUuid: ${d.uuid}`);
586
601
  return;
587
602
  }
588
603
  g.type !== "unidirectional-emitting" && g.eventTarget.dispatchTypedEvent(
589
604
  "message",
590
- new CustomEvent("message", { detail: d })
605
+ new CustomEvent("message", { detail: { message: d, messageContext: _ } })
591
606
  );
592
607
  }
593
608
  }
594
609
  };
595
- if (W(l) && ge({
596
- listener: fe,
597
- transport: l,
610
+ if (W(f) && Ue({
611
+ listener: le,
612
+ transport: f,
598
613
  remoteName: n,
599
614
  key: a,
600
615
  unregisterSignal: o
601
- }), B(l) && U(l, { type: "announce" }), B(l) && !W(l)) {
602
- const { remoteValueProxy: d } = ct({
616
+ }), C(f) && T(f, { type: "announce" }), C(f) && !W(f)) {
617
+ const { remoteValueProxy: d } = bt({
603
618
  value: e,
604
- uuid: u,
619
+ uuid: A,
605
620
  platformCapabilities: p,
606
- send: (T) => U(l, T),
607
- close: () => f.delete(u)
621
+ send: (_) => T(f, _),
622
+ close: () => i.delete(A)
608
623
  });
609
624
  return d;
610
625
  }
611
- return _;
626
+ return w;
612
627
  };
613
628
  export {
614
- m as BoxBase,
615
- ft as expose
629
+ b as BoxBase,
630
+ be as OSRA_CONTEXT,
631
+ ut as expose
616
632
  };
617
633
  //# sourceMappingURL=index.js.map