@lifo-sh/core 0.5.5 → 0.5.6

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 (326) hide show
  1. package/README.md +3 -7
  2. package/dist/args-BhoL0JcG.js +58 -0
  3. package/dist/awk-DahiO6Jl.js +170 -0
  4. package/dist/base64-Dj_AnQAH.js +92 -0
  5. package/dist/basename-D8sjWfzX.js +14 -0
  6. package/dist/bc-CCuJi0IY.js +230 -0
  7. package/dist/browser-B0dadKCA.js +43 -0
  8. package/dist/cal-DQsLvArw.js +85 -0
  9. package/dist/cat-KYGveROo.js +32 -0
  10. package/dist/chmod-gYZdg3Kv.js +81 -0
  11. package/dist/chown-DoPi7NLO.js +32 -0
  12. package/dist/commands/net/curl.d.ts +1 -1
  13. package/dist/commands/net/curl.d.ts.map +1 -1
  14. package/dist/commands/net/forward.d.ts +1 -1
  15. package/dist/commands/net/forward.d.ts.map +1 -1
  16. package/dist/commands/net/host.d.ts +1 -1
  17. package/dist/commands/net/host.d.ts.map +1 -1
  18. package/dist/commands/net/ifconfig.d.ts +1 -1
  19. package/dist/commands/net/ifconfig.d.ts.map +1 -1
  20. package/dist/commands/net/ip.d.ts +1 -1
  21. package/dist/commands/net/ip.d.ts.map +1 -1
  22. package/dist/commands/net/netstat.d.ts +1 -1
  23. package/dist/commands/net/netstat.d.ts.map +1 -1
  24. package/dist/commands/net/ports.d.ts +1 -1
  25. package/dist/commands/net/ports.d.ts.map +1 -1
  26. package/dist/commands/net/route.d.ts +1 -1
  27. package/dist/commands/net/route.d.ts.map +1 -1
  28. package/dist/commands/net/test-registry.d.ts +1 -1
  29. package/dist/commands/net/test-registry.d.ts.map +1 -1
  30. package/dist/commands/net/tunnel-v2.d.ts +1 -1
  31. package/dist/commands/net/tunnel-v2.d.ts.map +1 -1
  32. package/dist/commands/net/tunnel.d.ts +1 -1
  33. package/dist/commands/net/tunnel.d.ts.map +1 -1
  34. package/dist/commands/system/lifo.d.ts +3 -3
  35. package/dist/commands/system/lifo.d.ts.map +1 -1
  36. package/dist/commands/system/node.d.ts +2 -1
  37. package/dist/commands/system/node.d.ts.map +1 -1
  38. package/dist/commands/system/npm.d.ts +1 -1
  39. package/dist/commands/system/npm.d.ts.map +1 -1
  40. package/dist/commands/system/ps.d.ts.map +1 -1
  41. package/dist/commands/system/systemctl.d.ts +1 -1
  42. package/dist/commands/system/systemctl.d.ts.map +1 -1
  43. package/dist/commands/system/watch.d.ts.map +1 -1
  44. package/dist/commands/types.d.ts +3 -2
  45. package/dist/commands/types.d.ts.map +1 -1
  46. package/dist/cp-BP7-nkZi.js +29 -0
  47. package/dist/cut-Dg3Sxlw_.js +84 -0
  48. package/dist/date-DqL4oCg8.js +91 -0
  49. package/dist/df-CEHqyq91.js +47 -0
  50. package/dist/diff-aYLFp43G.js +250 -0
  51. package/dist/dig-0_V5UoWW.js +91 -0
  52. package/dist/dirname-ByojkmnI.js +14 -0
  53. package/dist/du-feoEC53Q.js +89 -0
  54. package/dist/env-CIcDulqw.js +10 -0
  55. package/dist/fastfetch-CRfsfb4t.js +378 -0
  56. package/dist/file-BHHCgjt9.js +79 -0
  57. package/dist/find-C-pGJyTZ.js +63 -0
  58. package/dist/free-DCkGta9v.js +33 -0
  59. package/dist/grep-Bv7fu1qw.js +179 -0
  60. package/dist/gunzip-BZk2000a.js +57 -0
  61. package/dist/gzip-D55LwDu8.js +70 -0
  62. package/dist/head-CQQ8pAha.js +66 -0
  63. package/dist/hostname-Ba0tnCzG.js +8 -0
  64. package/dist/index-GLjTMF7C.js +22717 -0
  65. package/dist/index.d.ts +28 -26
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +102 -99
  68. package/dist/less-C-8XcQ_A.js +294 -0
  69. package/dist/ln-CpXREm6e.js +15 -0
  70. package/dist/ls-Ce1mcASB.js +132 -0
  71. package/dist/{man-Dg26tZ-a.js → man-DjxHeM01.js} +46 -27
  72. package/dist/mime-B5knsVEw.js +101 -0
  73. package/dist/mkdir-CtDdaiaM.js +31 -0
  74. package/dist/mktemp-DwAY8Lz2.js +44 -0
  75. package/dist/mv-vS020rcy.js +29 -0
  76. package/dist/nano-DKfqXthq.js +445 -0
  77. package/dist/nl-DHh-MmKX.js +66 -0
  78. package/dist/ping-BQO3Z9CT.js +72 -0
  79. package/dist/pkg/PackageManager.d.ts +2 -2
  80. package/dist/pkg/PackageManager.d.ts.map +1 -1
  81. package/dist/pkg/lifo-dev.d.ts +6 -6
  82. package/dist/pkg/lifo-dev.d.ts.map +1 -1
  83. package/dist/pkg/lifo-runtime.d.ts +3 -3
  84. package/dist/pkg/lifo-runtime.d.ts.map +1 -1
  85. package/dist/pkg/loader.d.ts +2 -2
  86. package/dist/pkg/loader.d.ts.map +1 -1
  87. package/dist/printf-CdBVx2dT.js +81 -0
  88. package/dist/realpath-CZ_ja3FL.js +27 -0
  89. package/dist/rev-KZ9O5vNS.js +42 -0
  90. package/dist/rm-dW7YB25j.js +48 -0
  91. package/dist/rmdir-Db2wctQ6.js +42 -0
  92. package/dist/runtime/ContextSerialization.d.ts +7 -0
  93. package/dist/runtime/ContextSerialization.d.ts.map +1 -0
  94. package/dist/runtime/ProcessExecutor.d.ts +14 -0
  95. package/dist/runtime/ProcessExecutor.d.ts.map +1 -0
  96. package/dist/runtime/command-worker.d.ts +9 -0
  97. package/dist/runtime/command-worker.d.ts.map +1 -0
  98. package/dist/sandbox/Sandbox.d.ts +1 -2
  99. package/dist/sandbox/Sandbox.d.ts.map +1 -1
  100. package/dist/sandbox/SandboxFs.d.ts +2 -2
  101. package/dist/sandbox/SandboxFs.d.ts.map +1 -1
  102. package/dist/sandbox/types.d.ts +3 -4
  103. package/dist/sandbox/types.d.ts.map +1 -1
  104. package/dist/sed-BK_pjM2M.js +142 -0
  105. package/dist/seq-B0yurkx9.js +64 -0
  106. package/dist/sha256sum-BP0l9D35.js +85 -0
  107. package/dist/shell/ProcessRegistry.d.ts +9 -1
  108. package/dist/shell/ProcessRegistry.d.ts.map +1 -1
  109. package/dist/shell/Shell.d.ts +5 -3
  110. package/dist/shell/Shell.d.ts.map +1 -1
  111. package/dist/shell/completer.d.ts +2 -2
  112. package/dist/shell/completer.d.ts.map +1 -1
  113. package/dist/shell/expander.d.ts +2 -2
  114. package/dist/shell/expander.d.ts.map +1 -1
  115. package/dist/shell/history.d.ts +2 -2
  116. package/dist/shell/history.d.ts.map +1 -1
  117. package/dist/shell/interpreter.d.ts +4 -2
  118. package/dist/shell/interpreter.d.ts.map +1 -1
  119. package/dist/shell/test-builtin.d.ts +2 -2
  120. package/dist/shell/test-builtin.d.ts.map +1 -1
  121. package/dist/sl-BmMNz7ir.js +200 -0
  122. package/dist/sleep-C_3mjcFi.js +25 -0
  123. package/dist/sort-DYZuiMaO.js +87 -0
  124. package/dist/stat-CXSSmsrA.js +38 -0
  125. package/dist/strings-BwqQy-zL.js +63 -0
  126. package/dist/tac-CuZSbu_c.js +32 -0
  127. package/dist/tail-DH7xR0rW.js +62 -0
  128. package/dist/tar-AnR03GXP.js +155 -0
  129. package/dist/tee-ByHsMExU.js +29 -0
  130. package/dist/touch-CcmnMpg5.js +26 -0
  131. package/dist/tr-D_cg13q8.js +92 -0
  132. package/dist/tree-Ck1ymlSv.js +64 -0
  133. package/dist/uname-07bQ7DTD.js +50 -0
  134. package/dist/uniq-BHkwpex3.js +76 -0
  135. package/dist/unzip-DVjk3GA4.js +91 -0
  136. package/dist/uptime-ujk4Nb77.js +17 -0
  137. package/dist/utils/archive.d.ts +2 -2
  138. package/dist/utils/archive.d.ts.map +1 -1
  139. package/dist/utils/glob.d.ts +2 -2
  140. package/dist/utils/glob.d.ts.map +1 -1
  141. package/dist/wc-CK9Flybx.js +98 -0
  142. package/dist/wget-Cww1uNE2.js +84 -0
  143. package/dist/{which-D3u0cwyh.js → which-CJwCjtVK.js} +25 -14
  144. package/dist/whoami-EHyrQ1q-.js +25 -0
  145. package/dist/xargs-I1ZWqhOp.js +40 -0
  146. package/dist/yes-XolnW6bp.js +11 -0
  147. package/dist/zip-BTmRwUYQ.js +40 -0
  148. package/package.json +12 -9
  149. package/dist/args-CG6b9cZt.js +0 -43
  150. package/dist/awk-Bhywv7pU.js +0 -123
  151. package/dist/base64-ncdb27yL.js +0 -72
  152. package/dist/basename-D-_r1VN_.js +0 -12
  153. package/dist/bc-BYiKVTNg.js +0 -200
  154. package/dist/browser-Bymgnrli.js +0 -35
  155. package/dist/cal-DPULSAhj.js +0 -56
  156. package/dist/cat-DSe6FHma.js +0 -29
  157. package/dist/chmod-BZIlNR2-.js +0 -56
  158. package/dist/chown-BAOEOuMn.js +0 -28
  159. package/dist/cp-DOXzF2_m.js +0 -19
  160. package/dist/cut-B4rQvMRc.js +0 -65
  161. package/dist/date-C8NB8v8G.js +0 -86
  162. package/dist/df-CeZb4WOr.js +0 -34
  163. package/dist/diff-BndHU0Ne.js +0 -150
  164. package/dist/dig-BEJ8Ky96.js +0 -69
  165. package/dist/dirname-wtPE8QZ6.js +0 -13
  166. package/dist/du-BLkl3BkN.js +0 -77
  167. package/dist/env-DXzvDKsN.js +0 -9
  168. package/dist/fastfetch-aPM9Z3ym.js +0 -310
  169. package/dist/file-DfmI5Gyk.js +0 -70
  170. package/dist/find-Wdkys9OU.js +0 -36
  171. package/dist/free-DAxE4b2U.js +0 -23
  172. package/dist/grep-xmx3I05f.js +0 -147
  173. package/dist/gunzip-Dbr2fm5t.js +0 -47
  174. package/dist/gzip-D1GwSnNe.js +0 -57
  175. package/dist/head-DUXuKw3m.js +0 -53
  176. package/dist/hostname-BxU2S3nT.js +0 -8
  177. package/dist/index-Djm2onjx.js +0 -13915
  178. package/dist/kernel/ServiceManager.d.ts +0 -51
  179. package/dist/kernel/ServiceManager.d.ts.map +0 -1
  180. package/dist/kernel/index.d.ts +0 -37
  181. package/dist/kernel/index.d.ts.map +0 -1
  182. package/dist/kernel/network/Bridge.d.ts +0 -110
  183. package/dist/kernel/network/Bridge.d.ts.map +0 -1
  184. package/dist/kernel/network/DNSResolver.d.ts +0 -55
  185. package/dist/kernel/network/DNSResolver.d.ts.map +0 -1
  186. package/dist/kernel/network/NetworkInterface.d.ts +0 -83
  187. package/dist/kernel/network/NetworkInterface.d.ts.map +0 -1
  188. package/dist/kernel/network/NetworkNamespace.d.ts +0 -98
  189. package/dist/kernel/network/NetworkNamespace.d.ts.map +0 -1
  190. package/dist/kernel/network/NetworkStack.d.ts +0 -178
  191. package/dist/kernel/network/NetworkStack.d.ts.map +0 -1
  192. package/dist/kernel/network/NetworkStack.example.d.ts +0 -8
  193. package/dist/kernel/network/NetworkStack.example.d.ts.map +0 -1
  194. package/dist/kernel/network/NetworkStack.test.d.ts +0 -2
  195. package/dist/kernel/network/NetworkStack.test.d.ts.map +0 -1
  196. package/dist/kernel/network/PortBridge.d.ts +0 -49
  197. package/dist/kernel/network/PortBridge.d.ts.map +0 -1
  198. package/dist/kernel/network/RoutingTable.d.ts +0 -55
  199. package/dist/kernel/network/RoutingTable.d.ts.map +0 -1
  200. package/dist/kernel/network/Socket.d.ts +0 -65
  201. package/dist/kernel/network/Socket.d.ts.map +0 -1
  202. package/dist/kernel/network/index.d.ts +0 -11
  203. package/dist/kernel/network/index.d.ts.map +0 -1
  204. package/dist/kernel/network/tunnel/BaseTunnel.d.ts +0 -55
  205. package/dist/kernel/network/tunnel/BaseTunnel.d.ts.map +0 -1
  206. package/dist/kernel/network/tunnel/VETHPair.d.ts +0 -71
  207. package/dist/kernel/network/tunnel/VETHPair.d.ts.map +0 -1
  208. package/dist/kernel/network/tunnel/WebSocketTunnel.d.ts +0 -89
  209. package/dist/kernel/network/tunnel/WebSocketTunnel.d.ts.map +0 -1
  210. package/dist/kernel/network/types.d.ts +0 -159
  211. package/dist/kernel/network/types.d.ts.map +0 -1
  212. package/dist/kernel/persistence/PersistenceManager.d.ts +0 -12
  213. package/dist/kernel/persistence/PersistenceManager.d.ts.map +0 -1
  214. package/dist/kernel/persistence/backends.d.ts +0 -22
  215. package/dist/kernel/persistence/backends.d.ts.map +0 -1
  216. package/dist/kernel/persistence/index.d.ts +0 -6
  217. package/dist/kernel/persistence/index.d.ts.map +0 -1
  218. package/dist/kernel/persistence/serializer.d.ts +0 -21
  219. package/dist/kernel/persistence/serializer.d.ts.map +0 -1
  220. package/dist/kernel/samples.d.ts +0 -3
  221. package/dist/kernel/samples.d.ts.map +0 -1
  222. package/dist/kernel/storage/BlobStore.d.ts +0 -31
  223. package/dist/kernel/storage/BlobStore.d.ts.map +0 -1
  224. package/dist/kernel/storage/ContentStore.d.ts +0 -54
  225. package/dist/kernel/storage/ContentStore.d.ts.map +0 -1
  226. package/dist/kernel/storage/index.d.ts +0 -7
  227. package/dist/kernel/storage/index.d.ts.map +0 -1
  228. package/dist/kernel/unit-parser.d.ts +0 -22
  229. package/dist/kernel/unit-parser.d.ts.map +0 -1
  230. package/dist/kernel/vfs/VFS.d.ts +0 -64
  231. package/dist/kernel/vfs/VFS.d.ts.map +0 -1
  232. package/dist/kernel/vfs/index.d.ts +0 -7
  233. package/dist/kernel/vfs/index.d.ts.map +0 -1
  234. package/dist/kernel/vfs/providers/DevProvider.d.ts +0 -11
  235. package/dist/kernel/vfs/providers/DevProvider.d.ts.map +0 -1
  236. package/dist/kernel/vfs/providers/NativeFsProvider.d.ts +0 -63
  237. package/dist/kernel/vfs/providers/NativeFsProvider.d.ts.map +0 -1
  238. package/dist/kernel/vfs/providers/ProcProvider.d.ts +0 -14
  239. package/dist/kernel/vfs/providers/ProcProvider.d.ts.map +0 -1
  240. package/dist/kernel/vfs/types.d.ts +0 -70
  241. package/dist/kernel/vfs/types.d.ts.map +0 -1
  242. package/dist/less-VW-Lb-t9.js +0 -230
  243. package/dist/ln-Bf3f3jVA.js +0 -11
  244. package/dist/ls-DjuSFYCA.js +0 -106
  245. package/dist/mkdir-qMgrbMfK.js +0 -27
  246. package/dist/mktemp-BNrdUgqA.js +0 -31
  247. package/dist/mv-DxovuvmA.js +0 -19
  248. package/dist/nano-CVa6vpFX.js +0 -304
  249. package/dist/nl-E4qmf3dZ.js +0 -51
  250. package/dist/node-compat/buffer.d.ts +0 -44
  251. package/dist/node-compat/buffer.d.ts.map +0 -1
  252. package/dist/node-compat/child_process.d.ts +0 -10
  253. package/dist/node-compat/child_process.d.ts.map +0 -1
  254. package/dist/node-compat/console.d.ts +0 -21
  255. package/dist/node-compat/console.d.ts.map +0 -1
  256. package/dist/node-compat/crypto.d.ts +0 -24
  257. package/dist/node-compat/crypto.d.ts.map +0 -1
  258. package/dist/node-compat/dns.d.ts +0 -117
  259. package/dist/node-compat/dns.d.ts.map +0 -1
  260. package/dist/node-compat/esbuild.d.ts +0 -10
  261. package/dist/node-compat/esbuild.d.ts.map +0 -1
  262. package/dist/node-compat/events.d.ts +0 -19
  263. package/dist/node-compat/events.d.ts.map +0 -1
  264. package/dist/node-compat/fs.d.ts +0 -195
  265. package/dist/node-compat/fs.d.ts.map +0 -1
  266. package/dist/node-compat/http.d.ts +0 -132
  267. package/dist/node-compat/http.d.ts.map +0 -1
  268. package/dist/node-compat/index.d.ts +0 -19
  269. package/dist/node-compat/index.d.ts.map +0 -1
  270. package/dist/node-compat/module.d.ts +0 -55
  271. package/dist/node-compat/module.d.ts.map +0 -1
  272. package/dist/node-compat/os.d.ts +0 -39
  273. package/dist/node-compat/os.d.ts.map +0 -1
  274. package/dist/node-compat/path.d.ts +0 -86
  275. package/dist/node-compat/path.d.ts.map +0 -1
  276. package/dist/node-compat/process.d.ts +0 -127
  277. package/dist/node-compat/process.d.ts.map +0 -1
  278. package/dist/node-compat/readline.d.ts +0 -79
  279. package/dist/node-compat/readline.d.ts.map +0 -1
  280. package/dist/node-compat/rimraf.d.ts +0 -23
  281. package/dist/node-compat/rimraf.d.ts.map +0 -1
  282. package/dist/node-compat/stream.d.ts +0 -36
  283. package/dist/node-compat/stream.d.ts.map +0 -1
  284. package/dist/node-compat/string_decoder.d.ts +0 -11
  285. package/dist/node-compat/string_decoder.d.ts.map +0 -1
  286. package/dist/node-compat/timers.d.ts +0 -16
  287. package/dist/node-compat/timers.d.ts.map +0 -1
  288. package/dist/node-compat/tty.d.ts +0 -32
  289. package/dist/node-compat/tty.d.ts.map +0 -1
  290. package/dist/node-compat/url.d.ts +0 -57
  291. package/dist/node-compat/url.d.ts.map +0 -1
  292. package/dist/node-compat/util.d.ts +0 -47
  293. package/dist/node-compat/util.d.ts.map +0 -1
  294. package/dist/node-compat/zlib.d.ts +0 -66
  295. package/dist/node-compat/zlib.d.ts.map +0 -1
  296. package/dist/ping-DtVEwwda.js +0 -50
  297. package/dist/printf-Cc2o7KZx.js +0 -70
  298. package/dist/realpath-BaYc6QSr.js +0 -24
  299. package/dist/rev-CtqOEUEH.js +0 -39
  300. package/dist/rm-DtLSFhWn.js +0 -37
  301. package/dist/rmdir-k65U0Fef.js +0 -35
  302. package/dist/sed-BpypU_CO.js +0 -95
  303. package/dist/seq-B01YKIbO.js +0 -37
  304. package/dist/sha256sum-x-mlDY9n.js +0 -64
  305. package/dist/sl-Dv4iPBN6.js +0 -138
  306. package/dist/sleep-B4C3fZiR.js +0 -19
  307. package/dist/sort-C1n7kWmJ.js +0 -64
  308. package/dist/stat-Co_5pgto.js +0 -29
  309. package/dist/strings-tFgYFAvp.js +0 -42
  310. package/dist/tac-BQvVvnoM.js +0 -31
  311. package/dist/tail-CLWVwfZD.js +0 -52
  312. package/dist/tar-wo7UUSK5.js +0 -120
  313. package/dist/tee-DlyeS1Yd.js +0 -17
  314. package/dist/touch-DVzPgqSy.js +0 -23
  315. package/dist/tr-DsCiwSIu.js +0 -60
  316. package/dist/tree-DHBQhXD7.js +0 -46
  317. package/dist/uname-BCn8HlJD.js +0 -37
  318. package/dist/uniq-CmmP6k_t.js +0 -54
  319. package/dist/unzip-BIOvH2jT.js +0 -81
  320. package/dist/uptime-CgBJegqU.js +0 -8
  321. package/dist/wc-DfI1Q3lo.js +0 -69
  322. package/dist/wget-Dd25MxcO.js +0 -53
  323. package/dist/whoami-C_q-p-Vo.js +0 -25
  324. package/dist/xargs-DfbCRFFd.js +0 -35
  325. package/dist/yes-DXEyHHD2.js +0 -10
  326. package/dist/zip-Cc3IoNSB.js +0 -33
