@fkn/lib 0.7.2 → 0.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/account.cjs +1 -1
  2. package/account.js +1 -1
  3. package/api-BwrS6P0x.cjs +1 -0
  4. package/api-CAZo3BT0.js +73 -0
  5. package/{api-CI4d96Ty.d.ts → api-CLpsJzJy.d.ts} +23 -2
  6. package/{background-Bgznrosz.cjs → background-DMESyLZ6.cjs} +1 -1
  7. package/{background-EwGRMga_.js → background-DxYR_JMs.js} +1 -1
  8. package/cloud/dgram.cjs +1 -1
  9. package/cloud/dgram.js +1 -1
  10. package/cloud/fs/promises.d.ts +1 -1
  11. package/cloud/fs.cjs +1 -1
  12. package/cloud/fs.d.ts +2 -2
  13. package/cloud/fs.js +2 -2
  14. package/cloud/net.cjs +1 -1
  15. package/cloud/net.d.ts +1 -1
  16. package/cloud/net.js +1 -1
  17. package/{cloud-BxPdeAuj.d.ts → cloud-7C3sOMF_.d.ts} +3 -3
  18. package/{cloud-Gs4fvw2S.cjs → cloud-BcpPsNs3.cjs} +1 -1
  19. package/{cloud-C-QB3sIK.js → cloud-DArHoBaw.js} +4 -4
  20. package/cloud.cjs +1 -1
  21. package/cloud.d.ts +3 -3
  22. package/cloud.js +4 -4
  23. package/{dgram-CKRbKVzG.js → dgram-C1yYxLEI.js} +1 -1
  24. package/{dgram-DcvdNkg6.cjs → dgram-pCNllfov.cjs} +1 -1
  25. package/dgram.cjs +1 -1
  26. package/dgram.d.ts +1 -1
  27. package/dgram.js +1 -1
  28. package/dns.cjs +1 -1
  29. package/dns.js +1 -1
  30. package/{extension-BeARgX1g.cjs → extension-CjJNj5Yl.cjs} +1 -1
  31. package/{extension-CgXBc_iM.js → extension-Qs02HPzR.js} +2 -2
  32. package/extension.cjs +1 -1
  33. package/extension.js +2 -2
  34. package/fs/promises.cjs +1 -1
  35. package/fs/promises.d.ts +2 -2
  36. package/fs/promises.js +1 -1
  37. package/fs-B8Rc1zRI.cjs +1 -0
  38. package/fs-CvCcDnzN.js +260 -0
  39. package/{fs-BEfsbriO.d.ts → fs-DTmSCXwa.d.ts} +3 -3
  40. package/fs.cjs +1 -1
  41. package/fs.d.ts +3 -92
  42. package/fs.js +2 -2
  43. package/http.cjs +1 -1
  44. package/http.d.ts +1 -1
  45. package/http.js +1 -1
  46. package/index-Bt2VAVEC.d.ts +136 -0
  47. package/{index-C6ZoDJg8.d.ts → index-CJ0vHTcS.d.ts} +5 -2
  48. package/index.cjs +1 -1
  49. package/index.d.ts +7 -4
  50. package/index.js +10 -10
  51. package/{net-Cx8lDWau.d.ts → net--o3_puH-.d.ts} +1 -1
  52. package/{net-BPpdNdpy.cjs → net-BOyLJ3mh.cjs} +1 -1
  53. package/{net-BFYMbE4N.js → net-VAkfxAvn.js} +1 -1
  54. package/net.cjs +1 -1
  55. package/net.d.ts +1 -1
  56. package/net.js +1 -1
  57. package/node-fs-BMR2yCEt.cjs +1 -0
  58. package/{node-fs-Dbf93qP7.js → node-fs-DKfokOlh.js} +99 -82
  59. package/opfs/promises.d.ts +1 -1
  60. package/opfs.cjs +1 -1
  61. package/opfs.d.ts +1 -1
  62. package/opfs.js +1 -1
  63. package/package.json +1 -1
  64. package/packages.cjs +1 -1
  65. package/packages.js +1 -1
  66. package/{proxy-CuuSsVoC.js → proxy-B3rliZN8.js} +2 -2
  67. package/{proxy-Bo-8GoRU.cjs → proxy-g2yknq7C.cjs} +1 -1
  68. package/{storage-ezLkqmQR.cjs → storage-C1BT8jwJ.cjs} +1 -1
  69. package/{storage-DMETg6sP.js → storage-InqJHrkf.js} +1 -1
  70. package/api--bnCFd4w.js +0 -67
  71. package/api-DD5v1qP9.cjs +0 -1
  72. package/fs-7E0-tE2x.js +0 -82
  73. package/fs-BN4hkppN.cjs +0 -1
  74. package/node-fs-C0eKnboT.cjs +0 -1
