@fkn/lib 0.7.2 → 0.9.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/{api-CI4d96Ty.d.ts → api-Bdzns9Sb.d.ts} +5 -2
- package/cloud/fs.cjs +1 -1
- package/cloud/fs.d.ts +1 -1
- package/cloud/fs.js +1 -1
- package/cloud/net.d.ts +1 -1
- package/{cloud-BxPdeAuj.d.ts → cloud-BPd7yisS.d.ts} +3 -3
- package/cloud.d.ts +3 -3
- package/dgram.d.ts +1 -1
- package/fs/promises.cjs +1 -1
- package/fs/promises.js +1 -1
- package/{fs-BEfsbriO.d.ts → fs-B8A_hQbv.d.ts} +2 -2
- package/{fs-BN4hkppN.cjs → fs-CP-81e-c.cjs} +1 -1
- package/{fs-7E0-tE2x.js → fs-DhPpGH0c.js} +1 -1
- package/fs.cjs +1 -1
- package/fs.js +1 -1
- package/http.d.ts +1 -1
- package/index.cjs +1 -1
- package/index.d.ts +6 -3
- package/index.js +6 -6
- package/{net-Cx8lDWau.d.ts → net-EaGR0bVe.d.ts} +1 -1
- package/net.d.ts +1 -1
- package/node-fs-BMR2yCEt.cjs +1 -0
- package/{node-fs-Dbf93qP7.js → node-fs-DKfokOlh.js} +99 -82
- package/opfs.cjs +1 -1
- package/opfs.js +1 -1
- package/package.json +1 -1
- package/node-fs-C0eKnboT.cjs +0 -1
|
@@ -411,9 +411,9 @@ declare const resolvers: {
|
|
|
411
411
|
readonly writeFile: (path: string, data: WriteData, contentType: string | null) => Promise<void>;
|
|
412
412
|
readonly remove: (path: string) => Promise<void>;
|
|
413
413
|
readonly encryption: () => Promise<{
|
|
414
|
-
accountEnabled: boolean;
|
|
415
|
-
appMode: string;
|
|
416
414
|
unlocked: boolean;
|
|
415
|
+
enrolled: boolean;
|
|
416
|
+
keyEpoch: number | null;
|
|
417
417
|
}>;
|
|
418
418
|
readonly unlock: () => Promise<boolean>;
|
|
419
419
|
};
|
|
@@ -519,6 +519,9 @@ declare const resolvers: {
|
|
|
519
519
|
readonly connect: {
|
|
520
520
|
readonly prompt: (consumerOrigin: string) => Promise<boolean>;
|
|
521
521
|
};
|
|
522
|
+
readonly relay: {
|
|
523
|
+
readonly prompt: () => Promise<string>;
|
|
524
|
+
};
|
|
522
525
|
readonly packages: {
|
|
523
526
|
search: (query: PackageQuery) => Promise<{
|
|
524
527
|
results: PackageResult[];
|
package/cloud/fs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-Doa5O59j.cjs"),t=require("../node-fs-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-Doa5O59j.cjs"),t=require("../node-fs-BMR2yCEt.cjs"),n=require("../storage-ezLkqmQR.cjs");var r=e.n({StorageLockedError:()=>n.t,available:()=>i,encryption:()=>n.r,mkdir:()=>u,promises:()=>p,quota:()=>n.a,readFile:()=>a,readdir:()=>l,rename:()=>c,rm:()=>d,stat:()=>f,unlink:()=>s,unlock:()=>n.l,writeFile:()=>o}),{available:i,readFile:a,writeFile:o,unlink:s,rename:c,readdir:l,mkdir:u,rm:d,stat:f,promises:p}=t.t(n.c,{memfs:!1});exports.StorageLockedError=n.t,exports.available=i,exports.encryption=n.r,exports.mkdir=u,exports.promises=p,exports.quota=n.a,exports.readFile=a,exports.readdir=l,exports.rename=c,exports.rm=d,exports.stat=f,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),exports.unlink=s,exports.unlock=n.l,exports.writeFile=o;
|
package/cloud/fs.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { i as Stats } from "../index-C6ZoDJg8.js";
|
|
2
|
-
import { _ as quota, a as readFile, c as rm, d as writeFile, f as EncryptionStatus, g as encryption, h as StorageQuota, i as promises, l as stat, m as StorageLockedError, o as readdir, p as FileEntry, r as mkdir, s as rename, t as available, u as unlink, v as unlock } from "../fs-
|
|
2
|
+
import { _ as quota, a as readFile, c as rm, d as writeFile, f as EncryptionStatus, g as encryption, h as StorageQuota, i as promises, l as stat, m as StorageLockedError, o as readdir, p as FileEntry, r as mkdir, s as rename, t as available, u as unlink, v as unlock } from "../fs-B8A_hQbv.js";
|
|
3
3
|
export { type EncryptionStatus, type FileEntry, type Stats, StorageLockedError, type StorageQuota, available, encryption, mkdir, promises, quota, readFile, readdir, rename, rm, stat, unlink, unlock, writeFile };
|
package/cloud/fs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as e } from "../rolldown-runtime-DF993M8W.js";
|
|
2
|
-
import { t } from "../node-fs-
|
|
2
|
+
import { t } from "../node-fs-DKfokOlh.js";
|
|
3
3
|
import { a as n, c as r, l as i, r as a, t as o } from "../storage-DMETg6sP.js";
|
|
4
4
|
//#region src/lib/cloud/fs.ts
|
|
5
5
|
var s = /* @__PURE__ */ e({
|
package/cloud/net.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "../net-
|
|
1
|
+
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "../net-EaGR0bVe.js";
|
|
2
2
|
export { Server, Socket, _default, _default as default, connect, createConnection, createServer, isIP, isIPv4, isIPv6 };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as Resolvers } from "./api-
|
|
1
|
+
import { t as Resolvers } from "./api-Bdzns9Sb.js";
|
|
2
2
|
import { b as Frame, y as AttachFrameOptions } from "./index-BJztAQIP.js";
|
|
3
3
|
import { t as dns_d_exports } from "./dns.js";
|
|
4
|
-
import { n as fs_d_exports } from "./fs-
|
|
5
|
-
import { s as net_d_exports } from "./net-
|
|
4
|
+
import { n as fs_d_exports } from "./fs-B8A_hQbv.js";
|
|
5
|
+
import { s as net_d_exports } from "./net-EaGR0bVe.js";
|
|
6
6
|
import { t as dgram_d_exports } from "./dgram.js";
|
|
7
7
|
import { t as http_d_exports } from "./http.js";
|
|
8
8
|
|
package/cloud.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { a as attachFrame, i as quota, o as cloudFetch, r as QuotaStatus, t as available } from "./cloud-
|
|
1
|
+
import { a as attachFrame, i as quota, o as cloudFetch, r as QuotaStatus, t as available } from "./cloud-BPd7yisS.js";
|
|
2
2
|
import { t as dns_d_exports } from "./dns.js";
|
|
3
|
-
import { n as fs_d_exports } from "./fs-
|
|
4
|
-
import { s as net_d_exports } from "./net-
|
|
3
|
+
import { n as fs_d_exports } from "./fs-B8A_hQbv.js";
|
|
4
|
+
import { s as net_d_exports } from "./net-EaGR0bVe.js";
|
|
5
5
|
import { t as dgram_d_exports } from "./dgram.js";
|
|
6
6
|
import { t as http_d_exports } from "./http.js";
|
|
7
7
|
export { type QuotaStatus, attachFrame, available, dgram_d_exports as dgram, dns_d_exports as dns, cloudFetch as fetch, fs_d_exports as fs, http_d_exports as http, net_d_exports as net, quota };
|
package/dgram.d.ts
CHANGED
package/fs/promises.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../fs-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("../fs-CP-81e-c.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,4 +1,4 @@
|
|
|
1
|
-
import { p as e } from "../fs-
|
|
1
|
+
import { p as e } from "../fs-DhPpGH0c.js";
|
|
2
2
|
//#region src/lib/fs/promises.ts
|
|
3
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;
|
|
4
4
|
//#endregion
|
|
@@ -16,9 +16,9 @@ type StorageQuota = {
|
|
|
16
16
|
maxObjects: number;
|
|
17
17
|
};
|
|
18
18
|
type EncryptionStatus = {
|
|
19
|
-
accountEnabled: boolean;
|
|
20
|
-
appMode: string;
|
|
21
19
|
unlocked: boolean;
|
|
20
|
+
enrolled: boolean;
|
|
21
|
+
keyEpoch: number | null;
|
|
22
22
|
};
|
|
23
23
|
declare class StorageLockedError extends Error {
|
|
24
24
|
code: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-
|
|
1
|
+
const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-BMR2yCEt.cjs"),n=require("./storage-ezLkqmQR.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.n().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.i():[]).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.o(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.u(e,a,i).catch(e=>console.warn(`fs: cloud replicate failed`,e));return}if(await s())return n.u(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.s(e).catch(()=>{})),!t.length)throw Error(`fs: no storage backend available`);await Promise.all(t)},p=async e=>{let t=await n.o(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,5 +1,5 @@
|
|
|
1
1
|
import { n as e } from "./rolldown-runtime-DF993M8W.js";
|
|
2
|
-
import { t } from "./node-fs-
|
|
2
|
+
import { t } from "./node-fs-DKfokOlh.js";
|
|
3
3
|
import { i as n, n as r, o as i, s as a, u as o } from "./storage-DMETg6sP.js";
|
|
4
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
|
package/fs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./fs-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./fs-CP-81e-c.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,2 +1,2 @@
|
|
|
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-
|
|
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-DhPpGH0c.js";
|
|
2
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.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as Socket, t as Server$1 } from "./net-
|
|
1
|
+
import { n as Socket, t as Server$1 } from "./net-EaGR0bVe.js";
|
|
2
2
|
import { Buffer } from "buffer";
|
|
3
3
|
import { Stream } from "stream";
|
|
4
4
|
import { IncomingHttpHeaders, OutgoingHttpHeaders, RequestOptions } from "http";
|
package/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./proxy-Bo-8GoRU.cjs"),t=require("./api-DD5v1qP9.cjs"),n=require("./cloud-Gs4fvw2S.cjs"),r=require("./dns.cjs"),i=require("./net-BPpdNdpy.cjs"),a=require("./dgram-DcvdNkg6.cjs"),o=require("./http.cjs"),s=require("./extension-BeARgX1g.cjs"),c=require("./desktop.cjs"),l=require("./fs-
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./proxy-Bo-8GoRU.cjs"),t=require("./api-DD5v1qP9.cjs"),n=require("./cloud-Gs4fvw2S.cjs"),r=require("./dns.cjs"),i=require("./net-BPpdNdpy.cjs"),a=require("./dgram-DcvdNkg6.cjs"),o=require("./http.cjs"),s=require("./extension-BeARgX1g.cjs"),c=require("./desktop.cjs"),l=require("./fs-CP-81e-c.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=1e4,g=150,_=()=>new Promise(t=>{if(e.P())return t(!0);let n,r=setTimeout(()=>i(e.P()),h),i=e=>{clearTimeout(n),clearTimeout(r),o.disconnect(),document.removeEventListener(`readystatechange`,s),t(e)},a=()=>{clearTimeout(n),n=setTimeout(()=>i(e.P()),g)},o=new MutationObserver(()=>{e.P()&&i(!0)}),s=()=>{document.readyState===`complete`&&!e.P()&&a()};o.observe(document.documentElement,{attributes:!0,attributeFilter:[`data-fkn-extension`]}),document.addEventListener(`readystatechange`,s),document.readyState===`complete`&&a()}),v=async t=>s.r()||t.lockdown||!n.a()||await _()?e.a(t):n.i(t),y=`https://fkn.app`,b=(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??y,originB:n?.originB??`*`,unregisterSignal:n?.unregisterSignal})},x=async()=>typeof window>`u`?!1:(await t.t).connect.prompt(location.origin).catch(()=>!1),S=async()=>typeof window>`u`?null:(await t.t).relay.prompt().catch(()=>null);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=v,exports.attachFramePermission=e.o,exports.box=e.R,Object.defineProperty(exports,"cloud",{enumerable:!0,get:function(){return n.n}}),exports.connect=x,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.promptRelay=S,exports.readCookiePermission=e.T,exports.relayWorker=b,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.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { t as account_d_exports } from "./account.js";
|
|
2
2
|
import { m as packages_d_exports } from "./packages-CErlrrLB.js";
|
|
3
|
-
import { n as cloud_d_exports } from "./cloud-
|
|
3
|
+
import { n as cloud_d_exports } from "./cloud-BPd7yisS.js";
|
|
4
4
|
import { A as RequestHeaderRule, B as assertFetchableUrl, C as attachFramePermission, D as assertLockdownApplicable, E as assertAttachableFrameUrl, F as SiteCookie, G as isBlockedFetchUrl, H as fetchCredentialedPermission, I as cookies, K as isLocalNetworkUrl, L as readCookiePermission, M as removeRequestHeaderRule, N as setRequestHeaderRule, O as isBlockedFrameUrl, P as CookieDetails, R as FetchInit, S as GotoOptions, T as gotoPermission, U as fetchLocalPermission, W as fetchPermission, _ as ATTACH_FRAME_EVENT_KEY, a as handleRevivableModules, b as Frame, c as VideoElementState, d as isType, f as revive, g as permissions, h as PermissionRequest, i as waitForExtensionExposure, j as modifyRequestHeadersPermission, k as HeaderOperation, l as box, m as PermissionGrant, n as isExtensionExposed, o as BoxedVideoElement, p as type, r as setMissingExtensionHandler, s as RemoteVideoElement, u as createVideoElementHandle, w as createFrame, x as FrameBackend, y as AttachFrameOptions, z as ProxyFetchRequest } from "./index-BJztAQIP.js";
|
|
5
5
|
import { t as dns_d_exports } from "./dns.js";
|
|
6
|
-
import { s as net_d_exports } from "./net-
|
|
6
|
+
import { s as net_d_exports } from "./net-EaGR0bVe.js";
|
|
7
7
|
import { t as dgram_d_exports } from "./dgram.js";
|
|
8
8
|
import { t as http_d_exports } from "./http.js";
|
|
9
9
|
import { t as desktop_d_exports } from "./desktop.js";
|
|
@@ -25,4 +25,7 @@ declare const relayWorker: (worker: Worker, options?: {
|
|
|
25
25
|
//#region src/lib/connect.d.ts
|
|
26
26
|
declare const connect: () => Promise<boolean>;
|
|
27
27
|
//#endregion
|
|
28
|
-
|
|
28
|
+
//#region src/lib/relay-prompt.d.ts
|
|
29
|
+
declare const promptRelay: () => Promise<string | null>;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { ATTACH_FRAME_EVENT_KEY, AttachFrameOptions, BoxedVideoElement, CookieDetails, FetchInit, Frame, FrameBackend, GotoOptions, HeaderOperation, PermissionGrant, PermissionRequest, ProxyFetchRequest, RemoteVideoElement, RequestHeaderRule, SiteCookie, VideoElementState, account_d_exports as account, assertAttachableFrameUrl, assertFetchableUrl, assertLockdownApplicable, attachFrame, attachFramePermission, box, cloud_d_exports as cloud, connect, connectButtonUrl, cookies, createFrame, createVideoElementHandle, desktop_d_exports as desktop, dgram_d_exports as dgram, dns_d_exports as dns, extension_d_exports as extension, fetch, fetchCredentialedPermission, fetchLocalPermission, fetchPermission, index_d_exports as fs, gotoPermission, handleRevivableModules, http_d_exports as http, isBlockedFetchUrl, isBlockedFrameUrl, isExtensionExposed, isLocalNetworkUrl, isType, modifyRequestHeadersPermission, net_d_exports as net, index_d_exports$1 as opfs, packages_d_exports as packages, permissions, promptInstall, promptRelay, readCookiePermission, relayWorker, removeRequestHeaderRule, revive, setMissingExtensionHandler, setRequestHeaderRule, type, waitForExtensionExposure };
|
package/index.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
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-CuuSsVoC.js";
|
|
2
|
-
import { r as k, t as
|
|
3
|
-
import { a as
|
|
2
|
+
import { r as k, t as A } from "./api--bnCFd4w.js";
|
|
3
|
+
import { a as ee, i as j, n as M } from "./cloud-C-QB3sIK.js";
|
|
4
4
|
import { t as N } from "./dns.js";
|
|
5
5
|
import { s as P } from "./net-BFYMbE4N.js";
|
|
6
6
|
import { i as F } from "./dgram-CKRbKVzG.js";
|
|
7
7
|
import { t as I } from "./http.js";
|
|
8
8
|
import { i as L, n as R, r as z, t as B } from "./extension-CgXBc_iM.js";
|
|
9
9
|
import { t as V } from "./desktop.js";
|
|
10
|
-
import { c as H } from "./fs-
|
|
10
|
+
import { c as H } from "./fs-DhPpGH0c.js";
|
|
11
11
|
import { t as U } from "./opfs.js";
|
|
12
12
|
import { t as W } from "./packages.js";
|
|
13
13
|
import { t as G } from "./account.js";
|
|
@@ -29,7 +29,7 @@ var J = 1e4, Y = 150, X = () => new Promise((e) => {
|
|
|
29
29
|
attributes: !0,
|
|
30
30
|
attributeFilter: ["data-fkn-extension"]
|
|
31
31
|
}), document.addEventListener("readystatechange", o), document.readyState === "complete" && i();
|
|
32
|
-
}), Z = async (e) => z() || e.lockdown || !
|
|
32
|
+
}), Z = async (e) => z() || e.lockdown || !ee() || await X() ? h(e) : j(e), Q = "https://fkn.app", $ = (e, t) => {
|
|
33
33
|
if (typeof window > "u") throw Error("FKN @fkn/lib: relayWorker must be called from the main thread");
|
|
34
34
|
if (!k?.contentWindow) throw Error("FKN @fkn/lib: relayWorker called before the FKN iframe was injected");
|
|
35
35
|
q({
|
|
@@ -41,6 +41,6 @@ var J = 1e4, Y = 150, X = () => new Promise((e) => {
|
|
|
41
41
|
originB: t?.originB ?? "*",
|
|
42
42
|
unregisterSignal: t?.unregisterSignal
|
|
43
43
|
});
|
|
44
|
-
}, te = async () => typeof window > "u" ? !1 : (await
|
|
44
|
+
}, te = async () => typeof window > "u" ? !1 : (await A).connect.prompt(location.origin).catch(() => !1), ne = async () => typeof window > "u" ? null : (await A).relay.prompt().catch(() => null);
|
|
45
45
|
//#endregion
|
|
46
|
-
export { v as ATTACH_FRAME_EVENT_KEY, G as account, x as assertAttachableFrameUrl, r as assertFetchableUrl, T as assertLockdownApplicable, Z as attachFrame, S as attachFramePermission, d as box, M as cloud, te 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, $ as relayWorker, f as removeRequestHeaderRule, m as revive, i as setMissingExtensionHandler, n as setRequestHeaderRule, a as type, o as waitForExtensionExposure };
|
|
46
|
+
export { v as ATTACH_FRAME_EVENT_KEY, G as account, x as assertAttachableFrameUrl, r as assertFetchableUrl, T as assertLockdownApplicable, Z as attachFrame, S as attachFramePermission, d as box, M as cloud, te 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, ne as promptRelay, p as readCookiePermission, $ 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
|
-
import { i as TcpSocketOption, r as LocalTcpSocket, t as Resolvers } from "./api-
|
|
1
|
+
import { i as TcpSocketOption, r as LocalTcpSocket, t as Resolvers } from "./api-Bdzns9Sb.js";
|
|
2
2
|
import { AddressInfo, ListenOptions, Server, ServerOpts, Socket, SocketConnectOpts, SocketConstructorOpts } from "net";
|
|
3
3
|
import { DuplexOptions, Stream } from "stream";
|
|
4
4
|
import { EventEmitter } from "events";
|
package/net.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "./net-
|
|
1
|
+
import { a as createConnection, c as isIP, i as connect, l as isIPv4, n as Socket, o as createServer, r as _default, t as Server, u as isIPv6 } from "./net-EaGR0bVe.js";
|
|
2
2
|
export { Server, Socket, _default, _default as default, connect, createConnection, createServer, isIP, isIPv4, isIPv6 };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
let e=require("buffer");var t={json:`application/json`,txt:`text/plain`,html:`text/html`,htm:`text/html`,css:`text/css`,js:`text/javascript`,mjs:`text/javascript`,xml:`application/xml`,csv:`text/csv`,md:`text/markdown`,svg:`image/svg+xml`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,pdf:`application/pdf`,wasm:`application/wasm`},n=(e,n)=>{if(n)return n;let r=e.split(`/`).pop()??``,i=r.lastIndexOf(`.`);if(!(i<=0))return t[r.slice(i+1).toLowerCase()]},r=(e,t)=>({size:e,mtimeMs:t,mtime:new Date(t),atimeMs:t,ctimeMs:t,mode:420,isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}),i=(e=0)=>({size:0,mtimeMs:e,mtime:new Date(e),atimeMs:e,ctimeMs:e,mode:493,isFile:()=>!1,isDirectory:()=>!0,isSymbolicLink:()=>!1}),a=(e,t,n)=>{let r=Error(`${e}: ${{ENOENT:`no such file or directory`,EEXIST:`file already exists`,ENOTDIR:`not a directory`,EISDIR:`illegal operation on a directory`,ENOTEMPTY:`directory not empty`,ERR_FS_EISDIR:`is a directory`}[e]??e}, ${n} '${t}'`);return r.code=e,r.path=t,r.syscall=n,r},o=e=>{let t=[];for(let n of e.split(`/`))if(!(!n||n===`.`)){if(n===`..`){t.pop();continue}t.push(n)}return t.join(`/`)},s=e=>e.split(`/`).slice(0,-1).join(`/`),c=e=>typeof e==`string`?e:e instanceof URL?decodeURIComponent(e.pathname):e.toString(),l=e=>typeof e==`string`?e:e?.encoding??void 0,u=e=>typeof e==`object`?e?.contentType:void 0,d=e=>typeof e==`object`&&!!e?.recursive,f=(t,n)=>{let r=l(n);return r?e.Buffer.from(t).toString(r):e.Buffer.from(t)},p=(t,n)=>{if(typeof t==`string`)return new Uint8Array(e.Buffer.from(t,l(n)??`utf8`));if(t instanceof Uint8Array)return t.slice();if(t instanceof ArrayBuffer)return new Uint8Array(t).slice();if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength).slice();throw TypeError(`The "data" argument must be of type string, Buffer, TypedArray, or DataView`)},m=e=>{let t=new Map([[``,{kind:`dir`,mtimeMs:0}]]),c=new Set,l=new Set,u=new Set,d=()=>Date.now(),f=e=>{if(!e)return;let n=e.split(`/`),r=``;for(let e of n){r=r?`${r}/${e}`:e;let n=t.get(r);if(!n)t.set(r,{kind:`dir`,mtimeMs:d()});else if(n.kind===`file`)throw a(`ENOTDIR`,r,`mkdir`)}},p,m=0,h=async()=>{let n=await e.list().catch(()=>[]),r=new Set,i=!1;for(let a of n){let n=o(a.path);if(r.add(n),!l.has(n)&&!(c.has(n)&&!u.has(n)))try{let r=await(await e.readFile(a.path)).arrayBuffer();if(l.has(n)||c.has(n)&&!u.has(n))continue;f(s(n));let i=Date.parse(a.updatedAt??``);t.set(n,{kind:`file`,data:new Uint8Array(r),mtimeMs:Number.isFinite(i)?i:d(),contentType:a.contentType??void 0}),u.delete(n),c.delete(n)}catch{i=!0,u.add(n)}}for(let e of u)r.has(e)||u.delete(e);m=i?Date.now():0},g=()=>(p&&(m===0||Date.now()-m<5e3)||(p=h()),p),_=async()=>{p=void 0,m=0,await g()},v=async()=>{let r=[...c].map(async r=>{if(u.has(r))return;let i=t.get(r);if(i?.kind!==`file`){c.delete(r);return}let a=i.data,o=n(r,i.contentType);try{await e.writeFile(r,a,o?{contentType:o}:void 0);let n=t.get(r);n?.kind===`file`&&n.data===a&&c.delete(r)}catch{}}),i=[...l].map(async t=>{try{await e.remove(t),l.delete(t)}catch{}});await Promise.all([...r,...i])},y,b=()=>{y||=setTimeout(()=>{y=void 0,v().catch(()=>{})},250)};typeof addEventListener<`u`&&(addEventListener(`pagehide`,()=>{v().catch(()=>{})}),addEventListener(`visibilitychange`,()=>{typeof document<`u`&&document.visibilityState===`hidden`&&v().catch(()=>{})}));let x=e=>e.kind===`file`?r(e.data.byteLength,e.mtimeMs):i(e.mtimeMs),S=e=>Object.assign(Error(`storage: ${e} exists but could not be read, retry once its scope is available`),{code:`FKN_E2E_LOCKED`}),C=e=>{let n=o(e);return t.has(n)||u.has(n)},w=e=>{let n=o(e),r=t.get(n);if(!r)throw u.has(n)?S(e):a(`ENOENT`,e,`stat`);return x(r)},T=e=>{let n=o(e),r=t.get(n);if(!r)throw u.has(n)?S(e):a(`ENOENT`,e,`open`);if(r.kind===`dir`)throw a(`EISDIR`,e,`read`);return r.data},E=(e,t)=>{let n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),n},D=(e,n,r,i)=>{let p=o(e);if(!p)throw a(`EISDIR`,e,`open`);if(u.has(p))throw S(e);let m=t.get(p);if(m?.kind===`dir`)throw a(`EISDIR`,e,`open`);f(s(p));let h=r&&m?.kind===`file`?E(m.data,n):n;t.set(p,{kind:`file`,data:h,mtimeMs:d(),contentType:i??(m?.kind===`file`?m.contentType:void 0)}),c.add(p),l.delete(p),b()},O=(e,n)=>{let r=o(e);if(r){if(t.has(r)){if(n)return;throw a(`EEXIST`,e,`mkdir`)}if(!n&&!t.has(s(r)))throw a(`ENOENT`,e,`mkdir`);f(r)}},k=e=>{let n=o(e),r=t.get(n);if(!r)throw a(`ENOENT`,e,`scandir`);if(r.kind===`file`)throw a(`ENOTDIR`,e,`scandir`);let i=n?`${n}/`:``,s=new Set;for(let e of[...t.keys(),...u]){if(!e||!e.startsWith(i))continue;let t=e.slice(i.length);t&&s.add(t.split(`/`)[0])}return[...s]},A=(e,{op:n,recursive:r,force:i})=>{let s=o(e),d=t.get(s);if(!d&&u.has(s)){if(n===`rmdir`)throw a(`ENOTDIR`,e,`rmdir`);u.delete(s),c.delete(s),l.add(s),b();return}if(!d){if(i||n===`rmdir`&&r)return;throw a(`ENOENT`,e,n===`rmdir`?`rmdir`:`unlink`)}if(n===`unlink`&&d.kind===`dir`)throw a(`EISDIR`,e,`unlink`);if(n===`rmdir`&&d.kind===`file`)throw a(`ENOTDIR`,e,`rmdir`);if(n===`rm`&&d.kind===`dir`&&!r)throw a(`ERR_FS_EISDIR`,e,`rm`);let f=`${s}/`,p=[...t.keys()].filter(e=>e.startsWith(f));if(p.length&&!r)throw a(`ENOTEMPTY`,e,`rmdir`);for(let e of[s,...p]){let n=t.get(e);t.delete(e),n?.kind===`file`&&(c.delete(e),l.add(e))}b()};return{mount:g,remount:_,flush:v,exists:C,stat:w,readFile:T,writeFile:D,mkdir:O,readdir:k,remove:A,rename:(e,n)=>{let r=o(e),i=o(n);if(!r)throw a(`EBUSY`,e,`rename`);if(i===r||i.startsWith(`${r}/`))throw a(`EINVAL`,e,`rename`);if(u.has(r))throw S(e);if(u.has(i))throw S(n);let d=t.get(r);if(!d)throw a(`ENOENT`,e,`rename`);let p=t.get(i);if(p){if(p.kind!==d.kind)throw a(d.kind===`dir`?`ENOTDIR`:`EISDIR`,n,`rename`);A(i,{op:`rm`,recursive:!0,force:!0})}f(s(i));let m=`${r}/`,h=[r,...[...t.keys()].filter(e=>e.startsWith(m))];for(let e of h){let n=i+e.slice(r.length),a=t.get(e);t.set(n,a),t.delete(e),a.kind===`file`&&(c.add(n),l.delete(n),c.delete(e),l.add(e))}b()}}},h=(e,t)=>typeof e==`function`?e:t,g=e=>typeof e==`function`?void 0:e,_=(e,t)=>{e.then(e=>t(null,e),e=>t(e))},v=e=>{let t=m(e),n=(e,n)=>f(t.readFile(c(e)),n),r=(e,n,r)=>t.writeFile(c(e),p(n,r),!1,u(r)),i=(e,n,r)=>t.writeFile(c(e),p(n,r),!0,u(r)),o=e=>t.exists(c(e)),s=e=>t.stat(c(e)),l=e=>t.readdir(c(e)),_=(e,n)=>t.mkdir(c(e),d(n)),v=(e,n)=>t.remove(c(e),{op:`rm`,...n}),y=(e,n)=>t.remove(c(e),{op:`rmdir`,...n}),b=e=>t.remove(c(e),{op:`unlink`}),x=(e,n)=>t.rename(c(e),c(n)),S=(e,n)=>{t.mount().finally(()=>{let t;try{t=e()}catch(e){n(e);return}n(null,t)})},C=e=>t.mount().then(()=>e());return{available:e.available,readFileSync:n,writeFileSync:r,appendFileSync:i,existsSync:o,statSync:s,lstatSync:s,readdirSync:l,mkdirSync:_,rmSync:v,rmdirSync:y,unlinkSync:b,renameSync:x,readFile:(e,n,r)=>S(()=>f(t.readFile(c(e)),g(n)),h(n,r)),writeFile:(e,n,r,i)=>S(()=>t.writeFile(c(e),p(n,g(r)),!1,u(g(r))),h(r,i)),appendFile:(e,n,r,i)=>S(()=>t.writeFile(c(e),p(n,g(r)),!0,u(g(r))),h(r,i)),stat:(e,n)=>S(()=>t.stat(c(e)),n),readdir:(e,n,r)=>S(()=>t.readdir(c(e)),h(n,r)),mkdir:(e,n,r)=>S(()=>t.mkdir(c(e),d(g(n))),h(n,r)),rm:(e,n,r)=>S(()=>t.remove(c(e),{op:`rm`,...g(n)}),h(n,r)),unlink:(e,n)=>S(()=>t.remove(c(e),{op:`unlink`}),n),rename:(e,n,r)=>S(()=>t.rename(c(e),c(n)),r),exists:(e,n)=>{t.mount().finally(()=>n(t.exists(c(e))))},promises:{readFile:(e,n)=>C(()=>f(t.readFile(c(e)),n)),writeFile:(e,n,r)=>C(()=>t.writeFile(c(e),p(n,r),!1,u(r))),appendFile:(e,n,r)=>C(()=>t.writeFile(c(e),p(n,r),!0,u(r))),stat:e=>C(()=>t.stat(c(e))),lstat:e=>C(()=>t.stat(c(e))),readdir:e=>C(()=>t.readdir(c(e))),mkdir:(e,n)=>C(()=>t.mkdir(c(e),d(n))),rm:(e,n)=>C(()=>t.remove(c(e),{op:`rm`,...n})),rmdir:(e,n)=>C(()=>t.remove(c(e),{op:`rmdir`,...n})),unlink:e=>C(()=>t.remove(c(e),{op:`unlink`})),rename:(e,n)=>C(()=>t.rename(c(e),c(n))),access:e=>C(()=>{if(!t.exists(c(e)))throw a(`ENOENT`,c(e),`access`)})},mount:t.mount,flush:t.flush,remount:t.remount}},y=e=>{let t=async(t,n)=>{let r=await e.readFile(c(t));return f(new Uint8Array(await r.arrayBuffer()),n)},s=async(t,r,i)=>{let a=c(t),o=n(a,u(i));await e.writeFile(a,p(r,i),o?{contentType:o}:void 0)},l=t=>e.remove(c(t)),d=async(t,n)=>{let r=o(c(t)),i=o(c(n));if(r===i)return;let a=await e.readFile(r);await e.writeFile(i,a),await e.remove(r)},m=async t=>{let n=o(c(t)),r=n?`${n}/`:``,i=new Set;for(let t of await e.list()){let e=o(t.path);if(r&&!e.startsWith(r))continue;let n=e.slice(r.length);n&&i.add(n.split(`/`)[0])}return[...i]},v=async(e,t)=>{},y=async(t,n)=>{let r=o(c(t));if(!n?.recursive){await e.remove(c(t));return}let i=`${r}/`,a=await e.list();await Promise.all(a.filter(e=>{let t=o(e.path);return t===r||t.startsWith(i)}).map(t=>e.remove(t.path).catch(()=>{})))},b=async t=>{let n=o(c(t)),s=await e.list(),l=s.find(e=>o(e.path)===n);if(l){let e=Date.parse(l.updatedAt??``);return r(l.size,Number.isFinite(e)?e:0)}if(s.some(e=>o(e.path).startsWith(`${n}/`)))return i();throw a(`ENOENT`,c(t),`stat`)},x={readFile:t,writeFile:s,unlink:l,rename:d,readdir:m,mkdir:v,rm:y,rmdir:y,stat:b,lstat:b,access:async e=>{await b(e)}};return{available:e.available,promises:x,readFile:(e,n,r)=>_(t(e,g(n)),h(n,r)),writeFile:(e,t,n,r)=>_(s(e,t,g(n)),h(n,r)),unlink:(e,t)=>_(l(e),t),rename:(e,t,n)=>_(d(e,t),n),readdir:(e,t,n)=>_(m(e),h(t,n)),mkdir:(e,t,n)=>_(v(),h(t,n)),rm:(e,t,n)=>_(y(e,g(t)),h(t,n)),stat:(e,t)=>_(b(e),t)}};function b(e,t){return t.memfs?v(e):y(e)}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return b}});
|
|
@@ -76,7 +76,7 @@ var t = {
|
|
|
76
76
|
let t = /* @__PURE__ */ new Map([["", {
|
|
77
77
|
kind: "dir",
|
|
78
78
|
mtimeMs: 0
|
|
79
|
-
}]]), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), u = () => Date.now(),
|
|
79
|
+
}]]), c = /* @__PURE__ */ new Set(), l = /* @__PURE__ */ new Set(), u = /* @__PURE__ */ new Set(), d = () => Date.now(), f = (e) => {
|
|
80
80
|
if (!e) return;
|
|
81
81
|
let n = e.split("/"), r = "";
|
|
82
82
|
for (let e of n) {
|
|
@@ -84,30 +84,36 @@ var t = {
|
|
|
84
84
|
let n = t.get(r);
|
|
85
85
|
if (!n) t.set(r, {
|
|
86
86
|
kind: "dir",
|
|
87
|
-
mtimeMs:
|
|
87
|
+
mtimeMs: d()
|
|
88
88
|
});
|
|
89
89
|
else if (n.kind === "file") throw a("ENOTDIR", r, "mkdir");
|
|
90
90
|
}
|
|
91
|
-
},
|
|
92
|
-
let n = await e.list().catch(() => []);
|
|
93
|
-
for (let
|
|
94
|
-
let n = o(
|
|
95
|
-
if (c.has(n))
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
91
|
+
}, p, m = 0, h = async () => {
|
|
92
|
+
let n = await e.list().catch(() => []), r = /* @__PURE__ */ new Set(), i = !1;
|
|
93
|
+
for (let a of n) {
|
|
94
|
+
let n = o(a.path);
|
|
95
|
+
if (r.add(n), !l.has(n) && !(c.has(n) && !u.has(n))) try {
|
|
96
|
+
let r = await (await e.readFile(a.path)).arrayBuffer();
|
|
97
|
+
if (l.has(n) || c.has(n) && !u.has(n)) continue;
|
|
98
|
+
f(s(n));
|
|
99
|
+
let i = Date.parse(a.updatedAt ?? "");
|
|
100
|
+
t.set(n, {
|
|
101
|
+
kind: "file",
|
|
102
|
+
data: new Uint8Array(r),
|
|
103
|
+
mtimeMs: Number.isFinite(i) ? i : d(),
|
|
104
|
+
contentType: a.contentType ?? void 0
|
|
105
|
+
}), u.delete(n), c.delete(n);
|
|
106
|
+
} catch {
|
|
107
|
+
i = !0, u.add(n);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
for (let e of u) r.has(e) || u.delete(e);
|
|
111
|
+
m = i ? Date.now() : 0;
|
|
112
|
+
}, g = () => (p && (m === 0 || Date.now() - m < 5e3) || (p = h()), p), _ = async () => {
|
|
113
|
+
p = void 0, m = 0, await g();
|
|
114
|
+
}, v = async () => {
|
|
110
115
|
let r = [...c].map(async (r) => {
|
|
116
|
+
if (u.has(r)) return;
|
|
111
117
|
let i = t.get(r);
|
|
112
118
|
if (i?.kind !== "file") {
|
|
113
119
|
c.delete(r);
|
|
@@ -125,42 +131,46 @@ var t = {
|
|
|
125
131
|
} catch {}
|
|
126
132
|
});
|
|
127
133
|
await Promise.all([...r, ...i]);
|
|
128
|
-
},
|
|
129
|
-
|
|
130
|
-
|
|
134
|
+
}, y, b = () => {
|
|
135
|
+
y ||= setTimeout(() => {
|
|
136
|
+
y = void 0, v().catch(() => {});
|
|
131
137
|
}, 250);
|
|
132
138
|
};
|
|
133
139
|
typeof addEventListener < "u" && (addEventListener("pagehide", () => {
|
|
134
|
-
|
|
140
|
+
v().catch(() => {});
|
|
135
141
|
}), addEventListener("visibilitychange", () => {
|
|
136
|
-
typeof document < "u" && document.visibilityState === "hidden" &&
|
|
142
|
+
typeof document < "u" && document.visibilityState === "hidden" && v().catch(() => {});
|
|
137
143
|
}));
|
|
138
|
-
let
|
|
139
|
-
let n =
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
144
|
+
let x = (e) => e.kind === "file" ? r(e.data.byteLength, e.mtimeMs) : i(e.mtimeMs), S = (e) => Object.assign(/* @__PURE__ */ Error(`storage: ${e} exists but could not be read, retry once its scope is available`), { code: "FKN_E2E_LOCKED" }), C = (e) => {
|
|
145
|
+
let n = o(e);
|
|
146
|
+
return t.has(n) || u.has(n);
|
|
147
|
+
}, w = (e) => {
|
|
148
|
+
let n = o(e), r = t.get(n);
|
|
149
|
+
if (!r) throw u.has(n) ? S(e) : a("ENOENT", e, "stat");
|
|
150
|
+
return x(r);
|
|
151
|
+
}, T = (e) => {
|
|
152
|
+
let n = o(e), r = t.get(n);
|
|
153
|
+
if (!r) throw u.has(n) ? S(e) : a("ENOENT", e, "open");
|
|
154
|
+
if (r.kind === "dir") throw a("EISDIR", e, "read");
|
|
155
|
+
return r.data;
|
|
156
|
+
}, E = (e, t) => {
|
|
148
157
|
let n = new Uint8Array(e.byteLength + t.byteLength);
|
|
149
158
|
return n.set(e, 0), n.set(t, e.byteLength), n;
|
|
150
|
-
},
|
|
151
|
-
let
|
|
152
|
-
if (!
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
159
|
+
}, D = (e, n, r, i) => {
|
|
160
|
+
let p = o(e);
|
|
161
|
+
if (!p) throw a("EISDIR", e, "open");
|
|
162
|
+
if (u.has(p)) throw S(e);
|
|
163
|
+
let m = t.get(p);
|
|
164
|
+
if (m?.kind === "dir") throw a("EISDIR", e, "open");
|
|
165
|
+
f(s(p));
|
|
166
|
+
let h = r && m?.kind === "file" ? E(m.data, n) : n;
|
|
167
|
+
t.set(p, {
|
|
158
168
|
kind: "file",
|
|
159
|
-
data:
|
|
160
|
-
mtimeMs:
|
|
161
|
-
contentType: i ?? (
|
|
162
|
-
}), c.add(
|
|
163
|
-
},
|
|
169
|
+
data: h,
|
|
170
|
+
mtimeMs: d(),
|
|
171
|
+
contentType: i ?? (m?.kind === "file" ? m.contentType : void 0)
|
|
172
|
+
}), c.add(p), l.delete(p), b();
|
|
173
|
+
}, O = (e, n) => {
|
|
164
174
|
let r = o(e);
|
|
165
175
|
if (r) {
|
|
166
176
|
if (t.has(r)) {
|
|
@@ -168,69 +178,76 @@ var t = {
|
|
|
168
178
|
throw a("EEXIST", e, "mkdir");
|
|
169
179
|
}
|
|
170
180
|
if (!n && !t.has(s(r))) throw a("ENOENT", e, "mkdir");
|
|
171
|
-
|
|
181
|
+
f(r);
|
|
172
182
|
}
|
|
173
|
-
},
|
|
183
|
+
}, k = (e) => {
|
|
174
184
|
let n = o(e), r = t.get(n);
|
|
175
185
|
if (!r) throw a("ENOENT", e, "scandir");
|
|
176
186
|
if (r.kind === "file") throw a("ENOTDIR", e, "scandir");
|
|
177
187
|
let i = n ? `${n}/` : "", s = /* @__PURE__ */ new Set();
|
|
178
|
-
for (let e of t.keys()) {
|
|
188
|
+
for (let e of [...t.keys(), ...u]) {
|
|
179
189
|
if (!e || !e.startsWith(i)) continue;
|
|
180
190
|
let t = e.slice(i.length);
|
|
181
191
|
t && s.add(t.split("/")[0]);
|
|
182
192
|
}
|
|
183
193
|
return [...s];
|
|
184
|
-
},
|
|
185
|
-
let s = o(e),
|
|
186
|
-
if (!u) {
|
|
194
|
+
}, A = (e, { op: n, recursive: r, force: i }) => {
|
|
195
|
+
let s = o(e), d = t.get(s);
|
|
196
|
+
if (!d && u.has(s)) {
|
|
197
|
+
if (n === "rmdir") throw a("ENOTDIR", e, "rmdir");
|
|
198
|
+
u.delete(s), c.delete(s), l.add(s), b();
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
if (!d) {
|
|
187
202
|
if (i || n === "rmdir" && r) return;
|
|
188
203
|
throw a("ENOENT", e, n === "rmdir" ? "rmdir" : "unlink");
|
|
189
204
|
}
|
|
190
|
-
if (n === "unlink" &&
|
|
191
|
-
if (n === "rmdir" &&
|
|
192
|
-
if (n === "rm" &&
|
|
193
|
-
let
|
|
194
|
-
if (
|
|
195
|
-
for (let e of [s, ...
|
|
205
|
+
if (n === "unlink" && d.kind === "dir") throw a("EISDIR", e, "unlink");
|
|
206
|
+
if (n === "rmdir" && d.kind === "file") throw a("ENOTDIR", e, "rmdir");
|
|
207
|
+
if (n === "rm" && d.kind === "dir" && !r) throw a("ERR_FS_EISDIR", e, "rm");
|
|
208
|
+
let f = `${s}/`, p = [...t.keys()].filter((e) => e.startsWith(f));
|
|
209
|
+
if (p.length && !r) throw a("ENOTEMPTY", e, "rmdir");
|
|
210
|
+
for (let e of [s, ...p]) {
|
|
196
211
|
let n = t.get(e);
|
|
197
212
|
t.delete(e), n?.kind === "file" && (c.delete(e), l.add(e));
|
|
198
213
|
}
|
|
199
|
-
|
|
214
|
+
b();
|
|
200
215
|
};
|
|
201
216
|
return {
|
|
202
|
-
mount:
|
|
203
|
-
remount:
|
|
204
|
-
flush:
|
|
205
|
-
exists:
|
|
206
|
-
stat:
|
|
207
|
-
readFile:
|
|
208
|
-
writeFile:
|
|
209
|
-
mkdir:
|
|
210
|
-
readdir:
|
|
211
|
-
remove:
|
|
217
|
+
mount: g,
|
|
218
|
+
remount: _,
|
|
219
|
+
flush: v,
|
|
220
|
+
exists: C,
|
|
221
|
+
stat: w,
|
|
222
|
+
readFile: T,
|
|
223
|
+
writeFile: D,
|
|
224
|
+
mkdir: O,
|
|
225
|
+
readdir: k,
|
|
226
|
+
remove: A,
|
|
212
227
|
rename: (e, n) => {
|
|
213
228
|
let r = o(e), i = o(n);
|
|
214
229
|
if (!r) throw a("EBUSY", e, "rename");
|
|
215
230
|
if (i === r || i.startsWith(`${r}/`)) throw a("EINVAL", e, "rename");
|
|
216
|
-
|
|
217
|
-
if (
|
|
218
|
-
let
|
|
219
|
-
if (
|
|
220
|
-
|
|
221
|
-
|
|
231
|
+
if (u.has(r)) throw S(e);
|
|
232
|
+
if (u.has(i)) throw S(n);
|
|
233
|
+
let d = t.get(r);
|
|
234
|
+
if (!d) throw a("ENOENT", e, "rename");
|
|
235
|
+
let p = t.get(i);
|
|
236
|
+
if (p) {
|
|
237
|
+
if (p.kind !== d.kind) throw a(d.kind === "dir" ? "ENOTDIR" : "EISDIR", n, "rename");
|
|
238
|
+
A(i, {
|
|
222
239
|
op: "rm",
|
|
223
240
|
recursive: !0,
|
|
224
241
|
force: !0
|
|
225
242
|
});
|
|
226
243
|
}
|
|
227
|
-
|
|
228
|
-
let
|
|
229
|
-
for (let e of
|
|
244
|
+
f(s(i));
|
|
245
|
+
let m = `${r}/`, h = [r, ...[...t.keys()].filter((e) => e.startsWith(m))];
|
|
246
|
+
for (let e of h) {
|
|
230
247
|
let n = i + e.slice(r.length), a = t.get(e);
|
|
231
248
|
t.set(n, a), t.delete(e), a.kind === "file" && (c.add(n), l.delete(n), c.delete(e), l.add(e));
|
|
232
249
|
}
|
|
233
|
-
|
|
250
|
+
b();
|
|
234
251
|
}
|
|
235
252
|
};
|
|
236
253
|
}, h = (e, t) => typeof e == "function" ? e : t, g = (e) => typeof e == "function" ? void 0 : e, _ = (e, t) => {
|
package/opfs.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-BMR2yCEt.cjs"),n=require("./opfs-uClkgnb5.cjs");var r=e.n({appendFile:()=>b,appendFileSync:()=>c,available:()=>a,default:()=>i,exists:()=>D,existsSync:()=>l,flush:()=>A,lstatSync:()=>d,mkdir:()=>C,mkdirSync:()=>p,mount:()=>k,promises:()=>O,readFile:()=>v,readFileSync:()=>o,readdir:()=>S,readdirSync:()=>f,remount:()=>j,rename:()=>E,renameSync:()=>_,rm:()=>w,rmSync:()=>m,rmdirSync:()=>h,stat:()=>x,statSync:()=>u,unlink:()=>T,unlinkSync:()=>g,writeFile:()=>y,writeFileSync:()=>s}),i=t.t(n.r,{memfs:!0}),{available:a,readFileSync:o,writeFileSync:s,appendFileSync:c,existsSync:l,statSync:u,lstatSync:d,readdirSync:f,mkdirSync:p,rmSync:m,rmdirSync:h,unlinkSync:g,renameSync:_,readFile:v,writeFile:y,appendFile:b,stat:x,readdir:S,mkdir:C,rm:w,unlink:T,rename:E,exists:D,promises:O,mount:k,flush:A,remount:j}=i;exports.appendFile=b,exports.appendFileSync=c,exports.available=a,exports.default=i,exports.exists=D,exports.existsSync=l,exports.flush=A,exports.lstatSync=d,exports.mkdir=C,exports.mkdirSync=p,exports.mount=k,exports.promises=O,exports.readFile=v,exports.readFileSync=o,exports.readdir=S,exports.readdirSync=f,exports.remount=j,exports.rename=E,exports.renameSync=_,exports.rm=w,exports.rmSync=m,exports.rmdirSync=h,exports.stat=x,exports.statSync=u,Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}}),exports.unlink=T,exports.unlinkSync=g,exports.writeFile=y,exports.writeFileSync=s;
|
package/opfs.js
CHANGED
package/package.json
CHANGED
package/node-fs-C0eKnboT.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let e=require("buffer");var t={json:`application/json`,txt:`text/plain`,html:`text/html`,htm:`text/html`,css:`text/css`,js:`text/javascript`,mjs:`text/javascript`,xml:`application/xml`,csv:`text/csv`,md:`text/markdown`,svg:`image/svg+xml`,png:`image/png`,jpg:`image/jpeg`,jpeg:`image/jpeg`,gif:`image/gif`,webp:`image/webp`,pdf:`application/pdf`,wasm:`application/wasm`},n=(e,n)=>{if(n)return n;let r=e.split(`/`).pop()??``,i=r.lastIndexOf(`.`);if(!(i<=0))return t[r.slice(i+1).toLowerCase()]},r=(e,t)=>({size:e,mtimeMs:t,mtime:new Date(t),atimeMs:t,ctimeMs:t,mode:420,isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}),i=(e=0)=>({size:0,mtimeMs:e,mtime:new Date(e),atimeMs:e,ctimeMs:e,mode:493,isFile:()=>!1,isDirectory:()=>!0,isSymbolicLink:()=>!1}),a=(e,t,n)=>{let r=Error(`${e}: ${{ENOENT:`no such file or directory`,EEXIST:`file already exists`,ENOTDIR:`not a directory`,EISDIR:`illegal operation on a directory`,ENOTEMPTY:`directory not empty`,ERR_FS_EISDIR:`is a directory`}[e]??e}, ${n} '${t}'`);return r.code=e,r.path=t,r.syscall=n,r},o=e=>{let t=[];for(let n of e.split(`/`))if(!(!n||n===`.`)){if(n===`..`){t.pop();continue}t.push(n)}return t.join(`/`)},s=e=>e.split(`/`).slice(0,-1).join(`/`),c=e=>typeof e==`string`?e:e instanceof URL?decodeURIComponent(e.pathname):e.toString(),l=e=>typeof e==`string`?e:e?.encoding??void 0,u=e=>typeof e==`object`?e?.contentType:void 0,d=e=>typeof e==`object`&&!!e?.recursive,f=(t,n)=>{let r=l(n);return r?e.Buffer.from(t).toString(r):e.Buffer.from(t)},p=(t,n)=>{if(typeof t==`string`)return new Uint8Array(e.Buffer.from(t,l(n)??`utf8`));if(t instanceof Uint8Array)return t.slice();if(t instanceof ArrayBuffer)return new Uint8Array(t).slice();if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength).slice();throw TypeError(`The "data" argument must be of type string, Buffer, TypedArray, or DataView`)},m=e=>{let t=new Map([[``,{kind:`dir`,mtimeMs:0}]]),c=new Set,l=new Set,u=()=>Date.now(),d=e=>{if(!e)return;let n=e.split(`/`),r=``;for(let e of n){r=r?`${r}/${e}`:e;let n=t.get(r);if(!n)t.set(r,{kind:`dir`,mtimeMs:u()});else if(n.kind===`file`)throw a(`ENOTDIR`,r,`mkdir`)}},f,p=()=>f??=(async()=>{let n=await e.list().catch(()=>[]);for(let r of n)try{let n=o(r.path);if(c.has(n))continue;let i=await(await e.readFile(r.path)).arrayBuffer();if(c.has(n)||l.has(n))continue;d(s(n));let a=Date.parse(r.updatedAt??``);t.set(n,{kind:`file`,data:new Uint8Array(i),mtimeMs:Number.isFinite(a)?a:u(),contentType:r.contentType??void 0})}catch{}})(),m=async()=>{f=void 0,await p()},h=async()=>{let r=[...c].map(async r=>{let i=t.get(r);if(i?.kind!==`file`){c.delete(r);return}let a=i.data,o=n(r,i.contentType);try{await e.writeFile(r,a,o?{contentType:o}:void 0);let n=t.get(r);n?.kind===`file`&&n.data===a&&c.delete(r)}catch{}}),i=[...l].map(async t=>{try{await e.remove(t),l.delete(t)}catch{}});await Promise.all([...r,...i])},g,_=()=>{g||=setTimeout(()=>{g=void 0,h().catch(()=>{})},250)};typeof addEventListener<`u`&&(addEventListener(`pagehide`,()=>{h().catch(()=>{})}),addEventListener(`visibilitychange`,()=>{typeof document<`u`&&document.visibilityState===`hidden`&&h().catch(()=>{})}));let v=e=>e.kind===`file`?r(e.data.byteLength,e.mtimeMs):i(e.mtimeMs),y=e=>t.has(o(e)),b=e=>{let n=t.get(o(e));if(!n)throw a(`ENOENT`,e,`stat`);return v(n)},x=e=>{let n=t.get(o(e));if(!n)throw a(`ENOENT`,e,`open`);if(n.kind===`dir`)throw a(`EISDIR`,e,`read`);return n.data},S=(e,t)=>{let n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),n},C=(e,n,r,i)=>{let f=o(e);if(!f)throw a(`EISDIR`,e,`open`);let p=t.get(f);if(p?.kind===`dir`)throw a(`EISDIR`,e,`open`);d(s(f));let m=r&&p?.kind===`file`?S(p.data,n):n;t.set(f,{kind:`file`,data:m,mtimeMs:u(),contentType:i??(p?.kind===`file`?p.contentType:void 0)}),c.add(f),l.delete(f),_()},w=(e,n)=>{let r=o(e);if(r){if(t.has(r)){if(n)return;throw a(`EEXIST`,e,`mkdir`)}if(!n&&!t.has(s(r)))throw a(`ENOENT`,e,`mkdir`);d(r)}},T=e=>{let n=o(e),r=t.get(n);if(!r)throw a(`ENOENT`,e,`scandir`);if(r.kind===`file`)throw a(`ENOTDIR`,e,`scandir`);let i=n?`${n}/`:``,s=new Set;for(let e of t.keys()){if(!e||!e.startsWith(i))continue;let t=e.slice(i.length);t&&s.add(t.split(`/`)[0])}return[...s]},E=(e,{op:n,recursive:r,force:i})=>{let s=o(e),u=t.get(s);if(!u){if(i||n===`rmdir`&&r)return;throw a(`ENOENT`,e,n===`rmdir`?`rmdir`:`unlink`)}if(n===`unlink`&&u.kind===`dir`)throw a(`EISDIR`,e,`unlink`);if(n===`rmdir`&&u.kind===`file`)throw a(`ENOTDIR`,e,`rmdir`);if(n===`rm`&&u.kind===`dir`&&!r)throw a(`ERR_FS_EISDIR`,e,`rm`);let d=`${s}/`,f=[...t.keys()].filter(e=>e.startsWith(d));if(f.length&&!r)throw a(`ENOTEMPTY`,e,`rmdir`);for(let e of[s,...f]){let n=t.get(e);t.delete(e),n?.kind===`file`&&(c.delete(e),l.add(e))}_()};return{mount:p,remount:m,flush:h,exists:y,stat:b,readFile:x,writeFile:C,mkdir:w,readdir:T,remove:E,rename:(e,n)=>{let r=o(e),i=o(n);if(!r)throw a(`EBUSY`,e,`rename`);if(i===r||i.startsWith(`${r}/`))throw a(`EINVAL`,e,`rename`);let u=t.get(r);if(!u)throw a(`ENOENT`,e,`rename`);let f=t.get(i);if(f){if(f.kind!==u.kind)throw a(u.kind===`dir`?`ENOTDIR`:`EISDIR`,n,`rename`);E(i,{op:`rm`,recursive:!0,force:!0})}d(s(i));let p=`${r}/`,m=[r,...[...t.keys()].filter(e=>e.startsWith(p))];for(let e of m){let n=i+e.slice(r.length),a=t.get(e);t.set(n,a),t.delete(e),a.kind===`file`&&(c.add(n),l.delete(n),c.delete(e),l.add(e))}_()}}},h=(e,t)=>typeof e==`function`?e:t,g=e=>typeof e==`function`?void 0:e,_=(e,t)=>{e.then(e=>t(null,e),e=>t(e))},v=e=>{let t=m(e),n=(e,n)=>f(t.readFile(c(e)),n),r=(e,n,r)=>t.writeFile(c(e),p(n,r),!1,u(r)),i=(e,n,r)=>t.writeFile(c(e),p(n,r),!0,u(r)),o=e=>t.exists(c(e)),s=e=>t.stat(c(e)),l=e=>t.readdir(c(e)),_=(e,n)=>t.mkdir(c(e),d(n)),v=(e,n)=>t.remove(c(e),{op:`rm`,...n}),y=(e,n)=>t.remove(c(e),{op:`rmdir`,...n}),b=e=>t.remove(c(e),{op:`unlink`}),x=(e,n)=>t.rename(c(e),c(n)),S=(e,n)=>{t.mount().finally(()=>{let t;try{t=e()}catch(e){n(e);return}n(null,t)})},C=e=>t.mount().then(()=>e());return{available:e.available,readFileSync:n,writeFileSync:r,appendFileSync:i,existsSync:o,statSync:s,lstatSync:s,readdirSync:l,mkdirSync:_,rmSync:v,rmdirSync:y,unlinkSync:b,renameSync:x,readFile:(e,n,r)=>S(()=>f(t.readFile(c(e)),g(n)),h(n,r)),writeFile:(e,n,r,i)=>S(()=>t.writeFile(c(e),p(n,g(r)),!1,u(g(r))),h(r,i)),appendFile:(e,n,r,i)=>S(()=>t.writeFile(c(e),p(n,g(r)),!0,u(g(r))),h(r,i)),stat:(e,n)=>S(()=>t.stat(c(e)),n),readdir:(e,n,r)=>S(()=>t.readdir(c(e)),h(n,r)),mkdir:(e,n,r)=>S(()=>t.mkdir(c(e),d(g(n))),h(n,r)),rm:(e,n,r)=>S(()=>t.remove(c(e),{op:`rm`,...g(n)}),h(n,r)),unlink:(e,n)=>S(()=>t.remove(c(e),{op:`unlink`}),n),rename:(e,n,r)=>S(()=>t.rename(c(e),c(n)),r),exists:(e,n)=>{t.mount().finally(()=>n(t.exists(c(e))))},promises:{readFile:(e,n)=>C(()=>f(t.readFile(c(e)),n)),writeFile:(e,n,r)=>C(()=>t.writeFile(c(e),p(n,r),!1,u(r))),appendFile:(e,n,r)=>C(()=>t.writeFile(c(e),p(n,r),!0,u(r))),stat:e=>C(()=>t.stat(c(e))),lstat:e=>C(()=>t.stat(c(e))),readdir:e=>C(()=>t.readdir(c(e))),mkdir:(e,n)=>C(()=>t.mkdir(c(e),d(n))),rm:(e,n)=>C(()=>t.remove(c(e),{op:`rm`,...n})),rmdir:(e,n)=>C(()=>t.remove(c(e),{op:`rmdir`,...n})),unlink:e=>C(()=>t.remove(c(e),{op:`unlink`})),rename:(e,n)=>C(()=>t.rename(c(e),c(n))),access:e=>C(()=>{if(!t.exists(c(e)))throw a(`ENOENT`,c(e),`access`)})},mount:t.mount,flush:t.flush,remount:t.remount}},y=e=>{let t=async(t,n)=>{let r=await e.readFile(c(t));return f(new Uint8Array(await r.arrayBuffer()),n)},s=async(t,r,i)=>{let a=c(t),o=n(a,u(i));await e.writeFile(a,p(r,i),o?{contentType:o}:void 0)},l=t=>e.remove(c(t)),d=async(t,n)=>{let r=o(c(t)),i=o(c(n));if(r===i)return;let a=await e.readFile(r);await e.writeFile(i,a),await e.remove(r)},m=async t=>{let n=o(c(t)),r=n?`${n}/`:``,i=new Set;for(let t of await e.list()){let e=o(t.path);if(r&&!e.startsWith(r))continue;let n=e.slice(r.length);n&&i.add(n.split(`/`)[0])}return[...i]},v=async(e,t)=>{},y=async(t,n)=>{let r=o(c(t));if(!n?.recursive){await e.remove(c(t));return}let i=`${r}/`,a=await e.list();await Promise.all(a.filter(e=>{let t=o(e.path);return t===r||t.startsWith(i)}).map(t=>e.remove(t.path).catch(()=>{})))},b=async t=>{let n=o(c(t)),s=await e.list(),l=s.find(e=>o(e.path)===n);if(l){let e=Date.parse(l.updatedAt??``);return r(l.size,Number.isFinite(e)?e:0)}if(s.some(e=>o(e.path).startsWith(`${n}/`)))return i();throw a(`ENOENT`,c(t),`stat`)},x={readFile:t,writeFile:s,unlink:l,rename:d,readdir:m,mkdir:v,rm:y,rmdir:y,stat:b,lstat:b,access:async e=>{await b(e)}};return{available:e.available,promises:x,readFile:(e,n,r)=>_(t(e,g(n)),h(n,r)),writeFile:(e,t,n,r)=>_(s(e,t,g(n)),h(n,r)),unlink:(e,t)=>_(l(e),t),rename:(e,t,n)=>_(d(e,t),n),readdir:(e,t,n)=>_(m(e),h(t,n)),mkdir:(e,t,n)=>_(v(),h(t,n)),rm:(e,t,n)=>_(y(e,g(t)),h(t,n)),stat:(e,t)=>_(b(e),t)}};function b(e,t){return t.memfs?v(e):y(e)}Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return b}});
|