@fkn/lib 0.5.4 → 0.6.0
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/account.cjs +1 -1
- package/account.js +2 -2
- package/api/account.d.ts +7 -0
- package/api/broker-bridge.d.ts +12 -0
- package/api/connect-store.d.ts +9 -0
- package/api/connect.d.ts +2 -0
- package/api/data-plane.d.ts +28 -0
- package/api/dns/index.d.ts +1 -0
- package/api/dns/lookup.d.ts +8 -0
- package/api/index.d.ts +78 -0
- package/api/install-prompt.d.ts +2 -0
- package/api/local-net/index.d.ts +43 -0
- package/api/overlay-mount.d.ts +2 -0
- package/api/overlay.d.ts +17 -0
- package/api/packages/host.d.ts +12 -0
- package/api/packages/identity.d.ts +1 -0
- package/api/packages/index.d.ts +34 -0
- package/api/packages/picker.d.ts +28 -0
- package/api/packages/registry.d.ts +20 -0
- package/api/packages/store.d.ts +6 -0
- package/api/packages/types.d.ts +56 -0
- package/api/preconnect.d.ts +1 -0
- package/api/proxy/index.d.ts +1 -0
- package/api/proxy/proxy-fetch.d.ts +5 -0
- package/api/quota.d.ts +10 -0
- package/api/rate-token.d.ts +3 -0
- package/api/session-limit.d.ts +1 -0
- package/api/storage.d.ts +20 -0
- package/api/toast.d.ts +1 -0
- package/api/token-source.d.ts +4 -0
- package/api/ui-events.d.ts +8 -0
- package/api/ui-host.d.ts +2 -0
- package/api/webvpn/index.d.ts +3 -0
- package/api/webvpn/packets/metadata.d.ts +31 -0
- package/api/webvpn/packets/tcp-listener.d.ts +39 -0
- package/api/webvpn/packets/tcp.d.ts +88 -0
- package/api/webvpn/packets/udp.d.ts +183 -0
- package/api/webvpn/packets/utils.d.ts +24 -0
- package/api/webvpn/tcp-listener.d.ts +11 -0
- package/api/webvpn/tcp.d.ts +33 -0
- package/api/webvpn/udp.d.ts +33 -0
- package/api/webvpn/utils.d.ts +26 -0
- package/api/webvpn/webtransport.d.ts +62 -0
- package/api/worker/client.d.ts +3 -0
- package/api/worker/protocol.d.ts +15 -0
- package/{api-CDb2pv7C.cjs → api-DD5v1qP9.cjs} +1 -1
- package/{background-TtzKw6g0.js → background-BVBbBOmL.js} +41 -66
- package/background-B_VgpARk.cjs +1 -0
- package/cloud/dgram.cjs +1 -1
- package/cloud/dgram.js +2 -4
- package/cloud/dns.cjs +1 -1
- package/cloud/dns.js +0 -1
- package/cloud/fs/promises.cjs +1 -1
- package/cloud/fs/promises.js +0 -3
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.js +3 -4
- package/cloud/http.cjs +1 -1
- package/cloud/http.js +0 -3
- package/cloud/net.cjs +1 -1
- package/cloud/net.js +2 -3
- package/cloud-5o7yJHeX.cjs +1 -0
- package/cloud-BFyf2uC7.js +112 -0
- package/cloud.cjs +1 -1
- package/cloud.js +8 -12
- package/connect-button-BBEjXzB3.cjs +1 -0
- package/connect-button-Ds9KpXHe.js +7 -0
- package/desktop.cjs +1 -1
- package/desktop.js +1 -1
- package/dgram-CE43gJq9.cjs +1 -0
- package/{dgram-DS5_yPc5.js → dgram-wtjARbt0.js} +30 -22
- package/dgram.cjs +1 -1
- package/dgram.js +1 -3
- package/dns.cjs +1 -1
- package/dns.js +2 -2
- package/extension-CPj10qwa.js +67 -0
- package/extension-D-NUXxzF.cjs +1 -0
- package/extension.cjs +1 -1
- package/extension.js +3 -5
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -4
- package/fs-BfmfMBiw.cjs +1 -0
- package/{fs-CQ-eWjXw.js → fs-D6nNf1mR.js} +4 -4
- package/fs.cjs +1 -1
- package/fs.js +1 -4
- package/http.cjs +2 -2
- package/http.js +7 -7
- package/index.cjs +1 -1
- package/index.js +23 -38
- package/{account.d.ts → lib/account.d.ts} +5 -8
- package/lib/api.d.ts +300 -0
- package/lib/auto.d.ts +5 -0
- package/lib/cloud/dgram.d.ts +2 -0
- package/lib/cloud/dns.d.ts +1 -0
- package/lib/cloud/frame.d.ts +3 -0
- package/lib/cloud/fs-promises.d.ts +5 -0
- package/lib/cloud/fs.d.ts +22 -0
- package/lib/cloud/http.d.ts +2 -0
- package/lib/cloud/net.d.ts +2 -0
- package/lib/cloud.d.ts +10 -0
- package/lib/connect-button.d.ts +1 -0
- package/lib/connect.d.ts +1 -0
- package/{desktop.d.ts → lib/desktop.d.ts} +6 -8
- package/lib/dns.d.ts +6 -0
- package/lib/dom.d.ts +2 -0
- package/lib/extension-prompt.d.ts +1 -0
- package/lib/extension.d.ts +4 -0
- package/lib/fkn-target.d.ts +1 -0
- package/lib/frame.d.ts +2 -0
- package/lib/fs/content-type.d.ts +1 -0
- package/lib/fs/hybrid.d.ts +10 -0
- package/lib/fs/index.d.ts +87 -0
- package/lib/fs/opfs.d.ts +8 -0
- package/lib/fs/promises.d.ts +8 -0
- package/lib/fs/types.d.ts +16 -0
- package/lib/index.d.ts +18 -0
- package/lib/node-fs/index.d.ts +95 -0
- package/lib/node-fs/shared.d.ts +39 -0
- package/lib/node-fs/store.d.ts +21 -0
- package/lib/opfs/index.d.ts +84 -0
- package/lib/opfs/promises.d.ts +8 -0
- package/lib/overlay.d.ts +14 -0
- package/lib/packages.d.ts +69 -0
- package/lib/proxy.d.ts +5 -0
- package/lib/quota.d.ts +20 -0
- package/lib/react.d.ts +7 -0
- package/lib/relay.d.ts +5 -0
- package/lib/storage.d.ts +22 -0
- package/lib/webvpn/dgram.d.ts +86 -0
- package/lib/webvpn/http.d.ts +180 -0
- package/lib/webvpn/index.d.ts +1 -0
- package/lib/webvpn/net.d.ts +132 -0
- package/lib/webvpn/utils.d.ts +32 -0
- package/net-CpuAhaQC.cjs +1 -0
- package/{net-Bl6_W3bd.js → net-DKMWPXb_.js} +3 -3
- package/net.cjs +1 -1
- package/net.js +2 -3
- package/node-fs-C0eKnboT.cjs +1 -0
- package/{node-fs-Bd_UUx1m.js → node-fs-Dbf93qP7.js} +40 -17
- package/opfs/promises.cjs +1 -1
- package/opfs/promises.js +2 -3
- package/{opfs-BfcYLPGb.js → opfs-7_GmzQ93.js} +1 -1
- package/opfs-uClkgnb5.cjs +1 -0
- package/opfs.cjs +1 -1
- package/opfs.js +33 -32
- package/package.json +31 -21
- package/packages.cjs +1 -0
- package/packages.js +150 -0
- package/{locator-DxAsGV_o.js → proxy-C8SG1Beo.js} +542 -344
- package/proxy-bPaU3-Cz.cjs +53 -0
- package/react.cjs +1 -0
- package/react.js +18 -0
- package/{chunk-CPXzm0be.js → rolldown-runtime-DF993M8W.js} +1 -1
- package/rolldown-runtime-Doa5O59j.cjs +1 -0
- package/sandbox.d.ts +7 -0
- package/storage-OkwsFLN1.cjs +1 -0
- package/{storage-BcJfnkm3.js → storage-TmeyhZGt.js} +2 -2
- package/{utils-BsNRWMfl.cjs → utils-CoimMjf9.cjs} +1 -1
- package/background-Dk_vaVP1.cjs +0 -1
- package/chunk-B6C_zzib.cjs +0 -1
- package/cloud/dgram.d.ts +0 -537
- package/cloud/dns.d.ts +0 -12
- package/cloud/fs/promises.d.ts +0 -45
- package/cloud/fs.d.ts +0 -75
- package/cloud/http.d.ts +0 -767
- package/cloud/net.d.ts +0 -606
- package/cloud-BrY9dKwV.cjs +0 -1
- package/cloud-C-LK4DWa.js +0 -33
- package/cloud.d.ts +0 -1053
- package/dgram-C5rGcbej.cjs +0 -1
- package/dgram.d.ts +0 -541
- package/dns.d.ts +0 -12
- package/extension-9Uv_0HdS.cjs +0 -1
- package/extension-Dgz0UTy0.js +0 -245
- package/extension.d.ts +0 -852
- package/favicon.svg +0 -5
- package/fs/promises.d.ts +0 -65
- package/fs-Bc6087fG.cjs +0 -1
- package/fs.d.ts +0 -138
- package/http.d.ts +0 -767
- package/index.d.ts +0 -2254
- package/locator-Cf7M3QKN.cjs +0 -53
- package/net-C5kWnI4C.cjs +0 -1
- package/net.d.ts +0 -606
- package/node-fs-lrlD_zqB.cjs +0 -1
- package/opfs/promises.d.ts +0 -46
- package/opfs-Dsi4FkJU.cjs +0 -1
- package/opfs.d.ts +0 -83
- package/proxy-A9UvWUaF.cjs +0 -1
- package/proxy-wiZN4eTR.js +0 -14
- package/storage-C2-_-bTO.cjs +0 -1
- /package/{api-ByfayMm1.js → api--bnCFd4w.js} +0 -0
- /package/{utils-CNydj3OT.js → utils-DPtyxGQu.js} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DF993M8W.js";
|
|
2
|
+
import { A as t, B as n, C as r, D as i, E as a, F as o, H as s, I as c, L as l, M as u, N as d, O as f, P as p, R as m, S as h, T as g, V as _, a as v, c as y, d as b, i as x, j as S, k as C, l as w, n as T, o as E, r as D, s as O, t as k, u as A, w as j, x as M, z as N } from "./proxy-C8SG1Beo.js";
|
|
3
|
+
import { t as P } from "./api--bnCFd4w.js";
|
|
4
|
+
import { available as F, fetch as I } from "./desktop.js";
|
|
5
|
+
//#region src/lib/extension-prompt.ts
|
|
6
|
+
var L = async (e) => {
|
|
7
|
+
if (typeof window > "u") return !1;
|
|
8
|
+
if (p()) return !0;
|
|
9
|
+
let t = await P, n = null, r = new Promise((e) => {
|
|
10
|
+
n = () => {
|
|
11
|
+
p() && e(!0);
|
|
12
|
+
}, d.addEventListener("statuschange", n);
|
|
13
|
+
}), i = t.installPrompt.show(e).then(() => !1), a = await Promise.race([r, i]);
|
|
14
|
+
return n && d.removeEventListener("statuschange", n), await t.installPrompt.hide().catch(() => {}), a;
|
|
15
|
+
}, R = null;
|
|
16
|
+
o(() => (R ||= L().then(() => void 0).finally(() => {
|
|
17
|
+
R = null;
|
|
18
|
+
}), R));
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region src/lib/auto.ts
|
|
21
|
+
var z = () => typeof document < "u" && p(), B = async (e, t) => {
|
|
22
|
+
if (T(e), t?.credentials === "include") {
|
|
23
|
+
if (typeof document > "u") throw Error("fetch with credentials needs the FKN extension, which only exists in window realms");
|
|
24
|
+
return i(e, t);
|
|
25
|
+
}
|
|
26
|
+
return z() ? i(e, {
|
|
27
|
+
...t,
|
|
28
|
+
credentials: "omit"
|
|
29
|
+
}) : F() ? I(e, t) : k(e, t);
|
|
30
|
+
}, V = /* @__PURE__ */ e({
|
|
31
|
+
ATTACH_FRAME_EVENT_KEY: () => x,
|
|
32
|
+
assertAttachableFrameUrl: () => w,
|
|
33
|
+
assertFetchableUrl: () => a,
|
|
34
|
+
assertLockdownApplicable: () => A,
|
|
35
|
+
attachFrame: () => v,
|
|
36
|
+
attachFramePermission: () => E,
|
|
37
|
+
available: () => z,
|
|
38
|
+
box: () => m,
|
|
39
|
+
cookies: () => j,
|
|
40
|
+
createFrame: () => O,
|
|
41
|
+
createVideoElementHandle: () => N,
|
|
42
|
+
events: () => d,
|
|
43
|
+
extension: () => d,
|
|
44
|
+
fetch: () => i,
|
|
45
|
+
fetchCredentialedPermission: () => f,
|
|
46
|
+
fetchLocalPermission: () => C,
|
|
47
|
+
fetchPermission: () => t,
|
|
48
|
+
gotoPermission: () => y,
|
|
49
|
+
handleRevivableModules: () => l,
|
|
50
|
+
isBlockedFetchUrl: () => S,
|
|
51
|
+
isBlockedFrameUrl: () => b,
|
|
52
|
+
isExtensionExposed: () => p,
|
|
53
|
+
isLocalNetworkUrl: () => u,
|
|
54
|
+
isType: () => n,
|
|
55
|
+
modifyRequestHeadersPermission: () => M,
|
|
56
|
+
permissions: () => D,
|
|
57
|
+
promptInstall: () => L,
|
|
58
|
+
readCookiePermission: () => g,
|
|
59
|
+
removeRequestHeaderRule: () => h,
|
|
60
|
+
revive: () => _,
|
|
61
|
+
setMissingExtensionHandler: () => o,
|
|
62
|
+
setRequestHeaderRule: () => r,
|
|
63
|
+
type: () => s,
|
|
64
|
+
waitForExtensionExposure: () => c
|
|
65
|
+
});
|
|
66
|
+
//#endregion
|
|
67
|
+
export { L as i, B as n, z as r, V as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./proxy-bPaU3-Cz.cjs"),n=require("./api-DD5v1qP9.cjs"),r=require("./desktop.cjs");var i=async e=>{if(typeof window>`u`)return!1;if(t.P())return!0;let r=await n.t,i=null,a=new Promise(e=>{i=()=>{t.P()&&e(!0)},t.N.addEventListener(`statuschange`,i)}),o=r.installPrompt.show(e).then(()=>!1),s=await Promise.race([a,o]);return i&&t.N.removeEventListener(`statuschange`,i),await r.installPrompt.hide().catch(()=>{}),s},a=null;t.F(()=>(a||=i().then(()=>void 0).finally(()=>{a=null}),a));var o=()=>typeof document<`u`&&t.P(),s=async(e,n)=>{if(t.n(e),n?.credentials===`include`){if(typeof document>`u`)throw Error(`fetch with credentials needs the FKN extension, which only exists in window realms`);return t.D(e,n)}return o()?t.D(e,{...n,credentials:`omit`}):r.available()?r.fetch(e,n):t.t(e,n)},c=e.n({ATTACH_FRAME_EVENT_KEY:()=>t.i,assertAttachableFrameUrl:()=>t.l,assertFetchableUrl:()=>t.E,assertLockdownApplicable:()=>t.u,attachFrame:()=>t.a,attachFramePermission:()=>t.o,available:()=>o,box:()=>t.R,cookies:()=>t.w,createFrame:()=>t.s,createVideoElementHandle:()=>t.z,events:()=>t.N,extension:()=>t.N,fetch:()=>t.D,fetchCredentialedPermission:()=>t.O,fetchLocalPermission:()=>t.k,fetchPermission:()=>t.A,gotoPermission:()=>t.c,handleRevivableModules:()=>t.L,isBlockedFetchUrl:()=>t.j,isBlockedFrameUrl:()=>t.d,isExtensionExposed:()=>t.P,isLocalNetworkUrl:()=>t.M,isType:()=>t.B,modifyRequestHeadersPermission:()=>t.x,permissions:()=>t.r,promptInstall:()=>i,readCookiePermission:()=>t.T,removeRequestHeaderRule:()=>t.S,revive:()=>t.V,setMissingExtensionHandler:()=>t.F,setRequestHeaderRule:()=>t.C,type:()=>t.H,waitForExtensionExposure:()=>t.I});Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return c}});
|
package/extension.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./proxy-bPaU3-Cz.cjs"),t=require("./extension-D-NUXxzF.cjs");exports.ATTACH_FRAME_EVENT_KEY=e.i,exports.assertAttachableFrameUrl=e.l,exports.assertFetchableUrl=e.E,exports.assertLockdownApplicable=e.u,exports.attachFrame=e.a,exports.attachFramePermission=e.o,exports.available=t.r,exports.box=e.R,exports.cookies=e.w,exports.createFrame=e.s,exports.createVideoElementHandle=e.z,exports.events=e.N,exports.extension=e.N,exports.fetch=e.D,exports.fetchCredentialedPermission=e.O,exports.fetchLocalPermission=e.k,exports.fetchPermission=e.A,exports.gotoPermission=e.c,exports.handleRevivableModules=e.L,exports.isBlockedFetchUrl=e.j,exports.isBlockedFrameUrl=e.d,exports.isExtensionExposed=e.P,exports.isLocalNetworkUrl=e.M,exports.isType=e.B,exports.modifyRequestHeadersPermission=e.x,exports.permissions=e.r,exports.promptInstall=t.i,exports.readCookiePermission=e.T,exports.removeRequestHeaderRule=e.S,exports.revive=e.V,exports.setMissingExtensionHandler=e.F,exports.setRequestHeaderRule=e.C,exports.type=e.H,exports.waitForExtensionExposure=e.I;
|
package/extension.js
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
import "./proxy-wiZN4eTR.js";
|
|
5
|
-
export { C as ATTACH_FRAME_EVENT_KEY, E as assertAttachableFrameUrl, O as assertFetchableUrl, h as attachFrame, x as attachFramePermission, T as available, a as box, v as cookies, e as createVideoElementHandle, D as evaluatePermission, d as events, d as extension, j as fetch, m as fetchCredentialedPermission, A as fetchLocalPermission, u as fetchPermission, g as gotoPermission, n as handleRevivableModules, o as isBlockedFetchUrl, _ as isBlockedFrameUrl, c as isExtensionExposed, k as isLocalNetworkUrl, t as isType, w as modifyRequestHeadersPermission, p as permissions, b as promptInstall, f as readCookiePermission, S as removeRequestHeaderRule, i as revive, s as setMissingExtensionHandler, y as setRequestHeaderRule, r as type, l as waitForExtensionExposure };
|
|
1
|
+
import { A as e, B as t, C as n, D as r, E as i, F as a, H as o, I as s, L as c, M as l, N as u, O as d, P as f, R as p, S as m, T as h, V as g, a as _, c as v, d as y, i as b, j as x, k as S, l as C, o as w, r as T, s as E, u as D, w as O, x as k, z as A } from "./proxy-C8SG1Beo.js";
|
|
2
|
+
import { i as j, r as M } from "./extension-CPj10qwa.js";
|
|
3
|
+
export { b as ATTACH_FRAME_EVENT_KEY, C as assertAttachableFrameUrl, i as assertFetchableUrl, D as assertLockdownApplicable, _ as attachFrame, w as attachFramePermission, M as available, p as box, O as cookies, E as createFrame, A as createVideoElementHandle, u as events, u as extension, r as fetch, d as fetchCredentialedPermission, S as fetchLocalPermission, e as fetchPermission, v as gotoPermission, c as handleRevivableModules, x as isBlockedFetchUrl, y as isBlockedFrameUrl, f as isExtensionExposed, l as isLocalNetworkUrl, t as isType, k as modifyRequestHeadersPermission, T as permissions, j as promptInstall, h as readCookiePermission, m as removeRequestHeaderRule, g as revive, a as setMissingExtensionHandler, n as setRequestHeaderRule, o as type, s as waitForExtensionExposure };
|
package/fs/promises.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}})
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../fs-BfmfMBiw.cjs");var{readFile:t,writeFile:n,appendFile:r,unlink:i,rename:a,readdir:o,mkdir:s,rm:c,rmdir:l,stat:u,lstat:d,access:f}=e.p,p=e.p;exports.access=f,exports.appendFile=r,exports.default=p,exports.lstat=d,exports.mkdir=s,exports.readFile=t,exports.readdir=o,exports.rename=a,exports.rm=c,exports.rmdir=l,exports.stat=u,exports.unlink=i,exports.writeFile=n;
|
package/fs/promises.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import "../
|
|
2
|
-
import "../node-fs-Bd_UUx1m.js";
|
|
3
|
-
import "../storage-BcJfnkm3.js";
|
|
4
|
-
import { p as e } from "../fs-CQ-eWjXw.js";
|
|
1
|
+
import { p as e } from "../fs-D6nNf1mR.js";
|
|
5
2
|
//#region src/lib/fs/promises.ts
|
|
6
3
|
var { readFile: t, writeFile: n, appendFile: r, unlink: i, rename: a, readdir: o, mkdir: s, rm: c, rmdir: l, stat: u, lstat: d, access: f } = e, p = e;
|
|
7
4
|
//#endregion
|
package/fs-BfmfMBiw.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-C0eKnboT.cjs"),n=require("./storage-OkwsFLN1.cjs"),r=require("./opfs-uClkgnb5.cjs");var i=e.n({available:()=>c,list:()=>l,pull:()=>p,readFile:()=>u,remove:()=>f,writeFile:()=>d}),a,o=async()=>await(a??=r.t().catch(()=>!1))?!0:(a=void 0,!1),s=()=>n.t().catch(()=>!1),c=async()=>await o()||await s(),l=async()=>{let[e,t]=await Promise.all([o().then(e=>e?r.n():[]).catch(()=>[]),s().then(e=>e?n.n():[]).catch(()=>[])]),i=new Map,a=e=>{let t=Date.parse(e.updatedAt??``);return Number.isFinite(t)?t:0},c=e=>{let t=i.get(e.path);(!t||a(e)>=a(t))&&i.set(e.path,e)};for(let t of e)c(t);for(let e of t)c(e);return[...i.values()]},u=async e=>{if(await o())try{return await r.i(e)}catch(e){if(e?.name!==`NotFoundError`)throw e}let t=await n.i(e);return await o()&&r.o(e,t).catch(()=>{}),t},d=async(e,t,i)=>{let a=t instanceof Blob?t:new Blob([t],i?.contentType?{type:i.contentType}:void 0);if(await o()){await r.o(e,a,i),await s()&&n.s(e,a,i).catch(e=>console.warn(`fs: cloud replicate failed`,e));return}if(await s())return n.s(e,a,i);throw Error(`fs: no storage backend available`)},f=async e=>{let t=[];if(await o()&&t.push(r.a(e).catch(()=>{})),await s()&&t.push(n.a(e).catch(()=>{})),!t.length)throw Error(`fs: no storage backend available`);await Promise.all(t)},p=async e=>{let t=await n.i(e);return await o()&&await r.o(e,t),t},m=e.n({appendFile:()=>j,appendFileSync:()=>y,available:()=>g,default:()=>W,exists:()=>R,existsSync:()=>b,flush:()=>V,lstatSync:()=>S,mkdir:()=>P,mkdirSync:()=>w,mount:()=>B,promises:()=>z,pull:()=>U,readFile:()=>k,readFileSync:()=>_,readdir:()=>N,readdirSync:()=>C,remount:()=>H,rename:()=>L,renameSync:()=>O,rm:()=>F,rmSync:()=>T,rmdirSync:()=>E,stat:()=>M,statSync:()=>x,unlink:()=>I,unlinkSync:()=>D,writeFile:()=>A,writeFileSync:()=>v}),h=t.t(i,{memfs:!0}),{available:g,readFileSync:_,writeFileSync:v,appendFileSync:y,existsSync:b,statSync:x,lstatSync:S,readdirSync:C,mkdirSync:w,rmSync:T,rmdirSync:E,unlinkSync:D,renameSync:O,readFile:k,writeFile:A,appendFile:j,stat:M,readdir:N,mkdir:P,rm:F,unlink:I,rename:L,exists:R,promises:z,mount:B,flush:V,remount:H}=h,U=p,W={...h,pull:U};Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return H}});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { n as e } from "./
|
|
2
|
-
import { t } from "./node-fs-
|
|
3
|
-
import { a as n, i as r, n as i, s as a, t as o } from "./storage-
|
|
4
|
-
import { a as s, i as c, n as l, o as u, t as d } from "./opfs-
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DF993M8W.js";
|
|
2
|
+
import { t } from "./node-fs-Dbf93qP7.js";
|
|
3
|
+
import { a as n, i as r, n as i, s as a, t as o } from "./storage-TmeyhZGt.js";
|
|
4
|
+
import { a as s, i as c, n as l, o as u, t as d } from "./opfs-7_GmzQ93.js";
|
|
5
5
|
//#region src/lib/fs/hybrid.ts
|
|
6
6
|
var f = /* @__PURE__ */ e({
|
|
7
7
|
available: () => g,
|
package/fs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}})
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./fs-BfmfMBiw.cjs");exports.appendFile=e.t,exports.appendFileSync=e.n,exports.available=e.r,exports.default=e.s,exports.exists=e.i,exports.existsSync=e.a,exports.flush=e.o,exports.lstatSync=e.l,exports.mkdir=e.u,exports.mkdirSync=e.d,exports.mount=e.f,exports.promises=e.p,exports.pull=e.m,exports.readFile=e.h,exports.readFileSync=e.g,exports.readdir=e._,exports.readdirSync=e.v,exports.remount=e.y,exports.rename=e.b,exports.renameSync=e.x,exports.rm=e.S,exports.rmSync=e.C,exports.rmdirSync=e.w,exports.stat=e.T,exports.statSync=e.E,exports.unlink=e.D,exports.unlinkSync=e.O,exports.writeFile=e.k,exports.writeFileSync=e.A;
|
package/fs.js
CHANGED
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
import "./
|
|
2
|
-
import "./node-fs-Bd_UUx1m.js";
|
|
3
|
-
import "./storage-BcJfnkm3.js";
|
|
4
|
-
import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, d as u, f as d, g as f, h as p, i as m, k as h, l as g, m as _, n as v, o as y, p as b, r as x, s as S, t as C, u as w, v as T, w as E, x as D, y as O } from "./fs-CQ-eWjXw.js";
|
|
1
|
+
import { A as e, C as t, D as n, E as r, O as i, S as a, T as o, _ as s, a as c, b as l, d as u, f as d, g as f, h as p, i as m, k as h, l as g, m as _, n as v, o as y, p as b, r as x, s as S, t as C, u as w, v as T, w as E, x as D, y as O } from "./fs-D6nNf1mR.js";
|
|
5
2
|
export { C as appendFile, v as appendFileSync, x as available, S as default, m as exists, c as existsSync, y as flush, g as lstatSync, w as mkdir, u as mkdirSync, d as mount, b as promises, _ as pull, p as readFile, f as readFileSync, s as readdir, T as readdirSync, O as remount, l as rename, D as renameSync, a as rm, t as rmSync, E as rmdirSync, o as stat, r as statSync, n as unlink, i as unlinkSync, h as writeFile, e as writeFileSync };
|
package/http.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require(
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./net-CpuAhaQC.cjs");let n=require("buffer"),r=require("stream");var i=e.n({Agent:()=>T,ClientRequest:()=>S,HTTPParser:()=>g,IncomingMessage:()=>v,METHODS:()=>o,STATUS_CODES:()=>s,Server:()=>w,ServerResponse:()=>b,_default:()=>A,createServer:()=>k,default:()=>A,get:()=>O,globalAgent:()=>E,request:()=>D}),a=new TextDecoder(`latin1`),o=`ACL.BIND.CHECKOUT.CONNECT.COPY.DELETE.GET.HEAD.LINK.LOCK.M-SEARCH.MERGE.MKACTIVITY.MKCALENDAR.MKCOL.MOVE.NOTIFY.OPTIONS.PATCH.POST.PROPFIND.PROPPATCH.PURGE.PUT.REBIND.REPORT.SEARCH.SOURCE.SUBSCRIBE.TRACE.UNBIND.UNLINK.UNLOCK.UNSUBSCRIBE`.split(`.`),s={100:`Continue`,101:`Switching Protocols`,102:`Processing`,103:`Early Hints`,200:`OK`,201:`Created`,202:`Accepted`,203:`Non-Authoritative Information`,204:`No Content`,205:`Reset Content`,206:`Partial Content`,207:`Multi-Status`,208:`Already Reported`,226:`IM Used`,300:`Multiple Choices`,301:`Moved Permanently`,302:`Found`,303:`See Other`,304:`Not Modified`,305:`Use Proxy`,307:`Temporary Redirect`,308:`Permanent Redirect`,400:`Bad Request`,401:`Unauthorized`,402:`Payment Required`,403:`Forbidden`,404:`Not Found`,405:`Method Not Allowed`,406:`Not Acceptable`,407:`Proxy Authentication Required`,408:`Request Timeout`,409:`Conflict`,410:`Gone`,411:`Length Required`,412:`Precondition Failed`,413:`Payload Too Large`,414:`URI Too Long`,415:`Unsupported Media Type`,416:`Range Not Satisfiable`,417:`Expectation Failed`,418:`I'm a Teapot`,421:`Misdirected Request`,422:`Unprocessable Entity`,423:`Locked`,424:`Failed Dependency`,425:`Too Early`,426:`Upgrade Required`,428:`Precondition Required`,429:`Too Many Requests`,431:`Request Header Fields Too Large`,451:`Unavailable For Legal Reasons`,500:`Internal Server Error`,501:`Not Implemented`,502:`Bad Gateway`,503:`Service Unavailable`,504:`Gateway Timeout`,505:`HTTP Version Not Supported`,506:`Variant Also Negotiates`,507:`Insufficient Storage`,508:`Loop Detected`,509:`Bandwidth Limit Exceeded`,510:`Not Extended`,511:`Network Authentication Required`},c=new Set([`content-type`,`content-length`,`user-agent`,`referer`,`host`,`authorization`,`proxy-authorization`,`if-modified-since`,`if-unmodified-since`,`from`,`location`,`max-forwards`,`retry-after`,`etag`,`last-modified`,`server`,`age`,`expires`]),l=13,u=10,d=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,f=(e,t)=>(e.code=t,e),p=(e,t)=>{if(e.length===0)return t;if(t.length===0)return e;let n=new Uint8Array(e.length+t.length);return n.set(e,0),n.set(t,e.length),n},m=(e,t)=>{for(let n=t;n+1<e.length;n++)if(e[n]===l&&e[n+1]===u)return n;return-1},h=e=>{for(let t=0;t+3<e.length;t++)if(e[t]===l&&e[t+1]===u&&e[t+2]===l&&e[t+3]===u)return t;return-1},g=class{mode;handlers;buf=new Uint8Array;state=`HEAD`;framing=`none`;bodyRemaining=0;chunkState=`size`;skipBody=!1;constructor(e,t){this.mode=e,this.handlers=t}execute(e){this.buf=p(this.buf,e);let t=!0;for(;t;)if(t=!1,this.state===`HEAD`){let e=h(this.buf);if(e===-1)return;let n=this.buf.subarray(0,e);this.buf=this.buf.subarray(e+4);let r=this.parseHead(n);this.handlers.onHeaders(r),this.setupBody(r),this.framing===`none`?(this.handlers.onComplete(),this.reset(),t=this.buf.length>0):(this.state=`BODY`,t=!0)}else this.consumeBody()&&(this.handlers.onComplete(),this.reset(),t=this.buf.length>0)}finish(){this.state===`BODY`&&this.framing===`eof`&&(this.handlers.onComplete(),this.reset())}reset(){this.state=`HEAD`,this.framing=`none`,this.bodyRemaining=0,this.chunkState=`size`,this.skipBody=!1}parseHead(e){let t=a.decode(e).split(`\r
|
|
2
2
|
`),n=t.shift()??``,r=[];for(let e of t)(e.startsWith(` `)||e.startsWith(` `))&&r.length>0?r[r.length-1]+=` `+e.trim():r.push(e);let i=[],o={};for(let e of r){if(!e)continue;let t=e.indexOf(`:`);if(t===-1)continue;let n=e.slice(0,t).trim(),r=e.slice(t+1).trim();i.push(n,r),this.addHeader(o,n,r)}let s={httpVersionMajor:1,httpVersionMinor:1,httpVersion:`1.1`,headers:o,rawHeaders:i};if(this.mode===`request`){let[e,t,r]=n.split(` `);s.method=(e??`GET`).toUpperCase(),s.url=t??`/`,this.applyVersion(s,r)}else{let e=n.indexOf(` `),t=n.slice(0,e),r=n.slice(e+1),i=r.indexOf(` `),a=i===-1?r:r.slice(0,i);s.statusCode=parseInt(a,10)||0,s.statusMessage=i===-1?``:r.slice(i+1),this.applyVersion(s,t)}return s}applyVersion(e,t){let n=/HTTP\/(\d)\.(\d)/i.exec(t??``);n&&(e.httpVersionMajor=parseInt(n[1],10),e.httpVersionMinor=parseInt(n[2],10),e.httpVersion=`${e.httpVersionMajor}.${e.httpVersionMinor}`)}addHeader(e,t,n){let r=t.toLowerCase();if(r===`set-cookie`){let t=e[`set-cookie`];Array.isArray(t)?t.push(n):e[`set-cookie`]=[n];return}let i=e[r];i===void 0?e[r]=n:c.has(r)||(e[r]=`${i}, ${n}`)}setupBody(e){if(this.skipBody){this.framing=`none`;return}let t=e.headers[`transfer-encoding`];if(typeof t==`string`&&t.toLowerCase().includes(`chunked`)){this.framing=`chunked`,this.chunkState=`size`;return}let n=e.headers[`content-length`];if(typeof n==`string`&&n!==``){let e=parseInt(n,10);e>0?(this.framing=`length`,this.bodyRemaining=e):this.framing=`none`;return}if(this.mode===`response`){let t=e.statusCode??0;t>=100&&t<200||t===204||t===304?this.framing=`none`:this.framing=`eof`}else this.framing=`none`}consumeBody(){if(this.framing===`length`){if(this.buf.length===0)return!1;let e=Math.min(this.bodyRemaining,this.buf.length);return this.handlers.onBody(this.buf.subarray(0,e)),this.buf=this.buf.subarray(e),this.bodyRemaining-=e,this.bodyRemaining===0}return this.framing===`eof`?(this.buf.length>0&&(this.handlers.onBody(this.buf),this.buf=new Uint8Array),!1):this.framing===`chunked`?this.consumeChunked():!0}consumeChunked(){for(;;)if(this.chunkState===`size`){let e=m(this.buf,0);if(e===-1)return!1;let t=a.decode(this.buf.subarray(0,e)),n=parseInt(t.split(`;`)[0].trim(),16);if(this.buf=this.buf.subarray(e+2),Number.isNaN(n))return!0;n===0?this.chunkState=`trailer`:(this.bodyRemaining=n,this.chunkState=`data`)}else if(this.chunkState===`data`){if(this.buf.length===0)return!1;let e=Math.min(this.bodyRemaining,this.buf.length);this.handlers.onBody(this.buf.subarray(0,e)),this.buf=this.buf.subarray(e),this.bodyRemaining-=e,this.bodyRemaining===0&&(this.chunkState=`dataCRLF`)}else if(this.chunkState===`dataCRLF`){if(this.buf.length<2)return!1;this.buf=this.buf.subarray(2),this.chunkState=`size`}else{let e=m(this.buf,0);if(e===-1)return!1;let t=e===0;if(this.buf=this.buf.subarray(e+2),t)return!0}}},_=(e,t)=>n.Buffer.isBuffer(e)?e:typeof e==`string`?n.Buffer.from(e,t??`utf8`):e instanceof Uint8Array?n.Buffer.from(e):e instanceof ArrayBuffer?n.Buffer.from(new Uint8Array(e)):n.Buffer.from(String(e)),v=class extends r.Stream.Readable{httpVersion=`1.1`;httpVersionMajor=1;httpVersionMinor=1;headers={};rawHeaders=[];trailers={};rawTrailers=[];method;url;statusCode;statusMessage;complete=!1;socket;constructor(e){super(),this.socket=e}get connection(){return this.socket}_applyHead(e){this.httpVersion=e.httpVersion,this.httpVersionMajor=e.httpVersionMajor,this.httpVersionMinor=e.httpVersionMinor,this.headers=e.headers,this.rawHeaders=e.rawHeaders,this.method=e.method,this.url=e.url,this.statusCode=e.statusCode,this.statusMessage=e.statusMessage}_read(){}setTimeout(e,t){return this.socket.setTimeout(e,t),this}},y=class extends r.Stream.Writable{_headerStore=new Map;headersSent=!1;chunkedEncoding=!1;finished=!1;_bodyWritten=!1;setHeader(e,t){if(this.headersSent)throw f(Error(`Cannot set headers after they are sent to the client`),`ERR_HTTP_HEADERS_SENT`);if(typeof e!=`string`||!d.test(e))throw f(TypeError(`Header name must be a valid HTTP token [${JSON.stringify(String(e))}]`),`ERR_INVALID_HTTP_TOKEN`);if(t===void 0)throw f(TypeError(`Invalid value "undefined" for header "${e}"`),`ERR_HTTP_INVALID_HEADER_VALUE`);return this._headerStore.set(e.toLowerCase(),[e,Array.isArray(t)?[...t]:t]),this}getHeader(e){return this._headerStore.get(e.toLowerCase())?.[1]}getHeaderNames(){return[...this._headerStore.values()].map(([e])=>e)}getHeaders(){let e={};for(let[t,n]of this._headerStore.values())e[t]=n;return e}hasHeader(e){return this._headerStore.has(e.toLowerCase())}removeHeader(e){if(this.headersSent)throw Error(`Cannot remove headers after they are sent to the client`);this._headerStore.delete(e.toLowerCase())}_storeHeader(e){let t=this.hasHeader(`content-length`),n=this.getHeader(`transfer-encoding`);typeof n==`string`&&n.toLowerCase().includes(`chunked`)?this.chunkedEncoding=!0:!t&&this._shouldSendBody()&&(this.chunkedEncoding=!0,this.setHeader(`Transfer-Encoding`,`chunked`));let r=e+`\r
|
|
3
3
|
`;for(let[e,t]of this._headerStore.values())if(Array.isArray(t))for(let n of t)r+=`${e}: ${n}\r\n`;else r+=`${e}: ${t}\r\n`;return r+=`\r
|
|
4
4
|
`,r}_writeToSocket(e,t){if(!this.socket){t(Error(`Socket is not available`));return}this.socket.write(e,t)}write(e,t,n){return this._bodyWritten=!0,super.write(e,t,n)}_write(e,t,r){let i=_(e),a=[];if(this.headersSent||=(this._implicitHeader(),a.push(n.Buffer.from(this._headBlock,`latin1`)),!0),this.chunkedEncoding?i.length>0&&(a.push(n.Buffer.from(`${i.length.toString(16)}\r\n`,`latin1`)),a.push(i),a.push(n.Buffer.from(`\r
|
|
@@ -6,4 +6,4 @@ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{val
|
|
|
6
6
|
\r
|
|
7
7
|
`,`latin1`)),this.finished=!0,t.length===0){e();return}this._writeToSocket(n.Buffer.concat(t),e)}end(e,t,n){if(e!=null&&typeof e!=`function`&&!this._bodyWritten&&!this.headersSent&&!this.chunkedEncoding&&!this.hasHeader(`content-length`)){let n=typeof t==`string`?t:void 0;this.setHeader(`Content-Length`,_(e,n).length)}return super.end(e,t,n)}_headBlock},b=class extends y{statusCode=200;statusMessage;_writeHeadCalled=!1;sendDate=!0;req;socket;_keepAlive=!0;constructor(e){super(),this.req=e,this.socket=e.socket}_shouldSendBody(){if(this.req.method===`HEAD`)return!1;let e=this.statusCode;return!(e>=100&&e<200||e===204||e===304)}writeHead(e,t,n){if(this._writeHeadCalled||this.headersSent)throw f(Error(`Cannot render headers after they are sent to the client`),`ERR_HTTP_HEADERS_SENT`);this._writeHeadCalled=!0,this.statusCode=e;let r=n;if(typeof t==`string`?this.statusMessage=t:t!=null&&(r=t),Array.isArray(r)){let e=Array.isArray(r[0])?r:Array.from({length:Math.floor(r.length/2)},(e,t)=>[r[t*2],r[t*2+1]]);for(let[t,n]of e)n!==void 0&&this._appendHeader(t,n)}else if(r)for(let[e,t]of Object.entries(r))t!==void 0&&this.setHeader(e,t);return this}_appendHeader(e,t){let n=this.getHeader(e);if(n===void 0)this.setHeader(e,t);else{let r=[...Array.isArray(n)?n:[n],...Array.isArray(t)?t:[t]].map(String);this.setHeader(e,r)}}_implicitHeader(){let e=this.statusMessage??s[this.statusCode]??`unknown`;this.sendDate&&!this.hasHeader(`date`)&&this.setHeader(`Date`,new Date().toUTCString()),this.hasHeader(`connection`)||this.setHeader(`Connection`,this._keepAlive?`keep-alive`:`close`),this._headBlock=this._storeHeader(`HTTP/1.1 ${this.statusCode} ${e}`)}writeContinue(){this._writeToSocket(n.Buffer.from(`HTTP/1.1 100 Continue\r
|
|
8
8
|
\r
|
|
9
|
-
`,`latin1`),()=>{})}setTimeout(e,t){return this.socket?.setTimeout(e,t),this}},x=(...e)=>{let t={},n={},r,i=[...e],a=i.shift();if(typeof a==`string`||a instanceof URL){let e=typeof a==`string`?new URL(a):a;t={protocol:e.protocol,hostname:e.hostname,host:e.hostname,port:e.port,path:`${e.pathname}${e.search}`,auth:e.username?`${e.username}:${e.password}`:void 0};let o=i.shift();typeof o==`function`?r=o:o&&typeof o==`object`&&(n=o,r=i.shift())}else a&&typeof a==`object`&&(n=a,r=i.shift());return{options:{...t,...n},callback:r}},S=class extends y{method;path;host;protocol;socket;get connection(){return this.socket}res=null;aborted=!1;_aborted=!1;constructor(e,r){super(),this.method=(e.method??`GET`).toUpperCase(),this.path=e.path??`/`,this.protocol=e.protocol??`http:`;let i=e.hostname??e.host??`localhost`;this.host=i;let a=Number(e.port??(this.protocol===`https:`?443:80));if(r&&this.once(`response`,r),e.headers)for(let[t,n]of Object.entries(e.headers))n!==void 0&&this.setHeader(t,n);if(!this.hasHeader(`host`)){let e=this.protocol===`https:`&&a===443||this.protocol!==`https:`&&a===80;this.setHeader(`Host`,e?i:`${i}:${a}`)}e.auth&&!this.hasHeader(`authorization`)&&this.setHeader(`Authorization`,`Basic ${n.Buffer.from(e.auth).toString(`base64`)}`),this.socket=new t.n,this.emit(`socket`,this.socket),this.socket.on(`error`,e=>{this._aborted||this.emit(`error`,e)}),this._attachResponseParser(),this.socket.connect({host:i,port:a},()=>{this.emit(`connect`)})}_shouldSendBody(){return this.method!==`GET`&&this.method!==`HEAD`&&this.method!==`DELETE`}_implicitHeader(){this._headBlock=this._storeHeader(`${this.method} ${this.path} HTTP/1.1`)}_attachResponseParser(){let e=new v(this.socket),t=new g(`response`,{onHeaders:n=>{e._applyHead(n),this.method===`HEAD`&&(t.skipBody=!0),this.res=e,this.emit(`response`,e)},onBody:t=>{e.push(n.Buffer.from(t))},onComplete:()=>{e.complete=!0,e.push(null)}});this.socket.on(`data`,e=>{this._aborted||t.execute(e)}),this.socket.on(`end`,()=>{t.finish()}),this.socket.on(`close`,()=>{this.emit(`close`)})}abort(){this._aborted||(this._aborted=!0,this.aborted=!0,this.emit(`abort`),this.socket.destroy())}destroy(e){return this._aborted?this:(this._aborted=!0,this.socket.destroy(e),super.destroy(e),this)}end(e,t,n){return this._aborted?this:super.end(e,t,n)}_writeToSocket(e,t){if(this._aborted){t();return}super._writeToSocket(e,t)}setTimeout(e,t){return this.socket.setTimeout(e,t),this}setNoDelay(e){this.socket.setNoDelay(e)}setSocketKeepAlive(e,t){this.socket.setKeepAlive(e,t)}},C=class extends t.t{constructor(e,t){let n={},r=t;typeof e==`function`?r=e:e&&(n=e),super(n),r&&this.on(`request`,r),this.on(`connection`,e=>this._handleConnection(e))}_handleConnection(e){let t=null,r=new g(`request`,{onHeaders:n=>{t=new v(e),t._applyHead(n),n.method===`HEAD`&&(r.skipBody=!0);let i=new b(t),a=String(n.headers.connection??``).toLowerCase();i._keepAlive=n.httpVersionMinor>=1?a!==`close`:a===`keep-alive`,i.on(`finish`,()=>{i._keepAlive||e.end()}),this.emit(`request`,t,i)},onBody:e=>{t?.push(n.Buffer.from(e))},onComplete:()=>{t&&(t.complete=!0,t.push(null)),t=null}});e.on(`data`,e=>r.execute(e)),e.on(`end`,()=>{r.finish(),t&&t.push(null)}),e.on(`error`,t=>this.emit(`clientError`,t,e))}},w=new Proxy(C,{apply:(e,t,n)=>new e(...n)}),T=class{maxSockets;maxFreeSockets;keepAlive;options;constructor(e={}){this.options=e,this.keepAlive=!!e.keepAlive,this.maxSockets=e.maxSockets??1/0,this.maxFreeSockets=e.maxFreeSockets??256}getName(e={}){return`${e.host??`localhost`}:${e.port??``}:${e.localAddress??``}`}destroy(){}},E=new T,D=(...e)=>{let{options:t,callback:n}=x(...e);return new S(t,n)},O=(...e)=>{let t=D(...e);return t.end(),t},k=(e,t)=>new w(e,t),A={METHODS:o,STATUS_CODES:s,Agent:T,globalAgent:E,Server:w,ServerResponse:b,IncomingMessage:v,ClientRequest:S,OutgoingMessage:y,createServer:k,request:D,get:O};exports.Agent=T,exports.ClientRequest=S,exports.HTTPParser=g,exports.IncomingMessage=v,exports.METHODS=o,exports.STATUS_CODES=s,exports.Server=w,exports.ServerResponse=b,exports._default=A,exports.default=A,exports.createServer=k,exports.get=O,exports.globalAgent=E,exports.request=D,Object.defineProperty(exports
|
|
9
|
+
`,`latin1`),()=>{})}setTimeout(e,t){return this.socket?.setTimeout(e,t),this}},x=(...e)=>{let t={},n={},r,i=[...e],a=i.shift();if(typeof a==`string`||a instanceof URL){let e=typeof a==`string`?new URL(a):a;t={protocol:e.protocol,hostname:e.hostname,host:e.hostname,port:e.port,path:`${e.pathname}${e.search}`,auth:e.username?`${e.username}:${e.password}`:void 0};let o=i.shift();typeof o==`function`?r=o:o&&typeof o==`object`&&(n=o,r=i.shift())}else a&&typeof a==`object`&&(n=a,r=i.shift());return{options:{...t,...n},callback:r}},S=class extends y{method;path;host;protocol;socket;get connection(){return this.socket}res=null;aborted=!1;_aborted=!1;constructor(e,r){super(),this.method=(e.method??`GET`).toUpperCase(),this.path=e.path??`/`,this.protocol=e.protocol??`http:`;let i=e.hostname??e.host??`localhost`;this.host=i;let a=Number(e.port??(this.protocol===`https:`?443:80));if(r&&this.once(`response`,r),e.headers)for(let[t,n]of Object.entries(e.headers))n!==void 0&&this.setHeader(t,n);if(!this.hasHeader(`host`)){let e=this.protocol===`https:`&&a===443||this.protocol!==`https:`&&a===80;this.setHeader(`Host`,e?i:`${i}:${a}`)}e.auth&&!this.hasHeader(`authorization`)&&this.setHeader(`Authorization`,`Basic ${n.Buffer.from(e.auth).toString(`base64`)}`),this.socket=new t.n,this.emit(`socket`,this.socket),this.socket.on(`error`,e=>{this._aborted||this.emit(`error`,e)}),this._attachResponseParser(),this.socket.connect({host:i,port:a},()=>{this.emit(`connect`)})}_shouldSendBody(){return this.method!==`GET`&&this.method!==`HEAD`&&this.method!==`DELETE`}_implicitHeader(){this._headBlock=this._storeHeader(`${this.method} ${this.path} HTTP/1.1`)}_attachResponseParser(){let e=new v(this.socket),t=new g(`response`,{onHeaders:n=>{e._applyHead(n),this.method===`HEAD`&&(t.skipBody=!0),this.res=e,this.emit(`response`,e)},onBody:t=>{e.push(n.Buffer.from(t))},onComplete:()=>{e.complete=!0,e.push(null)}});this.socket.on(`data`,e=>{this._aborted||t.execute(e)}),this.socket.on(`end`,()=>{t.finish()}),this.socket.on(`close`,()=>{this.emit(`close`)})}abort(){this._aborted||(this._aborted=!0,this.aborted=!0,this.emit(`abort`),this.socket.destroy())}destroy(e){return this._aborted?this:(this._aborted=!0,this.socket.destroy(e),super.destroy(e),this)}end(e,t,n){return this._aborted?this:super.end(e,t,n)}_writeToSocket(e,t){if(this._aborted){t();return}super._writeToSocket(e,t)}setTimeout(e,t){return this.socket.setTimeout(e,t),this}setNoDelay(e){this.socket.setNoDelay(e)}setSocketKeepAlive(e,t){this.socket.setKeepAlive(e,t)}},C=class extends t.t{constructor(e,t){let n={},r=t;typeof e==`function`?r=e:e&&(n=e),super(n),r&&this.on(`request`,r),this.on(`connection`,e=>this._handleConnection(e))}_handleConnection(e){let t=null,r=new g(`request`,{onHeaders:n=>{t=new v(e),t._applyHead(n),n.method===`HEAD`&&(r.skipBody=!0);let i=new b(t),a=String(n.headers.connection??``).toLowerCase();i._keepAlive=n.httpVersionMinor>=1?a!==`close`:a===`keep-alive`,i.on(`finish`,()=>{i._keepAlive||e.end()}),this.emit(`request`,t,i)},onBody:e=>{t?.push(n.Buffer.from(e))},onComplete:()=>{t&&(t.complete=!0,t.push(null)),t=null}});e.on(`data`,e=>r.execute(e)),e.on(`end`,()=>{r.finish(),t&&t.push(null)}),e.on(`error`,t=>this.emit(`clientError`,t,e))}},w=new Proxy(C,{apply:(e,t,n)=>new e(...n)}),T=class{maxSockets;maxFreeSockets;keepAlive;options;constructor(e={}){this.options=e,this.keepAlive=!!e.keepAlive,this.maxSockets=e.maxSockets??1/0,this.maxFreeSockets=e.maxFreeSockets??256}getName(e={}){return`${e.host??`localhost`}:${e.port??``}:${e.localAddress??``}`}destroy(){}},E=new T,D=(...e)=>{let{options:t,callback:n}=x(...e);return new S(t,n)},O=(...e)=>{let t=D(...e);return t.end(),t},k=(e,t)=>new w(e,t),A={METHODS:o,STATUS_CODES:s,Agent:T,globalAgent:E,Server:w,ServerResponse:b,IncomingMessage:v,ClientRequest:S,OutgoingMessage:y,createServer:k,request:D,get:O};exports.Agent=T,exports.ClientRequest=S,exports.HTTPParser=g,exports.IncomingMessage=v,exports.METHODS=o,exports.STATUS_CODES=s,exports.Server=w,exports.ServerResponse=b,exports._default=A,exports.default=A,exports.createServer=k,exports.get=O,exports.globalAgent=E,exports.request=D,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return i}});
|
package/http.js
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import { n as e } from "./
|
|
2
|
-
import "./
|
|
3
|
-
import "./utils-CNydj3OT.js";
|
|
4
|
-
import { n as t, t as n } from "./net-Bl6_W3bd.js";
|
|
1
|
+
import { n as e } from "./rolldown-runtime-DF993M8W.js";
|
|
2
|
+
import { n as t, t as n } from "./net-DKMWPXb_.js";
|
|
5
3
|
import { Buffer as r } from "buffer";
|
|
6
4
|
import { Stream as i } from "stream";
|
|
7
5
|
//#region src/lib/webvpn/http.ts
|
|
@@ -84,7 +82,7 @@ var a = /* @__PURE__ */ e({
|
|
|
84
82
|
509: "Bandwidth Limit Exceeded",
|
|
85
83
|
510: "Not Extended",
|
|
86
84
|
511: "Network Authentication Required"
|
|
87
|
-
}, l = new Set([
|
|
85
|
+
}, l = /* @__PURE__ */ new Set([
|
|
88
86
|
"content-type",
|
|
89
87
|
"content-length",
|
|
90
88
|
"user-agent",
|
|
@@ -115,7 +113,9 @@ var a = /* @__PURE__ */ e({
|
|
|
115
113
|
for (let t = 0; t + 3 < e.length; t++) if (e[t] === u && e[t + 1] === d && e[t + 2] === u && e[t + 3] === d) return t;
|
|
116
114
|
return -1;
|
|
117
115
|
}, _ = class {
|
|
118
|
-
|
|
116
|
+
mode;
|
|
117
|
+
handlers;
|
|
118
|
+
buf = /* @__PURE__ */ new Uint8Array();
|
|
119
119
|
state = "HEAD";
|
|
120
120
|
framing = "none";
|
|
121
121
|
bodyRemaining = 0;
|
|
@@ -210,7 +210,7 @@ var a = /* @__PURE__ */ e({
|
|
|
210
210
|
let e = Math.min(this.bodyRemaining, this.buf.length);
|
|
211
211
|
return this.handlers.onBody(this.buf.subarray(0, e)), this.buf = this.buf.subarray(e), this.bodyRemaining -= e, this.bodyRemaining === 0;
|
|
212
212
|
}
|
|
213
|
-
return this.framing === "eof" ? (this.buf.length > 0 && (this.handlers.onBody(this.buf), this.buf = new Uint8Array()), !1) : this.framing === "chunked" ? this.consumeChunked() : !0;
|
|
213
|
+
return this.framing === "eof" ? (this.buf.length > 0 && (this.handlers.onBody(this.buf), this.buf = /* @__PURE__ */ new Uint8Array()), !1) : this.framing === "chunked" ? this.consumeChunked() : !0;
|
|
214
214
|
}
|
|
215
215
|
consumeChunked() {
|
|
216
216
|
for (;;) if (this.chunkState === "size") {
|
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./proxy-bPaU3-Cz.cjs"),t=require("./api-DD5v1qP9.cjs"),n=require("./cloud-5o7yJHeX.cjs"),r=require("./dns.cjs"),i=require("./net-CpuAhaQC.cjs"),a=require("./dgram-CE43gJq9.cjs"),o=require("./http.cjs"),s=require("./extension-D-NUXxzF.cjs"),c=require("./desktop.cjs"),l=require("./fs-BfmfMBiw.cjs"),u=require("./opfs.cjs"),d=require("./packages.cjs"),f=require("./account.cjs"),p=require("./connect-button-BBEjXzB3.cjs");let m=require("osra");var h=t=>s.r()||t.syncCookies!==!1?e.a(t):n.i(t),g=`https://fkn.app`,_=(e,n)=>{if(typeof window>`u`)throw Error(`FKN @fkn/lib: relayWorker must be called from the main thread`);if(!t.r?.contentWindow)throw Error(`FKN @fkn/lib: relayWorker called before the FKN iframe was injected`);(0,m.relay)({receive:window,emit:t.r.contentWindow},e,{key:`fkn-api`,originA:n?.originA??g,originB:n?.originB??`*`,unregisterSignal:n?.unregisterSignal})},v=async()=>typeof window>`u`?!1:(await t.t).connect.prompt(location.origin).catch(()=>!1);exports.ATTACH_FRAME_EVENT_KEY=e.i,Object.defineProperty(exports,"account",{enumerable:!0,get:function(){return f.t}}),exports.assertAttachableFrameUrl=e.l,exports.assertFetchableUrl=e.E,exports.assertLockdownApplicable=e.u,exports.attachFrame=h,exports.attachFramePermission=e.o,exports.box=e.R,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return n.n}}),exports.connect=v,exports.connectButtonUrl=p.t,exports.cookies=e.w,exports.createFrame=e.s,exports.createVideoElementHandle=e.z,Object.defineProperty(exports,"desktop",{enumerable:!0,get:function(){return c.t}}),Object.defineProperty(exports,"dgram",{enumerable:!0,get:function(){return a.i}}),Object.defineProperty(exports,"dns",{enumerable:!0,get:function(){return r.t}}),Object.defineProperty(exports,"extension",{enumerable:!0,get:function(){return s.t}}),exports.fetch=s.n,exports.fetchCredentialedPermission=e.O,exports.fetchLocalPermission=e.k,exports.fetchPermission=e.A,Object.defineProperty(exports,"fs",{enumerable:!0,get:function(){return l.c}}),exports.gotoPermission=e.c,exports.handleRevivableModules=e.L,Object.defineProperty(exports,"http",{enumerable:!0,get:function(){return o.t}}),exports.isBlockedFetchUrl=e.j,exports.isBlockedFrameUrl=e.d,exports.isExtensionExposed=e.P,exports.isLocalNetworkUrl=e.M,exports.isType=e.B,exports.modifyRequestHeadersPermission=e.x,Object.defineProperty(exports,"net",{enumerable:!0,get:function(){return i.s}}),Object.defineProperty(exports,"opfs",{enumerable:!0,get:function(){return u.t}}),Object.defineProperty(exports,"packages",{enumerable:!0,get:function(){return d.t}}),exports.permissions=e.r,exports.promptInstall=s.i,exports.readCookiePermission=e.T,exports.relayWorker=_,exports.removeRequestHeaderRule=e.S,exports.revive=e.V,exports.setMissingExtensionHandler=e.F,exports.setRequestHeaderRule=e.C,exports.type=e.H,exports.waitForExtensionExposure=e.I;
|
package/index.js
CHANGED
|
@@ -1,46 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import "./
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import "./
|
|
8
|
-
import "./
|
|
9
|
-
import "./
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import { t as
|
|
13
|
-
import { t as
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
import { createElement as U } from "react";
|
|
19
|
-
//#region src/lib/relay.ts
|
|
20
|
-
var W = "https://fkn.app", G = (e, t) => {
|
|
1
|
+
import { A as e, B as t, C as n, E as r, F as i, H as a, I as o, L as s, M as c, O as l, P as u, R as d, S as f, T as p, V as m, a as h, c as g, d as _, i as v, j as y, k as b, l as x, o as S, r as C, s as w, u as T, w as E, x as D, z as O } from "./proxy-C8SG1Beo.js";
|
|
2
|
+
import { r as k, t as A } from "./api--bnCFd4w.js";
|
|
3
|
+
import { i as j, n as M } from "./cloud-BFyf2uC7.js";
|
|
4
|
+
import { t as N } from "./dns.js";
|
|
5
|
+
import { s as P } from "./net-DKMWPXb_.js";
|
|
6
|
+
import { i as F } from "./dgram-wtjARbt0.js";
|
|
7
|
+
import { t as I } from "./http.js";
|
|
8
|
+
import { i as L, n as R, r as z, t as B } from "./extension-CPj10qwa.js";
|
|
9
|
+
import { t as V } from "./desktop.js";
|
|
10
|
+
import { c as H } from "./fs-D6nNf1mR.js";
|
|
11
|
+
import { t as U } from "./opfs.js";
|
|
12
|
+
import { t as W } from "./packages.js";
|
|
13
|
+
import { t as G } from "./account.js";
|
|
14
|
+
import { t as K } from "./connect-button-Ds9KpXHe.js";
|
|
15
|
+
import { relay as q } from "osra";
|
|
16
|
+
//#region src/lib/frame.ts
|
|
17
|
+
var J = (e) => z() || e.syncCookies !== !1 ? h(e) : j(e), Y = "https://fkn.app", X = (e, t) => {
|
|
21
18
|
if (typeof window > "u") throw Error("FKN @fkn/lib: relayWorker must be called from the main thread");
|
|
22
|
-
if (!
|
|
23
|
-
|
|
19
|
+
if (!k?.contentWindow) throw Error("FKN @fkn/lib: relayWorker called before the FKN iframe was injected");
|
|
20
|
+
q({
|
|
24
21
|
receive: window,
|
|
25
|
-
emit:
|
|
22
|
+
emit: k.contentWindow
|
|
26
23
|
}, e, {
|
|
27
24
|
key: "fkn-api",
|
|
28
|
-
originA: t?.originA ??
|
|
25
|
+
originA: t?.originA ?? Y,
|
|
29
26
|
originB: t?.originB ?? "*",
|
|
30
27
|
unregisterSignal: t?.unregisterSignal
|
|
31
28
|
});
|
|
32
|
-
},
|
|
33
|
-
src: J(),
|
|
34
|
-
title: "Connect your FKN account",
|
|
35
|
-
className: e,
|
|
36
|
-
style: {
|
|
37
|
-
border: "none",
|
|
38
|
-
width: 150,
|
|
39
|
-
height: 40,
|
|
40
|
-
background: "transparent",
|
|
41
|
-
colorScheme: "normal",
|
|
42
|
-
...t
|
|
43
|
-
}
|
|
44
|
-
});
|
|
29
|
+
}, Z = async () => typeof window > "u" ? !1 : (await A).connect.prompt(location.origin).catch(() => !1);
|
|
45
30
|
//#endregion
|
|
46
|
-
export {
|
|
31
|
+
export { v as ATTACH_FRAME_EVENT_KEY, G as account, x as assertAttachableFrameUrl, r as assertFetchableUrl, T as assertLockdownApplicable, J as attachFrame, S as attachFramePermission, d as box, M as cloud, Z as connect, K as connectButtonUrl, E as cookies, w as createFrame, O as createVideoElementHandle, V as desktop, F as dgram, N as dns, B as extension, R as fetch, l as fetchCredentialedPermission, b as fetchLocalPermission, e as fetchPermission, H as fs, g as gotoPermission, s as handleRevivableModules, I as http, y as isBlockedFetchUrl, _ as isBlockedFrameUrl, u as isExtensionExposed, c as isLocalNetworkUrl, t as isType, D as modifyRequestHeadersPermission, P as net, U as opfs, W as packages, C as permissions, L as promptInstall, p as readCookiePermission, X as relayWorker, f as removeRequestHeaderRule, m as revive, i as setMissingExtensionHandler, n as setRequestHeaderRule, a as type, o as waitForExtensionExposure };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
type AccountInfo = {
|
|
1
|
+
export type AccountInfo = {
|
|
2
2
|
/** the account's display name (a username, not necessarily a real name) */
|
|
3
3
|
name: string;
|
|
4
4
|
/** profile image URL, or null if none is set */
|
|
@@ -8,10 +8,7 @@ type AccountInfo = {
|
|
|
8
8
|
/** when the current subscription lapses, as a ms epoch, or null when not subscribed */
|
|
9
9
|
premiumUntil: number | null;
|
|
10
10
|
};
|
|
11
|
-
declare const login: () => Promise<boolean>;
|
|
12
|
-
declare const logout: () => Promise<void>;
|
|
13
|
-
declare const info: () => Promise<AccountInfo | null>;
|
|
14
|
-
declare const onChange: (callback: () => void) => Promise<() => void>;
|
|
15
|
-
|
|
16
|
-
export { info, login, logout, onChange };
|
|
17
|
-
export type { AccountInfo };
|
|
11
|
+
export declare const login: () => Promise<boolean>;
|
|
12
|
+
export declare const logout: () => Promise<void>;
|
|
13
|
+
export declare const info: () => Promise<AccountInfo | null>;
|
|
14
|
+
export declare const onChange: (callback: () => void) => Promise<() => void>;
|