@banou/stub 0.0.20 → 0.0.22
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/.well-known/fkn.json +1 -1
- package/build/assets/embed-VjpeLPHx.js +1461 -0
- package/build/assets/index-Cq0deG16.js +1964 -0
- package/build/assets/lib-DHuurgWT.js +71 -0
- package/build/assets/{lib-account-BuVN6Bsx.js → lib-account-B_rZrj_U.js} +1 -1
- package/build/assets/lib-account-ZA7I4UZl.js +2 -0
- package/build/assets/lib-api-0oE17Lze.js +2 -0
- package/build/assets/{lib-build-DEOZ3A7n.js → lib-api-DLvscoll-INenJIDp.js} +863 -556
- package/build/assets/lib-worker-B7p9HUJX.js +2 -0
- package/build/assets/lib-worker-C6VkH7Kf.js +9006 -0
- package/build/assets/lib-worker-index-DCktGn3b.js +1964 -0
- package/build/assets/main-BC_h4vk9.js +3844 -0
- package/build/assets/main-DZ0Ws1xk.css +1 -0
- package/build/assets/uri-CY1i0hlC.js +1 -0
- package/build/assets/worker-CaEIruuB.js +1 -0
- package/build/assets/worker-juGKbgx7.js +1 -0
- package/build/embed.html +4 -8
- package/build/fkn.json +1 -1
- package/build/index.html +5 -8
- package/build/index.js +23838 -35935
- package/fkn.json +1 -1
- package/package.json +6 -3
- package/build/assets/Preview-DG9nqCV0.js +0 -1
- package/build/assets/compat-CusyxzKh.js +0 -1
- package/build/assets/custom-media-element-BDICDseJ.js +0 -43
- package/build/assets/dash.all.min-Dbg8AB-J.js +0 -19
- package/build/assets/dist-BgIerfpp.js +0 -3136
- package/build/assets/dist-BrpV89uJ.js +0 -1
- package/build/assets/dist-D-OKiX-f.js +0 -1
- package/build/assets/dist-D_XB-JLn.js +0 -40
- package/build/assets/embed-DBjG5JMH.js +0 -1
- package/build/assets/index-BHgdalnH.js +0 -1401
- package/build/assets/lib-Preview-B6uZKyhl.js +0 -82
- package/build/assets/lib-account-Cw8yCZtf.js +0 -2
- package/build/assets/lib-api-DLvscoll-DhlBp9Wz.js +0 -312
- package/build/assets/lib-api-DVwR-22s.js +0 -2
- package/build/assets/lib-compat-D8G4_Lzi.js +0 -860
- package/build/assets/lib-custom-media-element-CnANKrGl.js +0 -217
- package/build/assets/lib-dash.all.min-CDvdorbj.js +0 -27251
- package/build/assets/lib-dist-Dv8d3Kr0.js +0 -7
- package/build/assets/lib-dist-S8Gxnnq-.js +0 -12468
- package/build/assets/lib-dist-T0QlKbbk.js +0 -18578
- package/build/assets/lib-dist-xBHT3Lfz.js +0 -911
- package/build/assets/lib-react-BEg4mBBK.js +0 -112
- package/build/assets/lib-react-C0OCUIWX.js +0 -434
- package/build/assets/lib-react-CAkOlDha.js +0 -367
- package/build/assets/lib-react-CGlZXIjl.js +0 -2187
- package/build/assets/lib-react-CLVoi_ZM.js +0 -334
- package/build/assets/lib-react-DUxKSzCt.js +0 -311
- package/build/assets/lib-react-QvmpnEVK.js +0 -334
- package/build/assets/lib-react-WTnxAo6F.js +0 -202
- package/build/assets/lib-remote-DeY2A2G7.js +0 -416
- package/build/assets/lib-remote-DxEZmpd0.js +0 -2
- package/build/assets/lib-worker-index-C7ynIZYg.js +0 -1401
- package/build/assets/main-DejLBzlj.js +0 -3349
- package/build/assets/players-BIbP12aF.js +0 -1530
- package/build/assets/preload-helper-D2XUqLHy.js +0 -1
- package/build/assets/react-BDr8Ag8b.js +0 -19
- package/build/assets/react-BTju4bmn.js +0 -22
- package/build/assets/react-CLMfdUXR.js +0 -2
- package/build/assets/react-CjmRCHoG.js +0 -34
- package/build/assets/react-Cs34a503.js +0 -19
- package/build/assets/react-DKSDz1wJ.js +0 -6
- package/build/assets/react-bkM_mQGd.js +0 -17
- package/build/assets/react-kPj0f67l.js +0 -21
- package/build/assets/rolldown-runtime-CNC7AqOf.js +0 -1
- /package/build/assets/{players-3a7RYKgR.css → embed-3a7RYKgR.css} +0 -0
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
import { f as e, i as t, x as n, y as r } from "./lib-compat-D8G4_Lzi.js";
|
|
2
|
-
//#region node_modules/react-player/dist/Preview.js
|
|
3
|
-
e();
|
|
4
|
-
var i = "64px", a = {}, o = ({ src: e, light: o, oEmbedUrl: s, onClickPreview: c, playIcon: l, previewTabIndex: u, previewAriaLabel: d }) => {
|
|
5
|
-
let [f, p] = n(null);
|
|
6
|
-
r(() => {
|
|
7
|
-
!e || !o || !s || m({
|
|
8
|
-
src: e,
|
|
9
|
-
light: o,
|
|
10
|
-
oEmbedUrl: s
|
|
11
|
-
});
|
|
12
|
-
}, [
|
|
13
|
-
e,
|
|
14
|
-
o,
|
|
15
|
-
s
|
|
16
|
-
]);
|
|
17
|
-
let m = async ({ src: e, light: n, oEmbedUrl: r }) => {
|
|
18
|
-
if (t.isValidElement(n)) return;
|
|
19
|
-
if (typeof n == "string") {
|
|
20
|
-
p(n);
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
if (a[e]) {
|
|
24
|
-
p(a[e]);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
p(null);
|
|
28
|
-
let i = await (await fetch(r.replace("{url}", e))).json();
|
|
29
|
-
if (i.thumbnail_url) {
|
|
30
|
-
let t = i.thumbnail_url.replace("height=100", "height=480").replace("-d_295x166", "-d_640");
|
|
31
|
-
p(t), a[e] = t;
|
|
32
|
-
}
|
|
33
|
-
}, h = (e) => {
|
|
34
|
-
(e.key === "Enter" || e.key === " ") && c?.(e);
|
|
35
|
-
}, g = (e) => {
|
|
36
|
-
c?.(e);
|
|
37
|
-
}, _ = t.isValidElement(o), v = {
|
|
38
|
-
display: "flex",
|
|
39
|
-
alignItems: "center",
|
|
40
|
-
justifyContent: "center"
|
|
41
|
-
}, y = {
|
|
42
|
-
preview: {
|
|
43
|
-
width: "100%",
|
|
44
|
-
height: "100%",
|
|
45
|
-
backgroundImage: f && !_ ? `url(${f})` : void 0,
|
|
46
|
-
backgroundSize: "cover",
|
|
47
|
-
backgroundPosition: "center",
|
|
48
|
-
cursor: "pointer",
|
|
49
|
-
...v
|
|
50
|
-
},
|
|
51
|
-
shadow: {
|
|
52
|
-
background: "radial-gradient(rgb(0, 0, 0, 0.3), rgba(0, 0, 0, 0) 60%)",
|
|
53
|
-
borderRadius: i,
|
|
54
|
-
width: i,
|
|
55
|
-
height: i,
|
|
56
|
-
position: _ ? "absolute" : void 0,
|
|
57
|
-
...v
|
|
58
|
-
},
|
|
59
|
-
playIcon: {
|
|
60
|
-
borderStyle: "solid",
|
|
61
|
-
borderWidth: "16px 0 16px 26px",
|
|
62
|
-
borderColor: "transparent transparent transparent white",
|
|
63
|
-
marginLeft: "7px"
|
|
64
|
-
}
|
|
65
|
-
}, b = /* @__PURE__ */ t.createElement("div", {
|
|
66
|
-
style: y.shadow,
|
|
67
|
-
className: "react-player__shadow"
|
|
68
|
-
}, /* @__PURE__ */ t.createElement("div", {
|
|
69
|
-
style: y.playIcon,
|
|
70
|
-
className: "react-player__play-icon"
|
|
71
|
-
}));
|
|
72
|
-
return /* @__PURE__ */ t.createElement("div", {
|
|
73
|
-
style: y.preview,
|
|
74
|
-
className: "react-player__preview",
|
|
75
|
-
tabIndex: u,
|
|
76
|
-
onClick: g,
|
|
77
|
-
onKeyPress: h,
|
|
78
|
-
...d ? { "aria-label": d } : {}
|
|
79
|
-
}, _ ? o : null, l || b);
|
|
80
|
-
};
|
|
81
|
-
//#endregion
|
|
82
|
-
export { o as default };
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
import { a as e } from "./lib-build-DEOZ3A7n.js";
|
|
2
|
-
//#region node_modules/@fkn/lib/api-DLvscoll.js
|
|
3
|
-
var t = 1e4, n = 16, r = (e) => {
|
|
4
|
-
let t;
|
|
5
|
-
try {
|
|
6
|
-
t = e.contentWindow;
|
|
7
|
-
} catch {
|
|
8
|
-
return !0;
|
|
9
|
-
}
|
|
10
|
-
if (!t) return !0;
|
|
11
|
-
try {
|
|
12
|
-
let e = t.location.href;
|
|
13
|
-
return e !== "" && e !== "about:blank";
|
|
14
|
-
} catch {
|
|
15
|
-
return !0;
|
|
16
|
-
}
|
|
17
|
-
}, i = (e, i = t) => new Promise((t) => {
|
|
18
|
-
if (r(e)) return t();
|
|
19
|
-
let a = () => {
|
|
20
|
-
clearInterval(o), clearTimeout(s), e.removeEventListener("load", a), t();
|
|
21
|
-
}, o = setInterval(() => {
|
|
22
|
-
r(e) && a();
|
|
23
|
-
}, n), s = setTimeout(a, i);
|
|
24
|
-
e.addEventListener("load", a);
|
|
25
|
-
}), a = 32, o = 8, s = 120, c = typeof CSS < "u" && CSS.supports("clip-path", "path('M0 0H1V1H0Z')"), l = typeof CSS < "u" && CSS.supports("clip-path", "polygon(nonzero, 0px 0px, 1px 0px, 1px 1px)"), u = (e) => {
|
|
26
|
-
let t = e.style;
|
|
27
|
-
t.setProperty("display", "block", "important"), t.setProperty("position", "fixed", "important"), t.setProperty("top", "0", "important"), t.setProperty("left", "0", "important"), t.setProperty("width", "100%", "important"), t.setProperty("height", "100%", "important"), t.setProperty("border", "none", "important"), t.setProperty("padding", "0", "important"), t.setProperty("box-sizing", "border-box", "important"), t.setProperty("clip-path", "inset(100%)", "important"), t.setProperty("background", "transparent"), t.setProperty("color-scheme", "normal"), t.setProperty("z-index", "2147483647"), e.setAttribute("title", "FKN");
|
|
28
|
-
}, d = ({ x: e, y: t, width: n, height: r, radius: i }) => {
|
|
29
|
-
if (!i) return `M${e} ${t}h${n}v${r}h${-n}Z`;
|
|
30
|
-
let a = Math.min(n, r) / 2, [o, s, c, l] = i.map((e) => Math.max(0, Math.min(e, a)));
|
|
31
|
-
return `M${e + o} ${t}h${n - o - s}a${s} ${s} 0 0 1 ${s} ${s}v${r - s - c}a${c} ${c} 0 0 1 ${-c} ${c}h${-(n - c - l)}a${l} ${l} 0 0 1 ${-l} ${-l}v${-(r - l - o)}a${o} ${o} 0 0 1 ${o} ${-o}Z`;
|
|
32
|
-
}, f = () => c && l, p = ({ x: e, y: t, width: n, height: r }) => [
|
|
33
|
-
[e, t],
|
|
34
|
-
[e + n, t],
|
|
35
|
-
[e + n, t + r],
|
|
36
|
-
[e, t + r],
|
|
37
|
-
[e, t]
|
|
38
|
-
], ee = (e) => {
|
|
39
|
-
let t = e[0];
|
|
40
|
-
if (!t) return [];
|
|
41
|
-
let n = p(t)[0], r = [];
|
|
42
|
-
return e.forEach((t, i) => {
|
|
43
|
-
r.push(...p(t)), i > 0 && i < e.length - 1 && r.push(n);
|
|
44
|
-
}), r;
|
|
45
|
-
}, m = (e) => `polygon(nonzero, ${ee(e).map(([e, t]) => `${e}px ${t}px`).join(", ")})`, h = ({ x: e, y: t, width: n, height: r, radius: i }, a) => {
|
|
46
|
-
let o = `${t}px ${a.width - e - n}px ${a.height - t - r}px ${e}px`;
|
|
47
|
-
return i ? `inset(${o} round ${i.map((e) => `${e}px`).join(" ")})` : `inset(${o})`;
|
|
48
|
-
}, g = (e, t, n) => {
|
|
49
|
-
if (t) return "none";
|
|
50
|
-
if (e.length === 0) return "inset(100%)";
|
|
51
|
-
let r = e.length === 1 ? e[0] : void 0;
|
|
52
|
-
return r ? h(r, n) : l && e.length <= 5 && !e.some((e) => e.radius) ? m(e) : `path('${e.map(d).join("")}')`;
|
|
53
|
-
}, _ = (e) => {
|
|
54
|
-
if (e.length < 2) return null;
|
|
55
|
-
let t = Math.min(...e.map((e) => e.x)), n = Math.min(...e.map((e) => e.y));
|
|
56
|
-
return {
|
|
57
|
-
x: t,
|
|
58
|
-
y: n,
|
|
59
|
-
width: Math.max(...e.map((e) => e.x + e.width)) - t,
|
|
60
|
-
height: Math.max(...e.map((e) => e.y + e.height)) - n
|
|
61
|
-
};
|
|
62
|
-
}, v = (e, t, n) => t >= e.x && t < e.x + e.width && n >= e.y && n < e.y + e.height, te = 16, y = (e, t, n) => t === 1 ? e * te : t === 2 ? e * n : e, ne = (e, t, n) => {
|
|
63
|
-
let r = getComputedStyle(e);
|
|
64
|
-
return n !== 0 && /auto|scroll/.test(r.overflowY) && e.scrollHeight > e.clientHeight ? !0 : t !== 0 && /auto|scroll/.test(r.overflowX) && e.scrollWidth > e.clientWidth;
|
|
65
|
-
}, b = (e, t, n) => {
|
|
66
|
-
for (let r = e; r; r = r.parentElement) if (ne(r, t, n)) return r;
|
|
67
|
-
return document.scrollingElement;
|
|
68
|
-
}, x = null, S = null, C = (e) => ({
|
|
69
|
-
width: e.offsetWidth || window.innerWidth,
|
|
70
|
-
height: e.offsetHeight || window.innerHeight
|
|
71
|
-
}), w = (e) => {
|
|
72
|
-
if (!S || !x || !v(S, e.clientX, e.clientY)) return;
|
|
73
|
-
let t = document.elementFromPoint(e.clientX, e.clientY);
|
|
74
|
-
if (!t || t === x) return;
|
|
75
|
-
let n = y(e.deltaX, e.deltaMode, window.innerWidth), r = y(e.deltaY, e.deltaMode, window.innerHeight), i = b(t, n, r);
|
|
76
|
-
i && (i.scrollBy({
|
|
77
|
-
left: n,
|
|
78
|
-
top: r,
|
|
79
|
-
behavior: "instant"
|
|
80
|
-
}), e.cancelable && e.preventDefault());
|
|
81
|
-
}, T = (e) => {
|
|
82
|
-
let t = S !== null;
|
|
83
|
-
S = e, t !== (e !== null) && (e ? window.addEventListener("wheel", w, {
|
|
84
|
-
capture: !0,
|
|
85
|
-
passive: !1
|
|
86
|
-
}) : window.removeEventListener("wheel", w, { capture: !0 }));
|
|
87
|
-
}, E = 0, re = (e) => {
|
|
88
|
-
if (e === E) return;
|
|
89
|
-
E = e;
|
|
90
|
-
let t = document.documentElement.style;
|
|
91
|
-
e > 0 ? (t.setProperty("margin-top", `${e}px`, "important"), t.setProperty("--fkn-inset-top", `${e}px`)) : (t.removeProperty("margin-top"), t.removeProperty("--fkn-inset-top"));
|
|
92
|
-
}, D = (e, { modal: t, rects: n, inset: r }, i) => {
|
|
93
|
-
if (re(r), !c) {
|
|
94
|
-
let r = t || n.length > 0;
|
|
95
|
-
e.style.setProperty("pointer-events", r ? "auto" : "none", "important"), e.style.setProperty("visibility", r ? "visible" : "hidden", "important");
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
let a = g(n, t, i), o = a === "none" || CSS.supports("clip-path", a) ? a : "inset(100%)";
|
|
99
|
-
e.style.setProperty("clip-path", o, "important"), T(t || o !== a ? null : _(n));
|
|
100
|
-
}, ie = (e) => {
|
|
101
|
-
if (typeof e != "object" || !e) return 0;
|
|
102
|
-
let { top: t } = e;
|
|
103
|
-
return typeof t != "number" || !Number.isFinite(t) || t <= 0 ? 0 : Math.min(Math.round(t), s);
|
|
104
|
-
}, ae = (e) => {
|
|
105
|
-
if (!(!Array.isArray(e) || e.length !== 4) && e.every((e) => typeof e == "number" && Number.isFinite(e) && e >= 0)) return e.some((e) => e > 0) ? e : void 0;
|
|
106
|
-
}, oe = (e, t) => {
|
|
107
|
-
if (typeof e != "object" || !e) return null;
|
|
108
|
-
let { x: n, y: r, width: i, height: a } = e;
|
|
109
|
-
if (![
|
|
110
|
-
n,
|
|
111
|
-
r,
|
|
112
|
-
i,
|
|
113
|
-
a
|
|
114
|
-
].every((e) => typeof e == "number" && Number.isFinite(e))) return null;
|
|
115
|
-
let o = t.width, s = t.height, c = Math.max(0, Math.min(Math.round(n), o)), l = Math.max(0, Math.min(Math.round(r), s)), u = Math.max(c, Math.min(Math.round(n + i), o)), d = Math.max(l, Math.min(Math.round(r + a), s)), f = ae(e.radius);
|
|
116
|
-
return {
|
|
117
|
-
x: c,
|
|
118
|
-
y: l,
|
|
119
|
-
width: u - c,
|
|
120
|
-
height: d - l,
|
|
121
|
-
...f ? { radius: f } : {}
|
|
122
|
-
};
|
|
123
|
-
}, O = {
|
|
124
|
-
"not-rendered": "this page is not painting it at all, so it or an ancestor is display:none, or the frame was moved out of the layout",
|
|
125
|
-
clipped: "it is clipped away or positioned outside the viewport",
|
|
126
|
-
"not-shown": "it is rendered but would not be seen, so either something is drawn over it, or it or an ancestor has opacity below 1, visibility:hidden, or a filter"
|
|
127
|
-
}, se = (e) => Array.isArray(e) ? e.slice(0, o).flatMap((e) => {
|
|
128
|
-
if (typeof e != "object" || !e) return [];
|
|
129
|
-
let { kind: t, cause: n, level: r } = e;
|
|
130
|
-
return typeof t != "string" || t.length > 40 || typeof n != "string" || !(n in O) || r !== "full" && r !== "liveness" ? [] : [{
|
|
131
|
-
kind: t,
|
|
132
|
-
cause: n,
|
|
133
|
-
level: r
|
|
134
|
-
}];
|
|
135
|
-
}) : [], k = /* @__PURE__ */ new Set(), ce = (e) => {
|
|
136
|
-
for (let { kind: t, cause: n, level: r } of e) k.has(t) || (k.add(t), console.error(`[FKN] The FKN ${JSON.stringify(t)} is not visible on this page: ${O[n]}. Nobody using this page can see or answer it.
|
|
137
|
-
@fkn/lib draws its UI inside <iframe title="FKN"> and sets display, position, top, left, width, height, border, padding, box-sizing, clip-path and z-index on that element. Leave those as they are, then check for an ancestor with opacity, visibility, display or a clipping transform, and for an element stacked above it.` + (r === "liveness" ? "\nThis browser reports limited detail, so the cause above is a best guess." : "")));
|
|
138
|
-
}, A = (e, t) => {
|
|
139
|
-
if (typeof e != "object" || !e) return null;
|
|
140
|
-
let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, a) : []).map((e) => oe(e, t)).filter((e) => e !== null && e.width > 0 && e.height > 0);
|
|
141
|
-
return {
|
|
142
|
-
modal: n.modal === !0,
|
|
143
|
-
rects: r,
|
|
144
|
-
hidden: se(n.hidden),
|
|
145
|
-
inset: ie(n.inset)
|
|
146
|
-
};
|
|
147
|
-
}, j = () => x !== null, M = null, N = null, P = () => {
|
|
148
|
-
if (!x || M === null) return;
|
|
149
|
-
let e = C(x), t = A(M, e);
|
|
150
|
-
t && D(x, t, e);
|
|
151
|
-
}, F = (e) => {
|
|
152
|
-
typeof ResizeObserver > "u" || (N ??= new ResizeObserver(P), N.disconnect(), N.observe(e));
|
|
153
|
-
}, I = (e) => {
|
|
154
|
-
u(e), D(e, {
|
|
155
|
-
modal: !1,
|
|
156
|
-
rects: [],
|
|
157
|
-
hidden: [],
|
|
158
|
-
inset: 0
|
|
159
|
-
}, C(e)), x = e, F(e);
|
|
160
|
-
}, L = (e) => {
|
|
161
|
-
if (!x) return;
|
|
162
|
-
let t = C(x), n = A(e, t);
|
|
163
|
-
n && (M = e, D(x, n, t), ce(n.hidden));
|
|
164
|
-
}, R = "https://fkn.app", z = typeof globalThis < "u" && globalThis.document ? globalThis.document : void 0, B = typeof globalThis < "u" && globalThis.crossOriginIsolated === !0, V = `${R}/api${B ? "?coi=1" : ""}`, H = "fkn-api-port", U = "fkn-api-port-ack", W = 2e3, le = () => {
|
|
165
|
-
if (!z || typeof window > "u" || window.parent === window) return Promise.resolve(void 0);
|
|
166
|
-
let e;
|
|
167
|
-
try {
|
|
168
|
-
e = window.parent;
|
|
169
|
-
} catch {
|
|
170
|
-
return Promise.resolve(void 0);
|
|
171
|
-
}
|
|
172
|
-
let t = new MessageChannel();
|
|
173
|
-
return new Promise((n) => {
|
|
174
|
-
let r = (e) => {
|
|
175
|
-
if (clearTimeout(a), t.port1.removeEventListener("message", i), !e) try {
|
|
176
|
-
t.port1.close();
|
|
177
|
-
} catch {}
|
|
178
|
-
n(e);
|
|
179
|
-
}, i = (e) => {
|
|
180
|
-
e.data?.type === U && r(t.port1);
|
|
181
|
-
}, a = setTimeout(() => r(void 0), W);
|
|
182
|
-
t.port1.addEventListener("message", i), t.port1.start();
|
|
183
|
-
try {
|
|
184
|
-
e.postMessage({ type: H }, R, [t.port2]);
|
|
185
|
-
} catch {
|
|
186
|
-
r(void 0);
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
}, G, ue = () => {
|
|
190
|
-
if (G || !z) return G;
|
|
191
|
-
let e = z.querySelector(`iframe[src="${V}"]`);
|
|
192
|
-
if (e) G = e;
|
|
193
|
-
else {
|
|
194
|
-
let e = z.createElement("iframe");
|
|
195
|
-
B && e.setAttribute("allow", "cross-origin-isolated"), e.src = V, z.body.appendChild(e), G = e;
|
|
196
|
-
}
|
|
197
|
-
return I(G), G;
|
|
198
|
-
}, K = (async () => {
|
|
199
|
-
if (!z) return;
|
|
200
|
-
let e = await le();
|
|
201
|
-
if (e) return {
|
|
202
|
-
receive: e,
|
|
203
|
-
emit: e
|
|
204
|
-
};
|
|
205
|
-
let t = ue();
|
|
206
|
-
if (!t) return;
|
|
207
|
-
await i(t);
|
|
208
|
-
let n = t.contentWindow;
|
|
209
|
-
return n ? {
|
|
210
|
-
receive: window,
|
|
211
|
-
emit: n
|
|
212
|
-
} : void 0;
|
|
213
|
-
})(), de = (e) => {
|
|
214
|
-
let t, n = () => {}, r = new Promise((e) => {
|
|
215
|
-
n = e;
|
|
216
|
-
}), i = /* @__PURE__ */ new Set(), a = /* @__PURE__ */ new Set(), o = 0, s = 0;
|
|
217
|
-
(async () => {
|
|
218
|
-
for await (let r of e) {
|
|
219
|
-
let e = (t?.epoch ?? 0) + 1;
|
|
220
|
-
t = {
|
|
221
|
-
remote: r,
|
|
222
|
-
epoch: e
|
|
223
|
-
}, e === 1 && n(r);
|
|
224
|
-
let o = [...a];
|
|
225
|
-
a.clear();
|
|
226
|
-
let s = /* @__PURE__ */ Error("FKN: the broker was replaced while this call was pending; retry it");
|
|
227
|
-
for (let e of o) try {
|
|
228
|
-
e(s);
|
|
229
|
-
} catch {}
|
|
230
|
-
for (let t of [...i]) try {
|
|
231
|
-
t(r, e);
|
|
232
|
-
} catch {}
|
|
233
|
-
}
|
|
234
|
-
})().catch(() => {});
|
|
235
|
-
let c = async (e, n) => {
|
|
236
|
-
let i = t?.remote ?? await r;
|
|
237
|
-
for (let t of e.slice(0, -1)) i = i[t];
|
|
238
|
-
let c = i[e[e.length - 1] ?? ""];
|
|
239
|
-
o = Date.now(), s += 1;
|
|
240
|
-
let l = () => {}, u = new Promise((e, t) => {
|
|
241
|
-
l = t;
|
|
242
|
-
});
|
|
243
|
-
a.add(l);
|
|
244
|
-
try {
|
|
245
|
-
return await Promise.race([Promise.resolve(c.apply(i, n)), u]);
|
|
246
|
-
} finally {
|
|
247
|
-
--s, a.delete(l), o = Date.now();
|
|
248
|
-
}
|
|
249
|
-
}, l = /* @__PURE__ */ new Map(), u = (e) => {
|
|
250
|
-
let n = e.join("\0"), r = l.get(n);
|
|
251
|
-
if (r) return r;
|
|
252
|
-
let i = new Proxy(function() {}, {
|
|
253
|
-
get: (n, r) => {
|
|
254
|
-
if (typeof r != "string" || r === "then") return;
|
|
255
|
-
let i = t;
|
|
256
|
-
if (i) {
|
|
257
|
-
let t = i.remote;
|
|
258
|
-
for (let n of e) t = t?.[n];
|
|
259
|
-
if (t?.[r] === void 0) return;
|
|
260
|
-
}
|
|
261
|
-
return u([...e, r]);
|
|
262
|
-
},
|
|
263
|
-
apply: (t, n, r) => c(e, r)
|
|
264
|
-
});
|
|
265
|
-
return l.set(n, i), i;
|
|
266
|
-
};
|
|
267
|
-
return {
|
|
268
|
-
facade: u([]),
|
|
269
|
-
first: r.then(() => {}),
|
|
270
|
-
current: () => t,
|
|
271
|
-
onEpoch: (e) => {
|
|
272
|
-
if (i.add(e), t) try {
|
|
273
|
-
e(t.remote, t.epoch);
|
|
274
|
-
} catch {}
|
|
275
|
-
return () => {
|
|
276
|
-
i.delete(e);
|
|
277
|
-
};
|
|
278
|
-
},
|
|
279
|
-
lastCall: () => o,
|
|
280
|
-
inFlight: () => s
|
|
281
|
-
};
|
|
282
|
-
}, fe = typeof window < "u" || typeof self < "u", q = async () => {
|
|
283
|
-
if (typeof window < "u") return K;
|
|
284
|
-
if (typeof self < "u") return {
|
|
285
|
-
receive: self,
|
|
286
|
-
emit: self
|
|
287
|
-
};
|
|
288
|
-
}, J = de({ async *[Symbol.asyncIterator]() {
|
|
289
|
-
let t = await q();
|
|
290
|
-
if (!t) {
|
|
291
|
-
await new Promise(() => {});
|
|
292
|
-
return;
|
|
293
|
-
}
|
|
294
|
-
yield* e({}, {
|
|
295
|
-
key: "fkn-api",
|
|
296
|
-
transport: t
|
|
297
|
-
});
|
|
298
|
-
} }), Y = J.first.then(() => J.facade), X = 8e3, pe = 1e3, Z = !1, Q = class extends Error {
|
|
299
|
-
constructor(e, t) {
|
|
300
|
-
super(`@fkn/lib: no broker connection within ${t}ms, so ${e} could not be requested`), this.name = "BrokerUnreachableError";
|
|
301
|
-
}
|
|
302
|
-
}, me = (e) => {
|
|
303
|
-
let t = Z ? pe : X;
|
|
304
|
-
return Promise.race([Y, new Promise((n, r) => setTimeout(() => {
|
|
305
|
-
Z = !0, r(new Q(e, t));
|
|
306
|
-
}, t))]);
|
|
307
|
-
}, $ = J.onEpoch, he = J.current;
|
|
308
|
-
J.lastCall, J.inFlight, $((e) => {
|
|
309
|
-
j() && e.overlay.setHost(L, { exactClips: f() }).catch(() => {});
|
|
310
|
-
});
|
|
311
|
-
//#endregion
|
|
312
|
-
export { Q as a, me as c, X as i, K as n, fe as o, $ as r, he as s, Y as t };
|