@@ -1,5 +1,5 @@
1
1
  import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
- import { t } from "./api--bnCFd4w.js";
2
+ import { t } from "./api-CAZo3BT0.js";
3
3
  //#endregion
4
4
  //#region src/lib/storage.ts
5
5
  var n = /* @__PURE__ */ e({
package/api--bnCFd4w.js DELETED
@@ -1,67 +0,0 @@
1
- import { expose as e } from "osra";
2
- //#region src/lib/overlay.ts
3
- var t = 32, n = typeof CSS < "u" && CSS.supports("clip-path", "path('M0 0H1V1H0Z')"), r = (e) => {
4
- let t = e.style;
5
- t.setProperty("display", "block", "important"), t.setProperty("position", "fixed", "important"), t.setProperty("top", "0", "important"), t.setProperty("left", "0", "important"), t.setProperty("width", "100%", "important"), t.setProperty("height", "100%", "important"), t.setProperty("border", "none", "important"), t.setProperty("clip-path", "inset(100%)", "important"), t.setProperty("background", "transparent"), t.setProperty("color-scheme", "normal"), t.setProperty("z-index", "2147483647"), e.setAttribute("title", "FKN");
6
- }, i = ({ x: e, y: t, width: n, height: r }) => `M${e} ${t}h${n}v${r}h${-n}Z`, a = (e, { modal: t, rects: r }) => {
7
- if (!n) {
8
- let n = t || r.length > 0;
9
- e.style.setProperty("pointer-events", n ? "auto" : "none", "important"), e.style.setProperty("visibility", n ? "visible" : "hidden", "important");
10
- return;
11
- }
12
- let a = t ? "none" : r.length === 0 ? "inset(100%)" : `path('${r.map(i).join("")}')`, o = a === "none" || CSS.supports("clip-path", a) ? a : "inset(100%)";
13
- e.style.setProperty("clip-path", o, "important");
14
- }, o = (e) => {
15
- if (typeof e != "object" || !e) return null;
16
- let { x: t, y: n, width: r, height: i } = e;
17
- if (![
18
- t,
19
- n,
20
- r,
21
- i
22
- ].every((e) => typeof e == "number" && Number.isFinite(e))) return null;
23
- let a = window.innerWidth, o = window.innerHeight, s = Math.max(0, Math.min(Math.round(t), a)), c = Math.max(0, Math.min(Math.round(n), o)), l = Math.max(s, Math.min(Math.round(t + r), a)), u = Math.max(c, Math.min(Math.round(n + i), o));
24
- return {
25
- x: s,
26
- y: c,
27
- width: l - s,
28
- height: u - c
29
- };
30
- }, s = (e) => {
31
- if (typeof e != "object" || !e) return null;
32
- let n = e, r = (Array.isArray(n.rects) ? n.rects.slice(0, t) : []).map(o).filter((e) => e !== null && e.width > 0 && e.height > 0);
33
- return {
34
- modal: n.modal === !0,
35
- rects: r
36
- };
37
- }, c = null, l = () => c !== null, u = (e) => {
38
- r(e), a(e, {
39
- modal: !1,
40
- rects: []
41
- }), c = e;
42
- }, d = (e) => {
43
- if (!c) return;
44
- let t = s(e);
45
- t && a(c, t);
46
- }, f = "https://fkn.app", p = typeof globalThis < "u" && globalThis.document ? globalThis.document : void 0, m = p?.querySelector(`iframe[src="${f}/api"]`) ?? null, h = p?.createElement("iframe") ?? null;
47
- !m && h && p && (h.src = `${f}/api`, p.body.appendChild(h));
48
- var g = m ?? h, _ = g?.contentWindow ?? null;
49
- g && p && u(g);
50
- var v = (() => {
51
- if (typeof window < "u") return _ ? {
52
- receive: window,
53
- emit: _
54
- } : void 0;
55
- if (typeof self < "u") return {
56
- receive: self,
57
- emit: self
58
- };
59
- })(), y = v !== void 0, b = v ? e({}, {
60
- key: "fkn-api",
61
- transport: v
62
- }) : new Promise(() => {});
63
- b.then((e) => {
64
- l() && e.overlay.setHost(d);
65
- }, () => {});
66
- //#endregion
67
- export { y as n, g as r, b as t };
package/api-DD5v1qP9.cjs DELETED
@@ -1 +0,0 @@
1
- let e=require("osra");var t=32,n=typeof CSS<`u`&&CSS.supports(`clip-path`,`path('M0 0H1V1H0Z')`),r=e=>{let t=e.style;t.setProperty(`display`,`block`,`important`),t.setProperty(`position`,`fixed`,`important`),t.setProperty(`top`,`0`,`important`),t.setProperty(`left`,`0`,`important`),t.setProperty(`width`,`100%`,`important`),t.setProperty(`height`,`100%`,`important`),t.setProperty(`border`,`none`,`important`),t.setProperty(`clip-path`,`inset(100%)`,`important`),t.setProperty(`background`,`transparent`),t.setProperty(`color-scheme`,`normal`),t.setProperty(`z-index`,`2147483647`),e.setAttribute(`title`,`FKN`)},i=({x:e,y:t,width:n,height:r})=>`M${e} ${t}h${n}v${r}h${-n}Z`,a=(e,{modal:t,rects:r})=>{if(!n){let n=t||r.length>0;e.style.setProperty(`pointer-events`,n?`auto`:`none`,`important`),e.style.setProperty(`visibility`,n?`visible`:`hidden`,`important`);return}let a=t?`none`:r.length===0?`inset(100%)`:`path('${r.map(i).join(``)}')`,o=a===`none`||CSS.supports(`clip-path`,a)?a:`inset(100%)`;e.style.setProperty(`clip-path`,o,`important`)},o=e=>{if(typeof e!=`object`||!e)return null;let{x:t,y:n,width:r,height:i}=e;if(![t,n,r,i].every(e=>typeof e==`number`&&Number.isFinite(e)))return null;let a=window.innerWidth,o=window.innerHeight,s=Math.max(0,Math.min(Math.round(t),a)),c=Math.max(0,Math.min(Math.round(n),o)),l=Math.max(s,Math.min(Math.round(t+r),a)),u=Math.max(c,Math.min(Math.round(n+i),o));return{x:s,y:c,width:l-s,height:u-c}},s=e=>{if(typeof e!=`object`||!e)return null;let n=e,r=(Array.isArray(n.rects)?n.rects.slice(0,t):[]).map(o).filter(e=>e!==null&&e.width>0&&e.height>0);return{modal:n.modal===!0,rects:r}},c=null,l=()=>c!==null,u=e=>{r(e),a(e,{modal:!1,rects:[]}),c=e},d=e=>{if(!c)return;let t=s(e);t&&a(c,t)},f=`https://fkn.app`,p=typeof globalThis<`u`&&globalThis.document?globalThis.document:void 0,m=p?.querySelector(`iframe[src="${f}/api"]`)??null,h=p?.createElement(`iframe`)??null;!m&&h&&p&&(h.src=`${f}/api`,p.body.appendChild(h));var g=m??h,_=g?.contentWindow??null;g&&p&&u(g);var v=(()=>{if(typeof window<`u`)return _?{receive:window,emit:_}:void 0;if(typeof self<`u`)return{receive:self,emit:self}})(),y=v!==void 0,b=v?(0,e.expose)({},{key:`fkn-api`,transport:v}):new Promise(()=>{});b.then(e=>{l()&&e.overlay.setHost(d)},()=>{}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return b}});
package/fs-7E0-tE2x.js DELETED
@@ -1,82 +0,0 @@
1
- import { n as e } from "./rolldown-runtime-DF993M8W.js";
2
- import { t } from "./node-fs-Dbf93qP7.js";
3
- import { i as n, n as r, o as i, s as a, u as o } from "./storage-DMETg6sP.js";
4
- import { a as s, i as c, n as l, o as u, t as d } from "./opfs-7_GmzQ93.js";
5
- //#region src/lib/fs/hybrid.ts
6
- var f = /* @__PURE__ */ e({
7
- available: () => g,
8
- list: () => _,
9
- pull: () => x,
10
- readFile: () => v,
11
- remove: () => b,
12
- writeFile: () => y
13
- }), p, m = async () => await (p ??= d().catch(() => !1)) ? !0 : (p = void 0, !1), h = () => r().catch(() => !1), g = async () => await m() || await h(), _ = async () => {
14
- let [e, t] = await Promise.all([m().then((e) => e ? l() : []).catch(() => []), h().then((e) => e ? n() : []).catch(() => [])]), r = /* @__PURE__ */ new Map(), i = (e) => {
15
- let t = Date.parse(e.updatedAt ?? "");
16
- return Number.isFinite(t) ? t : 0;
17
- }, a = (e) => {
18
- let t = r.get(e.path);
19
- (!t || i(e) >= i(t)) && r.set(e.path, e);
20
- };
21
- for (let t of e) a(t);
22
- for (let e of t) a(e);
23
- return [...r.values()];
24
- }, v = async (e) => {
25
- if (await m()) try {
26
- return await c(e);
27
- } catch (e) {
28
- if (e?.name !== "NotFoundError") throw e;
29
- }
30
- let t = await i(e);
31
- return await m() && u(e, t).catch(() => {}), t;
32
- }, y = async (e, t, n) => {
33
- let r = t instanceof Blob ? t : new Blob([t], n?.contentType ? { type: n.contentType } : void 0);
34
- if (await m()) {
35
- await u(e, r, n), await h() && o(e, r, n).catch((e) => console.warn("fs: cloud replicate failed", e));
36
- return;
37
- }
38
- if (await h()) return o(e, r, n);
39
- throw Error("fs: no storage backend available");
40
- }, b = async (e) => {
41
- let t = [];
42
- if (await m() && t.push(s(e).catch(() => {})), await h() && t.push(a(e).catch(() => {})), !t.length) throw Error("fs: no storage backend available");
43
- await Promise.all(t);
44
- }, x = async (e) => {
45
- let t = await i(e);
46
- return await m() && await u(e, t), t;
47
- }, S = /* @__PURE__ */ e({
48
- appendFile: () => z,
49
- appendFileSync: () => D,
50
- available: () => w,
51
- default: () => Q,
52
- exists: () => K,
53
- existsSync: () => O,
54
- flush: () => Y,
55
- lstatSync: () => A,
56
- mkdir: () => H,
57
- mkdirSync: () => M,
58
- mount: () => J,
59
- promises: () => q,
60
- pull: () => Z,
61
- readFile: () => L,
62
- readFileSync: () => T,
63
- readdir: () => V,
64
- readdirSync: () => j,
65
- remount: () => X,
66
- rename: () => G,
67
- renameSync: () => I,
68
- rm: () => U,
69
- rmSync: () => N,
70
- rmdirSync: () => P,
71
- stat: () => B,
72
- statSync: () => k,
73
- unlink: () => W,
74
- unlinkSync: () => F,
75
- writeFile: () => R,
76
- writeFileSync: () => E
77
- }), C = t(f, { memfs: !0 }), { available: w, readFileSync: T, writeFileSync: E, appendFileSync: D, existsSync: O, statSync: k, lstatSync: A, readdirSync: j, mkdirSync: M, rmSync: N, rmdirSync: P, unlinkSync: F, renameSync: I, readFile: L, writeFile: R, appendFile: z, stat: B, readdir: V, mkdir: H, rm: U, unlink: W, rename: G, exists: K, promises: q, mount: J, flush: Y, remount: X } = C, Z = x, Q = {
78
- ...C,
79
- pull: Z
80
- };
81
- //#endregion
82
- export { E as A, N as C, W as D, k as E, F as O, U as S, B as T, V as _, O as a, G as b, S as c, M as d, J as f, T as g, L as h, K as i, R as k, A as l, Z as m, D as n, Y as o, q as p, w as r, Q as s, z as t, H as u, j as v, P as w, I as x, X as y };
package/fs-BN4hkppN.cjs DELETED
@@ -1 +0,0 @@
1
- const e=require("./rolldown-runtime-Doa5O59j.cjs"),t=require("./node-fs-C0eKnboT.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 +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}});