osra 0.3.0 → 0.3.1
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/connections/index.d.ts +1 -1
- package/build/connections/utils.d.ts +3 -0
- package/build/index.js +144 -125
- package/build/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -17,4 +17,4 @@ export type ConnectionMessage<TModules extends readonly RevivableModule[] = Defa
|
|
|
17
17
|
Messages: (modules: TModules, value: T) => infer R;
|
|
18
18
|
} ? R : never;
|
|
19
19
|
export type ConnectionContext<TModules extends readonly RevivableModule[] = DefaultRevivableModules> = BidirectionalConnectionContext<TModules>;
|
|
20
|
-
export declare const startConnections: <T = unknown, const TUserModules extends readonly RevivableModule[] = readonly []>(value: Capable<[...DefaultRevivableModules, ...TUserModules]>, { transport: _transport, name, remoteName, key, origin, unregisterSignal, revivableModules: _userRevivableModules }: StartConnectionsOptions<TUserModules>) => Promise<T>;
|
|
20
|
+
export declare const startConnections: <T = unknown, const TUserModules extends readonly RevivableModule[] = readonly []>(value: Capable<[...DefaultRevivableModules, ...TUserModules]>, { transport: _transport, name, remoteName, key, origin, unregisterSignal, revivableModules: _userRevivableModules, uuid: _uuid, remoteUuid: presetRemoteUuid, }: StartConnectionsOptions<TUserModules>) => Promise<T>;
|
|
@@ -15,6 +15,7 @@ export type ProtocolContext<TModules extends readonly RevivableModule[] = Defaul
|
|
|
15
15
|
revivableModules: TModules;
|
|
16
16
|
connectionContexts: Map<string, ConnectionContext<TModules>>;
|
|
17
17
|
getUuid: () => Uuid;
|
|
18
|
+
presetRemoteUuid?: Uuid;
|
|
18
19
|
sendMessage: (message: MessageVariant) => void;
|
|
19
20
|
protocolEventTarget: ProtocolEventTarget<TModules>;
|
|
20
21
|
resolveRemoteValue: (value: Capable<TModules>) => void;
|
|
@@ -28,4 +29,6 @@ export type StartConnectionsOptions<TUserModules extends readonly RevivableModul
|
|
|
28
29
|
origin?: string;
|
|
29
30
|
unregisterSignal?: AbortSignal;
|
|
30
31
|
revivableModules?: TUserModules;
|
|
32
|
+
uuid?: Uuid;
|
|
33
|
+
remoteUuid?: Uuid;
|
|
31
34
|
};
|
package/build/index.js
CHANGED
|
@@ -27,10 +27,10 @@ var e = Object.defineProperty, t = (t, n) => {
|
|
|
27
27
|
let t = a[e];
|
|
28
28
|
if (!t) throw Error("Unknown typed array type");
|
|
29
29
|
return t;
|
|
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,
|
|
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, ee = (e) => !!e && typeof e == "object" && "__OSRA_KEY__" in e && !!e.__OSRA_KEY__, g = (e, t) => {
|
|
31
31
|
for (let n of t) if (n && e instanceof n) return !0;
|
|
32
32
|
return !1;
|
|
33
|
-
},
|
|
33
|
+
}, _ = (e) => g(e, [globalThis.SharedArrayBuffer]), v = (e) => g(e, [
|
|
34
34
|
globalThis.ArrayBuffer,
|
|
35
35
|
globalThis.MessagePort,
|
|
36
36
|
globalThis.ReadableStream,
|
|
@@ -59,7 +59,7 @@ var O = (e) => C(e) || T(e) || d(e) || f(e) || p(e) || m(e) || h(e) || k(e);
|
|
|
59
59
|
function re(e) {
|
|
60
60
|
if (!O(e)) throw Error("Transport is not receiveable");
|
|
61
61
|
}
|
|
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) =>
|
|
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) => ee(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 }) => {
|
|
63
63
|
let o = A(t) ? t.receive : t;
|
|
64
64
|
if (typeof o == "function") {
|
|
65
65
|
o((t, n) => {
|
|
@@ -220,14 +220,14 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
220
220
|
s(), i.close();
|
|
221
221
|
return;
|
|
222
222
|
}
|
|
223
|
-
let n =
|
|
223
|
+
let n = Z(e.data, t);
|
|
224
224
|
i.postMessage(n, $(n));
|
|
225
225
|
};
|
|
226
226
|
function l({ data: e }) {
|
|
227
227
|
t.sendMessage({
|
|
228
228
|
type: "message",
|
|
229
229
|
remoteUuid: t.remoteUuid,
|
|
230
|
-
data:
|
|
230
|
+
data: X(e, t),
|
|
231
231
|
portId: a
|
|
232
232
|
});
|
|
233
233
|
}
|
|
@@ -257,10 +257,10 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
257
257
|
};
|
|
258
258
|
}, H = (e, t) => "port" in e ? e.autoBox ? Ve(e.port, t) : e.port : He(e.portId, t, e.synthetic), Ve = (e, t) => {
|
|
259
259
|
let n = new EventTarget(), r = ({ data: e }) => {
|
|
260
|
-
n.dispatchEvent(new MessageEvent("message", { data:
|
|
260
|
+
n.dispatchEvent(new MessageEvent("message", { data: Z(e, t) }));
|
|
261
261
|
};
|
|
262
262
|
return e.addEventListener("message", r), n.postMessage = (n, r) => {
|
|
263
|
-
let i =
|
|
263
|
+
let i = X(n, t), a = $(i), o = Array.isArray(r) ? r : [];
|
|
264
264
|
e.postMessage(i, o.length ? [...a, ...o] : a);
|
|
265
265
|
}, n.start = () => e.start(), n.close = () => {
|
|
266
266
|
e.removeEventListener("message", r), e.close();
|
|
@@ -293,13 +293,13 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
293
293
|
c();
|
|
294
294
|
return;
|
|
295
295
|
}
|
|
296
|
-
let r =
|
|
296
|
+
let r = Z(e.data, t);
|
|
297
297
|
n ? a.postMessage(r) : a.postMessage(r, $(r));
|
|
298
298
|
}, u = ({ data: n }) => {
|
|
299
299
|
t.sendMessage({
|
|
300
300
|
type: "message",
|
|
301
301
|
remoteUuid: t.remoteUuid,
|
|
302
|
-
data:
|
|
302
|
+
data: X(n, t),
|
|
303
303
|
portId: e
|
|
304
304
|
});
|
|
305
305
|
};
|
|
@@ -473,15 +473,15 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
473
473
|
...N,
|
|
474
474
|
type: ot,
|
|
475
475
|
aborted: e.aborted,
|
|
476
|
-
reason: e.aborted ?
|
|
476
|
+
reason: e.aborted ? X(e.reason, t) : void 0,
|
|
477
477
|
port: r
|
|
478
478
|
};
|
|
479
479
|
}, lt = (e, t) => {
|
|
480
480
|
let n = new AbortController();
|
|
481
|
-
if (e.aborted) return n.abort(
|
|
481
|
+
if (e.aborted) return n.abort(Z(e.reason, t)), n.signal;
|
|
482
482
|
let r = H(e.port, t);
|
|
483
483
|
return r.start(), r.addEventListener("message", ({ data: e }) => {
|
|
484
|
-
e.type === "abort" && (n.abort(
|
|
484
|
+
e.type === "abort" && (n.abort(Z(e.reason, t)), r.close());
|
|
485
485
|
}), n.signal;
|
|
486
486
|
}, ut = /* @__PURE__ */ t({
|
|
487
487
|
box: () => pt,
|
|
@@ -585,7 +585,7 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
585
585
|
id: e
|
|
586
586
|
};
|
|
587
587
|
}
|
|
588
|
-
let a = globalThis.crypto.randomUUID(), o =
|
|
588
|
+
let a = globalThis.crypto.randomUUID(), o = X(r, t);
|
|
589
589
|
return i !== void 0 && (n.sendIds.set(i, a), n.sendRegistry.register(i, a)), {
|
|
590
590
|
...N,
|
|
591
591
|
type: q,
|
|
@@ -596,15 +596,15 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
596
596
|
let n = Et(t), r = n.receiveCache.get(e.id);
|
|
597
597
|
if (r !== void 0) return r;
|
|
598
598
|
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 =
|
|
599
|
+
let i = Z(e.inner, t);
|
|
600
600
|
return n.receiveCache.set(e.id, i), i;
|
|
601
601
|
}, jt = /* @__PURE__ */ t({
|
|
602
|
-
box: () =>
|
|
603
|
-
isType: () =>
|
|
604
|
-
revive: () =>
|
|
605
|
-
transfer: () =>
|
|
602
|
+
box: () => zt,
|
|
603
|
+
isType: () => Rt,
|
|
604
|
+
revive: () => Bt,
|
|
605
|
+
transfer: () => Lt,
|
|
606
606
|
type: () => Mt
|
|
607
|
-
}), Mt = "transfer",
|
|
607
|
+
}), 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 : g(e, [
|
|
608
608
|
globalThis.ArrayBuffer,
|
|
609
609
|
globalThis.MessagePort,
|
|
610
610
|
globalThis.ReadableStream,
|
|
@@ -612,54 +612,54 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
612
612
|
globalThis.TransformStream,
|
|
613
613
|
globalThis.ImageBitmap,
|
|
614
614
|
globalThis.OffscreenCanvas
|
|
615
|
-
]) : !1,
|
|
616
|
-
[
|
|
615
|
+
]) : !1, Lt = (e) => It(e) ? {
|
|
616
|
+
[Nt]: !0,
|
|
617
617
|
value: e
|
|
618
|
-
} : e,
|
|
619
|
-
let n = e.value, r =
|
|
618
|
+
} : e, Rt = (e) => Ft(e), zt = (e, t) => {
|
|
619
|
+
let n = e.value, r = X(n, t);
|
|
620
620
|
return {
|
|
621
621
|
...N,
|
|
622
622
|
type: Mt,
|
|
623
623
|
inner: r,
|
|
624
624
|
degraded: E(t.transport)
|
|
625
625
|
};
|
|
626
|
-
},
|
|
627
|
-
box: () =>
|
|
628
|
-
isType: () =>
|
|
629
|
-
revive: () =>
|
|
626
|
+
}, Bt = (e, t) => Z(e.inner, t), Vt = /* @__PURE__ */ t({
|
|
627
|
+
box: () => Ut,
|
|
628
|
+
isType: () => Ht,
|
|
629
|
+
revive: () => Wt,
|
|
630
630
|
type: () => "map"
|
|
631
|
-
}),
|
|
631
|
+
}), Ht = (e) => e instanceof Map, Ut = (e, t) => ({
|
|
632
632
|
...N,
|
|
633
633
|
type: "map",
|
|
634
|
-
entries: Array.from(e, ([e, n]) => [
|
|
635
|
-
}),
|
|
636
|
-
box: () =>
|
|
637
|
-
isType: () =>
|
|
638
|
-
revive: () =>
|
|
634
|
+
entries: Array.from(e, ([e, n]) => [X(e, t), X(n, t)])
|
|
635
|
+
}), Wt = (e, t) => new Map(e.entries.map(([e, n]) => [Z(e, t), Z(n, t)])), Gt = /* @__PURE__ */ t({
|
|
636
|
+
box: () => qt,
|
|
637
|
+
isType: () => Kt,
|
|
638
|
+
revive: () => Jt,
|
|
639
639
|
type: () => "set"
|
|
640
|
-
}),
|
|
640
|
+
}), Kt = (e) => e instanceof Set, qt = (e, t) => ({
|
|
641
641
|
...N,
|
|
642
642
|
type: "set",
|
|
643
|
-
values: Array.from(e, (e) =>
|
|
644
|
-
}),
|
|
645
|
-
box: () =>
|
|
646
|
-
isType: () =>
|
|
647
|
-
revive: () =>
|
|
648
|
-
type: () =>
|
|
649
|
-
}),
|
|
643
|
+
values: Array.from(e, (e) => X(e, t))
|
|
644
|
+
}), Jt = (e, t) => new Set(e.values.map((e) => Z(e, t))), Yt = /* @__PURE__ */ t({
|
|
645
|
+
box: () => Qt,
|
|
646
|
+
isType: () => Zt,
|
|
647
|
+
revive: () => $t,
|
|
648
|
+
type: () => Xt
|
|
649
|
+
}), Xt = "bigint", Zt = (e) => typeof e == "bigint", Qt = (e, t) => ({
|
|
650
650
|
...N,
|
|
651
|
-
type:
|
|
651
|
+
type: Xt,
|
|
652
652
|
value: e.toString()
|
|
653
|
-
}),
|
|
654
|
-
box: () =>
|
|
655
|
-
isType: () =>
|
|
656
|
-
revive: () =>
|
|
657
|
-
type: () =>
|
|
658
|
-
}),
|
|
653
|
+
}), $t = (e, t) => BigInt(e.value), en = /* @__PURE__ */ t({
|
|
654
|
+
box: () => an,
|
|
655
|
+
isType: () => rn,
|
|
656
|
+
revive: () => dn,
|
|
657
|
+
type: () => tn
|
|
658
|
+
}), tn = "eventTarget", nn = new FinalizationRegistry((e) => {
|
|
659
659
|
try {
|
|
660
660
|
e.port.postMessage({ kind: "close" });
|
|
661
661
|
} catch {}
|
|
662
|
-
}),
|
|
662
|
+
}), rn = (e) => e instanceof EventTarget, an = (e, t) => {
|
|
663
663
|
let { localPort: n, boxedRemote: r } = U(t), i = /* @__PURE__ */ new Map(), a = () => {
|
|
664
664
|
for (let [t, n] of i) e.removeEventListener(t, n);
|
|
665
665
|
i.clear(), n.removeEventListener("message", o), n.close();
|
|
@@ -691,15 +691,15 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
691
691
|
};
|
|
692
692
|
return n.addEventListener("message", o), n.start(), {
|
|
693
693
|
...N,
|
|
694
|
-
type:
|
|
694
|
+
type: tn,
|
|
695
695
|
port: r
|
|
696
696
|
};
|
|
697
|
-
},
|
|
697
|
+
}, on = (e) => typeof e == "boolean" ? e : !!e?.capture, sn = (e) => typeof e == "object" && !!e && !!e.once, cn = (e, t, n, r) => {
|
|
698
698
|
let i = e.get(t);
|
|
699
699
|
if (!i) return !1;
|
|
700
700
|
let a = i.get(n);
|
|
701
701
|
return !a || !a.delete(r) || (a.size === 0 && i.delete(n), i.size > 0) ? !1 : (e.delete(t), !0);
|
|
702
|
-
},
|
|
702
|
+
}, ln = (e, t) => {
|
|
703
703
|
e.addEventListener("message", ({ data: e }) => {
|
|
704
704
|
if (e.kind !== "event") return;
|
|
705
705
|
let n = t.deref();
|
|
@@ -714,16 +714,16 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
714
714
|
}) : new Event(e.eventType, r);
|
|
715
715
|
n.dispatchEvent(i);
|
|
716
716
|
});
|
|
717
|
-
},
|
|
717
|
+
}, un = (e, t, n) => {
|
|
718
718
|
let r = EventTarget.prototype.addEventListener.bind(e), i = EventTarget.prototype.removeEventListener.bind(e);
|
|
719
719
|
Object.defineProperty(e, "addEventListener", { value: (e, i, a) => {
|
|
720
720
|
if (i === null) return;
|
|
721
|
-
let o =
|
|
721
|
+
let o = on(a), s = sn(a), c = n.get(e), l = !c;
|
|
722
722
|
c || (c = /* @__PURE__ */ new Map(), n.set(e, c));
|
|
723
723
|
let u = c.get(i);
|
|
724
724
|
if (u || (u = /* @__PURE__ */ new Map(), c.set(i, u)), u.has(o)) return;
|
|
725
725
|
let d = s ? (r) => {
|
|
726
|
-
|
|
726
|
+
cn(n, e, i, o) && t.postMessage({
|
|
727
727
|
kind: "unsubscribe",
|
|
728
728
|
eventType: e
|
|
729
729
|
}), typeof i == "function" ? i(r) : i.handleEvent(r);
|
|
@@ -734,18 +734,18 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
734
734
|
}), r(e, d, a);
|
|
735
735
|
} }), Object.defineProperty(e, "removeEventListener", { value: (e, r, a) => {
|
|
736
736
|
if (r === null) return;
|
|
737
|
-
let o =
|
|
738
|
-
s && (i(e, s, a),
|
|
737
|
+
let o = on(a), s = n.get(e)?.get(r)?.get(o);
|
|
738
|
+
s && (i(e, s, a), cn(n, e, r, o) && t.postMessage({
|
|
739
739
|
kind: "unsubscribe",
|
|
740
740
|
eventType: e
|
|
741
741
|
}));
|
|
742
742
|
} });
|
|
743
|
-
},
|
|
743
|
+
}, dn = (e, t) => {
|
|
744
744
|
let n = H(e.port, t);
|
|
745
745
|
n.start();
|
|
746
746
|
let r = new EventTarget(), i = /* @__PURE__ */ new Map();
|
|
747
|
-
return
|
|
748
|
-
},
|
|
747
|
+
return ln(n, new WeakRef(r)), un(r, n, i), nn.register(r, { port: n }, r), r;
|
|
748
|
+
}, fn = [
|
|
749
749
|
jt,
|
|
750
750
|
bt,
|
|
751
751
|
fe,
|
|
@@ -760,32 +760,32 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
760
760
|
at,
|
|
761
761
|
ut,
|
|
762
762
|
ht,
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
],
|
|
768
|
-
let n =
|
|
763
|
+
Vt,
|
|
764
|
+
Gt,
|
|
765
|
+
Yt,
|
|
766
|
+
en
|
|
767
|
+
], 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) => {
|
|
768
|
+
let n = pn(e, t.revivableModules);
|
|
769
769
|
return n ? n.box(e, t) : e;
|
|
770
|
-
},
|
|
770
|
+
}, X = (e, t) => {
|
|
771
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;
|
|
776
772
|
let n = pn(e, t.revivableModules);
|
|
773
|
+
return n ? n.box(e, t) : gn(e, (e) => X(e, t));
|
|
774
|
+
}, vn = (e, t) => {
|
|
775
|
+
if (!P(e)) return e;
|
|
776
|
+
let n = mn(e, t.revivableModules);
|
|
777
777
|
return n ? n.revive(e, t) : e;
|
|
778
|
-
},
|
|
778
|
+
}, Z = (e, t) => {
|
|
779
779
|
if (P(e)) {
|
|
780
|
-
let n =
|
|
780
|
+
let n = mn(e, t.revivableModules);
|
|
781
781
|
if (n) return n.revive(e, t);
|
|
782
782
|
}
|
|
783
|
-
return
|
|
784
|
-
},
|
|
783
|
+
return gn(e, (e) => Z(e, t));
|
|
784
|
+
}, yn = /* @__PURE__ */ t({
|
|
785
785
|
init: () => xn,
|
|
786
|
-
startBidirectionalConnection: () =>
|
|
787
|
-
type: () =>
|
|
788
|
-
}),
|
|
786
|
+
startBidirectionalConnection: () => Q,
|
|
787
|
+
type: () => bn
|
|
788
|
+
}), bn = "bidirectional", Q = ({ transport: e, value: t, remoteUuid: n, eventTarget: r, send: i, revivableModules: a }) => {
|
|
789
789
|
let o = {
|
|
790
790
|
transport: e,
|
|
791
791
|
remoteUuid: n,
|
|
@@ -800,51 +800,69 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
800
800
|
}), i({
|
|
801
801
|
type: "init",
|
|
802
802
|
remoteUuid: n,
|
|
803
|
-
data:
|
|
803
|
+
data: X(t, o)
|
|
804
804
|
}), {
|
|
805
805
|
revivableContext: o,
|
|
806
|
-
remoteValue: s.then((e) =>
|
|
806
|
+
remoteValue: s.then((e) => Z(e, o))
|
|
807
807
|
};
|
|
808
808
|
}, xn = (e) => {
|
|
809
|
-
D(e.transport) && O(e.transport)
|
|
810
|
-
if (
|
|
811
|
-
if (
|
|
809
|
+
if (D(e.transport) && O(e.transport)) {
|
|
810
|
+
if (e.protocolEventTarget.addEventListener("message", ({ detail: t }) => {
|
|
811
|
+
if (t.type === "announce") {
|
|
812
|
+
if (!t.remoteUuid) {
|
|
813
|
+
e.sendMessage({
|
|
814
|
+
type: "announce",
|
|
815
|
+
remoteUuid: t.uuid
|
|
816
|
+
});
|
|
817
|
+
return;
|
|
818
|
+
}
|
|
819
|
+
if (t.remoteUuid !== e.getUuid() || e.connectionContexts.has(t.uuid)) return;
|
|
812
820
|
e.sendMessage({
|
|
813
821
|
type: "announce",
|
|
814
822
|
remoteUuid: t.uuid
|
|
815
823
|
});
|
|
824
|
+
let n = e.createConnectionEventTarget(), r = {
|
|
825
|
+
type: "bidirectional",
|
|
826
|
+
eventTarget: n,
|
|
827
|
+
connection: Q({
|
|
828
|
+
transport: e.transport,
|
|
829
|
+
value: e.value,
|
|
830
|
+
remoteUuid: t.uuid,
|
|
831
|
+
eventTarget: n,
|
|
832
|
+
send: (t) => e.sendMessage(t),
|
|
833
|
+
revivableModules: e.revivableModules
|
|
834
|
+
})
|
|
835
|
+
};
|
|
836
|
+
e.connectionContexts.set(t.uuid, r), r.connection.remoteValue.then((t) => e.resolveRemoteValue(t));
|
|
816
837
|
return;
|
|
817
838
|
}
|
|
818
|
-
if (t.
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
}
|
|
823
|
-
|
|
839
|
+
if (t.type === "close") {
|
|
840
|
+
if (t.remoteUuid !== e.getUuid()) return;
|
|
841
|
+
e.connectionContexts.delete(t.uuid);
|
|
842
|
+
return;
|
|
843
|
+
}
|
|
844
|
+
if (t.remoteUuid !== e.getUuid()) return;
|
|
845
|
+
let n = e.connectionContexts.get(t.uuid);
|
|
846
|
+
n && n.eventTarget.dispatchEvent(new CustomEvent("message", { detail: t }));
|
|
847
|
+
}), e.presetRemoteUuid !== void 0) {
|
|
848
|
+
let t = e.createConnectionEventTarget(), n = {
|
|
824
849
|
type: "bidirectional",
|
|
825
|
-
eventTarget:
|
|
826
|
-
connection:
|
|
850
|
+
eventTarget: t,
|
|
851
|
+
connection: Q({
|
|
827
852
|
transport: e.transport,
|
|
828
853
|
value: e.value,
|
|
829
|
-
remoteUuid:
|
|
830
|
-
eventTarget:
|
|
854
|
+
remoteUuid: e.presetRemoteUuid,
|
|
855
|
+
eventTarget: t,
|
|
831
856
|
send: (t) => e.sendMessage(t),
|
|
832
857
|
revivableModules: e.revivableModules
|
|
833
858
|
})
|
|
834
859
|
};
|
|
835
|
-
e.connectionContexts.set(
|
|
860
|
+
e.connectionContexts.set(e.presetRemoteUuid, n), n.connection.remoteValue.then((t) => e.resolveRemoteValue(t));
|
|
836
861
|
return;
|
|
837
862
|
}
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
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" }));
|
|
847
|
-
}, Sn = () => new EventTarget(), Cn = (e) => _(e, [
|
|
863
|
+
e.sendMessage({ type: "announce" });
|
|
864
|
+
}
|
|
865
|
+
}, Sn = () => new EventTarget(), Cn = (e) => g(e, [
|
|
848
866
|
globalThis.MessagePort,
|
|
849
867
|
globalThis.ReadableStream,
|
|
850
868
|
globalThis.WritableStream,
|
|
@@ -852,7 +870,7 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
852
870
|
globalThis.OffscreenCanvas
|
|
853
871
|
]), wn = (e) => P(e) && e.type === "transfer", $ = (e) => {
|
|
854
872
|
let t = [], n = /* @__PURE__ */ new WeakSet(), r = (e, i) => {
|
|
855
|
-
if (!(!e || typeof e != "object") && !n.has(e) && (n.add(e), !
|
|
873
|
+
if (!(!e || typeof e != "object") && !n.has(e) && (n.add(e), !_(e))) {
|
|
856
874
|
if (wn(e)) {
|
|
857
875
|
r(e.inner, i || !e.degraded);
|
|
858
876
|
return;
|
|
@@ -861,7 +879,7 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
861
879
|
t.push(e);
|
|
862
880
|
return;
|
|
863
881
|
}
|
|
864
|
-
if (
|
|
882
|
+
if (v(e)) {
|
|
865
883
|
i && t.push(e);
|
|
866
884
|
return;
|
|
867
885
|
}
|
|
@@ -881,40 +899,41 @@ var ie = (e) => !e || typeof e != "object" || C(e) || !("emit" in e) ? !1 : D(e.
|
|
|
881
899
|
emit: e,
|
|
882
900
|
receive: e
|
|
883
901
|
}
|
|
884
|
-
}), En = (e) => [...
|
|
885
|
-
let
|
|
886
|
-
if (c?.aborted || !D(
|
|
902
|
+
}), 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 }) => {
|
|
903
|
+
let f = Tn(t), p = En(l), m = /* @__PURE__ */ new Map(), { promise: h, resolve: ee } = Promise.withResolvers(), g = u ?? globalThis.crypto.randomUUID(), _ = (e) => {
|
|
904
|
+
if (c?.aborted || !D(f)) return;
|
|
887
905
|
let t = {
|
|
888
906
|
[n]: o,
|
|
889
907
|
name: i,
|
|
890
|
-
uuid:
|
|
908
|
+
uuid: g,
|
|
891
909
|
...e
|
|
892
910
|
};
|
|
893
|
-
le(
|
|
894
|
-
},
|
|
895
|
-
transport:
|
|
911
|
+
le(f, t, s, $(t));
|
|
912
|
+
}, v = Sn(), y = {
|
|
913
|
+
transport: f,
|
|
896
914
|
value: e,
|
|
897
|
-
revivableModules:
|
|
898
|
-
connectionContexts:
|
|
899
|
-
getUuid: () =>
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
915
|
+
revivableModules: p,
|
|
916
|
+
connectionContexts: m,
|
|
917
|
+
getUuid: () => g,
|
|
918
|
+
presetRemoteUuid: d,
|
|
919
|
+
sendMessage: _,
|
|
920
|
+
protocolEventTarget: v,
|
|
921
|
+
resolveRemoteValue: ee,
|
|
903
922
|
createConnectionEventTarget: Sn
|
|
904
923
|
};
|
|
905
|
-
O(
|
|
924
|
+
O(f) && ce({
|
|
906
925
|
listener: (e, t) => {
|
|
907
|
-
e.uuid !==
|
|
926
|
+
e.uuid !== g && v.dispatchEvent(new CustomEvent("message", { detail: e }));
|
|
908
927
|
},
|
|
909
|
-
transport:
|
|
928
|
+
transport: f,
|
|
910
929
|
remoteName: a,
|
|
911
930
|
key: o,
|
|
912
931
|
unregisterSignal: c
|
|
913
932
|
});
|
|
914
|
-
for (let e of Dn) e.init(
|
|
915
|
-
return
|
|
933
|
+
for (let e of Dn) e.init(y);
|
|
934
|
+
return h;
|
|
916
935
|
}, kn = async (e, t) => On(e, t);
|
|
917
936
|
//#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,
|
|
937
|
+
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, _n as box, ue as boxBuffer, j as checkOsraMessageKey, Dn as connections, Sn as createTypedEventTarget, fn as defaultRevivableModules, kn as expose, $ as getTransferableObjects, oe as getWebExtensionGlobal, se as getWebExtensionRuntime, wt as identity, xn as init, g as instanceOfAny, _ as isClonable, ie as isCustomEmitTransport, k as isCustomReceiveTransport, A as isCustomTransport, p as isDedicatedWorker, w as isEmitJsonOnlyTransport, D as isEmitTransport, E as isJsonOnlyTransport, ee as isOsraMessage, T as isReceiveJsonOnlyTransport, O as isReceiveTransport, P as isRevivableBox, d as isServiceWorkerContainer, m as isSharedWorker, v 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, X as recursiveBox, Z as recursiveRevive, ce as registerOsraMessageListener, vn as revive, de as reviveBuffer, le as sendOsraMessage, F as serializeError, Q as startBidirectionalConnection, On as startConnections, Lt as transfer, bn as type, s as typedArrayToType, c as typedArrayTypeToTypedArrayConstructor };
|
|
919
938
|
|
|
920
939
|
//# sourceMappingURL=index.js.map
|