@@ -1,150 +0,0 @@
1
- import { p as k } from "./args-CG6b9cZt.js";
2
- import { r as g, i as m, c as C, V as y } from "./index-Djm2onjx.js";
3
- const S = {
4
- unified: { type: "boolean", short: "u" }
5
- };
6
- function L(n, f) {
7
- const d = n.length, s = f.length, i = Array.from({ length: d + 1 }, () => new Array(s + 1).fill(0));
8
- for (let e = 1; e <= d; e++)
9
- for (let o = 1; o <= s; o++)
10
- n[e - 1] === f[o - 1] ? i[e][o] = i[e - 1][o - 1] + 1 : i[e][o] = Math.max(i[e - 1][o], i[e][o - 1]);
11
- const h = [];
12
- let l = d, r = s;
13
- for (; l > 0 || r > 0; )
14
- l > 0 && r > 0 && n[l - 1] === f[r - 1] ? (h.push({ type: "keep", oldLine: n[l - 1] }), l--, r--) : r > 0 && (l === 0 || i[l][r - 1] >= i[l - 1][r]) ? (h.push({ type: "insert", newLine: f[r - 1] }), r--) : (h.push({ type: "delete", oldLine: n[l - 1] }), l--);
15
- return h.reverse();
16
- }
17
- function j(n) {
18
- const f = [];
19
- let d = 0, s = 0, i = 0;
20
- for (; i < n.length; ) {
21
- if (n[i].type === "keep") {
22
- d++, s++, i++;
23
- continue;
24
- }
25
- const l = d, r = s, e = [], o = [];
26
- for (; i < n.length && n[i].type !== "keep"; )
27
- n[i].type === "delete" ? (e.push(n[i].oldLine), d++) : (o.push(n[i].newLine), s++), i++;
28
- const c = e.length === 1 ? `${l + 1}` : e.length > 0 ? `${l + 1},${l + e.length}` : `${l}`, t = o.length === 1 ? `${r + 1}` : o.length > 0 ? `${r + 1},${r + o.length}` : `${r}`;
29
- if (e.length > 0 && o.length > 0) {
30
- f.push(`${c}c${t}`);
31
- for (const p of e) f.push(`< ${p}`);
32
- f.push("---");
33
- for (const p of o) f.push(`> ${p}`);
34
- } else if (e.length > 0) {
35
- f.push(`${c}d${t}`);
36
- for (const p of e) f.push(`< ${p}`);
37
- } else {
38
- f.push(`${c}a${t}`);
39
- for (const p of o) f.push(`> ${p}`);
40
- }
41
- }
42
- return f.length > 0 ? f.join(`
43
- `) + `
44
- ` : "";
45
- }
46
- function v(n, f, d) {
47
- if (n.every((t) => t.type === "keep")) return "";
48
- const s = [];
49
- let i = 0, h = 0;
50
- for (const t of n)
51
- t.type === "keep" ? (s.push({ type: "keep", line: t.oldLine, oldIdx: i, newIdx: h }), i++, h++) : t.type === "delete" ? (s.push({ type: "delete", line: t.oldLine, oldIdx: i, newIdx: h }), i++) : (s.push({ type: "insert", line: t.newLine, oldIdx: i, newIdx: h }), h++);
52
- const l = 3, r = [];
53
- let e = null, o = -1 / 0;
54
- for (let t = 0; t < s.length; t++) {
55
- const p = s[t];
56
- if (p.type !== "keep") {
57
- if (!e || t - o > l * 2 + 1) {
58
- if (e) {
59
- for (let a = o + 1; a < Math.min(o + 1 + l, s.length); a++)
60
- s[a].type === "keep" && (e.lines.push(` ${s[a].line}`), e.oldCount++, e.newCount++);
61
- r.push(e);
62
- }
63
- const $ = Math.max(0, t - l);
64
- let u = 0, w = 0;
65
- for (let a = 0; a < $; a++)
66
- s[a].type !== "insert" && u++, s[a].type !== "delete" && w++;
67
- e = {
68
- oldStart: u + 1,
69
- newStart: w + 1,
70
- oldCount: 0,
71
- newCount: 0,
72
- lines: []
73
- };
74
- for (let a = $; a < t; a++)
75
- s[a].type === "keep" && (e.lines.push(` ${s[a].line}`), e.oldCount++, e.newCount++);
76
- } else if (t - o > 1)
77
- for (let $ = o + 1; $ < t; $++)
78
- s[$].type === "keep" && (e.lines.push(` ${s[$].line}`), e.oldCount++, e.newCount++);
79
- p.type === "delete" ? (e.lines.push(`-${p.line}`), e.oldCount++) : (e.lines.push(`+${p.line}`), e.newCount++), o = t;
80
- }
81
- }
82
- if (e) {
83
- for (let t = o + 1; t < Math.min(o + 1 + l, s.length); t++)
84
- s[t].type === "keep" && (e.lines.push(` ${s[t].line}`), e.oldCount++, e.newCount++);
85
- r.push(e);
86
- }
87
- const c = [];
88
- c.push(`--- ${f}`), c.push(`+++ ${d}`);
89
- for (const t of r)
90
- c.push(`@@ -${t.oldStart},${t.oldCount} +${t.newStart},${t.newCount} @@`), c.push(...t.lines);
91
- return c.join(`
92
- `) + `
93
- `;
94
- }
95
- const A = async (n) => {
96
- const { flags: f, positional: d } = k(n.args, S);
97
- if (d.length < 2)
98
- return n.stderr.write(`diff: missing operand
99
- `), 2;
100
- const s = d[0], i = d[1];
101
- let h, l;
102
- const r = g(n.cwd, s), e = g(n.cwd, i), o = m(C(r)), c = m(C(e));
103
- if (o || c) {
104
- try {
105
- n.vfs.stat(r);
106
- } catch (u) {
107
- if (u instanceof y)
108
- return n.stderr.write(`diff: ${s}: ${u.message}
109
- `), 2;
110
- throw u;
111
- }
112
- try {
113
- n.vfs.stat(e);
114
- } catch (u) {
115
- if (u instanceof y)
116
- return n.stderr.write(`diff: ${i}: ${u.message}
117
- `), 2;
118
- throw u;
119
- }
120
- return n.stdout.write(`Binary files ${s} and ${i} differ
121
- `), 2;
122
- }
123
- try {
124
- h = n.vfs.readFileString(g(n.cwd, s));
125
- } catch (u) {
126
- if (u instanceof y)
127
- return n.stderr.write(`diff: ${s}: ${u.message}
128
- `), 2;
129
- throw u;
130
- }
131
- try {
132
- l = n.vfs.readFileString(g(n.cwd, i));
133
- } catch (u) {
134
- if (u instanceof y)
135
- return n.stderr.write(`diff: ${i}: ${u.message}
136
- `), 2;
137
- throw u;
138
- }
139
- if (h === l)
140
- return 0;
141
- const t = h.split(`
142
- `), p = l.split(`
143
- `);
144
- t.length > 0 && t[t.length - 1] === "" && t.pop(), p.length > 0 && p[p.length - 1] === "" && p.pop();
145
- const $ = L(t, p);
146
- return f.unified ? n.stdout.write(v($, s, i)) : n.stdout.write(j($)), 1;
147
- };
148
- export {
149
- A as default
150
- };
@@ -1,69 +0,0 @@
1
- const i = {
2
- 1: "A",
3
- 2: "NS",
4
- 5: "CNAME",
5
- 6: "SOA",
6
- 15: "MX",
7
- 16: "TXT",
8
- 28: "AAAA"
9
- }, u = async (e) => {
10
- let n = "A", o;
11
- for (const s of e.args) {
12
- if (s.startsWith("-") || s.startsWith("+")) continue;
13
- const t = s.toUpperCase();
14
- ["A", "AAAA", "CNAME", "MX", "NS", "TXT", "SOA"].includes(t) ? n = t : o = s;
15
- }
16
- if (!o)
17
- return e.stderr.write(`dig: missing domain
18
- `), e.stderr.write(`Usage: dig [type] domain
19
- `), 1;
20
- const a = `https://dns.google/resolve?name=${encodeURIComponent(o)}&type=${n}`;
21
- try {
22
- const s = await fetch(a, {
23
- headers: { Accept: "application/dns-json" },
24
- signal: e.signal
25
- });
26
- if (!s.ok)
27
- return e.stderr.write(`dig: DNS query failed (HTTP ${s.status})
28
- `), 1;
29
- const t = await s.json();
30
- if (e.stdout.write(`; <<>> Lifo dig <<>> ${n} ${o}
31
- `), e.stdout.write(`;; Got answer:
32
- `), e.stdout.write(`;; ->>HEADER<<- status: ${t.Status === 0 ? "NOERROR" : "NXDOMAIN"}
33
- `), e.stdout.write(`
34
- `), t.Question && t.Question.length > 0) {
35
- e.stdout.write(`;; QUESTION SECTION:
36
- `);
37
- for (const r of t.Question)
38
- e.stdout.write(`;${r.name}. IN ${i[r.type] ?? r.type}
39
- `);
40
- e.stdout.write(`
41
- `);
42
- }
43
- if (t.Answer && t.Answer.length > 0) {
44
- e.stdout.write(`;; ANSWER SECTION:
45
- `);
46
- for (const r of t.Answer) {
47
- const d = i[r.type] ?? String(r.type);
48
- e.stdout.write(`${r.name}. ${r.TTL} IN ${d} ${r.data}
49
- `);
50
- }
51
- e.stdout.write(`
52
- `);
53
- } else
54
- e.stdout.write(`;; No answers found.
55
-
56
- `);
57
- return e.stdout.write(`;; SERVER: dns.google
58
- `), 0;
59
- } catch (s) {
60
- const t = s instanceof Error ? s.message : String(s);
61
- return t.includes("Failed to fetch") || t.includes("NetworkError") ? (e.stderr.write(`dig: connection to DNS server failed
62
- `), e.stderr.write(`Note: This may be a CORS restriction or network issue.
63
- `)) : e.stderr.write(`dig: ${t}
64
- `), 1;
65
- }
66
- };
67
- export {
68
- u as default
69
- };
@@ -1,13 +0,0 @@
1
- import { k as a } from "./index-Djm2onjx.js";
2
- const s = async (r) => {
3
- if (r.args.length === 0)
4
- return r.stderr.write(`dirname: missing operand
5
- `), 1;
6
- for (const n of r.args)
7
- r.stdout.write(a(n) + `
8
- `);
9
- return 0;
10
- };
11
- export {
12
- s as default
13
- };
@@ -1,77 +0,0 @@
1
- import { r as y, V as g } from "./index-Djm2onjx.js";
2
- function u(t) {
3
- return t < 1024 ? t + "B" : t < 1024 * 1024 ? (t / 1024).toFixed(1) + "K" : t < 1024 * 1024 * 1024 ? (t / (1024 * 1024)).toFixed(1) + "M" : (t / (1024 * 1024 * 1024)).toFixed(1) + "G";
4
- }
5
- const z = async (t) => {
6
- let i = !1, l = !1;
7
- const a = [];
8
- for (const e of t.args)
9
- e === "-h" ? i = !0 : e === "-s" ? l = !0 : a.push(e);
10
- a.length === 0 && a.push(".");
11
- function d(e) {
12
- let o = 0;
13
- try {
14
- const s = t.vfs.readdir(e);
15
- for (const n of s) {
16
- const r = e === "/" ? "/" + n.name : e + "/" + n.name;
17
- if (n.type === "file") {
18
- const f = t.vfs.stat(r);
19
- o += f.size;
20
- } else
21
- o += d(r);
22
- }
23
- } catch {
24
- }
25
- return o;
26
- }
27
- function m(e, o) {
28
- let s = 0;
29
- try {
30
- const n = t.vfs.readdir(e);
31
- for (const r of n) {
32
- const f = e === "/" ? "/" + r.name : e + "/" + r.name, h = o === "/" ? "/" + r.name : o + "/" + r.name;
33
- if (r.type === "file") {
34
- const c = t.vfs.stat(f);
35
- s += c.size;
36
- } else {
37
- const c = m(f, h);
38
- s += c;
39
- }
40
- }
41
- } catch {
42
- }
43
- if (!l) {
44
- const n = i ? u(s) : String(s);
45
- t.stdout.write(n + " " + o + `
46
- `);
47
- }
48
- return s;
49
- }
50
- let p = 0;
51
- for (const e of a) {
52
- const o = y(t.cwd, e);
53
- try {
54
- const s = t.vfs.stat(o);
55
- if (s.type === "file") {
56
- const n = i ? u(s.size) : String(s.size);
57
- t.stdout.write(n + " " + e + `
58
- `);
59
- } else if (l) {
60
- const n = d(o), r = i ? u(n) : String(n);
61
- t.stdout.write(r + " " + e + `
62
- `);
63
- } else
64
- m(o, e);
65
- } catch (s) {
66
- if (s instanceof g)
67
- t.stderr.write(`du: ${e}: ${s.message}
68
- `), p = 1;
69
- else
70
- throw s;
71
- }
72
- }
73
- return p;
74
- };
75
- export {
76
- z as default
77
- };
@@ -1,9 +0,0 @@
1
- const o = async (e) => {
2
- for (const [t, n] of Object.entries(e.env))
3
- e.stdout.write(`${t}=${n}
4
- `);
5
- return 0;
6
- };
7
- export {
8
- o as default
9
- };
@@ -1,310 +0,0 @@
1
- const s = "\x1B[0m", w = "\x1B[1m";
2
- function c(e) {
3
- return `\x1B[38;5;${e}m`;
4
- }
5
- function y(e) {
6
- return `\x1B[48;5;${e}m`;
7
- }
8
- function m(e, n, o) {
9
- return `\x1B[38;2;${e};${n};${o}m`;
10
- }
11
- const b = {
12
- black: c(0),
13
- red: c(1),
14
- green: c(2),
15
- yellow: c(3),
16
- blue: c(4),
17
- magenta: c(5),
18
- cyan: c(6),
19
- white: c(7),
20
- brightblack: c(8),
21
- brightred: c(9),
22
- brightgreen: c(10),
23
- brightyellow: c(11),
24
- brightblue: c(12),
25
- brightmagenta: c(13),
26
- brightcyan: c(14),
27
- brightwhite: c(15)
28
- };
29
- function M(e) {
30
- if (b[e]) return b[e];
31
- const n = parseInt(e, 10);
32
- return !isNaN(n) && n >= 0 && n <= 255 ? c(n) : c(14);
33
- }
34
- function k(e) {
35
- const n = e, o = m(80, 200, 255), t = m(60, 160, 240), r = m(100, 120, 255), l = m(160, 100, 255), i = c(8);
36
- return { lines: [
37
- `${n} ▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄${s}`,
38
- `${n} ▄██${o}▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀${n}██▄${s}`,
39
- `${n} ▄██${o}▀ ${n}██▄${s}`,
40
- `${n} ██${o}▀ ${o}██ ▀ ████ ████ ${n}██${s}`,
41
- `${n} ██${t} ${t}██ █ █▀ █ █ ${n}██${s}`,
42
- `${n} ██${r} ${r}██ █ ███ █ █ ${n}██${s}`,
43
- `${n} ██${r} ${r}██ █ █▄ █ █ ${n}██${s}`,
44
- `${n} ██${l} ${l}██████ █ ██ ████ ${n}██${s}`,
45
- `${n} ▀██${l}▄ ${n}██▀${s}`,
46
- `${n} ▀██${l}▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄${n}██▀${s}`,
47
- `${n} ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀${s}`,
48
- `${i} the browser is the${s}`,
49
- `${i} kernel${s}`
50
- ], width: 38 };
51
- }
52
- function N(e) {
53
- const n = e;
54
- return { lines: [
55
- `${n} ▗▖ ▀ ▗▀▀ ▗▀▀▖${s}`,
56
- `${n} ▐▌ █ ▐▀ ▐ ▐${s}`,
57
- `${n} ▐▙▄▖ █ ▐ ▝▀▀▘${s}`
58
- ], width: 24 };
59
- }
60
- function O() {
61
- return { lines: [], width: 0 };
62
- }
63
- function A(e, n) {
64
- const o = e.split(`
65
- `).map((r) => `${n}${r}${s}`);
66
- let t = 0;
67
- for (const r of e.split(`
68
- `))
69
- r.length > t && (t = r.length);
70
- return { lines: o, width: t + 2 };
71
- }
72
- const g = {
73
- logo: "default",
74
- color: "brightcyan",
75
- separator: "",
76
- modules: [
77
- "title",
78
- "separator",
79
- "os",
80
- "host",
81
- "kernel",
82
- "uptime",
83
- "packages",
84
- "shell",
85
- "terminal",
86
- "cpu",
87
- "memory",
88
- "disk",
89
- "locale",
90
- "break",
91
- "colors"
92
- ]
93
- };
94
- function U(e) {
95
- const n = [
96
- "/home/user/.config/fastfetch/config.json",
97
- "/home/user/.fastfetchrc"
98
- ];
99
- for (const o of n)
100
- try {
101
- const t = e.readFileString(o), r = JSON.parse(t);
102
- return {
103
- logo: r.logo ?? g.logo,
104
- color: r.color ?? g.color,
105
- separator: r.separator ?? g.separator,
106
- modules: Array.isArray(r.modules) ? r.modules : g.modules
107
- };
108
- } catch {
109
- }
110
- return g;
111
- }
112
- function F() {
113
- const e = performance.now(), n = Math.floor(e / 1e3), o = Math.floor(n / 86400), t = Math.floor(n % 86400 / 3600), r = Math.floor(n % 3600 / 60), l = [];
114
- return o > 0 && l.push(`${o} day${o !== 1 ? "s" : ""}`), t > 0 && l.push(`${t} hour${t !== 1 ? "s" : ""}`), l.push(`${r} min${r !== 1 ? "s" : ""}`), l.join(", ");
115
- }
116
- function p(e) {
117
- return e < 1024 ? e + " B" : e < 1024 * 1024 ? (e / 1024).toFixed(1) + " KiB" : e < 1024 * 1024 * 1024 ? (e / (1024 * 1024)).toFixed(1) + " MiB" : (e / (1024 * 1024 * 1024)).toFixed(2) + " GiB";
118
- }
119
- function I() {
120
- const e = performance;
121
- if (e.memory) {
122
- const n = e.memory.usedJSHeapSize, o = e.memory.jsHeapSizeLimit, t = Math.round(n / o * 100);
123
- return `${p(n)} / ${p(o)} (${t}%)`;
124
- }
125
- return "N/A";
126
- }
127
- function B(e) {
128
- let n = 0, o = 0;
129
- function t(l) {
130
- try {
131
- for (const i of e.readdir(l)) {
132
- const u = l === "/" ? "/" + i.name : l + "/" + i.name;
133
- i.type === "file" ? (o++, n += e.stat(u).size) : t(u);
134
- }
135
- } catch {
136
- }
137
- }
138
- t("/");
139
- const r = 256 * 1024 * 1024;
140
- return `${p(n)} / ${p(r)} (${o} files)`;
141
- }
142
- function P() {
143
- if (typeof navigator > "u") return "Unknown";
144
- const e = navigator.userAgent;
145
- if (e.includes("Firefox/")) {
146
- const n = e.match(/Firefox\/([\d.]+)/);
147
- return n ? `Firefox ${n[1]}` : "Firefox";
148
- }
149
- if (e.includes("Edg/")) {
150
- const n = e.match(/Edg\/([\d.]+)/);
151
- return n ? `Edge ${n[1]}` : "Edge";
152
- }
153
- if (e.includes("Chrome/")) {
154
- const n = e.match(/Chrome\/([\d.]+)/);
155
- return n ? `Chrome ${n[1]}` : "Chrome";
156
- }
157
- if (e.includes("Safari/")) {
158
- const n = e.match(/Version\/([\d.]+)/);
159
- return n ? `Safari ${n[1]}` : "Safari";
160
- }
161
- return "Unknown";
162
- }
163
- function T() {
164
- if (typeof navigator > "u") return "Unknown";
165
- const e = navigator.userAgent;
166
- if (e.includes("Mac OS X")) {
167
- const n = e.match(/Mac OS X ([\d_]+)/);
168
- return n ? `macOS ${n[1].replace(/_/g, ".")}` : "macOS";
169
- }
170
- if (e.includes("Windows NT")) {
171
- const n = e.match(/Windows NT ([\d.]+)/), o = n ? n[1] : "";
172
- return o === "10.0" ? "Windows 10+" : `Windows NT ${o}`;
173
- }
174
- return e.includes("Linux") ? "Linux" : e.includes("Android") ? "Android" : e.includes("iPhone") || e.includes("iPad") ? "iOS" : "Unknown";
175
- }
176
- function j() {
177
- return typeof navigator < "u" && navigator.hardwareConcurrency ? `${navigator.hardwareConcurrency} cores` : "N/A";
178
- }
179
- function D() {
180
- return typeof navigator < "u" && navigator.language ? navigator.language : "en-US";
181
- }
182
- function z(e) {
183
- try {
184
- return e.readdir("/bin").length + 20;
185
- } catch {
186
- return 80;
187
- }
188
- }
189
- function H() {
190
- let e = "", n = "";
191
- for (let o = 0; o < 8; o++) e += `${y(o)} ${s}`;
192
- for (let o = 8; o < 16; o++) n += `${y(o)} ${s}`;
193
- return [e, n];
194
- }
195
- function K(e, n, o, t) {
196
- const r = (i, u) => `${w}${o}${i.padEnd(u)}${s}${t}`;
197
- switch (e) {
198
- case "title":
199
- return `${w}${o}${n.user}${s}@${w}${o}${n.hostname}${s}`;
200
- case "separator":
201
- return `${c(8)}${"─".repeat(n.user.length + 1 + n.hostname.length)}${s}`;
202
- case "os":
203
- return `${r("OS", 10)}Lifo 1.0.0 (wasm)`;
204
- case "host":
205
- return `${r("Host", 10)}${P()} on ${T()}`;
206
- case "kernel":
207
- return `${r("Kernel", 10)}Lifo vfs+shell 1.0.0`;
208
- case "uptime":
209
- return `${r("Uptime", 10)}${F()}`;
210
- case "packages":
211
- return `${r("Packages", 10)}${z(n.vfs)} (builtins + commands)`;
212
- case "shell":
213
- return `${r("Shell", 10)}lifo-sh`;
214
- case "terminal":
215
- return `${r("Terminal", 10)}xterm.js (${n.cols}x${n.rows})`;
216
- case "cpu":
217
- return `${r("CPU", 10)}${j()}`;
218
- case "memory":
219
- return `${r("Memory", 10)}${I()}`;
220
- case "disk":
221
- return `${r("Disk (/)", 10)}${B(n.vfs)}`;
222
- case "locale":
223
- return `${r("Locale", 10)}${D()}`;
224
- case "colors": {
225
- const [i, u] = H();
226
- return i + `
227
- ` + u;
228
- }
229
- case "break":
230
- return "";
231
- default:
232
- return null;
233
- }
234
- }
235
- const R = async (e) => {
236
- const n = U(e.vfs);
237
- if (e.args.includes("--help") || e.args.includes("-h"))
238
- return e.stdout.write(`Usage: fastfetch [--logo default|small|none] [--color COLOR]
239
-
240
- Config file: ~/.config/fastfetch/config.json
241
-
242
- Example config:
243
- {
244
- "logo": "default",
245
- "color": "brightcyan",
246
- "separator": "",
247
- "modules": [
248
- "title", "separator", "os", "host", "kernel",
249
- "uptime", "packages", "shell", "terminal",
250
- "cpu", "memory", "disk", "locale",
251
- "break", "colors"
252
- ]
253
- }
254
-
255
- Available modules:
256
- title, separator, os, host, kernel, uptime, packages,
257
- shell, terminal, cpu, memory, disk, locale, colors, break
258
-
259
- Available logos: default, small, none (or put custom ASCII in config)
260
-
261
- Colors: black, red, green, yellow, blue, magenta, cyan, white,
262
- brightblack, brightred, brightgreen, brightyellow,
263
- brightblue, brightmagenta, brightcyan, brightwhite,
264
- or a number 0-255 for 256-color palette
265
- `), 0;
266
- let o = n.logo, t = n.color;
267
- for (let a = 0; a < e.args.length; a++)
268
- (e.args[a] === "--logo" || e.args[a] === "-l") && a + 1 < e.args.length && (o = e.args[++a]), (e.args[a] === "--color" || e.args[a] === "-c") && a + 1 < e.args.length && (t = e.args[++a]);
269
- b[t] !== void 0 || !isNaN(parseInt(t, 10)) && parseInt(t, 10) >= 0 && parseInt(t, 10) <= 255 || e.stderr.write(`fastfetch: unknown color '${t}', using default (brightcyan)
270
- `);
271
- const l = M(t);
272
- let i;
273
- if (o === "default")
274
- i = k(l);
275
- else if (o === "small")
276
- i = N(l);
277
- else if (o === "none")
278
- i = O();
279
- else
280
- try {
281
- const a = e.vfs.readFileString(o);
282
- i = A(a, l);
283
- } catch {
284
- i = k(l);
285
- }
286
- const u = e.env.USER || "user", C = e.env.HOSTNAME || "lifo", v = parseInt(e.env.COLUMNS || "80", 10), L = parseInt(e.env.LINES || "24", 10), W = { user: u, hostname: C, cols: v, rows: L, vfs: e.vfs }, d = [];
287
- for (const a of n.modules) {
288
- const h = K(a, W, l, n.separator);
289
- if (h !== null)
290
- for (const $ of h.split(`
291
- `))
292
- d.push($);
293
- }
294
- const E = Math.max(i.lines.length, d.length);
295
- let f = `
296
- `;
297
- const S = " ";
298
- for (let a = 0; a < E; a++) {
299
- const h = a < i.lines.length ? i.lines[a] : "", $ = a < d.length ? d[a] : "";
300
- i.width > 0 ? a < i.lines.length ? f += h + S + $ + `
301
- ` : f += " ".repeat(i.width) + S + $ + `
302
- ` : f += $ + `
303
- `;
304
- }
305
- return f += `
306
- `, e.stdout.write(f), 0;
307
- };
308
- export {
309
- R as default
310
- };
@@ -1,70 +0,0 @@
1
- import { r as d, e as c, V as f } from "./index-Djm2onjx.js";
2
- const n = {
3
- ".txt": "ASCII text",
4
- ".md": "Markdown text",
5
- ".js": "JavaScript source",
6
- ".ts": "TypeScript source",
7
- ".json": "JSON data",
8
- ".html": "HTML document",
9
- ".css": "CSS stylesheet",
10
- ".sh": "Shell script",
11
- ".py": "Python script",
12
- ".xml": "XML document",
13
- ".yaml": "YAML data",
14
- ".yml": "YAML data",
15
- ".csv": "CSV data",
16
- ".svg": "SVG image",
17
- ".png": "PNG image data",
18
- ".jpg": "JPEG image data",
19
- ".gif": "GIF image data"
20
- };
21
- function u(t) {
22
- for (let s = 0; s < Math.min(t.length, 512); s++) {
23
- const e = t[s];
24
- if (!(e === 9 || e === 10 || e === 13) && !(e >= 32 && e <= 126) && !(e >= 128))
25
- return !1;
26
- }
27
- return !0;
28
- }
29
- const l = async (t) => {
30
- if (t.args.length === 0)
31
- return t.stderr.write(`file: missing operand
32
- `), 1;
33
- let s = 0;
34
- for (const e of t.args) {
35
- const a = d(t.cwd, e);
36
- try {
37
- const r = t.vfs.stat(a);
38
- if (r.type === "directory") {
39
- t.stdout.write(`${e}: directory
40
- `);
41
- continue;
42
- }
43
- if (r.size === 0) {
44
- t.stdout.write(`${e}: empty
45
- `);
46
- continue;
47
- }
48
- const i = c(e);
49
- if (i && n[i]) {
50
- t.stdout.write(`${e}: ${n[i]}
51
- `);
52
- continue;
53
- }
54
- const o = t.vfs.readFile(a);
55
- u(o) ? t.stdout.write(`${e}: ASCII text
56
- `) : t.stdout.write(`${e}: data
57
- `);
58
- } catch (r) {
59
- if (r instanceof f)
60
- t.stderr.write(`file: ${e}: ${r.message}
61
- `), s = 1;
62
- else
63
- throw r;
64
- }
65
- }
66
- return s;
67
- };
68
- export {
69
- l as default
70
- };