just-binary 2.9.8
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/LICENSE +201 -0
- package/README.md +458 -0
- package/dist/AGENTS.md +323 -0
- package/dist/Bash.d.ts +179 -0
- package/dist/ast/types.d.ts +615 -0
- package/dist/banned-patterns-test.d.ts +8 -0
- package/dist/bin/chunks/alias-23G4Q2RS.js +2 -0
- package/dist/bin/chunks/awk2-Z6VRXKAK.js +2 -0
- package/dist/bin/chunks/base64-DNX4WCIO.js +2 -0
- package/dist/bin/chunks/basename-MPQ7M4RF.js +2 -0
- package/dist/bin/chunks/bash-OQ32Y5I6.js +2 -0
- package/dist/bin/chunks/bytes-6YUZMX3P.js +2 -0
- package/dist/bin/chunks/cat-CL5ISR5P.js +2 -0
- package/dist/bin/chunks/chmod-R6IWRSKZ.js +2 -0
- package/dist/bin/chunks/chunk-227L3ACM.js +23 -0
- package/dist/bin/chunks/chunk-2QA4P6HI.js +12 -0
- package/dist/bin/chunks/chunk-3MFM4GSH.js +36 -0
- package/dist/bin/chunks/chunk-3UP5LXDO.js +3 -0
- package/dist/bin/chunks/chunk-47P7JSQI.js +2 -0
- package/dist/bin/chunks/chunk-4KBTPDQB.js +3 -0
- package/dist/bin/chunks/chunk-4UK2MV3F.js +13 -0
- package/dist/bin/chunks/chunk-4VDEBYW7.js +2 -0
- package/dist/bin/chunks/chunk-563AO4OL.js +7 -0
- package/dist/bin/chunks/chunk-5HDWUXRX.js +7 -0
- package/dist/bin/chunks/chunk-5MCFI6LE.js +5 -0
- package/dist/bin/chunks/chunk-6CZOPIZD.js +6 -0
- package/dist/bin/chunks/chunk-6FNFX5GG.js +5 -0
- package/dist/bin/chunks/chunk-6NYIHYDY.js +7 -0
- package/dist/bin/chunks/chunk-6Y4TKR73.js +16 -0
- package/dist/bin/chunks/chunk-7C7WEK46.js +23 -0
- package/dist/bin/chunks/chunk-7TNGQWY6.js +6 -0
- package/dist/bin/chunks/chunk-7UAWRBQS.js +9 -0
- package/dist/bin/chunks/chunk-ARGU3OIG.js +17 -0
- package/dist/bin/chunks/chunk-BA3A5BYZ.js +3 -0
- package/dist/bin/chunks/chunk-BB7T22CF.js +140 -0
- package/dist/bin/chunks/chunk-BY24LKGP.js +8 -0
- package/dist/bin/chunks/chunk-CRHN4WNQ.js +63 -0
- package/dist/bin/chunks/chunk-ELZHJGI7.js +10 -0
- package/dist/bin/chunks/chunk-F46CSMUF.js +2 -0
- package/dist/bin/chunks/chunk-FQX4G5RH.js +7 -0
- package/dist/bin/chunks/chunk-G43H2WGH.js +17 -0
- package/dist/bin/chunks/chunk-GIFF636B.js +2 -0
- package/dist/bin/chunks/chunk-GMJWC3MC.js +12 -0
- package/dist/bin/chunks/chunk-HVDU57EV.js +16 -0
- package/dist/bin/chunks/chunk-HWGK3XW7.js +6 -0
- package/dist/bin/chunks/chunk-HYR7G7KS.js +3 -0
- package/dist/bin/chunks/chunk-I2225JSU.js +14 -0
- package/dist/bin/chunks/chunk-I2FUQZXU.js +11 -0
- package/dist/bin/chunks/chunk-IBHPKKIT.js +10 -0
- package/dist/bin/chunks/chunk-IKNNFJNZ.js +14 -0
- package/dist/bin/chunks/chunk-INPUJM7Y.js +8 -0
- package/dist/bin/chunks/chunk-IOBKPMWJ.js +9 -0
- package/dist/bin/chunks/chunk-IYSA2L6A.js +13 -0
- package/dist/bin/chunks/chunk-JMLNX7GE.js +287 -0
- package/dist/bin/chunks/chunk-K2K4KPOQ.js +3 -0
- package/dist/bin/chunks/chunk-K6DD7NH3.js +9 -0
- package/dist/bin/chunks/chunk-KFLJ4EMB.js +4 -0
- package/dist/bin/chunks/chunk-KOMDAXHM.js +7 -0
- package/dist/bin/chunks/chunk-KV7ZTM2R.js +11 -0
- package/dist/bin/chunks/chunk-LCCVVEJA.js +10 -0
- package/dist/bin/chunks/chunk-LUPJK5US.js +84 -0
- package/dist/bin/chunks/chunk-LWF3XDOC.js +32 -0
- package/dist/bin/chunks/chunk-LXNARM2C.js +9 -0
- package/dist/bin/chunks/chunk-LXZS3X5T.js +9 -0
- package/dist/bin/chunks/chunk-M4ICSCXT.js +100 -0
- package/dist/bin/chunks/chunk-MEBZXRGE.js +5 -0
- package/dist/bin/chunks/chunk-MSPSS36S.js +16 -0
- package/dist/bin/chunks/chunk-N335RIGZ.js +20 -0
- package/dist/bin/chunks/chunk-N5KGQWJH.js +5 -0
- package/dist/bin/chunks/chunk-NDHTQE5T.js +8 -0
- package/dist/bin/chunks/chunk-NF5G7X3O.js +7 -0
- package/dist/bin/chunks/chunk-NGKNJ6V2.js +11 -0
- package/dist/bin/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/bin/chunks/chunk-OKQ6RACF.js +73 -0
- package/dist/bin/chunks/chunk-PBY7XGZ6.js +8 -0
- package/dist/bin/chunks/chunk-PHHNNFRS.js +6 -0
- package/dist/bin/chunks/chunk-PO6Y7TWQ.js +6 -0
- package/dist/bin/chunks/chunk-Q4TLKLIZ.js +12 -0
- package/dist/bin/chunks/chunk-QS6LP3E3.js +6 -0
- package/dist/bin/chunks/chunk-QT2GMJRJ.js +8 -0
- package/dist/bin/chunks/chunk-QUVW3R4I.js +5 -0
- package/dist/bin/chunks/chunk-QUYWT2TY.js +21 -0
- package/dist/bin/chunks/chunk-QWUII542.js +2 -0
- package/dist/bin/chunks/chunk-R5EQDD5Y.js +13 -0
- package/dist/bin/chunks/chunk-RQSPCXDR.js +2 -0
- package/dist/bin/chunks/chunk-RTC6C5QW.js +2 -0
- package/dist/bin/chunks/chunk-S5W2KVHC.js +2 -0
- package/dist/bin/chunks/chunk-SDXDICI4.js +2 -0
- package/dist/bin/chunks/chunk-SE4C7FJY.js +33 -0
- package/dist/bin/chunks/chunk-SX7TI7Q2.js +3 -0
- package/dist/bin/chunks/chunk-TDJ55L4A.js +16 -0
- package/dist/bin/chunks/chunk-TNPUAMV3.js +8 -0
- package/dist/bin/chunks/chunk-TSGSFBQI.js +14 -0
- package/dist/bin/chunks/chunk-U5ZE562V.js +2 -0
- package/dist/bin/chunks/chunk-UIMH6I3G.js +33 -0
- package/dist/bin/chunks/chunk-UXPY5T2P.js +9 -0
- package/dist/bin/chunks/chunk-UYBH3FNE.js +2 -0
- package/dist/bin/chunks/chunk-V5I6PHN2.js +14 -0
- package/dist/bin/chunks/chunk-VOTJNR36.js +5 -0
- package/dist/bin/chunks/chunk-W5XFREQC.js +3 -0
- package/dist/bin/chunks/chunk-X2MOXVGO.js +26 -0
- package/dist/bin/chunks/chunk-XOGQUO62.js +2 -0
- package/dist/bin/chunks/chunk-Y57BDPQ5.js +6 -0
- package/dist/bin/chunks/chunk-YE6KXFFU.js +2 -0
- package/dist/bin/chunks/chunk-YEPWKN4F.js +3 -0
- package/dist/bin/chunks/chunk-ZEDWVSUZ.js +19 -0
- package/dist/bin/chunks/chunk-ZI4TTZL5.js +21 -0
- package/dist/bin/chunks/chunk-ZZVIGHYS.js +7 -0
- package/dist/bin/chunks/clear-27OP2FQZ.js +2 -0
- package/dist/bin/chunks/column-FJNKONCJ.js +2 -0
- package/dist/bin/chunks/comm-5FNEJE7X.js +2 -0
- package/dist/bin/chunks/cp-LVKHKFHQ.js +2 -0
- package/dist/bin/chunks/curl-S4FJSZA5.js +26 -0
- package/dist/bin/chunks/cut-UXU6PNTT.js +2 -0
- package/dist/bin/chunks/date-GGPTXVUT.js +2 -0
- package/dist/bin/chunks/diff-3V3FOITV.js +2 -0
- package/dist/bin/chunks/dirname-455JDV2M.js +2 -0
- package/dist/bin/chunks/du-WUEAQO2W.js +2 -0
- package/dist/bin/chunks/echo-HBXOI5TQ.js +2 -0
- package/dist/bin/chunks/env-MXFHTVHS.js +2 -0
- package/dist/bin/chunks/expand-F4FM4ML2.js +2 -0
- package/dist/bin/chunks/expansion-7AYBVOIQ.js +2 -0
- package/dist/bin/chunks/expr-5ZKR5ER5.js +2 -0
- package/dist/bin/chunks/file-BFN7BKUR.js +2 -0
- package/dist/bin/chunks/find-W4BCEJEC.js +2 -0
- package/dist/bin/chunks/flag-coverage-DBKGNLJO.js +2 -0
- package/dist/bin/chunks/fold-AE57YLOS.js +2 -0
- package/dist/bin/chunks/grep-I63BWUKL.js +2 -0
- package/dist/bin/chunks/gzip-X5IDXWZE.js +2 -0
- package/dist/bin/chunks/head-TBQETLQX.js +2 -0
- package/dist/bin/chunks/help-HGMKZ2GW.js +2 -0
- package/dist/bin/chunks/history-2DYRIL3U.js +2 -0
- package/dist/bin/chunks/hostname-RWEPTCXH.js +2 -0
- package/dist/bin/chunks/html-to-markdown-2VQWCEKU.js +2 -0
- package/dist/bin/chunks/join-TRRWQBEU.js +2 -0
- package/dist/bin/chunks/jq-NFKKH27D.js +2 -0
- package/dist/bin/chunks/ln-BSEVUP2J.js +2 -0
- package/dist/bin/chunks/ls-IJLTWVOI.js +2 -0
- package/dist/bin/chunks/md5sum-ZIQHOC4K.js +2 -0
- package/dist/bin/chunks/mkdir-KYFAO2SF.js +2 -0
- package/dist/bin/chunks/mv-TWM2PA7Q.js +2 -0
- package/dist/bin/chunks/nl-XLF2HFST.js +2 -0
- package/dist/bin/chunks/od-BOM6JPTH.js +2 -0
- package/dist/bin/chunks/paste-FUGXVGJX.js +2 -0
- package/dist/bin/chunks/printf-XUGNJ3QM.js +2 -0
- package/dist/bin/chunks/pwd-RZG6GZEU.js +2 -0
- package/dist/bin/chunks/python3-PIXJS3YM.js +14 -0
- package/dist/bin/chunks/readlink-4SOSIDHE.js +2 -0
- package/dist/bin/chunks/rev-5E5UGSUZ.js +2 -0
- package/dist/bin/chunks/rg-4YJSQZN7.js +2 -0
- package/dist/bin/chunks/rm-3PFOF4E3.js +2 -0
- package/dist/bin/chunks/rmdir-CSK7CGH5.js +2 -0
- package/dist/bin/chunks/sed-XBCUZMEP.js +2 -0
- package/dist/bin/chunks/seq-H7ID4VMK.js +2 -0
- package/dist/bin/chunks/sha1sum-EDQNYXXH.js +2 -0
- package/dist/bin/chunks/sha256sum-APTG6DO2.js +2 -0
- package/dist/bin/chunks/sleep-PNT7KILS.js +2 -0
- package/dist/bin/chunks/sort-ELAGZUES.js +2 -0
- package/dist/bin/chunks/split-QGXYUWBC.js +2 -0
- package/dist/bin/chunks/sqlite3-ELLMKNNJ.js +2 -0
- package/dist/bin/chunks/stat-Q2TZRKO3.js +2 -0
- package/dist/bin/chunks/strings-IGEGP5QX.js +2 -0
- package/dist/bin/chunks/tac-VOEDJLLG.js +2 -0
- package/dist/bin/chunks/tail-JOQASWMV.js +2 -0
- package/dist/bin/chunks/tar-2UVSVD3P.js +2 -0
- package/dist/bin/chunks/tee-IQLEDZOQ.js +2 -0
- package/dist/bin/chunks/time-VRCJK2LI.js +2 -0
- package/dist/bin/chunks/timeout-A36YWZWR.js +2 -0
- package/dist/bin/chunks/touch-5ECNQNBP.js +2 -0
- package/dist/bin/chunks/tr-AVALLN54.js +2 -0
- package/dist/bin/chunks/tree-UFM5EDXS.js +2 -0
- package/dist/bin/chunks/true-BU5JSAAW.js +2 -0
- package/dist/bin/chunks/unexpand-TDRWZW5F.js +2 -0
- package/dist/bin/chunks/uniq-IKBUNAMN.js +2 -0
- package/dist/bin/chunks/wc-2R4RS2SX.js +2 -0
- package/dist/bin/chunks/which-6UVGMXDF.js +2 -0
- package/dist/bin/chunks/whoami-N6TLTETT.js +2 -0
- package/dist/bin/chunks/worker.js +2260 -0
- package/dist/bin/chunks/xan-JX5QUK32.js +2 -0
- package/dist/bin/chunks/xan-view-NFMUMJ7Z.js +2 -0
- package/dist/bin/chunks/xargs-4MYN4U3C.js +2 -0
- package/dist/bin/chunks/yq-EHDQVD7S.js +2 -0
- package/dist/bin/just-bash.js +732 -0
- package/dist/bin/shell/chunks/alias-23G4Q2RS.js +2 -0
- package/dist/bin/shell/chunks/awk2-Z6VRXKAK.js +2 -0
- package/dist/bin/shell/chunks/base64-DNX4WCIO.js +2 -0
- package/dist/bin/shell/chunks/basename-MPQ7M4RF.js +2 -0
- package/dist/bin/shell/chunks/bash-OQ32Y5I6.js +2 -0
- package/dist/bin/shell/chunks/bytes-6YUZMX3P.js +2 -0
- package/dist/bin/shell/chunks/cat-CL5ISR5P.js +2 -0
- package/dist/bin/shell/chunks/chmod-R6IWRSKZ.js +2 -0
- package/dist/bin/shell/chunks/chunk-227L3ACM.js +23 -0
- package/dist/bin/shell/chunks/chunk-2QA4P6HI.js +12 -0
- package/dist/bin/shell/chunks/chunk-3MFM4GSH.js +36 -0
- package/dist/bin/shell/chunks/chunk-3UP5LXDO.js +3 -0
- package/dist/bin/shell/chunks/chunk-47P7JSQI.js +2 -0
- package/dist/bin/shell/chunks/chunk-4KBTPDQB.js +3 -0
- package/dist/bin/shell/chunks/chunk-4UK2MV3F.js +13 -0
- package/dist/bin/shell/chunks/chunk-4VDEBYW7.js +2 -0
- package/dist/bin/shell/chunks/chunk-563AO4OL.js +7 -0
- package/dist/bin/shell/chunks/chunk-5HDWUXRX.js +7 -0
- package/dist/bin/shell/chunks/chunk-5MCFI6LE.js +5 -0
- package/dist/bin/shell/chunks/chunk-6CZOPIZD.js +6 -0
- package/dist/bin/shell/chunks/chunk-6FNFX5GG.js +5 -0
- package/dist/bin/shell/chunks/chunk-6NYIHYDY.js +7 -0
- package/dist/bin/shell/chunks/chunk-6Y4TKR73.js +16 -0
- package/dist/bin/shell/chunks/chunk-7C7WEK46.js +23 -0
- package/dist/bin/shell/chunks/chunk-7TNGQWY6.js +6 -0
- package/dist/bin/shell/chunks/chunk-7UAWRBQS.js +9 -0
- package/dist/bin/shell/chunks/chunk-ARGU3OIG.js +17 -0
- package/dist/bin/shell/chunks/chunk-BA3A5BYZ.js +3 -0
- package/dist/bin/shell/chunks/chunk-BB7T22CF.js +140 -0
- package/dist/bin/shell/chunks/chunk-BY24LKGP.js +8 -0
- package/dist/bin/shell/chunks/chunk-CRHN4WNQ.js +63 -0
- package/dist/bin/shell/chunks/chunk-ELZHJGI7.js +10 -0
- package/dist/bin/shell/chunks/chunk-F46CSMUF.js +2 -0
- package/dist/bin/shell/chunks/chunk-FQX4G5RH.js +7 -0
- package/dist/bin/shell/chunks/chunk-G43H2WGH.js +17 -0
- package/dist/bin/shell/chunks/chunk-GIFF636B.js +2 -0
- package/dist/bin/shell/chunks/chunk-GMJWC3MC.js +12 -0
- package/dist/bin/shell/chunks/chunk-HVDU57EV.js +16 -0
- package/dist/bin/shell/chunks/chunk-HWGK3XW7.js +6 -0
- package/dist/bin/shell/chunks/chunk-HYR7G7KS.js +3 -0
- package/dist/bin/shell/chunks/chunk-I2225JSU.js +14 -0
- package/dist/bin/shell/chunks/chunk-I2FUQZXU.js +11 -0
- package/dist/bin/shell/chunks/chunk-IBHPKKIT.js +10 -0
- package/dist/bin/shell/chunks/chunk-IKNNFJNZ.js +14 -0
- package/dist/bin/shell/chunks/chunk-INPUJM7Y.js +8 -0
- package/dist/bin/shell/chunks/chunk-IOBKPMWJ.js +9 -0
- package/dist/bin/shell/chunks/chunk-IYSA2L6A.js +13 -0
- package/dist/bin/shell/chunks/chunk-JMLNX7GE.js +287 -0
- package/dist/bin/shell/chunks/chunk-K2K4KPOQ.js +3 -0
- package/dist/bin/shell/chunks/chunk-K6DD7NH3.js +9 -0
- package/dist/bin/shell/chunks/chunk-KFLJ4EMB.js +4 -0
- package/dist/bin/shell/chunks/chunk-KOMDAXHM.js +7 -0
- package/dist/bin/shell/chunks/chunk-KV7ZTM2R.js +11 -0
- package/dist/bin/shell/chunks/chunk-LCCVVEJA.js +10 -0
- package/dist/bin/shell/chunks/chunk-LUPJK5US.js +84 -0
- package/dist/bin/shell/chunks/chunk-LWF3XDOC.js +32 -0
- package/dist/bin/shell/chunks/chunk-LXNARM2C.js +9 -0
- package/dist/bin/shell/chunks/chunk-LXZS3X5T.js +9 -0
- package/dist/bin/shell/chunks/chunk-M4ICSCXT.js +100 -0
- package/dist/bin/shell/chunks/chunk-MEBZXRGE.js +5 -0
- package/dist/bin/shell/chunks/chunk-MSPSS36S.js +16 -0
- package/dist/bin/shell/chunks/chunk-N335RIGZ.js +20 -0
- package/dist/bin/shell/chunks/chunk-N5KGQWJH.js +5 -0
- package/dist/bin/shell/chunks/chunk-NDHTQE5T.js +8 -0
- package/dist/bin/shell/chunks/chunk-NF5G7X3O.js +7 -0
- package/dist/bin/shell/chunks/chunk-NGKNJ6V2.js +11 -0
- package/dist/bin/shell/chunks/chunk-OBH7XN5N.js +1 -0
- package/dist/bin/shell/chunks/chunk-OKQ6RACF.js +73 -0
- package/dist/bin/shell/chunks/chunk-PBY7XGZ6.js +8 -0
- package/dist/bin/shell/chunks/chunk-PHHNNFRS.js +6 -0
- package/dist/bin/shell/chunks/chunk-PO6Y7TWQ.js +6 -0
- package/dist/bin/shell/chunks/chunk-Q4TLKLIZ.js +12 -0
- package/dist/bin/shell/chunks/chunk-QS6LP3E3.js +6 -0
- package/dist/bin/shell/chunks/chunk-QT2GMJRJ.js +8 -0
- package/dist/bin/shell/chunks/chunk-QUVW3R4I.js +5 -0
- package/dist/bin/shell/chunks/chunk-QUYWT2TY.js +21 -0
- package/dist/bin/shell/chunks/chunk-QWUII542.js +2 -0
- package/dist/bin/shell/chunks/chunk-R5EQDD5Y.js +13 -0
- package/dist/bin/shell/chunks/chunk-RQSPCXDR.js +2 -0
- package/dist/bin/shell/chunks/chunk-RTC6C5QW.js +2 -0
- package/dist/bin/shell/chunks/chunk-S5W2KVHC.js +2 -0
- package/dist/bin/shell/chunks/chunk-SDXDICI4.js +2 -0
- package/dist/bin/shell/chunks/chunk-SE4C7FJY.js +33 -0
- package/dist/bin/shell/chunks/chunk-SX7TI7Q2.js +3 -0
- package/dist/bin/shell/chunks/chunk-TDJ55L4A.js +16 -0
- package/dist/bin/shell/chunks/chunk-TNPUAMV3.js +8 -0
- package/dist/bin/shell/chunks/chunk-TSGSFBQI.js +14 -0
- package/dist/bin/shell/chunks/chunk-U5ZE562V.js +2 -0
- package/dist/bin/shell/chunks/chunk-UIMH6I3G.js +33 -0
- package/dist/bin/shell/chunks/chunk-UXPY5T2P.js +9 -0
- package/dist/bin/shell/chunks/chunk-UYBH3FNE.js +2 -0
- package/dist/bin/shell/chunks/chunk-V5I6PHN2.js +14 -0
- package/dist/bin/shell/chunks/chunk-VOTJNR36.js +5 -0
- package/dist/bin/shell/chunks/chunk-W5XFREQC.js +3 -0
- package/dist/bin/shell/chunks/chunk-X2MOXVGO.js +26 -0
- package/dist/bin/shell/chunks/chunk-XOGQUO62.js +2 -0
- package/dist/bin/shell/chunks/chunk-Y57BDPQ5.js +6 -0
- package/dist/bin/shell/chunks/chunk-YE6KXFFU.js +2 -0
- package/dist/bin/shell/chunks/chunk-YEPWKN4F.js +3 -0
- package/dist/bin/shell/chunks/chunk-ZEDWVSUZ.js +19 -0
- package/dist/bin/shell/chunks/chunk-ZI4TTZL5.js +21 -0
- package/dist/bin/shell/chunks/chunk-ZZVIGHYS.js +7 -0
- package/dist/bin/shell/chunks/clear-27OP2FQZ.js +2 -0
- package/dist/bin/shell/chunks/column-FJNKONCJ.js +2 -0
- package/dist/bin/shell/chunks/comm-5FNEJE7X.js +2 -0
- package/dist/bin/shell/chunks/cp-LVKHKFHQ.js +2 -0
- package/dist/bin/shell/chunks/curl-S4FJSZA5.js +26 -0
- package/dist/bin/shell/chunks/cut-UXU6PNTT.js +2 -0
- package/dist/bin/shell/chunks/date-GGPTXVUT.js +2 -0
- package/dist/bin/shell/chunks/diff-3V3FOITV.js +2 -0
- package/dist/bin/shell/chunks/dirname-455JDV2M.js +2 -0
- package/dist/bin/shell/chunks/du-WUEAQO2W.js +2 -0
- package/dist/bin/shell/chunks/echo-HBXOI5TQ.js +2 -0
- package/dist/bin/shell/chunks/env-MXFHTVHS.js +2 -0
- package/dist/bin/shell/chunks/expand-F4FM4ML2.js +2 -0
- package/dist/bin/shell/chunks/expansion-7AYBVOIQ.js +2 -0
- package/dist/bin/shell/chunks/expr-5ZKR5ER5.js +2 -0
- package/dist/bin/shell/chunks/file-BFN7BKUR.js +2 -0
- package/dist/bin/shell/chunks/find-W4BCEJEC.js +2 -0
- package/dist/bin/shell/chunks/flag-coverage-DBKGNLJO.js +2 -0
- package/dist/bin/shell/chunks/fold-AE57YLOS.js +2 -0
- package/dist/bin/shell/chunks/grep-I63BWUKL.js +2 -0
- package/dist/bin/shell/chunks/gzip-X5IDXWZE.js +2 -0
- package/dist/bin/shell/chunks/head-TBQETLQX.js +2 -0
- package/dist/bin/shell/chunks/help-HGMKZ2GW.js +2 -0
- package/dist/bin/shell/chunks/history-2DYRIL3U.js +2 -0
- package/dist/bin/shell/chunks/hostname-RWEPTCXH.js +2 -0
- package/dist/bin/shell/chunks/html-to-markdown-2VQWCEKU.js +2 -0
- package/dist/bin/shell/chunks/join-TRRWQBEU.js +2 -0
- package/dist/bin/shell/chunks/jq-NFKKH27D.js +2 -0
- package/dist/bin/shell/chunks/ln-BSEVUP2J.js +2 -0
- package/dist/bin/shell/chunks/ls-IJLTWVOI.js +2 -0
- package/dist/bin/shell/chunks/md5sum-ZIQHOC4K.js +2 -0
- package/dist/bin/shell/chunks/mkdir-KYFAO2SF.js +2 -0
- package/dist/bin/shell/chunks/mv-TWM2PA7Q.js +2 -0
- package/dist/bin/shell/chunks/nl-XLF2HFST.js +2 -0
- package/dist/bin/shell/chunks/od-BOM6JPTH.js +2 -0
- package/dist/bin/shell/chunks/paste-FUGXVGJX.js +2 -0
- package/dist/bin/shell/chunks/printf-XUGNJ3QM.js +2 -0
- package/dist/bin/shell/chunks/pwd-RZG6GZEU.js +2 -0
- package/dist/bin/shell/chunks/python3-PIXJS3YM.js +14 -0
- package/dist/bin/shell/chunks/readlink-4SOSIDHE.js +2 -0
- package/dist/bin/shell/chunks/rev-5E5UGSUZ.js +2 -0
- package/dist/bin/shell/chunks/rg-4YJSQZN7.js +2 -0
- package/dist/bin/shell/chunks/rm-3PFOF4E3.js +2 -0
- package/dist/bin/shell/chunks/rmdir-CSK7CGH5.js +2 -0
- package/dist/bin/shell/chunks/sed-XBCUZMEP.js +2 -0
- package/dist/bin/shell/chunks/seq-H7ID4VMK.js +2 -0
- package/dist/bin/shell/chunks/sha1sum-EDQNYXXH.js +2 -0
- package/dist/bin/shell/chunks/sha256sum-APTG6DO2.js +2 -0
- package/dist/bin/shell/chunks/sleep-PNT7KILS.js +2 -0
- package/dist/bin/shell/chunks/sort-ELAGZUES.js +2 -0
- package/dist/bin/shell/chunks/split-QGXYUWBC.js +2 -0
- package/dist/bin/shell/chunks/sqlite3-ELLMKNNJ.js +2 -0
- package/dist/bin/shell/chunks/stat-Q2TZRKO3.js +2 -0
- package/dist/bin/shell/chunks/strings-IGEGP5QX.js +2 -0
- package/dist/bin/shell/chunks/tac-VOEDJLLG.js +2 -0
- package/dist/bin/shell/chunks/tail-JOQASWMV.js +2 -0
- package/dist/bin/shell/chunks/tar-2UVSVD3P.js +2 -0
- package/dist/bin/shell/chunks/tee-IQLEDZOQ.js +2 -0
- package/dist/bin/shell/chunks/time-VRCJK2LI.js +2 -0
- package/dist/bin/shell/chunks/timeout-A36YWZWR.js +2 -0
- package/dist/bin/shell/chunks/touch-5ECNQNBP.js +2 -0
- package/dist/bin/shell/chunks/tr-AVALLN54.js +2 -0
- package/dist/bin/shell/chunks/tree-UFM5EDXS.js +2 -0
- package/dist/bin/shell/chunks/true-BU5JSAAW.js +2 -0
- package/dist/bin/shell/chunks/unexpand-TDRWZW5F.js +2 -0
- package/dist/bin/shell/chunks/uniq-IKBUNAMN.js +2 -0
- package/dist/bin/shell/chunks/wc-2R4RS2SX.js +2 -0
- package/dist/bin/shell/chunks/which-6UVGMXDF.js +2 -0
- package/dist/bin/shell/chunks/whoami-N6TLTETT.js +2 -0
- package/dist/bin/shell/chunks/xan-JX5QUK32.js +2 -0
- package/dist/bin/shell/chunks/xan-view-NFMUMJ7Z.js +2 -0
- package/dist/bin/shell/chunks/xargs-4MYN4U3C.js +2 -0
- package/dist/bin/shell/chunks/yq-EHDQVD7S.js +2 -0
- package/dist/bin/shell/shell.js +711 -0
- package/dist/browser.d.ts +22 -0
- package/dist/bundle/browser.js +1481 -0
- package/dist/bundle/chunks/alias-T2KDAHDL.js +1 -0
- package/dist/bundle/chunks/awk2-UIH6CPHX.js +1 -0
- package/dist/bundle/chunks/base64-RY5JPAQL.js +1 -0
- package/dist/bundle/chunks/basename-QT55QR7O.js +1 -0
- package/dist/bundle/chunks/bash-BZZ6TUGW.js +1 -0
- package/dist/bundle/chunks/bytes-W6ESHQ7F.js +1 -0
- package/dist/bundle/chunks/cat-WUR2OJUG.js +1 -0
- package/dist/bundle/chunks/chmod-LTQYKUUW.js +1 -0
- package/dist/bundle/chunks/chunk-24BT6QUB.js +11 -0
- package/dist/bundle/chunks/chunk-274QVGRQ.js +2 -0
- package/dist/bundle/chunks/chunk-2IKXAFP4.js +11 -0
- package/dist/bundle/chunks/chunk-2IO54DPD.js +1 -0
- package/dist/bundle/chunks/chunk-2VAJD54D.js +13 -0
- package/dist/bundle/chunks/chunk-34P4G5H7.js +5 -0
- package/dist/bundle/chunks/chunk-3OY3UJDR.js +62 -0
- package/dist/bundle/chunks/chunk-3R6EWKMD.js +13 -0
- package/dist/bundle/chunks/chunk-3SPSXVPQ.js +2 -0
- package/dist/bundle/chunks/chunk-43RXAZRC.js +7 -0
- package/dist/bundle/chunks/chunk-44UOCSGV.js +1 -0
- package/dist/bundle/chunks/chunk-47LWQIG6.js +15 -0
- package/dist/bundle/chunks/chunk-4L3Y4LKT.js +5 -0
- package/dist/bundle/chunks/chunk-4LYDOEQ6.js +4 -0
- package/dist/bundle/chunks/chunk-4Q5DFBVQ.js +6 -0
- package/dist/bundle/chunks/chunk-4R5AUIZ4.js +6 -0
- package/dist/bundle/chunks/chunk-4UTZCT3W.js +2 -0
- package/dist/bundle/chunks/chunk-5FDLF2FN.js +5 -0
- package/dist/bundle/chunks/chunk-5HJSZMTG.js +1 -0
- package/dist/bundle/chunks/chunk-5NR6JZM4.js +12 -0
- package/dist/bundle/chunks/chunk-5PL72KVW.js +7 -0
- package/dist/bundle/chunks/chunk-6BM2WKUH.js +23 -0
- package/dist/bundle/chunks/chunk-6HLDZZOT.js +4 -0
- package/dist/bundle/chunks/chunk-7MKBHGLS.js +1 -0
- package/dist/bundle/chunks/chunk-7VHVF5PX.js +20 -0
- package/dist/bundle/chunks/chunk-A3YV3X3J.js +6 -0
- package/dist/bundle/chunks/chunk-AJNR4FJT.js +8 -0
- package/dist/bundle/chunks/chunk-AMQM5ZPF.js +1 -0
- package/dist/bundle/chunks/chunk-BCDE2QUY.js +1 -0
- package/dist/bundle/chunks/chunk-BMKJMOWP.js +2 -0
- package/dist/bundle/chunks/chunk-BVFIC7R6.js +4 -0
- package/dist/bundle/chunks/chunk-CC4HUWHZ.js +4 -0
- package/dist/bundle/chunks/chunk-CNCKROJZ.js +10 -0
- package/dist/bundle/chunks/chunk-CSFZQCAK.js +139 -0
- package/dist/bundle/chunks/chunk-CU7G2LMR.js +1 -0
- package/dist/bundle/chunks/chunk-CZP7PMAG.js +4 -0
- package/dist/bundle/chunks/chunk-D2OUCFAU.js +8 -0
- package/dist/bundle/chunks/chunk-DQXLKPVQ.js +7 -0
- package/dist/bundle/chunks/chunk-E6IR6BWV.js +286 -0
- package/dist/bundle/chunks/chunk-ELZ2RVIZ.js +11 -0
- package/dist/bundle/chunks/chunk-EVNUXIEZ.js +2 -0
- package/dist/bundle/chunks/chunk-F6FQRFZU.js +6 -0
- package/dist/bundle/chunks/chunk-FAECBHMR.js +2 -0
- package/dist/bundle/chunks/chunk-FBOLGXN4.js +16 -0
- package/dist/bundle/chunks/chunk-FNIOXBJW.js +9 -0
- package/dist/bundle/chunks/chunk-GD5SDRL7.js +5 -0
- package/dist/bundle/chunks/chunk-GEAGCSIY.js +31 -0
- package/dist/bundle/chunks/chunk-GI2KN5IL.js +22 -0
- package/dist/bundle/chunks/chunk-GOG2LNAH.js +9 -0
- package/dist/bundle/chunks/chunk-H2ENJVUI.js +10 -0
- package/dist/bundle/chunks/chunk-HDNR2KMO.js +13 -0
- package/dist/bundle/chunks/chunk-HJ37IXKX.js +12 -0
- package/dist/bundle/chunks/chunk-I36BZMR3.js +1 -0
- package/dist/bundle/chunks/chunk-I6YSZMB6.js +15 -0
- package/dist/bundle/chunks/chunk-IJXFPKNC.js +1 -0
- package/dist/bundle/chunks/chunk-IXD4Z54Z.js +8 -0
- package/dist/bundle/chunks/chunk-J44PYBAW.js +2 -0
- package/dist/bundle/chunks/chunk-JDREUEBG.js +9 -0
- package/dist/bundle/chunks/chunk-KA244HSE.js +5 -0
- package/dist/bundle/chunks/chunk-KKZJ6K7R.js +8 -0
- package/dist/bundle/chunks/chunk-KZ3P3SVS.js +22 -0
- package/dist/bundle/chunks/chunk-LIVSDOY2.js +1 -0
- package/dist/bundle/chunks/chunk-LX7SQKLW.js +15 -0
- package/dist/bundle/chunks/chunk-M5O5DYR7.js +1 -0
- package/dist/bundle/chunks/chunk-MML7K3J2.js +6 -0
- package/dist/bundle/chunks/chunk-N4GRDEVJ.js +5 -0
- package/dist/bundle/chunks/chunk-NPZMNEW5.js +6 -0
- package/dist/bundle/chunks/chunk-NUFRM6SI.js +0 -0
- package/dist/bundle/chunks/chunk-O7N2RCS7.js +1 -0
- package/dist/bundle/chunks/chunk-OSYLT4VG.js +4 -0
- package/dist/bundle/chunks/chunk-OXRHP7HO.js +3 -0
- package/dist/bundle/chunks/chunk-OZOS3R6K.js +99 -0
- package/dist/bundle/chunks/chunk-OZQ4AW5X.js +8 -0
- package/dist/bundle/chunks/chunk-PNGAWBIZ.js +10 -0
- package/dist/bundle/chunks/chunk-PPUKM2B7.js +13 -0
- package/dist/bundle/chunks/chunk-PTELGM2J.js +7 -0
- package/dist/bundle/chunks/chunk-Q3TLRYBC.js +72 -0
- package/dist/bundle/chunks/chunk-Q5AOYNOX.js +6 -0
- package/dist/bundle/chunks/chunk-QEKGAAIL.js +1 -0
- package/dist/bundle/chunks/chunk-QIL3FXIC.js +6 -0
- package/dist/bundle/chunks/chunk-QNZEO23C.js +8 -0
- package/dist/bundle/chunks/chunk-R4IVADTA.js +7 -0
- package/dist/bundle/chunks/chunk-RK57WTFF.js +12 -0
- package/dist/bundle/chunks/chunk-RU5M6ZRS.js +4 -0
- package/dist/bundle/chunks/chunk-SBVBPPEQ.js +5 -0
- package/dist/bundle/chunks/chunk-SP22LBKJ.js +20 -0
- package/dist/bundle/chunks/chunk-UKS3AEEA.js +32 -0
- package/dist/bundle/chunks/chunk-UYR5HJI6.js +7 -0
- package/dist/bundle/chunks/chunk-V6ANTLBA.js +15 -0
- package/dist/bundle/chunks/chunk-VLGZJRPG.js +16 -0
- package/dist/bundle/chunks/chunk-VZUQMDOT.js +2 -0
- package/dist/bundle/chunks/chunk-XDQU6V6S.js +19 -0
- package/dist/bundle/chunks/chunk-XRVUJRYI.js +35 -0
- package/dist/bundle/chunks/chunk-YNYSPYQ5.js +32 -0
- package/dist/bundle/chunks/clear-NLKZY76S.js +1 -0
- package/dist/bundle/chunks/column-S7P64XRJ.js +1 -0
- package/dist/bundle/chunks/comm-FPLN4BYY.js +1 -0
- package/dist/bundle/chunks/cp-W5HXJH5J.js +1 -0
- package/dist/bundle/chunks/curl-UFR6W4B6.js +25 -0
- package/dist/bundle/chunks/cut-VNFQFCA7.js +1 -0
- package/dist/bundle/chunks/date-EDSSFONA.js +1 -0
- package/dist/bundle/chunks/diff-RR5VJXIT.js +1 -0
- package/dist/bundle/chunks/dirname-V7Z24BGZ.js +1 -0
- package/dist/bundle/chunks/du-QKRPQIMY.js +1 -0
- package/dist/bundle/chunks/echo-TR3BM2AJ.js +1 -0
- package/dist/bundle/chunks/env-SVQBHVZF.js +1 -0
- package/dist/bundle/chunks/expand-ZVCJ72RF.js +1 -0
- package/dist/bundle/chunks/expansion-OBOJBZTH.js +1 -0
- package/dist/bundle/chunks/expr-QRA5KFYV.js +1 -0
- package/dist/bundle/chunks/file-TORG4IVZ.js +1 -0
- package/dist/bundle/chunks/find-NAGPRRQ7.js +1 -0
- package/dist/bundle/chunks/flag-coverage-FMTW4YWD.js +1 -0
- package/dist/bundle/chunks/fold-L4U6GS2N.js +1 -0
- package/dist/bundle/chunks/grep-D6AI423Z.js +1 -0
- package/dist/bundle/chunks/gzip-4EFUBHN7.js +1 -0
- package/dist/bundle/chunks/head-KBQT2JAC.js +1 -0
- package/dist/bundle/chunks/help-F3TJS3LS.js +1 -0
- package/dist/bundle/chunks/history-OKEAINJD.js +1 -0
- package/dist/bundle/chunks/hostname-AGIPNJOC.js +1 -0
- package/dist/bundle/chunks/html-to-markdown-P2LSCPVF.js +1 -0
- package/dist/bundle/chunks/join-FTSZAZYU.js +1 -0
- package/dist/bundle/chunks/jq-TNIKCGGT.js +1 -0
- package/dist/bundle/chunks/ln-BWYUCELO.js +1 -0
- package/dist/bundle/chunks/ls-6BM6G675.js +1 -0
- package/dist/bundle/chunks/md5sum-ALFVDB3W.js +1 -0
- package/dist/bundle/chunks/mkdir-I3BZBLTZ.js +1 -0
- package/dist/bundle/chunks/mv-76WRD5SE.js +1 -0
- package/dist/bundle/chunks/nl-77Q7V2GV.js +1 -0
- package/dist/bundle/chunks/od-AA6TIC6A.js +1 -0
- package/dist/bundle/chunks/paste-C6JKQOHO.js +1 -0
- package/dist/bundle/chunks/printf-WOYMDX2I.js +1 -0
- package/dist/bundle/chunks/pwd-BE3B3ZPG.js +1 -0
- package/dist/bundle/chunks/python3-QFUFNW7I.js +13 -0
- package/dist/bundle/chunks/readlink-QI6K7ZZX.js +1 -0
- package/dist/bundle/chunks/rev-2FZQEIQG.js +1 -0
- package/dist/bundle/chunks/rg-CNS6SD3V.js +1 -0
- package/dist/bundle/chunks/rm-JMWEKCU4.js +1 -0
- package/dist/bundle/chunks/rmdir-5HDB4IQ7.js +1 -0
- package/dist/bundle/chunks/sed-CSUGXVBJ.js +1 -0
- package/dist/bundle/chunks/seq-UP62NDEL.js +1 -0
- package/dist/bundle/chunks/sha1sum-XXYTWQIW.js +1 -0
- package/dist/bundle/chunks/sha256sum-GD6AFWG3.js +1 -0
- package/dist/bundle/chunks/sleep-225KIGXI.js +1 -0
- package/dist/bundle/chunks/sort-BIWEEIVX.js +1 -0
- package/dist/bundle/chunks/split-QUFGLTTX.js +1 -0
- package/dist/bundle/chunks/sqlite3-3ZFEGTQ7.js +1 -0
- package/dist/bundle/chunks/stat-DIMPSC6S.js +1 -0
- package/dist/bundle/chunks/strings-LECMRXOT.js +1 -0
- package/dist/bundle/chunks/tac-A6JKZKWL.js +1 -0
- package/dist/bundle/chunks/tail-YGDXZZGG.js +1 -0
- package/dist/bundle/chunks/tar-7KN7KZ6S.js +1 -0
- package/dist/bundle/chunks/tee-J4MBDQJZ.js +1 -0
- package/dist/bundle/chunks/time-CVS7ESWV.js +1 -0
- package/dist/bundle/chunks/timeout-UX2PSLYJ.js +1 -0
- package/dist/bundle/chunks/touch-ATQADRUQ.js +1 -0
- package/dist/bundle/chunks/tr-QVFN4YWH.js +1 -0
- package/dist/bundle/chunks/tree-IY7WNFVF.js +1 -0
- package/dist/bundle/chunks/true-AKKYE7WM.js +1 -0
- package/dist/bundle/chunks/unexpand-2WTX7UPB.js +1 -0
- package/dist/bundle/chunks/uniq-XS6VGRO2.js +1 -0
- package/dist/bundle/chunks/wc-22EISCPD.js +1 -0
- package/dist/bundle/chunks/which-IWHCX6SW.js +1 -0
- package/dist/bundle/chunks/whoami-HCON4D7C.js +1 -0
- package/dist/bundle/chunks/worker.js +2260 -0
- package/dist/bundle/chunks/xan-XDECJHII.js +1 -0
- package/dist/bundle/chunks/xan-view-IJ4EABH7.js +1 -0
- package/dist/bundle/chunks/xargs-5MMN7C6P.js +1 -0
- package/dist/bundle/chunks/yq-LQX5YIGM.js +1 -0
- package/dist/bundle/index.js +688 -0
- package/dist/commands/alias/alias.d.ts +6 -0
- package/dist/commands/awk/ast.d.ts +202 -0
- package/dist/commands/awk/awk2.d.ts +9 -0
- package/dist/commands/awk/builtins.d.ts +17 -0
- package/dist/commands/awk/interpreter/context.d.ts +73 -0
- package/dist/commands/awk/interpreter/expressions.d.ts +17 -0
- package/dist/commands/awk/interpreter/fields.d.ts +25 -0
- package/dist/commands/awk/interpreter/index.d.ts +8 -0
- package/dist/commands/awk/interpreter/interpreter.d.ts +52 -0
- package/dist/commands/awk/interpreter/statements.d.ts +11 -0
- package/dist/commands/awk/interpreter/type-coercion.d.ts +32 -0
- package/dist/commands/awk/interpreter/types.d.ts +13 -0
- package/dist/commands/awk/interpreter/variables.d.ts +35 -0
- package/dist/commands/awk/lexer.d.ts +100 -0
- package/dist/commands/awk/parser2-print.d.ts +35 -0
- package/dist/commands/awk/parser2.d.ts +81 -0
- package/dist/commands/base64/base64.d.ts +7 -0
- package/dist/commands/basename/basename.d.ts +4 -0
- package/dist/commands/bash/bash.d.ts +6 -0
- package/dist/commands/browser-excluded.d.ts +16 -0
- package/dist/commands/cat/cat.d.ts +4 -0
- package/dist/commands/chmod/chmod.d.ts +4 -0
- package/dist/commands/clear/clear.d.ts +4 -0
- package/dist/commands/column/column.d.ts +11 -0
- package/dist/commands/comm/comm.d.ts +12 -0
- package/dist/commands/cp/cp.d.ts +4 -0
- package/dist/commands/curl/curl.d.ts +8 -0
- package/dist/commands/curl/form.d.ts +21 -0
- package/dist/commands/curl/help.d.ts +9 -0
- package/dist/commands/curl/parse.d.ts +9 -0
- package/dist/commands/curl/response-formatting.d.ts +20 -0
- package/dist/commands/curl/types.d.ts +31 -0
- package/dist/commands/cut/cut.d.ts +4 -0
- package/dist/commands/date/date.d.ts +7 -0
- package/dist/commands/diff/diff.d.ts +7 -0
- package/dist/commands/dirname/dirname.d.ts +4 -0
- package/dist/commands/du/du.d.ts +4 -0
- package/dist/commands/echo/echo.d.ts +4 -0
- package/dist/commands/env/env.d.ts +6 -0
- package/dist/commands/expand/expand.d.ts +12 -0
- package/dist/commands/expand/unexpand.d.ts +12 -0
- package/dist/commands/expr/expr.d.ts +9 -0
- package/dist/commands/file/file.d.ts +9 -0
- package/dist/commands/find/find.d.ts +4 -0
- package/dist/commands/find/matcher.d.ts +69 -0
- package/dist/commands/find/parser.d.ts +2 -0
- package/dist/commands/find/types.d.ts +88 -0
- package/dist/commands/flag-coverage.d.ts +2 -0
- package/dist/commands/fold/fold.d.ts +12 -0
- package/dist/commands/fuzz-flags-types.d.ts +17 -0
- package/dist/commands/fuzz-flags.d.ts +8 -0
- package/dist/commands/grep/grep.d.ts +8 -0
- package/dist/commands/gzip/gzip.d.ts +13 -0
- package/dist/commands/head/head-tail-shared.d.ts +38 -0
- package/dist/commands/head/head.d.ts +4 -0
- package/dist/commands/help/help.d.ts +4 -0
- package/dist/commands/help.d.ts +16 -0
- package/dist/commands/history/history.d.ts +4 -0
- package/dist/commands/hostname/hostname.d.ts +11 -0
- package/dist/commands/html-to-markdown/html-to-markdown.d.ts +9 -0
- package/dist/commands/join/join.d.ts +12 -0
- package/dist/commands/jq/jq.d.ts +9 -0
- package/dist/commands/ln/ln.d.ts +4 -0
- package/dist/commands/ls/ls.d.ts +4 -0
- package/dist/commands/md5sum/checksum.d.ts +7 -0
- package/dist/commands/md5sum/md5sum.d.ts +4 -0
- package/dist/commands/md5sum/sha1sum.d.ts +4 -0
- package/dist/commands/md5sum/sha256sum.d.ts +4 -0
- package/dist/commands/mkdir/mkdir.d.ts +4 -0
- package/dist/commands/mv/mv.d.ts +4 -0
- package/dist/commands/nl/nl.d.ts +12 -0
- package/dist/commands/od/od.d.ts +12 -0
- package/dist/commands/paste/paste.d.ts +4 -0
- package/dist/commands/printf/escapes.d.ts +31 -0
- package/dist/commands/printf/printf.d.ts +4 -0
- package/dist/commands/printf/strftime.d.ts +9 -0
- package/dist/commands/pwd/pwd.d.ts +4 -0
- package/dist/commands/python3/fs-bridge-handler.d.ts +50 -0
- package/dist/commands/python3/protocol.d.ts +138 -0
- package/dist/commands/python3/python3.d.ts +11 -0
- package/dist/commands/python3/sync-fs-backend.d.ts +59 -0
- package/dist/commands/python3/worker.d.ts +22 -0
- package/dist/commands/query-engine/builtins/array-builtins.d.ts +20 -0
- package/dist/commands/query-engine/builtins/control-builtins.d.ts +18 -0
- package/dist/commands/query-engine/builtins/date-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/format-builtins.d.ts +11 -0
- package/dist/commands/query-engine/builtins/index-builtins.d.ts +16 -0
- package/dist/commands/query-engine/builtins/index.d.ts +17 -0
- package/dist/commands/query-engine/builtins/math-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/navigation-builtins.d.ts +18 -0
- package/dist/commands/query-engine/builtins/object-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/path-builtins.d.ts +20 -0
- package/dist/commands/query-engine/builtins/sql-builtins.d.ts +16 -0
- package/dist/commands/query-engine/builtins/string-builtins.d.ts +15 -0
- package/dist/commands/query-engine/builtins/type-builtins.d.ts +11 -0
- package/dist/commands/query-engine/evaluator.d.ts +37 -0
- package/dist/commands/query-engine/index.d.ts +8 -0
- package/dist/commands/query-engine/parser-types.d.ts +171 -0
- package/dist/commands/query-engine/parser.d.ts +9 -0
- package/dist/commands/query-engine/path-operations.d.ts +15 -0
- package/dist/commands/query-engine/safe-object.d.ts +59 -0
- package/dist/commands/query-engine/value-operations.d.ts +41 -0
- package/dist/commands/readlink/readlink.d.ts +4 -0
- package/dist/commands/registry.d.ts +45 -0
- package/dist/commands/rev/rev.d.ts +13 -0
- package/dist/commands/rg/file-types.d.ts +49 -0
- package/dist/commands/rg/gitignore.d.ts +98 -0
- package/dist/commands/rg/rg-options.d.ts +61 -0
- package/dist/commands/rg/rg-parser.d.ts +20 -0
- package/dist/commands/rg/rg-search.d.ts +15 -0
- package/dist/commands/rg/rg.d.ts +14 -0
- package/dist/commands/rm/rm.d.ts +4 -0
- package/dist/commands/rmdir/rmdir.d.ts +4 -0
- package/dist/commands/search-engine/index.d.ts +10 -0
- package/dist/commands/search-engine/matcher.d.ts +60 -0
- package/dist/commands/search-engine/regex.d.ts +33 -0
- package/dist/commands/sed/executor.d.ts +7 -0
- package/dist/commands/sed/lexer.d.ts +86 -0
- package/dist/commands/sed/parser.d.ts +18 -0
- package/dist/commands/sed/sed-regex.d.ts +23 -0
- package/dist/commands/sed/sed.d.ts +4 -0
- package/dist/commands/sed/types.d.ts +219 -0
- package/dist/commands/seq/seq.d.ts +16 -0
- package/dist/commands/sleep/sleep.d.ts +4 -0
- package/dist/commands/sort/comparator.d.ts +9 -0
- package/dist/commands/sort/parser.d.ts +11 -0
- package/dist/commands/sort/sort.d.ts +4 -0
- package/dist/commands/sort/types.d.ts +30 -0
- package/dist/commands/split/split.d.ts +12 -0
- package/dist/commands/sqlite3/formatters.d.ts +15 -0
- package/dist/commands/sqlite3/sqlite3.d.ts +16 -0
- package/dist/commands/sqlite3/worker.d.ts +44 -0
- package/dist/commands/stat/stat.d.ts +4 -0
- package/dist/commands/strings/strings.d.ts +12 -0
- package/dist/commands/tac/tac.d.ts +11 -0
- package/dist/commands/tail/tail.d.ts +4 -0
- package/dist/commands/tar/archive.d.ts +107 -0
- package/dist/commands/tar/tar-options.d.ts +36 -0
- package/dist/commands/tar/tar.d.ts +10 -0
- package/dist/commands/tee/tee.d.ts +4 -0
- package/dist/commands/time/time.d.ts +27 -0
- package/dist/commands/timeout/timeout.d.ts +4 -0
- package/dist/commands/touch/touch.d.ts +4 -0
- package/dist/commands/tr/tr.d.ts +4 -0
- package/dist/commands/tree/tree.d.ts +4 -0
- package/dist/commands/true/true.d.ts +6 -0
- package/dist/commands/uniq/uniq.d.ts +4 -0
- package/dist/commands/wc/wc.d.ts +4 -0
- package/dist/commands/which/which.d.ts +4 -0
- package/dist/commands/whoami/whoami.d.ts +11 -0
- package/dist/commands/xan/aggregation.d.ts +20 -0
- package/dist/commands/xan/column-selection.d.ts +19 -0
- package/dist/commands/xan/csv.d.ts +37 -0
- package/dist/commands/xan/moonblade-parser.d.ts +80 -0
- package/dist/commands/xan/moonblade-to-jq.d.ts +12 -0
- package/dist/commands/xan/moonblade-tokenizer.d.ts +25 -0
- package/dist/commands/xan/subcommands.d.ts +15 -0
- package/dist/commands/xan/xan-agg.d.ts +8 -0
- package/dist/commands/xan/xan-columns.d.ts +8 -0
- package/dist/commands/xan/xan-core.d.ts +10 -0
- package/dist/commands/xan/xan-data.d.ts +52 -0
- package/dist/commands/xan/xan-filter.d.ts +8 -0
- package/dist/commands/xan/xan-map.d.ts +11 -0
- package/dist/commands/xan/xan-reshape.d.ts +40 -0
- package/dist/commands/xan/xan-simple.d.ts +40 -0
- package/dist/commands/xan/xan-view.d.ts +12 -0
- package/dist/commands/xan/xan.d.ts +10 -0
- package/dist/commands/xargs/xargs.d.ts +4 -0
- package/dist/commands/yq/formats.d.ts +64 -0
- package/dist/commands/yq/yq.d.ts +13 -0
- package/dist/custom-commands.d.ts +61 -0
- package/dist/fs/encoding.d.ts +17 -0
- package/dist/fs/in-memory-fs/in-memory-fs.d.ts +63 -0
- package/dist/fs/in-memory-fs/index.d.ts +1 -0
- package/dist/fs/init.d.ts +12 -0
- package/dist/fs/interface.d.ts +219 -0
- package/dist/fs/mountable-fs/index.d.ts +1 -0
- package/dist/fs/mountable-fs/mountable-fs.d.ts +120 -0
- package/dist/fs/overlay-fs/index.d.ts +1 -0
- package/dist/fs/overlay-fs/overlay-fs.d.ts +126 -0
- package/dist/fs/read-write-fs/index.d.ts +1 -0
- package/dist/fs/read-write-fs/read-write-fs.d.ts +69 -0
- package/dist/index.d.ts +19 -0
- package/dist/interpreter/alias-expansion.d.ts +23 -0
- package/dist/interpreter/arithmetic.d.ts +24 -0
- package/dist/interpreter/assignment-expansion.d.ts +24 -0
- package/dist/interpreter/builtin-dispatch.d.ts +39 -0
- package/dist/interpreter/builtins/break.d.ts +6 -0
- package/dist/interpreter/builtins/cd.d.ts +6 -0
- package/dist/interpreter/builtins/compgen.d.ts +26 -0
- package/dist/interpreter/builtins/complete.d.ts +17 -0
- package/dist/interpreter/builtins/compopt.d.ts +28 -0
- package/dist/interpreter/builtins/continue.d.ts +6 -0
- package/dist/interpreter/builtins/declare-array-parsing.d.ts +14 -0
- package/dist/interpreter/builtins/declare-print.d.ts +39 -0
- package/dist/interpreter/builtins/declare.d.ts +35 -0
- package/dist/interpreter/builtins/dirs.d.ts +29 -0
- package/dist/interpreter/builtins/eval.d.ts +9 -0
- package/dist/interpreter/builtins/exit.d.ts +5 -0
- package/dist/interpreter/builtins/export.d.ts +14 -0
- package/dist/interpreter/builtins/getopts.d.ts +18 -0
- package/dist/interpreter/builtins/hash.d.ts +19 -0
- package/dist/interpreter/builtins/help.d.ts +12 -0
- package/dist/interpreter/builtins/index.d.ts +45 -0
- package/dist/interpreter/builtins/let.d.ts +18 -0
- package/dist/interpreter/builtins/local.d.ts +6 -0
- package/dist/interpreter/builtins/mapfile.d.ts +17 -0
- package/dist/interpreter/builtins/read.d.ts +6 -0
- package/dist/interpreter/builtins/return.d.ts +6 -0
- package/dist/interpreter/builtins/set.d.ts +9 -0
- package/dist/interpreter/builtins/shift.d.ts +15 -0
- package/dist/interpreter/builtins/shopt.d.ts +7 -0
- package/dist/interpreter/builtins/source.d.ts +6 -0
- package/dist/interpreter/builtins/unset.d.ts +16 -0
- package/dist/interpreter/builtins/variable-assignment.d.ts +66 -0
- package/dist/interpreter/command-resolution.d.ts +43 -0
- package/dist/interpreter/conditionals.d.ts +17 -0
- package/dist/interpreter/control-flow.d.ts +21 -0
- package/dist/interpreter/errors.d.ts +150 -0
- package/dist/interpreter/expansion/analysis.d.ts +37 -0
- package/dist/interpreter/expansion/arith-text-expansion.d.ts +20 -0
- package/dist/interpreter/expansion/array-pattern-ops.d.ts +21 -0
- package/dist/interpreter/expansion/array-prefix-suffix.d.ts +46 -0
- package/dist/interpreter/expansion/array-slice-transform.d.ts +36 -0
- package/dist/interpreter/expansion/array-word-expansion.d.ts +39 -0
- package/dist/interpreter/expansion/brace-range.d.ts +20 -0
- package/dist/interpreter/expansion/command-substitution.d.ts +23 -0
- package/dist/interpreter/expansion/glob-escape.d.ts +32 -0
- package/dist/interpreter/expansion/indirect-expansion.d.ts +42 -0
- package/dist/interpreter/expansion/parameter-ops.d.ts +113 -0
- package/dist/interpreter/expansion/pattern-expansion.d.ts +23 -0
- package/dist/interpreter/expansion/pattern-removal.d.ts +18 -0
- package/dist/interpreter/expansion/pattern.d.ts +23 -0
- package/dist/interpreter/expansion/positional-params.d.ts +59 -0
- package/dist/interpreter/expansion/prompt.d.ts +39 -0
- package/dist/interpreter/expansion/quoting.d.ts +13 -0
- package/dist/interpreter/expansion/tilde.d.ts +12 -0
- package/dist/interpreter/expansion/unquoted-expansion.d.ts +76 -0
- package/dist/interpreter/expansion/variable-attrs.d.ts +19 -0
- package/dist/interpreter/expansion/variable.d.ts +43 -0
- package/dist/interpreter/expansion/word-glob-expansion.d.ts +33 -0
- package/dist/interpreter/expansion/word-split.d.ts +29 -0
- package/dist/interpreter/expansion.d.ts +57 -0
- package/dist/interpreter/functions.d.ts +12 -0
- package/dist/interpreter/helpers/array.d.ts +43 -0
- package/dist/interpreter/helpers/condition.d.ts +18 -0
- package/dist/interpreter/helpers/errors.d.ts +8 -0
- package/dist/interpreter/helpers/file-tests.d.ts +33 -0
- package/dist/interpreter/helpers/ifs.d.ts +104 -0
- package/dist/interpreter/helpers/loop.d.ts +24 -0
- package/dist/interpreter/helpers/nameref.d.ts +65 -0
- package/dist/interpreter/helpers/numeric-compare.d.ts +13 -0
- package/dist/interpreter/helpers/quoting.d.ts +24 -0
- package/dist/interpreter/helpers/readonly.d.ts +45 -0
- package/dist/interpreter/helpers/regex.d.ts +8 -0
- package/dist/interpreter/helpers/result.d.ts +62 -0
- package/dist/interpreter/helpers/shell-constants.d.ts +25 -0
- package/dist/interpreter/helpers/shellopts.d.ts +28 -0
- package/dist/interpreter/helpers/statements.d.ts +20 -0
- package/dist/interpreter/helpers/string-compare.d.ts +24 -0
- package/dist/interpreter/helpers/string-tests.d.ts +13 -0
- package/dist/interpreter/helpers/tilde.d.ts +13 -0
- package/dist/interpreter/helpers/variable-tests.d.ts +9 -0
- package/dist/interpreter/helpers/word-matching.d.ts +26 -0
- package/dist/interpreter/helpers/word-parts.d.ts +29 -0
- package/dist/interpreter/helpers/xtrace.d.ts +18 -0
- package/dist/interpreter/index.d.ts +3 -0
- package/dist/interpreter/interpreter.d.ts +65 -0
- package/dist/interpreter/pipeline-execution.d.ts +16 -0
- package/dist/interpreter/redirections.d.ts +51 -0
- package/dist/interpreter/simple-command-assignments.d.ts +29 -0
- package/dist/interpreter/subshell-group.d.ts +32 -0
- package/dist/interpreter/type-command.d.ts +37 -0
- package/dist/interpreter/types.d.ts +317 -0
- package/dist/limits.d.ts +42 -0
- package/dist/network/allow-list/shared.d.ts +45 -0
- package/dist/network/allow-list.d.ts +51 -0
- package/dist/network/fetch.d.ts +25 -0
- package/dist/network/index.d.ts +7 -0
- package/dist/network/types.d.ts +96 -0
- package/dist/parser/arithmetic-parser.d.ts +23 -0
- package/dist/parser/arithmetic-primaries.d.ts +45 -0
- package/dist/parser/command-parser.d.ts +10 -0
- package/dist/parser/compound-parser.d.ts +28 -0
- package/dist/parser/conditional-parser.d.ts +8 -0
- package/dist/parser/expansion-parser.d.ts +16 -0
- package/dist/parser/lexer.d.ts +192 -0
- package/dist/parser/parser-substitution.d.ts +62 -0
- package/dist/parser/parser.d.ts +135 -0
- package/dist/parser/types.d.ts +25 -0
- package/dist/parser/word-parser.d.ts +33 -0
- package/dist/sandbox/Command.d.ts +28 -0
- package/dist/sandbox/Sandbox.d.ts +60 -0
- package/dist/sandbox/index.d.ts +2 -0
- package/dist/shell-metadata.d.ts +28 -0
- package/dist/test-utils.d.ts +15 -0
- package/dist/types.d.ts +148 -0
- package/dist/utils/args.d.ts +55 -0
- package/dist/utils/bytes.d.ts +39 -0
- package/dist/utils/constants.d.ts +15 -0
- package/dist/utils/file-reader.d.ts +67 -0
- package/dist/utils/glob.d.ts +25 -0
- package/package.json +115 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as C,b as L,c as D}from"./chunk-KZ3P3SVS.js";import{g as U,h as y,i as k,l as F}from"./chunk-O7N2RCS7.js";var E=new Map([["sha1","SHA-1"],["sha256","SHA-256"]]);function H(n){function h(f,x){return f<<x|f>>>32-x}let p=new Uint32Array([3614090360,3905402710,606105819,3250441966,4118548399,1200080426,2821735955,4249261313,1770035416,2336552879,4294925233,2304563134,1804603682,4254626195,2792965006,1236535329,4129170786,3225465664,643717713,3921069994,3593408605,38016083,3634488961,3889429448,568446438,3275163606,4107603335,1163531501,2850285829,4243563512,1735328473,2368359562,4294588738,2272392833,1839030562,4259657740,2763975236,1272893353,4139469664,3200236656,681279174,3936430074,3572445317,76029189,3654602809,3873151461,530742520,3299628645,4096336452,1126891415,2878612391,4237533241,1700485571,2399980690,4293915773,2240044497,1873313359,4264355552,2734768916,1309151649,4149444226,3174756917,718787259,3951481745]),$=[7,12,17,22,7,12,17,22,7,12,17,22,7,12,17,22,5,9,14,20,5,9,14,20,5,9,14,20,5,9,14,20,4,11,16,23,4,11,16,23,4,11,16,23,4,11,16,23,6,10,15,21,6,10,15,21,6,10,15,21,6,10,15,21],g=n.length*8,a=(n.length%64<56?56:120)-n.length%64,d=new Uint8Array(n.length+a+8);d.set(n),d[n.length]=128;let A=new DataView(d.buffer);A.setUint32(d.length-8,g>>>0,!0),A.setUint32(d.length-4,Math.floor(g/4294967296),!0);let o=1732584193,b=4023233417,l=2562383102,w=271733878;for(let f=0;f<d.length;f+=64){let x=new Uint32Array(16);for(let t=0;t<16;t++)x[t]=A.getUint32(f+t*4,!0);let m=o,r=b,c=l,i=w;for(let t=0;t<64;t++){let s,u;t<16?(s=r&c|~r&i,u=t):t<32?(s=i&r|~i&c,u=(5*t+1)%16):t<48?(s=r^c^i,u=(3*t+5)%16):(s=c^(r|~i),u=7*t%16),s=s+m+p[t]+x[u]>>>0,m=i,i=c,c=r,r=r+h(s,$[t])>>>0}o=o+m>>>0,b=b+r>>>0,l=l+c>>>0,w=w+i>>>0}let e=new Uint8Array(16);return new DataView(e.buffer).setUint32(0,o,!0),new DataView(e.buffer).setUint32(4,b,!0),new DataView(e.buffer).setUint32(8,l,!0),new DataView(e.buffer).setUint32(12,w,!0),Array.from(e).map(f=>f.toString(16).padStart(2,"0")).join("")}async function S(n,h){if(n==="md5")return H(h);let p=E.get(n);if(!p)throw new Error(`Unknown algorithm: ${n}`);let $=await globalThis.crypto.subtle.digest(p,new Uint8Array(h).buffer);return Array.from(new Uint8Array($)).map(g=>g.toString(16).padStart(2,"0")).join("")}function O(n,h,p){let $={name:n,summary:p,usage:`${n} [OPTION]... [FILE]...`,options:["-c, --check read checksums from FILEs and check them"," --help display this help and exit"]};return{name:n,async execute(g,a){let d=F(g);if(L(d))return C($);let A=!1,o=[];for(let e of d)if(e==="-c"||e==="--check")A=!0;else if(!(e==="-b"||e==="-t"||e==="--binary"||e==="--text")){if(e.startsWith("-")&&e!=="-")return D(n,e);o.push(e)}o.length===0&&o.push("-");let b=async e=>{if(e==="-")return a.stdin;try{return await a.fs.readFileBuffer(a.fs.resolvePath(a.cwd,e))}catch{return null}};if(A){let e=0,f="";for(let x of o){let m=x==="-"?k(a.stdin):await a.fs.readFile(a.fs.resolvePath(a.cwd,x)).catch(()=>null);if(m===null)return{stdout:U,stderr:y(`${n}: ${x}: No such file or directory
|
|
2
|
+
`),exitCode:1};for(let r of m.split(`
|
|
3
|
+
`)){let c=r.match(/^([a-fA-F0-9]+)\s+[* ]?(.+)$/);if(!c)continue;let[,i,t]=c,s=await b(t);if(s===null){f+=`${t}: FAILED open or read
|
|
4
|
+
`,e++;continue}let u=await S(h,s)===i.toLowerCase();f+=`${t}: ${u?"OK":"FAILED"}
|
|
5
|
+
`,u||e++}}return e>0&&(f+=`${n}: WARNING: ${e} computed checksum${e>1?"s":""} did NOT match
|
|
6
|
+
`),{stdout:y(f),stderr:U,exitCode:e>0?1:0}}let l="",w=0;for(let e of o){let f=await b(e);if(f===null){l+=`${n}: ${e}: No such file or directory
|
|
7
|
+
`,w=1;continue}l+=`${await S(h,f)} ${e}
|
|
8
|
+
`}return{stdout:y(l),stderr:U,exitCode:w}}}}export{O as a};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{g as d,j as x,l as g}from"./chunk-O7N2RCS7.js";var l=new TextEncoder;function h(o,s){for(let e=0;e<s.length;e++)o.push(s[e])}function b(o){let s=[],e=0;for(;e<o.length;)if(o[e]==="\\"){if(e+1>=o.length){s.push(92);break}let a=o[e+1];switch(a){case"\\":s.push(92),e+=2;break;case"n":s.push(10),e+=2;break;case"t":s.push(9),e+=2;break;case"r":s.push(13),e+=2;break;case"a":s.push(7),e+=2;break;case"b":s.push(8),e+=2;break;case"f":s.push(12),e+=2;break;case"v":s.push(11),e+=2;break;case"e":case"E":s.push(27),e+=2;break;case"c":return{output:new Uint8Array(s),stop:!0};case"0":{let r="",t=e+2;for(;t<o.length&&t<e+5&&/[0-7]/.test(o[t]);)r+=o[t],t++;r.length===0?s.push(0):s.push(parseInt(r,8)%256),e=t;break}case"x":{let r="",t=e+2;for(;t<o.length&&t<e+4&&/[0-9a-fA-F]/.test(o[t]);)r+=o[t],t++;r.length===0?(s.push(92,120),e+=2):(s.push(parseInt(r,16)),e=t);break}case"u":{let r="",t=e+2;for(;t<o.length&&t<e+6&&/[0-9a-fA-F]/.test(o[t]);)r+=o[t],t++;if(r.length===0)h(s,l.encode("\\u")),e+=2;else{let f=parseInt(r,16);h(s,l.encode(String.fromCodePoint(f))),e=t}break}case"U":{let r="",t=e+2;for(;t<o.length&&t<e+10&&/[0-9a-fA-F]/.test(o[t]);)r+=o[t],t++;if(r.length===0)h(s,l.encode("\\U")),e+=2;else{let f=parseInt(r,16);try{h(s,l.encode(String.fromCodePoint(f)))}catch{h(s,l.encode(`\\U${r}`))}e=t}break}default:h(s,l.encode(`\\${a}`)),e+=2}}else{let a=o.charCodeAt(e);if(a<128)s.push(a),e++;else{let r=a>=55296&&a<=56319&&e+1<o.length?o.slice(e,e+2):o[e];h(s,l.encode(r)),e+=r.length}}return{output:new Uint8Array(s),stop:!1}}var w={name:"echo",async execute(o,s){let e=g(o),a=!1,r=s.xpgEcho??!1,t=0;for(;t<e.length;){let n=e[t];if(n==="-n")a=!0,t++;else if(n==="-e")r=!0,t++;else if(n==="-E")r=!1,t++;else if(n==="-ne"||n==="-en")a=!0,r=!0,t++;else break}if(r){let n=e.slice(t).join(" "),u=b(n);return u.stop?{stdout:u.output,stderr:d,exitCode:0}:{stdout:a?u.output:x(u.output,new Uint8Array([10])),stderr:d,exitCode:0}}let f=new Uint8Array([32]),p=new Uint8Array([10]),i=o.slice(t),c=d;for(let n=0;n<i.length;n++)n>0&&(c=x(c,f)),c=x(c,i[n]);return a||(c=x(c,p)),{stdout:c,stderr:d,exitCode:0}}},A={name:"echo",flags:[{flag:"-n",type:"boolean"},{flag:"-e",type:"boolean"},{flag:"-E",type:"boolean"}],stdinType:"none",needsArgs:!0};export{w as a,A as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as s}from"./chunk-AJNR4FJT.js";var a=s("sha1sum","sha1","compute SHA1 message digest"),m={name:"sha1sum",flags:[{flag:"-c",type:"boolean"}],needsFiles:!0};export{a,m as b};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var s=new TextEncoder;function h(a,c){for(let e=0;e<c.length;e++)a.push(c[e])}function o(a,c,e){let l=a;e>=0&&l.length>e&&(l=l.slice(0,e));let n=Math.abs(c);return n>l.length&&(c<0?l=l.padEnd(n," "):l=l.padStart(n," ")),l}function f(a,c){let e=c,l=0,n=-1,t=!1;for(e<a.length&&a[e]==="-"&&(t=!0,e++);e<a.length&&/\d/.test(a[e]);)l=l*10+parseInt(a[e],10),e++;if(e<a.length&&a[e]===".")for(e++,n=0;e<a.length&&/\d/.test(a[e]);)n=n*10+parseInt(a[e],10),e++;return t&&l>0&&(l=-l),[l,n,e-c]}function u(a){let c=[],e=0;for(;e<a.length;)if(a[e]==="\\"&&e+1<a.length)switch(a[e+1]){case"n":c.push(10),e+=2;break;case"t":c.push(9),e+=2;break;case"r":c.push(13),e+=2;break;case"\\":c.push(92),e+=2;break;case"a":c.push(7),e+=2;break;case"b":c.push(8),e+=2;break;case"f":c.push(12),e+=2;break;case"v":c.push(11),e+=2;break;case"e":case"E":c.push(27),e+=2;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let n="",t=e+1;for(;t<a.length&&t<e+4&&/[0-7]/.test(a[t]);)n+=a[t],t++;c.push(parseInt(n,8)&255),e=t;break}case"x":{let n=e,t=!1;for(;n+3<a.length&&a[n]==="\\"&&a[n+1]==="x"&&/[0-9a-fA-F]{2}/.test(a.slice(n+2,n+4));)c.push(parseInt(a.slice(n+2,n+4),16)),n+=4,t=!0;t?e=n:(h(c,s.encode(a[e])),e++);break}case"u":{let n="",t=e+2;for(;t<a.length&&t<e+6&&/[0-9a-fA-F]/.test(a[t]);)n+=a[t],t++;n?(h(c,s.encode(String.fromCodePoint(parseInt(n,16)))),e=t):(h(c,s.encode("\\u")),e+=2);break}case"U":{let n="",t=e+2;for(;t<a.length&&t<e+10&&/[0-9a-fA-F]/.test(a[t]);)n+=a[t],t++;n?(h(c,s.encode(String.fromCodePoint(parseInt(n,16)))),e=t):(h(c,s.encode("\\U")),e+=2);break}default:h(c,s.encode(a[e])),e++}else{let l=a.charCodeAt(e);if(l<128)c.push(l),e++;else{let n=l>=55296&&l<=56319&&e+1<a.length?a.slice(e,e+2):a[e];h(c,s.encode(n)),e+=n.length}}return new Uint8Array(c)}function b(a){let c="",e=0;for(;e<a.length;)if(a[e]==="\\"&&e+1<a.length)switch(a[e+1]){case"n":c+=`
|
|
2
|
+
`,e+=2;break;case"t":c+=" ",e+=2;break;case"r":c+="\r",e+=2;break;case"\\":c+="\\",e+=2;break;case"a":c+="\x07",e+=2;break;case"b":c+="\b",e+=2;break;case"f":c+="\f",e+=2;break;case"v":c+="\v",e+=2;break;case"e":case"E":c+="\x1B",e+=2;break;case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":{let n="",t=e+1;for(;t<a.length&&t<e+4&&/[0-7]/.test(a[t]);)n+=a[t],t++;c+=String.fromCharCode(parseInt(n,8)),e=t;break}case"x":{let n=[],t=e;for(;t+3<a.length&&a[t]==="\\"&&a[t+1]==="x"&&/[0-9a-fA-F]{2}/.test(a.slice(t+2,t+4));)n.push(parseInt(a.slice(t+2,t+4),16)),t+=4;if(n.length>0){try{let i=new TextDecoder("utf-8",{fatal:!0});c+=i.decode(new Uint8Array(n))}catch{for(let i of n)c+=String.fromCharCode(i)}e=t}else c+=a[e],e++;break}case"u":{let n="",t=e+2;for(;t<a.length&&t<e+6&&/[0-9a-fA-F]/.test(a[t]);)n+=a[t],t++;n?(c+=String.fromCodePoint(parseInt(n,16)),e=t):(c+="\\u",e+=2);break}case"U":{let n="",t=e+2;for(;t<a.length&&t<e+10&&/[0-9a-fA-F]/.test(a[t]);)n+=a[t],t++;n?(c+=String.fromCodePoint(parseInt(n,16)),e=t):(c+="\\U",e+=2);break}default:c+=a[e],e++}else c+=a[e],e++;return c}export{o as a,f as b,u as c,b as d};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as d,b as l}from"./chunk-KZ3P3SVS.js";import{g as t,h as r,l as m}from"./chunk-O7N2RCS7.js";var p={name:"dirname",summary:"strip last component from file name",usage:"dirname [OPTION] NAME...",options:[" --help display this help and exit"]},g={name:"dirname",async execute(c,f){let a=m(c);if(l(a))return d(p);let o=a.filter(s=>!s.startsWith("-"));if(o.length===0)return{stdout:t,stderr:r(`dirname: missing operand
|
|
2
|
+
`),exitCode:1};let e=[];for(let s of o){let i=s.replace(/\/+$/,""),n=i.lastIndexOf("/");n===-1?e.push("."):n===0?e.push("/"):e.push(i.slice(0,n))}return{stdout:r(`${e.join(`
|
|
3
|
+
`)}
|
|
4
|
+
`),stderr:t,exitCode:0}}},x={name:"dirname",flags:[],needsArgs:!0};export{g as a,x as b};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{b as q}from"./chunk-EVNUXIEZ.js";import{a as h}from"./chunk-OXRHP7HO.js";import{a as m,b as y}from"./chunk-KZ3P3SVS.js";import{g as l,h as d,i as f,l as g}from"./chunk-O7N2RCS7.js";var P={name:"uniq",summary:"report or omit repeated lines",usage:"uniq [OPTION]... [INPUT [OUTPUT]]",options:["-c, --count prefix lines by the number of occurrences","-d, --repeated only print duplicate lines","-i, --ignore-case ignore case when comparing","-u, --unique only print unique lines"," --help display this help and exit"]},A={count:{short:"c",long:"count",type:"boolean"},duplicatesOnly:{short:"d",long:"repeated",type:"boolean"},uniqueOnly:{short:"u",long:"unique",type:"boolean"},ignoreCase:{short:"i",long:"ignore-case",type:"boolean"}},z={name:"uniq",async execute(b,C){let p=g(b);if(y(p))return m(P);let o=h("uniq",p,A);if(!o.ok)return o.error;let{count:x,duplicatesOnly:O,uniqueOnly:T,ignoreCase:w}=o.result.flags,F=o.result.positional,u=await q(C,F,{cmdName:"uniq"});if(!u.ok)return u.error;let n=f(u.content).split(`
|
|
2
|
+
`);if(n.length>0&&n[n.length-1]===""&&n.pop(),n.length===0)return{stdout:l,stderr:l,exitCode:0};let t=[],r=n[0],i=1,L=(e,s)=>w?e.toLowerCase()===s.toLowerCase():e===s;for(let e=1;e<n.length;e++)L(n[e],r)?i++:(t.push({line:r,count:i}),r=n[e],i=1);t.push({line:r,count:i});let a=t;O?a=t.filter(e=>e.count>1):T&&(a=t.filter(e=>e.count===1));let c="";for(let{line:e,count:s}of a)x?c+=`${String(s).padStart(4)} ${e}
|
|
3
|
+
`:c+=`${e}
|
|
4
|
+
`;return{stdout:d(c),stderr:l,exitCode:0}}},I={name:"uniq",flags:[{flag:"-c",type:"boolean"},{flag:"-d",type:"boolean"},{flag:"-u",type:"boolean"},{flag:"-i",type:"boolean"}],stdinType:"text",needsFiles:!0};export{z as a,I as b};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import{a as _}from"./chunk-IJXFPKNC.js";import{a as ae}from"./chunk-YNYSPYQ5.js";import{a as ue,b as he,d as de}from"./chunk-BMKJMOWP.js";import{a as pe,b as fe}from"./chunk-KZ3P3SVS.js";import{g as re,h as Y,i as Z,l as ce}from"./chunk-O7N2RCS7.js";function k(e,t){switch(e.type){case"name":{let n=e.pattern,r=n.match(/^\*(\.[a-zA-Z0-9]+)$/);if(r){let s=r[1],c=t.name;if(e.ignoreCase){if(!c.toLowerCase().endsWith(s.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!c.endsWith(s))return{matches:!1,pruned:!1,printed:!1};return{matches:!0,pruned:!1,printed:!1}}return{matches:_(t.name,n,e.ignoreCase),pruned:!1,printed:!1}}case"path":{let n=e.pattern,r=t.relativePath,s=n.split("/");for(let i=0;i<s.length-1;i++){let a=s[i];if(a&&a!=="."&&a!==".."&&!a.includes("*")&&!a.includes("?")&&!a.includes("[")){let l=`/${a}/`;if(e.ignoreCase){if(!r.toLowerCase().includes(l.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!r.includes(l))return{matches:!1,pruned:!1,printed:!1}}}let c=n.match(/\*(\.[a-zA-Z0-9]+)$/);if(c){let i=c[1];if(e.ignoreCase){if(!r.toLowerCase().endsWith(i.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!r.endsWith(i))return{matches:!1,pruned:!1,printed:!1}}return{matches:_(r,n,e.ignoreCase),pruned:!1,printed:!1}}case"regex":try{let n=e.ignoreCase?"i":"";return{matches:ae(e.pattern,n).test(t.relativePath),pruned:!1,printed:!1}}catch{return{matches:!1,pruned:!1,printed:!1}}case"type":return e.fileType==="f"?{matches:t.isFile,pruned:!1,printed:!1}:e.fileType==="d"?{matches:t.isDirectory,pruned:!1,printed:!1}:{matches:!1,pruned:!1,printed:!1};case"empty":return{matches:t.isEmpty,pruned:!1,printed:!1};case"mtime":{let r=(Date.now()-t.mtime)/(1e3*60*60*24),s;return e.comparison==="more"?s=r>e.days:e.comparison==="less"?s=r<e.days:s=Math.floor(r)===e.days,{matches:s,pruned:!1,printed:!1}}case"newer":{let n=t.newerRefTimes.get(e.refPath);return n===void 0?{matches:!1,pruned:!1,printed:!1}:{matches:t.mtime>n,pruned:!1,printed:!1}}case"size":{let n=e.value;switch(e.unit){case"c":n=e.value;break;case"k":n=e.value*1024;break;case"M":n=e.value*1024*1024;break;case"G":n=e.value*1024*1024*1024;break;case"b":n=e.value*512;break}let r;return e.comparison==="more"?r=t.size>n:e.comparison==="less"?r=t.size<n:e.unit==="b"?r=Math.ceil(t.size/512)===e.value:r=t.size===n,{matches:r,pruned:!1,printed:!1}}case"perm":{let n=t.mode&511,r=e.mode&511,s;return e.matchType==="exact"?s=n===r:e.matchType==="all"?s=(n&r)===r:s=(n&r)!==0,{matches:s,pruned:!1,printed:!1}}case"prune":return{matches:!0,pruned:!0,printed:!1};case"print":return{matches:!0,pruned:!1,printed:!0};case"not":{let n=k(e.expr,t);return{matches:!n.matches,pruned:n.pruned,printed:!1}}case"and":{let n=k(e.left,t);if(!n.matches)return{matches:!1,pruned:n.pruned,printed:!1};let r=k(e.right,t);return{matches:r.matches,pruned:n.pruned||r.pruned,printed:n.printed||r.printed}}case"or":{let n=k(e.left,t);if(n.matches)return n;let r=k(e.right,t);return{matches:r.matches,pruned:n.pruned||r.pruned,printed:r.printed}}}}function V(e){if(!e)return!1;switch(e.type){case"name":case"path":case"regex":case"type":case"prune":case"print":return!1;case"empty":case"mtime":case"newer":case"size":case"perm":return!0;case"not":return V(e.expr);case"and":case"or":return V(e.left)||V(e.right)}}function J(e){if(!e)return!1;switch(e.type){case"empty":return!0;case"not":return J(e.expr);case"and":case"or":return J(e.left)||J(e.right);default:return!1}}function me(e){let t={terminalDirName:null,requiredExtension:null};if(!e)return t;let n=Fe(e);if(Ie(e)&&n.length===1){let c=n[0].split("/").filter(i=>i.length>0);if(c.length>=2)for(let i=c.length-2;i>=0;i--){let a=c[i];if(!a.includes("*")&&!a.includes("?")&&!a.includes("[")&&a!=="."&&a!==".."){let l=c[i+1];if(l&&(l.includes("*")||l.includes("?"))){t.terminalDirName=a;let o=l.match(/^\*(\.[a-zA-Z0-9]+)$/);o&&(t.requiredExtension=o[1])}break}}}return t}function Fe(e){let t=[],n=r=>{r.type==="path"?t.push(r.pattern):r.type==="not"?n(r.expr):(r.type==="and"||r.type==="or")&&(n(r.left),n(r.right))};return n(e),t}function Ie(e){let t=n=>n.type==="type"&&n.fileType==="f"?!0:n.type==="not"?t(n.expr):n.type==="and"||n.type==="or"?t(n.left)||t(n.right):!1;return t(e)}function ye(e){let t=[],n=r=>{r&&(r.type==="newer"?t.push(r.refPath):r.type==="not"?n(r.expr):(r.type==="and"||r.type==="or")&&(n(r.left),n(r.right)))};return n(e),t}function Q(e){if(!e)return!0;switch(e.type){case"name":case"path":case"regex":case"type":case"prune":case"print":return!0;case"empty":case"mtime":case"newer":case"size":case"perm":return!1;case"not":return Q(e.expr);case"and":case"or":return Q(e.left)&&Q(e.right)}}function H(e,t,n,r,s){switch(e.type){case"name":{let c=e.pattern,i=c.match(/^\*(\.[a-zA-Z0-9]+)$/);if(i){let a=i[1];if(e.ignoreCase){if(!t.toLowerCase().endsWith(a.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!t.endsWith(a))return{matches:!1,pruned:!1,printed:!1};return{matches:!0,pruned:!1,printed:!1}}return{matches:_(t,c,e.ignoreCase),pruned:!1,printed:!1}}case"path":{let c=e.pattern,i=c.split("/");for(let l=0;l<i.length-1;l++){let o=i[l];if(o&&o!=="."&&o!==".."&&!o.includes("*")&&!o.includes("?")&&!o.includes("[")){let u=`/${o}/`;if(e.ignoreCase){if(!n.toLowerCase().includes(u.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!n.includes(u))return{matches:!1,pruned:!1,printed:!1}}}let a=c.match(/\*(\.[a-zA-Z0-9]+)$/);if(a){let l=a[1];if(e.ignoreCase){if(!n.toLowerCase().endsWith(l.toLowerCase()))return{matches:!1,pruned:!1,printed:!1}}else if(!n.endsWith(l))return{matches:!1,pruned:!1,printed:!1}}return{matches:_(n,c,e.ignoreCase),pruned:!1,printed:!1}}case"regex":try{let c=e.ignoreCase?"i":"";return{matches:ae(e.pattern,c).test(n),pruned:!1,printed:!1}}catch{return{matches:!1,pruned:!1,printed:!1}}case"type":return e.fileType==="f"?{matches:r,pruned:!1,printed:!1}:e.fileType==="d"?{matches:s,pruned:!1,printed:!1}:{matches:!1,pruned:!1,printed:!1};case"prune":return{matches:!0,pruned:!0,printed:!1};case"print":return{matches:!0,pruned:!1,printed:!0};case"not":{let c=H(e.expr,t,n,r,s);return{matches:!c.matches,pruned:c.pruned,printed:!1}}case"and":{let c=H(e.left,t,n,r,s);if(!c.matches)return{matches:!1,pruned:c.pruned,printed:!1};let i=H(e.right,t,n,r,s);return{matches:i.matches,pruned:c.pruned||i.pruned,printed:c.printed||i.printed}}case"or":{let c=H(e.left,t,n,r,s);if(c.matches)return c;let i=H(e.right,t,n,r,s);return{matches:i.matches,pruned:c.pruned||i.pruned,printed:i.printed}}default:return{matches:!1,pruned:!1,printed:!1}}}function U(e){if(!e)return!1;switch(e.type){case"prune":return!0;case"not":return U(e.expr);case"and":case"or":return U(e.left)||U(e.right);default:return!1}}function z(e){switch(e.type){case"name":case"path":case"regex":case"type":case"prune":case"print":return!0;case"empty":case"mtime":case"newer":case"size":case"perm":return!1;case"not":return z(e.expr);case"and":case"or":return z(e.left)&&z(e.right)}}function ge(e,t){if(!e||!t.isDirectory)return{shouldPrune:!1};if(!z(e))return ie(e,t);let n={name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map};return{shouldPrune:k(e,n).pruned}}function ie(e,t){switch(e.type){case"or":{if(z(e.left)){let n={name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map};if(k(e.left,n).pruned)return{shouldPrune:!0}}return ie(e.right,t)}case"and":{if(z(e.left)&&z(e.right)){let n={name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map};return{shouldPrune:k(e,n).pruned}}if(z(e.left)){let n={name:t.name,relativePath:t.relativePath,isFile:t.isFile,isDirectory:t.isDirectory,isEmpty:!1,mtime:0,size:0,mode:0,newerRefTimes:new Map};return k(e.left,n).matches?ie(e.right,t):{shouldPrune:!1}}return{shouldPrune:!1}}case"not":return{shouldPrune:!1};default:return{shouldPrune:!1}}}function we(e,t){let n=[],r=[],s=t;for(;s<e.length;){let i=e[s];if(i==="("||i==="\\("){n.push({type:"lparen"}),s++;continue}if(i===")"||i==="\\)"){n.push({type:"rparen"}),s++;continue}if(i==="-name"&&s+1<e.length)n.push({type:"expr",expr:{type:"name",pattern:e[++s]}});else if(i==="-iname"&&s+1<e.length)n.push({type:"expr",expr:{type:"name",pattern:e[++s],ignoreCase:!0}});else if(i==="-path"&&s+1<e.length)n.push({type:"expr",expr:{type:"path",pattern:e[++s]}});else if(i==="-ipath"&&s+1<e.length)n.push({type:"expr",expr:{type:"path",pattern:e[++s],ignoreCase:!0}});else if(i==="-regex"&&s+1<e.length)n.push({type:"expr",expr:{type:"regex",pattern:e[++s]}});else if(i==="-iregex"&&s+1<e.length)n.push({type:"expr",expr:{type:"regex",pattern:e[++s],ignoreCase:!0}});else if(i==="-type"&&s+1<e.length){let a=e[++s];if(a==="f"||a==="d")n.push({type:"expr",expr:{type:"type",fileType:a}});else return{expr:null,pathIndex:s,error:`find: Unknown argument to -type: ${a}
|
|
2
|
+
`,actions:[]}}else if(i==="-empty")n.push({type:"expr",expr:{type:"empty"}});else if(i==="-mtime"&&s+1<e.length){let a=e[++s],l="exact",o=a;a.startsWith("+")?(l="more",o=a.slice(1)):a.startsWith("-")&&(l="less",o=a.slice(1));let u=parseInt(o,10);Number.isNaN(u)||n.push({type:"expr",expr:{type:"mtime",days:u,comparison:l}})}else if(i==="-newer"&&s+1<e.length){let a=e[++s];n.push({type:"expr",expr:{type:"newer",refPath:a}})}else if(i==="-size"&&s+1<e.length){let a=e[++s],l="exact",o=a;a.startsWith("+")?(l="more",o=a.slice(1)):a.startsWith("-")&&(l="less",o=a.slice(1));let u=o.match(/^(\d+)([ckMGb])?$/);if(u){let B=parseInt(u[1],10),X=u[2]||"b";n.push({type:"expr",expr:{type:"size",value:B,unit:X,comparison:l}})}}else if(i==="-perm"&&s+1<e.length){let a=e[++s],l="exact",o=a;a.startsWith("-")?(l="all",o=a.slice(1)):a.startsWith("/")&&(l="any",o=a.slice(1));let u=parseInt(o,8);Number.isNaN(u)||n.push({type:"expr",expr:{type:"perm",mode:u,matchType:l}})}else if(i==="-prune")n.push({type:"expr",expr:{type:"prune"}});else if(i==="-not"||i==="!")n.push({type:"not"});else if(i==="-o"||i==="-or")n.push({type:"op",op:"or"});else if(i==="-a"||i==="-and")n.push({type:"op",op:"and"});else if(i==="-maxdepth"||i==="-mindepth")s++;else if(i!=="-depth")if(i==="-exec"){let a=[];for(s++;s<e.length&&e[s]!==";"&&e[s]!=="+";)a.push(e[s]),s++;if(s>=e.length)return{expr:null,pathIndex:s,error:"find: missing argument to `-exec'\n",actions:[]};let l=e[s]==="+";r.push({type:"exec",command:a,batchMode:l})}else if(i==="-print")n.push({type:"expr",expr:{type:"print"}}),r.push({type:"print"});else if(i==="-print0")r.push({type:"print0"});else if(i==="-printf"&&s+1<e.length){let a=e[++s];r.push({type:"printf",format:a})}else if(i==="-delete")r.push({type:"delete"});else{if(i.startsWith("-"))return{expr:null,pathIndex:s,error:`find: unknown predicate '${i}'
|
|
3
|
+
`,actions:[]};if(n.length===0){s++;continue}break}s++}if(n.length===0)return{expr:null,pathIndex:s,actions:r};let c=$e(n);return c.error?{expr:null,pathIndex:s,error:c.error,actions:r}:{expr:c.expr,pathIndex:s,actions:r}}function $e(e){let t=0;function n(){let a=r();if(!a)return null;for(;t<e.length;){let l=e[t];if(l.type==="op"&&l.op==="or"){t++;let o=r();if(!o)return a;a={type:"or",left:a,right:o}}else break}return a}function r(){let a=s();if(!a)return null;for(;t<e.length;){let l=e[t];if(l.type==="op"&&l.op==="and"){t++;let o=s();if(!o)return a;a={type:"and",left:a,right:o}}else if(l.type==="expr"||l.type==="not"||l.type==="lparen"){let o=s();if(!o)return a;a={type:"and",left:a,right:o}}else break}return a}function s(){if(t<e.length&&e[t].type==="not"){t++;let a=s();return a?{type:"not",expr:a}:null}return c()}function c(){if(t>=e.length)return null;let a=e[t];if(a.type==="lparen"){t++;let l=n();return t<e.length&&e[t].type==="rparen"&&t++,l}return a.type==="expr"?(t++,a.expr):(a.type==="rparen",null)}return{expr:n()}}var De=500;function Re(){return{readdirCalls:0,readdirTime:0,statCalls:0,statTime:0,evalCalls:0,evalTime:0,nodeCount:0,batchCount:0,batchTime:0,earlyPrunes:0}}function ke(e,t,n){e({category:"find",name:"summary",durationMs:n,details:{readdirCalls:t.readdirCalls,readdirTimeMs:t.readdirTime,statCalls:t.statCalls,statTimeMs:t.statTime,evalCalls:t.evalCalls,evalTimeMs:t.evalTime,nodeCount:t.nodeCount,batchCount:t.batchCount,batchTimeMs:t.batchTime,earlyPrunes:t.earlyPrunes,otherTimeMs:n-t.readdirTime-t.statTime-t.evalTime-t.batchTime}})}var Ne={name:"find",summary:"search for files in a directory hierarchy",usage:"find [path...] [expression]",options:["-name PATTERN file name matches shell pattern PATTERN","-iname PATTERN like -name but case insensitive","-path PATTERN file path matches shell pattern PATTERN","-ipath PATTERN like -path but case insensitive","-regex PATTERN file path matches regular expression PATTERN","-iregex PATTERN like -regex but case insensitive","-type TYPE file is of type: f (regular file), d (directory)","-empty file is empty or directory is empty","-mtime N file's data was modified N*24 hours ago","-newer FILE file was modified more recently than FILE","-size N[ckMGb] file uses N units of space (c=bytes, k=KB, M=MB, G=GB, b=512B blocks)","-perm MODE file's permission bits are exactly MODE (octal)","-perm -MODE all permission bits MODE are set","-perm /MODE any permission bits MODE are set","-maxdepth LEVELS descend at most LEVELS directories","-mindepth LEVELS do not apply tests at levels less than LEVELS","-depth process directory contents before directory itself","-prune do not descend into this directory","-not, ! negate the following expression","-a, -and logical AND (default)","-o, -or logical OR","-exec CMD {} ; execute CMD on each file ({} is replaced by filename)","-exec CMD {} + execute CMD with multiple files at once","-print print the full file name (default action)","-print0 print the full file name followed by a null character","-printf FORMAT print FORMAT with directives: %f %h %p %P %s %d %m %M %t","-delete delete found files/directories"," --help display this help and exit"]},We=new Set(["-name","-iname","-path","-ipath","-regex","-iregex","-type","-maxdepth","-mindepth","-mtime","-newer","-size","-perm"]),Qe={name:"find",async execute(e,t){let n=ce(e);if(fe(n))return pe(Ne);let r=[],s=null,c=null,i=!1,a=!1;for(let p=0;p<n.length;p++){let f=n[p];if(f==="-maxdepth"&&p+1<n.length)a=!0,s=parseInt(n[++p],10);else if(f==="-mindepth"&&p+1<n.length)a=!0,c=parseInt(n[++p],10);else if(f==="-depth")a=!0,i=!0;else if(f==="-exec")for(a=!0,p++;p<n.length&&n[p]!==";"&&n[p]!=="+";)p++;else!f.startsWith("-")&&f!==";"&&f!=="+"&&f!=="("&&f!==")"&&f!=="\\("&&f!=="\\)"&&f!=="!"?a||r.push(f):We.has(f)?(a=!0,p++):(f.startsWith("-")||f==="("||f==="\\("||f==="!")&&(a=!0)}r.length===0&&r.push(".");let{expr:l,error:o,actions:u}=we(n,0);if(o)return{stdout:re,stderr:Y(o),exitCode:1};let B=u.some(p=>p.type==="print"),X=u.length===0,N=[],Te=u.some(p=>p.type==="printf"),le=[],q="",G=0,Pe=ye(l),ee=new Map;for(let p of Pe){let f=t.fs.resolvePath(t.cwd,p);try{let d=await t.fs.stat(f);ee.set(p,d.mtime?.getTime()??Date.now())}catch{}}let Ce=u.some(p=>{if(p.type!=="printf")return!1;let f=p.format.replace(/%%/g,"");return/%[-+]?[0-9]*\.?[0-9]*(s|m|M|t|T)/.test(f)}),Se=V(l)||Ce,be=J(l),te=me(l),oe=U(l),Ee=Q(l),ve=typeof t.fs.readdirWithFileTypes=="function";for(let p of r){let W=function(h){let $=c===null||h.depth>=c,C=!1;if($&&l!==null){let S=Date.now(),y;if(Ee)y=H(l,h.name,h.relativePath,h.isFile,h.isDirectory);else{let m={name:h.name,relativePath:h.relativePath,isFile:h.isFile,isDirectory:h.isDirectory,isEmpty:h.isEmpty,mtime:h.stat?.mtime?.getTime()??Date.now(),size:h.stat?.size??0,mode:h.stat?.mode??420,newerRefTimes:ee};y=k(l,m)}$=y.matches,C=B?y.printed:$,d.evalCalls++,d.evalTime+=Date.now()-S}else $&&(C=!0);return C?{print:!0,printfData:Te?{path:h.relativePath,name:h.name,size:h.stat?.size??0,mtime:h.stat?.mtime?.getTime()??Date.now(),mode:h.stat?.mode??420,isDirectory:h.isDirectory,depth:h.depth,startingPoint:p}:null}:{print:!1,printfData:null}};var Oe=W;p.length>1&&p.endsWith("/")&&(p=p.slice(0,-1));let f=t.fs.resolvePath(t.cwd,p);try{await t.fs.stat(f)}catch{q+=`find: ${p}: No such file or directory
|
|
4
|
+
`,G=1;continue}let d=Re(),I=Date.now();async function b(h){let{path:E,depth:$,typeInfo:C}=h;if(d.nodeCount++,s!==null&&$>s)return null;let v,S,y;if(C&&!Se)v=C.isFile,S=C.isDirectory;else{try{let L=Date.now();y=await t.fs.stat(E),d.statCalls++,d.statTime+=Date.now()-L}catch{return null}if(!y)return null;v=y.isFile,S=y.isDirectory}let m;E===f?m=p.split("/").pop()||p:m=E.split("/").pop()||"";let g=E===f?p:p==="."?`./${E.slice(f==="/"?f.length:f.length+1)}`:p+E.slice(f.length),T=[],P=null,w=null,D=!1;S&&oe&&!i&&(D=ge(l,{name:m,relativePath:g,isFile:v,isDirectory:S}).shouldPrune,D&&d.earlyPrunes++);let x=s!==null&&$>=s,F=te.terminalDirName!==null&&m===te.terminalDirName,j=!x&&!F&&!D;if(S&&((j||be||F)&&!D)){let L=Date.now();if(ve&&t.fs.readdirWithFileTypes){if(P=await t.fs.readdirWithFileTypes(E),w=P.map(M=>M.name),d.readdirCalls++,d.readdirTime+=Date.now()-L,j)T=P.map((M,R)=>({path:E==="/"?`/${M.name}`:`${E}/${M.name}`,depth:$+1,typeInfo:{isFile:M.isFile,isDirectory:M.isDirectory},resultIndex:R}));else if(F){let M=te.requiredExtension;T=P.filter(R=>R.isFile&&(!M||R.name.endsWith(M))).map((R,xe)=>({path:E==="/"?`/${R.name}`:`${E}/${R.name}`,depth:$+1,typeInfo:{isFile:R.isFile,isDirectory:R.isDirectory},resultIndex:xe}))}}else w=await t.fs.readdir(E),d.readdirCalls++,d.readdirTime+=Date.now()-L,j&&(T=w.map((M,R)=>({path:E==="/"?`/${M}`:`${E}/${M}`,depth:$+1,resultIndex:R})))}let K=v?(y?.size??0)===0:w!==null&&w.length===0,O=D;if(!i&&l!==null&&!D&&oe){let L=Date.now(),M={name:m,relativePath:g,isFile:v,isDirectory:S,isEmpty:K,mtime:y?.mtime?.getTime()??Date.now(),size:y?.size??0,mode:y?.mode??420,newerRefTimes:ee};O=k(l,M).pruned,d.evalCalls++,d.evalTime+=Date.now()-L}return{relativePath:g,name:m,isFile:v,isDirectory:S,isEmpty:K,stat:y,depth:$,children:O?[]:T,pruned:O}}async function Me(){let h={paths:[],printfData:[]};if(i){let y=function(m){let g={paths:[],printfData:[]},T=C[m];if(!T)return g;for(let D of T.childIndices){let x=y(D);g.paths.push(...x.paths),g.printfData.push(...x.printfData)}let{print:P,printfData:w}=W(T.node);return P&&(g.paths.push(T.node.relativePath),w&&g.printfData.push(w)),g};var E=y;let C=[],v=[{item:{path:f,depth:0,resultIndex:0},parentIndex:-1,childOrderInParent:0}],S=new Map;for(;v.length>0;){let m=Date.now(),g=v.splice(0,De),T=await Promise.all(g.map(P=>b(P.item)));d.batchCount++,d.batchTime+=Date.now()-m;for(let P=0;P<g.length;P++){let w=T[P],D=g[P];if(!w)continue;let x=C.length;if(D.parentIndex>=0){let F=S.get(D.parentIndex)||[];F.push(x),S.set(D.parentIndex,F)}C.push({node:w,parentIndex:D.parentIndex,childIndices:[]});for(let F=0;F<w.children.length;F++)v.push({item:w.children[F],parentIndex:x,childOrderInParent:F})}}for(let[m,g]of S)m>=0&&m<C.length&&(C[m].childIndices=g);if(C.length>0){let m=y(0);h.paths.push(...m.paths),h.printfData.push(...m.printfData)}}else{let m=function(g){let T=C.get(g);T&&(h.paths.push(T.path),T.printfData&&h.printfData.push(T.printfData));let P=y.get(g);if(P)for(let w of P)m(w)};var $=m;let C=new Map,v=0,S=[{item:{path:f,depth:0,resultIndex:0},orderIndex:v++}],y=new Map;for(;S.length>0;){let g=Date.now(),T=S.splice(0,De),P=await Promise.all(T.map(async({item:w,orderIndex:D})=>{let x=await b(w);return x?{node:x,orderIndex:D}:null}));d.batchCount++,d.batchTime+=Date.now()-g;for(let w of P){if(!w)continue;let{node:D,orderIndex:x}=w,{print:F,printfData:j}=W(D);if(F&&C.set(x,{path:D.relativePath,printfData:j}),D.children.length>0){let se=[];for(let K of D.children){let O=v++;se.push(O),S.push({item:K,orderIndex:O})}y.set(x,se)}}}m(0)}return h}let ne=await Me();if(N.push(...ne.paths),le.push(...ne.printfData),t.trace){let h=Date.now()-I;ke(t.trace,d,h),t.trace({category:"find",name:"searchPath",durationMs:h,details:{path:p,resultsFound:ne.paths.length}})}}let A="";if(u.length>0)for(let p of u)switch(p.type){case"print":A+=N.length>0?`${N.join(`
|
|
5
|
+
`)}
|
|
6
|
+
`:"";break;case"print0":A+=N.length>0?`${N.join("\0")}\0`:"";break;case"delete":{let f=[...N].sort((d,I)=>I.length-d.length);for(let d of f){let I=t.fs.resolvePath(t.cwd,d);try{await t.fs.rm(I,{recursive:!1})}catch(b){let W=b instanceof Error?b.message:String(b);q+=`find: cannot delete '${d}': ${W}
|
|
7
|
+
`,G=1}}break}case"printf":for(let f of le)A+=ze(p.format,f);break;case"exec":if(!t.exec)return{stdout:re,stderr:Y(`find: -exec not supported in this context
|
|
8
|
+
`),exitCode:1};if(p.batchMode){let f=[];for(let b of p.command)b==="{}"?f.push(...N):f.push(b);let d=f.map(b=>`"${b}"`).join(" "),I=await t.exec(d,{cwd:t.cwd});A+=Z(I.stdout),q+=Z(I.stderr),I.exitCode!==0&&(G=I.exitCode)}else for(let f of N){let I=p.command.map(W=>W==="{}"?f:W).map(W=>`"${W}"`).join(" "),b=await t.exec(I,{cwd:t.cwd});A+=Z(b.stdout),q+=Z(b.stderr),b.exitCode!==0&&(G=b.exitCode)}break}else X&&(A=N.length>0?`${N.join(`
|
|
9
|
+
`)}
|
|
10
|
+
`:"");return{stdout:Y(A),stderr:Y(q),exitCode:G}}};function ze(e,t){let n=de(e),r="",s=0;for(;s<n.length;)if(n[s]==="%"&&s+1<n.length){if(s++,n[s]==="%"){r+="%",s++;continue}let[c,i,a]=he(n,s);if(s+=a,s>=n.length){r+="%";break}let l=n[s],o;switch(l){case"f":o=t.name,s++;break;case"h":{let u=t.path.lastIndexOf("/");o=u>0?t.path.slice(0,u):".",s++;break}case"p":o=t.path,s++;break;case"P":{let u=t.startingPoint;t.path===u?o="":t.path.startsWith(`${u}/`)?o=t.path.slice(u.length+1):u==="."&&t.path.startsWith("./")?o=t.path.slice(2):o=t.path,s++;break}case"s":o=String(t.size),s++;break;case"d":o=String(t.depth),s++;break;case"m":o=(t.mode&511).toString(8),s++;break;case"M":o=Ae(t.mode,t.isDirectory),s++;break;case"t":{let u=new Date(t.mtime);o=Le(u),s++;break}case"T":{if(s+1<n.length){let u=n[s+1],B=new Date(t.mtime);o=He(B,u),s+=2}else o="%T",s++;break}default:r+=`%${c!==0||i!==-1?`${c}.${i}`:""}${l}`,s++;continue}r+=ue(o,c,i)}else r+=n[s],s++;return r}function Ae(e,t){let n=e&511,r=t?"d":"-";return r+=n&256?"r":"-",r+=n&128?"w":"-",r+=n&64?"x":"-",r+=n&32?"r":"-",r+=n&16?"w":"-",r+=n&8?"x":"-",r+=n&4?"r":"-",r+=n&2?"w":"-",r+=n&1?"x":"-",r}function Le(e){let t=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],n=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],r=t[e.getDay()],s=n[e.getMonth()],c=String(e.getDate()).padStart(2," "),i=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),l=String(e.getSeconds()).padStart(2,"0"),o=e.getFullYear();return`${r} ${s} ${c} ${i}:${a}:${l} ${o}`}function He(e,t){switch(t){case"@":return String(e.getTime()/1e3);case"Y":return String(e.getFullYear());case"m":return String(e.getMonth()+1).padStart(2,"0");case"d":return String(e.getDate()).padStart(2,"0");case"H":return String(e.getHours()).padStart(2,"0");case"M":return String(e.getMinutes()).padStart(2,"0");case"S":return String(e.getSeconds()).padStart(2,"0");case"T":return`${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`;case"F":return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")}`;default:return`%T${t}`}}var Ue={name:"find",flags:[{flag:"-name",type:"value",valueHint:"pattern"},{flag:"-iname",type:"value",valueHint:"pattern"},{flag:"-type",type:"value",valueHint:"string"},{flag:"-maxdepth",type:"value",valueHint:"number"},{flag:"-mindepth",type:"value",valueHint:"number"},{flag:"-empty",type:"boolean"},{flag:"-print",type:"boolean"},{flag:"-print0",type:"boolean"}],needsFiles:!0};export{Qe as a,Ue as b};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import{a as O,b as I,c as $,d as ze,e as C,f as b,g as Z,h as Q}from"./chunk-GOG2LNAH.js";import{a as rt}from"./chunk-7VHVF5PX.js";import{a as j}from"./chunk-GD5SDRL7.js";import{d as B}from"./chunk-7MKBHGLS.js";import{a as Y}from"./chunk-YNYSPYQ5.js";import{a as Je}from"./chunk-EVNUXIEZ.js";import{a as U,b as X}from"./chunk-KZ3P3SVS.js";import{b as _e,d as tt,e as nt,f as st,g as m,h as y,i as H,l as He}from"./chunk-O7N2RCS7.js";var J,Ye=_e(()=>{"use strict";J=class{input;pos=0;tokens=[];constructor(n){this.input=n}tokenize(){for(;this.pos<this.input.length&&(this.skipWhitespace(),!(this.pos>=this.input.length));){let n=this.nextToken();n&&this.tokens.push(n)}return this.tokens.push({type:"eof",value:"",pos:this.pos}),this.tokens}skipWhitespace(){for(;this.pos<this.input.length;){let n=this.input[this.pos];if(n===" "||n===" "||n===`
|
|
2
|
+
`||n==="\r")this.pos++;else if(n==="#")for(;this.pos<this.input.length&&this.input[this.pos]!==`
|
|
3
|
+
`;)this.pos++;else break}}nextToken(){let n=this.pos,t=this.input[this.pos];if(t>="0"&&t<="9")return this.readNumber();if(t==='"'||t==="'"||t==="`")return this.readString(t);if(t==="b"&&this.pos+1<this.input.length){let o=this.input[this.pos+1];if(o==='"'||o==="'"||o==="`")return this.pos++,this.readString(o)}if(t==="/"){let o=this.tokens[this.tokens.length-1];return o&&(o.type==="int"||o.type==="float"||o.type==="string"||o.type==="ident"||o.type===")"||o.type==="]")?this.input[this.pos+1]==="/"?(this.pos+=2,{type:"//",value:"//",pos:n}):(this.pos++,{type:"/",value:"/",pos:n}):this.readRegex()}if(this.match("not in"))return{type:"not in",value:"not in",pos:n};if(this.match("=>"))return{type:"=>",value:"=>",pos:n};if(this.match("**"))return{type:"**",value:"**",pos:n};if(this.match("++"))return{type:"++",value:"++",pos:n};if(this.match("//"))return{type:"//",value:"//",pos:n};if(this.match("=="))return{type:"==",value:"==",pos:n};if(this.match("!="))return{type:"!=",value:"!=",pos:n};if(this.match("<="))return{type:"<=",value:"<=",pos:n};if(this.match(">="))return{type:">=",value:">=",pos:n};if(this.match("&&"))return{type:"&&",value:"&&",pos:n};if(this.match("||"))return{type:"||",value:"||",pos:n};let r=new Map([["(","("],[")",")"],["[","["],["]","]"],["{","{"],["}","}"],[",",","],[":",":"],[";",";"],["+","+"],["-","-"],["*","*"],["%","%"],["<","<"],[">",">"],["!","!"],[".","."],["|","|"],["=","="]]).get(t);if(r!==void 0)return this.pos++,{type:r,value:t,pos:n};if(this.isIdentStart(t))return this.readIdentifier();throw new Error(`Unexpected character '${t}' at position ${this.pos}`)}match(n){if(this.input.slice(this.pos,this.pos+n.length)===n){if(/^[a-zA-Z]/.test(n)){let t=this.input[this.pos+n.length];if(t&&this.isIdentChar(t))return!1}return this.pos+=n.length,!0}return!1}isIdentStart(n){return n>="a"&&n<="z"||n>="A"&&n<="Z"||n==="_"}isIdentChar(n){return this.isIdentStart(n)||n>="0"&&n<="9"}readNumber(){let n=this.pos,t=!1,s=!1;for(;this.pos<this.input.length;){let o=this.input[this.pos];if(o>="0"&&o<="9")this.pos++;else if(o==="_")this.pos++;else if(o==="."&&!t&&!s)t=!0,this.pos++;else if((o==="e"||o==="E")&&!s)s=!0,t=!0,this.pos++,this.pos<this.input.length&&(this.input[this.pos]==="+"||this.input[this.pos]==="-")&&this.pos++;else break}let r=this.input.slice(n,this.pos).replace(/_/g,"");return{type:t?"float":"int",value:r,pos:n}}readString(n){let t=this.pos;this.pos++;let s="";for(;this.pos<this.input.length;){let r=this.input[this.pos];if(r===n)return this.pos++,{type:"string",value:s,pos:t};if(r==="\\"){if(this.pos++,this.pos<this.input.length){let o=this.input[this.pos];switch(o){case"n":s+=`
|
|
4
|
+
`;break;case"r":s+="\r";break;case"t":s+=" ";break;case"\\":s+="\\";break;case'"':s+='"';break;case"'":s+="'";break;case"`":s+="`";break;case"0":s+="\0";break;default:s+=o}this.pos++}}else s+=r,this.pos++}throw new Error(`Unterminated string starting at position ${t}`)}readRegex(){let n=this.pos;this.pos++;let t="",s="";for(;this.pos<this.input.length;){let r=this.input[this.pos];if(r==="/"){for(this.pos++;this.pos<this.input.length&&this.input[this.pos]==="i";)s+=this.input[this.pos],this.pos++;return{type:"regex",value:t+(s?`/${s}`:""),pos:n}}r==="\\"?(t+=r,this.pos++,this.pos<this.input.length&&(t+=this.input[this.pos],this.pos++)):(t+=r,this.pos++)}throw new Error(`Unterminated regex starting at position ${n}`)}readIdentifier(){let n=this.pos;for(;this.pos<this.input.length&&this.isIdentChar(this.input[this.pos]);)this.pos++;let t=!1;this.pos<this.input.length&&this.input[this.pos]==="?"&&(t=!0,this.pos++);let s=this.input.slice(n,t?this.pos-1:this.pos);t&&(s+="?");let r=new Map([["true","true"],["false","false"],["null","null"],["and","and"],["or","or"],["eq","eq"],["ne","ne"],["lt","lt"],["le","le"],["gt","gt"],["ge","ge"],["in","in"],["as","as"],["_","_"]]),o=s.replace(/\?$/,""),i=r.get(o);return i!==void 0&&!t?{type:i,value:o,pos:n}:{type:"ident",value:s,pos:n}}}});var Ke={};tt(Ke,{parseMoonblade:()=>z,parseNamedExpressions:()=>W});function W(e){let n=[],s=new J(e).tokenize(),r=0,o=()=>s[r]||{type:"eof",value:"",pos:0},i=()=>s[r++];for(;o().type!=="eof";){if(o().type===","&&n.length>0){i();continue}let f=[],c=0,p=r;for(;o().type!=="eof";){let a=o();if((a.type===","||a.type==="as")&&c===0)break;(a.type==="("||a.type==="["||a.type==="{")&&c++,(a.type===")"||a.type==="]"||a.type==="}")&&c--,f.push(i())}f.push({type:"eof",value:"",pos:0});let d=new K(f).parse(),u;if(o().type==="as")if(i(),o().type==="("){i();let a=[];for(;o().type!==")"&&o().type!=="eof";)(o().type==="ident"||o().type==="string")&&(a.push(o().value),i()),o().type===","&&i();o().type===")"&&i(),u=a}else if(o().type==="ident"||o().type==="string")u=o().value,i();else throw new Error(`Expected name after 'as', got ${o().type}`);else u=e.slice(s[p].pos,s[r-1]?.pos||e.length).trim(),d.type==="identifier"&&(u=d.name);n.push({expr:d,name:u})}return n}function z(e){let t=new J(e).tokenize();return new K(t).parse()}var T,K,q=_e(()=>{"use strict";Ye();T={PIPE:1,OR:2,AND:3,EQUALITY:4,COMPARISON:5,ADDITIVE:6,MULTIPLICATIVE:7,POWER:8,UNARY:9,POSTFIX:10},K=class{pos=0;tokens;constructor(n){this.tokens=n}parse(){let n=this.parseExpr(0);if(this.peek().type!=="eof")throw new Error(`Unexpected token: ${this.peek().value}`);return n}parseExpr(n){let t=this.parsePrefix();for(;;){let s=this.peek(),r=this.getInfixPrec(s.type);if(r<n)break;t=this.parseInfix(t,r)}return t}parsePrefix(){let n=this.peek();switch(n.type){case"int":return this.advance(),{type:"int",value:Number.parseInt(n.value,10)};case"float":return this.advance(),{type:"float",value:Number.parseFloat(n.value)};case"string":return this.advance(),{type:"string",value:n.value};case"regex":{this.advance();let t=n.value.split("/"),s=t.length>1?t[t.length-1]:"";return{type:"regex",pattern:t.slice(0,-1).join("/")||n.value,caseInsensitive:s.includes("i")}}case"true":return this.advance(),{type:"bool",value:!0};case"false":return this.advance(),{type:"bool",value:!1};case"null":return this.advance(),{type:"null"};case"_":return this.advance(),{type:"underscore"};case"ident":{let t=n.value,s=t.endsWith("?"),r=s?t.slice(0,-1):t;if(this.advance(),this.peek().type==="(")return this.parseFunctionCall(r);if(this.peek().type==="=>"){this.advance();let o=this.parseExpr(0);return this.bindLambdaArgs({type:"lambda",params:[r],body:o},[r])}return{type:"identifier",name:r,unsure:s}}case"(":{this.advance();let t=[];if(this.peek().type===")"){if(this.advance(),this.peek().type==="=>"){this.advance();let r=this.parseExpr(0);return{type:"lambda",params:[],body:r}}throw new Error("Empty parentheses not allowed")}if(this.peek().type==="ident"){let r=this.peek().value;if(this.advance(),this.peek().type===","||this.peek().type===")"){for(t.push(r);this.peek().type===","&&(this.advance(),this.peek().type==="ident");)t.push(this.peek().value),this.advance();if(this.peek().type===")"&&(this.advance(),this.peek().type==="=>")){this.advance();let o=this.parseExpr(0);return this.bindLambdaArgs({type:"lambda",params:t,body:o},t)}this.pos-=t.length*2,t.length>1&&(this.pos=this.pos)}this.pos--}let s=this.parseExpr(0);return this.expect(")"),this.peek().type,s}case"[":return this.parseList();case"{":return this.parseMap();case"-":{this.advance();let t=this.parseExpr(T.UNARY);return t.type==="int"?{type:"int",value:-t.value}:t.type==="float"?{type:"float",value:-t.value}:{type:"func",name:"neg",args:[{expr:t}]}}case"!":return this.advance(),{type:"func",name:"not",args:[{expr:this.parseExpr(T.UNARY)}]};default:throw new Error(`Unexpected token: ${n.type} (${n.value})`)}}parseFunctionCall(n){this.expect("(");let t=[];if(this.peek().type!==")")do{t.length>0&&this.peek().type===","&&this.advance();let s;if(this.peek().type==="ident"){let o=this.peek().value,i=this.pos+1;i<this.tokens.length&&this.tokens[i].type==="="&&(s=o,this.advance(),this.advance())}let r=this.parseExpr(0);t.push({name:s,expr:r})}while(this.peek().type===",");return this.expect(")"),{type:"func",name:n.toLowerCase(),args:t}}parseList(){this.expect("[");let n=[];if(this.peek().type!=="]")do n.length>0&&this.peek().type===","&&this.advance(),n.push(this.parseExpr(0));while(this.peek().type===",");return this.expect("]"),{type:"list",elements:n}}parseMap(){this.expect("{");let n=[];if(this.peek().type!=="}")do{n.length>0&&this.peek().type===","&&this.advance();let t;if(this.peek().type==="ident")t=this.peek().value,this.advance();else if(this.peek().type==="string")t=this.peek().value,this.advance();else throw new Error(`Expected map key, got ${this.peek().type}`);this.expect(":");let s=this.parseExpr(0);n.push({key:t,value:s})}while(this.peek().type===",");return this.expect("}"),{type:"map",entries:n}}parseInfix(n,t){let s=this.peek(),o=new Map([["+","add"],["-","sub"],["*","mul"],["/","div"],["//","idiv"],["%","mod"],["**","pow"],["++","concat"],["==","=="],["!=","!="],["<","<"],["<=","<="],[">",">"],[">=",">="],["eq","eq"],["ne","ne"],["lt","lt"],["le","le"],["gt","gt"],["ge","ge"],["&&","and"],["and","and"],["||","or"],["or","or"]]).get(s.type);if(o!==void 0){this.advance();let i=this.parseExpr(t+(this.isRightAssoc(s.type)?0:1));return{type:"func",name:o,args:[{expr:n},{expr:i}]}}if(s.type==="|"){this.advance();let i=this.parseExpr(t);return this.handlePipe(n,i)}if(s.type===".")return this.advance(),this.handleDot(n);if(s.type==="[")return this.advance(),this.handleIndexing(n);if(s.type==="in")return this.advance(),{type:"func",name:"contains",args:[{expr:this.parseExpr(t+1)},{expr:n}]};if(s.type==="not in")return this.advance(),{type:"func",name:"not",args:[{expr:{type:"func",name:"contains",args:[{expr:this.parseExpr(t+1)},{expr:n}]}}]};throw new Error(`Unexpected infix token: ${s.type}`)}handlePipe(n,t){if(t.type==="identifier")return{type:"func",name:t.name,args:[{expr:n}]};if(t.type==="func"){let s=this.countUnderscores(t);return s===0?t:s===1?this.fillUnderscore(t,n):{type:"pipeline",exprs:[n,t]}}return this.countUnderscores(t)===1?this.fillUnderscore(t,n):t}handleDot(n){let t=this.peek();if(t.type==="ident"){let s=t.value;if(this.advance(),this.peek().type==="("){let r=this.parseFunctionCall(s);return r.type==="func"&&r.args.unshift({expr:n}),r}return{type:"func",name:"get",args:[{expr:n},{expr:{type:"string",value:s}}]}}if(t.type==="int"){let s=Number.parseInt(t.value,10);return this.advance(),{type:"func",name:"get",args:[{expr:n},{expr:{type:"int",value:s}}]}}if(t.type==="string"){let s=t.value;return this.advance(),{type:"func",name:"get",args:[{expr:n},{expr:{type:"string",value:s}}]}}throw new Error(`Expected identifier, number, or string after dot, got ${t.type}`)}handleIndexing(n){if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:n}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:n},{expr:{type:"int",value:0}},{expr:s}]}}let t=this.parseExpr(0);if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:n},{expr:t}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:n},{expr:t},{expr:s}]}}return this.expect("]"),{type:"func",name:"get",args:[{expr:n},{expr:t}]}}countUnderscores(n){return n.type==="underscore"?1:n.type==="func"?n.args.reduce((t,s)=>t+this.countUnderscores(s.expr),0):n.type==="list"?n.elements.reduce((t,s)=>t+this.countUnderscores(s),0):n.type==="map"?n.entries.reduce((t,s)=>t+this.countUnderscores(s.value),0):0}fillUnderscore(n,t){return n.type==="underscore"?t:n.type==="func"?{...n,args:n.args.map(s=>({...s,expr:this.fillUnderscore(s.expr,t)}))}:n.type==="list"?{...n,elements:n.elements.map(s=>this.fillUnderscore(s,t))}:n.type==="map"?{...n,entries:n.entries.map(s=>({...s,value:this.fillUnderscore(s.value,t)}))}:n}bindLambdaArgs(n,t){return{...n,body:this.bindLambdaArgsInExpr(n.body,t)}}bindLambdaArgsInExpr(n,t){return n.type==="identifier"&&t.includes(n.name)?{type:"lambdaBinding",name:n.name}:n.type==="func"?{...n,args:n.args.map(s=>({...s,expr:this.bindLambdaArgsInExpr(s.expr,t)}))}:n.type==="list"?{...n,elements:n.elements.map(s=>this.bindLambdaArgsInExpr(s,t))}:n.type==="map"?{...n,entries:n.entries.map(s=>({...s,value:this.bindLambdaArgsInExpr(s.value,t)}))}:n}getInfixPrec(n){switch(n){case"|":return T.PIPE;case"||":case"or":return T.OR;case"&&":case"and":return T.AND;case"==":case"!=":case"eq":case"ne":return T.EQUALITY;case"<":case"<=":case">":case">=":case"lt":case"le":case"gt":case"ge":case"in":case"not in":return T.COMPARISON;case"+":case"-":case"++":return T.ADDITIVE;case"*":case"/":case"//":case"%":return T.MULTIPLICATIVE;case"**":return T.POWER;case".":case"[":return T.POSTFIX;default:return-1}}isRightAssoc(n){return n==="**"}peek(){return this.tokens[this.pos]||{type:"eof",value:"",pos:0}}advance(){return this.tokens[this.pos++]}expect(n){let t=this.peek();if(t.type!==n)throw new Error(`Expected ${n}, got ${t.type}`);return this.advance()}}});q();function P(e,n){return n.length===0?N(e,[]):n.length===1?{type:"Pipe",left:n[0],right:N(e,[])}:{type:"Pipe",left:n[0],right:N(e,n.slice(1))}}var ee={add:e=>k("+",e[0],e[1]),sub:e=>k("-",e[0],e[1]),mul:e=>k("*",e[0],e[1]),div:e=>k("/",e[0],e[1]),mod:e=>k("%",e[0],e[1]),idiv:e=>N("floor",[k("/",e[0],e[1])]),pow:e=>P("pow",e),neg:e=>({type:"UnaryOp",op:"-",operand:e[0]}),"==":e=>k("==",e[0],e[1]),"!=":e=>k("!=",e[0],e[1]),"<":e=>k("<",e[0],e[1]),"<=":e=>k("<=",e[0],e[1]),">":e=>k(">",e[0],e[1]),">=":e=>k(">=",e[0],e[1]),eq:e=>k("==",M(e[0]),M(e[1])),ne:e=>k("!=",M(e[0]),M(e[1])),lt:e=>k("<",M(e[0]),M(e[1])),le:e=>k("<=",M(e[0]),M(e[1])),gt:e=>k(">",M(e[0]),M(e[1])),ge:e=>k(">=",M(e[0]),M(e[1])),and:e=>k("and",e[0],e[1]),or:e=>k("or",e[0],e[1]),not:e=>({type:"UnaryOp",op:"not",operand:e[0]}),len:e=>P("length",e),length:e=>P("length",e),upper:e=>P("ascii_upcase",e),lower:e=>P("ascii_downcase",e),trim:e=>P("trim",e),ltrim:e=>e.length===0?N("ltrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:N("ltrimstr",[{type:"Literal",value:" "}])},rtrim:e=>e.length===0?N("rtrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:N("rtrimstr",[{type:"Literal",value:" "}])},split:e=>P("split",e),join:e=>e.length===1?N("join",[{type:"Literal",value:""}]):P("join",e),concat:e=>k("+",e[0],e[1]),startswith:e=>P("startswith",e),endswith:e=>P("endswith",e),contains:e=>P("contains",e),replace:e=>P("gsub",e),substr:e=>e.length===2?{type:"Slice",base:e[0],start:e[1]}:{type:"Slice",base:e[0],start:e[1],end:k("+",e[1],e[2])},abs:e=>P("fabs",e),floor:e=>P("floor",e),ceil:e=>P("ceil",e),round:e=>P("round",e),sqrt:e=>P("sqrt",e),log:e=>P("log",e),log10:e=>P("log10",e),log2:e=>P("log2",e),exp:e=>P("exp",e),sin:e=>P("sin",e),cos:e=>P("cos",e),tan:e=>P("tan",e),asin:e=>P("asin",e),acos:e=>P("acos",e),atan:e=>P("atan",e),min:e=>P("min",e),max:e=>P("max",e),first:e=>e.length===0?{type:"Index",index:{type:"Literal",value:0}}:{type:"Index",index:{type:"Literal",value:0},base:e[0]},last:e=>e.length===0?{type:"Index",index:{type:"Literal",value:-1}}:{type:"Index",index:{type:"Literal",value:-1},base:e[0]},get:e=>e.length===1?{type:"Index",index:e[0]}:{type:"Index",index:e[1],base:e[0]},slice:e=>e.length===1?{type:"Slice",base:e[0]}:e.length===2?{type:"Slice",base:e[0],start:e[1]}:{type:"Slice",base:e[0],start:e[1],end:e[2]},keys:"keys",values:"values",entries:e=>N("to_entries",e),from_entries:"from_entries",reverse:"reverse",sort:"sort",sort_by:"sort_by",group_by:"group_by",unique:"unique",unique_by:"unique_by",flatten:"flatten",map:e=>({type:"Pipe",left:e[0],right:{type:"Array",elements:e[1]}}),select:e=>N("select",e),empty:()=>N("empty",[]),count:()=>N("length",[]),sum:e=>e.length===0?N("add",[]):{type:"Pipe",left:{type:"Array",elements:e[0]},right:N("add",[])},mean:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:k("/",N("add",[]),N("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:k("/",N("add",[]),N("length",[]))},avg:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:k("/",N("add",[]),N("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:k("/",N("add",[]),N("length",[]))},type:"type",isnull:e=>e.length===0?k("==",{type:"Identity"},{type:"Literal",value:null}):k("==",e[0],{type:"Literal",value:null}),isempty:e=>e.length===0?k("==",{type:"Identity"},{type:"Literal",value:""}):k("==",e[0],{type:"Literal",value:""}),tonumber:e=>e.length===0?N("tonumber",[]):N("tonumber",e),tostring:e=>e.length===0?N("tostring",[]):N("tostring",e),if:e=>Ge(e[0],e[1],e[2]),coalesce:e=>{if(e.length===0)return{type:"Literal",value:null};if(e.length===1)return e[0];let[n,...t]=e,s=k("and",k("!=",n,{type:"Literal",value:null}),k("!=",n,{type:"Literal",value:""}));return Ge(s,n,t.length===1?t[0]:ee.coalesce(t))},index:()=>({type:"Field",name:"_row_index"}),now:()=>N("now",[]),fmt:e=>N("tostring",e),format:e=>N("tostring",e)};function k(e,n,t){return{type:"BinaryOp",op:e,left:n,right:t}}function N(e,n){return{type:"Call",name:e,args:n}}var ot="then";function Ge(e,n,t){let s={type:"Cond",cond:e,elifs:[],else:t||{type:"Literal",value:null}};return s[ot]=n,s}function M(e){return{type:"Pipe",left:e,right:{type:"Call",name:"tostring",args:[]}}}function L(e,n=!0){switch(e.type){case"int":case"float":return{type:"Literal",value:e.value};case"string":return{type:"Literal",value:e.value};case"bool":return{type:"Literal",value:e.value};case"null":return{type:"Literal",value:null};case"underscore":return{type:"Index",base:{type:"Identity"},index:{type:"Literal",value:"_"}};case"identifier":return n?{type:"Field",name:e.name}:{type:"VarRef",name:e.name};case"lambdaBinding":return{type:"VarRef",name:e.name};case"func":{let t=e.args.map(r=>L(r.expr,n)),s=Object.hasOwn(ee,e.name)?ee[e.name]:void 0;return typeof s=="function"?s(t):N(typeof s=="string"?s:e.name,t)}case"list":return e.elements.length===0?{type:"Array"}:{type:"Array",elements:e.elements.reduce((t,s,r)=>{let o=L(s,n);return r===0?o:{type:"Comma",left:t,right:o}},null)};case"map":return{type:"Object",entries:e.entries.map(t=>({key:t.key,value:L(t.value,n)}))};case"regex":return{type:"Literal",value:e.pattern};case"slice":return{type:"Slice",start:e.start?L(e.start,n):void 0,end:e.end?L(e.end,n):void 0};case"lambda":return L(e.body,n);case"pipeline":return{type:"Identity"};default:throw new Error(`Unknown moonblade expression type: ${e.type}`)}}function ne(e){let n=[],t=0;for(;t<e.length;){for(;t<e.length&&(e[t]===" "||e[t]===",");)t++;if(t>=e.length)break;let s=t;for(;t<e.length&&/\w/.test(e[t]);)t++;let r=e.slice(s,t);for(;t<e.length&&e[t]===" ";)t++;if(e[t]!=="(")break;t++;let o=1,i=t;for(;t<e.length&&o>0;)e[t]==="("?o++:e[t]===")"&&o--,o>0&&t++;let f=e.slice(i,t).trim();for(t++;t<e.length&&e[t]===" ";)t++;let c="";if(e.slice(t,t+3).toLowerCase()==="as "){for(t+=3;t<e.length&&e[t]===" ";)t++;let p=t;for(;t<e.length&&/\w/.test(e[t]);)t++;c=e.slice(p,t)}c||(c=f?`${r}(${f})`:`${r}()`),n.push({func:r,expr:f,alias:c})}return n}function Xe(e){return/^\w+$/.test(e)}function te(e,n,t){let s=L(z(n)),r=j(e,s,t);return r.length>0?r[0]:null}function se(e,n,t={}){let{func:s,expr:r}=n;if(s==="count"&&!r)return e.length;let o;switch(Xe(r)?o=e.map(i=>i[r]).filter(i=>i!=null):o=e.map(i=>te(i,r,t)).filter(i=>i!=null),s){case"count":return Xe(r)?o.length:o.filter(i=>!!i).length;case"sum":return o.map(f=>typeof f=="number"?f:Number.parseFloat(String(f))).reduce((f,c)=>f+c,0);case"mean":case"avg":{let i=o.map(f=>typeof f=="number"?f:Number.parseFloat(String(f)));return i.length>0?i.reduce((f,c)=>f+c,0)/i.length:0}case"min":{let i=o.map(f=>typeof f=="number"?f:Number.parseFloat(String(f)));return i.length>0?Math.min(...i):null}case"max":{let i=o.map(f=>typeof f=="number"?f:Number.parseFloat(String(f)));return i.length>0?Math.max(...i):null}case"first":return o.length>0?o[0]:null;case"last":return o.length>0?o[o.length-1]:null;case"median":{let i=o.map(c=>typeof c=="number"?c:Number.parseFloat(String(c))).filter(c=>!Number.isNaN(c)).sort((c,p)=>c-p);if(i.length===0)return null;let f=Math.floor(i.length/2);return i.length%2===0?(i[f-1]+i[f])/2:i[f]}case"mode":{let i=new Map;for(let p of o){let l=String(p);i.set(l,(i.get(l)||0)+1)}let f=0,c=null;for(let[p,l]of i)l>f&&(f=l,c=p);return c}case"cardinality":return new Set(o.map(f=>String(f))).size;case"values":return o.map(i=>String(i)).join("|");case"distinct_values":return[...new Set(o.map(f=>String(f)))].sort().join("|");case"all":{if(e.length===0)return!0;for(let i of e)if(!te(i,r,t))return!1;return!0}case"any":{for(let i of e)if(te(i,r,t))return!0;return!1}default:return null}}function Be(e,n,t={}){let s=O();for(let r of n)I(s,r.alias,se(e,r,t));return s}async function re(e,n){let t="",s=[];for(let l of e)l.startsWith("-")||(t?s.push(l):t=l);if(!t)return{stdout:m,stderr:y(`xan agg: no aggregation expression
|
|
5
|
+
`),exitCode:1};let{data:r,error:o}=await b(s,n);if(o)return o;let i={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},f=ne(t),c=f.map(l=>l.alias),p=Be(r,f,i);return{stdout:y(C(c,[p])),stderr:m,exitCode:0}}async function oe(e,n){let t="",s="",r=[];for(let h=0;h<e.length;h++){let g=e[h];g==="--sorted"||g.startsWith("-")||(t?s?r.push(g):s=g:t=g)}if(!t||!s)return{stdout:m,stderr:y(`xan groupby: usage: xan groupby COLS EXPR [FILE]
|
|
6
|
+
`),exitCode:1};let{data:o,error:i}=await b(r,n);if(i)return i;let f={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},c=t.split(","),p=ne(s),l=[],d=new Map;for(let h of o){let g=c.map(x=>String(h[x])).join("\0");d.has(g)||(d.set(g,[]),l.push(g)),d.get(g)?.push(h)}let u=[...c,...p.map(h=>h.alias)],a=[];for(let h of l){let g=d.get(h);if(!g)continue;let x=O();for(let w of c)I(x,w,g[0][w]);for(let w of p)I(x,w.alias,se(g,w,f));a.push(x)}return{stdout:y(C(u,a)),stderr:m,exitCode:0}}async function ie(e,n){let t=[],s="",r=10,o=!1,i=[];for(let a=0;a<e.length;a++){let h=e[a];(h==="-s"||h==="--select")&&a+1<e.length?t=e[++a].split(","):(h==="-g"||h==="--groupby")&&a+1<e.length?s=e[++a]:(h==="-l"||h==="--limit")&&a+1<e.length?r=Number.parseInt(e[++a],10):h==="--no-extra"?o=!0:h==="-A"||h==="--all"?r=0:h.startsWith("-")||i.push(h)}let{headers:f,data:c,error:p}=await b(i,n);if(p)return p;let l=t.length>0?t:f.filter(a=>a!==s);s&&t.length===0&&(l=f.filter(a=>a!==s));let d=[],u=s?["field",s,"value","count"]:["field","value","count"];if(s){let a=new Map;for(let h of c){let g=String(h[s]??"");a.has(g)||a.set(g,[]),a.get(g)?.push(h)}for(let h of l)for(let[g,x]of a){let w=new Map;for(let E of x){let A=E[h],S=A===""||A===null||A===void 0?"":String(A);w.set(S,(w.get(S)||0)+1)}let v=[...w.entries()].sort((E,A)=>A[1]!==E[1]?A[1]-E[1]:E[0].localeCompare(A[0]));o&&(v=v.filter(([E])=>E!=="")),r>0&&(v=v.slice(0,r));for(let[E,A]of v)d.push({field:h,[s]:g,value:E===""?"<empty>":E,count:A})}}else for(let a of l){let h=new Map;for(let x of c){let w=x[a],v=w===""||w===null||w===void 0?"":String(w);h.set(v,(h.get(v)||0)+1)}let g=[...h.entries()].sort((x,w)=>w[1]!==x[1]?w[1]-x[1]:x[0].localeCompare(w[0]));o&&(g=g.filter(([x])=>x!=="")),r>0&&(g=g.slice(0,r));for(let[x,w]of g)d.push({field:a,value:x===""?"<empty>":x,count:w})}return{stdout:y(C(u,d)),stderr:m,exitCode:0}}async function ae(e,n){let t=[],s=[];for(let l=0;l<e.length;l++){let d=e[l];d==="-s"&&l+1<e.length?t=e[++l].split(","):d.startsWith("-")||s.push(d)}let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=t.length>0?t:r,c=["field","type","count","min","max","mean"],p=[];for(let l of f){let d=o.map(h=>h[l]).filter(h=>h!=null),u=d.map(h=>typeof h=="number"?h:Number.parseFloat(String(h))).filter(h=>!Number.isNaN(h)),a=u.length===d.length&&u.length>0;p.push({field:l,type:a?"Number":"String",count:d.length,min:a?Math.min(...u):"",max:a?Math.max(...u):"",mean:a?Math.round(u.reduce((h,g)=>h+g,0)/u.length*1e10)/1e10:""})}return{stdout:y(C(c,p)),stderr:m,exitCode:0}}q();function Ze(e){let n=z(e);return L(n)}function it(e){let t=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return Y(`^${t}$`)}function G(e,n){let t=[],s=new Set;for(let r of e.split(",")){let o=r.trim();if(o.startsWith("!")){let p=o.slice(1),l=G(p,n);for(let d of l)s.add(d);continue}if(o==="*"){for(let p of n)t.includes(p)||t.push(p);continue}if(o.includes("*")){let p=it(o);for(let l of n)p.test(l)&&!t.includes(l)&&t.push(l);continue}let i=o.match(/^([^:]*):([^:]*)$/);if(i&&(i[1]||i[2])){let p=i[1],l=i[2],d=p?n.indexOf(p):0,u=l?n.indexOf(l):n.length-1;if(d!==-1&&u!==-1){let a=d<=u?1:-1;for(let h=d;a>0?h<=u:h>=u;h+=a)t.includes(n[h])||t.push(n[h])}continue}let f=o.match(/^(\d+)-(\d+)$/);if(f){let p=Number.parseInt(f[1],10),l=Number.parseInt(f[2],10);for(let d=p;d<=l&&d<n.length;d++)t.push(n[d]);continue}let c=Number.parseInt(o,10);if(!Number.isNaN(c)&&c>=0&&c<n.length){t.push(n[c]);continue}n.includes(o)&&t.push(o)}return s.size>0?t.filter(r=>!s.has(r)):t}async function le(e,n){let t="",s=[];for(let p of e)p.startsWith("-")||(t?s.push(p):t=p);if(!t)return{stdout:m,stderr:y(`xan select: no columns specified
|
|
7
|
+
`),exitCode:1};let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=G(t,r),c=o.map(p=>{let l=O();for(let d of f)I(l,d,p[d]);return l});return{stdout:y(C(f,c)),stderr:m,exitCode:0}}async function ue(e,n){let t="",s=[];for(let l of e)l.startsWith("-")||(t?s.push(l):t=l);if(!t)return{stdout:m,stderr:y(`xan drop: no columns specified
|
|
8
|
+
`),exitCode:1};let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=new Set(G(t,r)),c=r.filter(l=>!f.has(l)),p=o.map(l=>{let d=O();for(let u of c)I(d,u,l[u]);return d});return{stdout:y(C(c,p)),stderr:m,exitCode:0}}async function ce(e,n){let t="",s="",r=[];for(let l=0;l<e.length;l++){let d=e[l];d==="-s"&&l+1<e.length?s=e[++l]:d.startsWith("-")||(t?r.push(d):t=d)}if(!t)return{stdout:m,stderr:y(`xan rename: no new name(s) specified
|
|
9
|
+
`),exitCode:1};let{headers:o,data:i,error:f}=await b(r,n);if(f)return f;let c;if(s){let l=s.split(","),d=t.split(","),u=new Map;for(let a=0;a<l.length&&a<d.length;a++)u.set(l[a],d[a]);c=o.map(a=>u.get(a)||a)}else{let l=t.split(",");c=o.map((d,u)=>u<l.length?l[u]:d)}let p=i.map(l=>{let d=O();for(let u=0;u<o.length;u++)I(d,c[u],l[o[u]]);return d});return{stdout:y(C(c,p)),stderr:m,exitCode:0}}async function pe(e,n){let t="index",s=[];for(let p=0;p<e.length;p++)e[p]==="-c"&&p+1<e.length?t=e[++p]:s.push(e[p]);let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=[t,...r],c=o.map((p,l)=>{let d=O();I(d,t,l);for(let u of r)I(d,u,p[u]);return d});return{stdout:y(C(f,c)),stderr:m,exitCode:0}}async function fe(e,n){let t=e.includes("-j")||e.includes("--just-names"),{headers:s,error:r}=await b(e.filter(i=>i!=="-j"&&i!=="--just-names"),n);if(r)return r;let o=t?`${s.map(i=>i).join(`
|
|
10
|
+
`)}
|
|
11
|
+
`:`${s.map((i,f)=>`${f} ${i}`).join(`
|
|
12
|
+
`)}
|
|
13
|
+
`;return{stdout:y(o),stderr:m,exitCode:0}}async function de(e,n){let{data:t,error:s}=await b(e,n);return s||{stdout:y(`${t.length}
|
|
14
|
+
`),stderr:m,exitCode:0}}async function he(e,n){let t=10,s=[];for(let c=0;c<e.length;c++)(e[c]==="-l"||e[c]==="-n")&&c+1<e.length?t=Number.parseInt(e[++c],10):s.push(e[c]);let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=o.slice(0,t);return{stdout:y(C(r,f)),stderr:m,exitCode:0}}async function me(e,n){let t=10,s=[];for(let c=0;c<e.length;c++)(e[c]==="-l"||e[c]==="-n")&&c+1<e.length?t=Number.parseInt(e[++c],10):s.push(e[c]);let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=o.slice(-t);return{stdout:y(C(r,f)),stderr:m,exitCode:0}}async function ge(e,n){let t,s,r,o=[];for(let u=0;u<e.length;u++){let a=e[u];(a==="-s"||a==="--start")&&u+1<e.length?t=Number.parseInt(e[++u],10):(a==="-e"||a==="--end")&&u+1<e.length?s=Number.parseInt(e[++u],10):(a==="-l"||a==="--len")&&u+1<e.length?r=Number.parseInt(e[++u],10):a.startsWith("-")||o.push(a)}let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;let p=t??0,l;r!==void 0?l=p+r:s!==void 0?l=s:l=f.length;let d=f.slice(p,l);return{stdout:y(C(i,d)),stderr:m,exitCode:0}}async function ye(e,n){let{headers:t,data:s,error:r}=await b(e,n);if(r)return r;let o=[...s].reverse();return{stdout:y(C(t,o)),stderr:m,exitCode:0}}var xe=nt(rt(),1);async function we(e,n){let t=e.filter(p=>!p.startsWith("-")),{headers:s,data:r,error:o}=await b(t,n);if(o)return o;if(r.length===0){let p=["column"],l=s.map(d=>({column:d}));return{stdout:y(C(p,l)),stderr:m,exitCode:0}}let i=s[0],f=[i,...r.map((p,l)=>String(p[i]??`row_${l}`))],c=[];for(let p=1;p<s.length;p++){let l=s[p],d=O();I(d,i,l);for(let u=0;u<r.length;u++)I(d,f[u+1],r[u][l]);c.push(d)}return{stdout:y(C(f,c)),stderr:m,exitCode:0}}async function ve(e,n){let t=null,s=[];for(let l=0;l<e.length;l++){let d=e[l];d==="--seed"&&l+1<e.length?t=Number.parseInt(e[++l],10):d.startsWith("-")||s.push(d)}let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=t!==null?t:Date.now(),c=()=>(f=f*1103515245+12345&2147483647,f/2147483647),p=[...o];for(let l=p.length-1;l>0;l--){let d=Math.floor(c()*(l+1));[p[l],p[d]]=[p[d],p[l]]}return{stdout:y(C(r,p)),stderr:m,exitCode:0}}async function Ce(e,n){let t=null,s="",r=[];for(let a=0;a<e.length;a++){let h=e[a];(h==="-l"||h==="--length")&&a+1<e.length?t=Number.parseInt(e[++a],10):(h==="-d"||h==="--default")&&a+1<e.length?s=e[++a]:h.startsWith("-")||r.push(h)}let o=r[0],i;if(!o||o==="-")i=H(n.stdin);else try{let a=n.fs.resolvePath(n.cwd,o);i=await n.fs.readFile(a)}catch{return{stdout:m,stderr:y(`xan fixlengths: ${o}: No such file or directory
|
|
15
|
+
`),exitCode:1}}let c=xe.default.parse(i.trim(),{header:!1,skipEmptyLines:!0}).data;if(c.length===0)return{stdout:m,stderr:m,exitCode:0};let p=Math.max(...c.map(a=>a.length)),l=t??p,d=c.map(a=>a.length===l?a:a.length<l?[...a,...Array(l-a.length).fill(s)]:a.slice(0,l)),u=xe.default.unparse(d);return{stdout:y(`${u.replace(/\r\n/g,`
|
|
16
|
+
`)}
|
|
17
|
+
`),stderr:m,exitCode:0}}async function be(e,n){let t=null,s=null,r=".",o=[];for(let u=0;u<e.length;u++){let a=e[u];(a==="-c"||a==="--chunks")&&u+1<e.length?t=Number.parseInt(e[++u],10):(a==="-S"||a==="--size")&&u+1<e.length?s=Number.parseInt(e[++u],10):(a==="-o"||a==="--output")&&u+1<e.length?r=e[++u]:a.startsWith("-")||o.push(a)}if(!t&&!s)return{stdout:m,stderr:y(`xan split: must specify -c or -S
|
|
18
|
+
`),exitCode:1};let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;let p=[];if(t){let u=Math.ceil(f.length/t);for(let a=0;a<t;a++)p.push(f.slice(a*u,(a+1)*u))}else if(s)for(let u=0;u<f.length;u+=s)p.push(f.slice(u,u+s));let l=p.filter(u=>u.length>0),d=o[0]?.replace(/\.csv$/,"")||"part";try{let u=n.fs.resolvePath(n.cwd,r);for(let a=0;a<l.length;a++){let h=`${d}_${String(a+1).padStart(3,"0")}.csv`,g=n.fs.resolvePath(u,h);await n.fs.writeFile(g,C(i,l[a]))}return{stdout:y(`Split into ${l.length} parts
|
|
19
|
+
`),stderr:m,exitCode:0}}catch{let u=l.map((a,h)=>`Part ${h+1}: ${a.length} rows`).join(`
|
|
20
|
+
`);return{stdout:y(`${u}
|
|
21
|
+
`),stderr:m,exitCode:0}}}async function Se(e,n){let t="",s=".",r=[];for(let p=0;p<e.length;p++){let l=e[p];(l==="-o"||l==="--output")&&p+1<e.length?s=e[++p]:l.startsWith("-")||(t?r.push(l):t=l)}if(!t)return{stdout:m,stderr:y(`xan partition: usage: xan partition COLUMN [FILE]
|
|
22
|
+
`),exitCode:1};let{headers:o,data:i,error:f}=await b(r,n);if(f)return f;if(!o.includes(t))return{stdout:m,stderr:y(`xan partition: column '${t}' not found
|
|
23
|
+
`),exitCode:1};let c=new Map;for(let p of i){let l=String(p[t]??"");c.has(l)||c.set(l,[]),c.get(l)?.push(p)}try{let p=n.fs.resolvePath(n.cwd,s);for(let[l,d]of c){let a=`${l.replace(/[^a-zA-Z0-9_-]/g,"_")||"empty"}.csv`,h=n.fs.resolvePath(p,a);await n.fs.writeFile(h,C(o,d))}return{stdout:y(`Partitioned into ${c.size} files by '${t}'
|
|
24
|
+
`),stderr:m,exitCode:0}}catch{let p=Array.from(c.entries()).map(([l,d])=>`${l}: ${d.length} rows`).join(`
|
|
25
|
+
`);return{stdout:y(`${p}
|
|
26
|
+
`),stderr:m,exitCode:0}}}async function Ie(e,n){if(e.length===0)return{stdout:m,stderr:y(`xan to: usage: xan to <format> [FILE]
|
|
27
|
+
`),exitCode:1};let t=e[0],s=e.slice(1);return t==="json"?at(s,n):{stdout:m,stderr:y(`xan to: unsupported format '${t}'
|
|
28
|
+
`),exitCode:1}}async function at(e,n){let t=e.filter(i=>!i.startsWith("-")),{data:s,error:r}=await b(t,n);if(r)return r;let o=JSON.stringify(s,null,2);return{stdout:y(`${o}
|
|
29
|
+
`),stderr:m,exitCode:0}}async function ke(e,n){let t="",s=[];for(let r=0;r<e.length;r++){let o=e[r];(o==="-f"||o==="--format")&&r+1<e.length?t=e[++r]:o.startsWith("-")||s.push(o)}return t?t==="json"?lt(s,n):{stdout:m,stderr:y(`xan from: unsupported format '${t}'
|
|
30
|
+
`),exitCode:1}:{stdout:m,stderr:y(`xan from: usage: xan from -f <format> [FILE]
|
|
31
|
+
`),exitCode:1}}async function lt(e,n){let t=e[0],s;if(!t||t==="-")s=H(n.stdin);else try{let r=n.fs.resolvePath(n.cwd,t);s=await n.fs.readFile(r)}catch{return{stdout:m,stderr:y(`xan from: ${t}: No such file or directory
|
|
32
|
+
`),exitCode:1}}try{let r=JSON.parse(s.trim());if(!Array.isArray(r))return{stdout:m,stderr:y(`xan from: JSON input must be an array
|
|
33
|
+
`),exitCode:1};if(r.length===0)return{stdout:y(`
|
|
34
|
+
`),stderr:m,exitCode:0};if(Array.isArray(r[0])){let[i,...f]=r,c=f.map(p=>{let l=O();for(let d=0;d<i.length;d++)I(l,i[d],p[d]);return l});return{stdout:y(C(i,c)),stderr:m,exitCode:0}}let o=Object.keys(r[0]).sort();return{stdout:y(C(o,r)),stderr:m,exitCode:0}}catch{return{stdout:m,stderr:y(`xan from: invalid JSON input
|
|
35
|
+
`),exitCode:1}}}async function Ee(e,n){let t=!1,s=0,r="",o=[];for(let u=0;u<e.length;u++){let a=e[u];if(a==="-v"||a==="--invert")t=!0;else if((a==="-l"||a==="--limit")&&u+1<e.length)s=Number.parseInt(e[++u],10);else{if(a==="--help")return U({name:"xan filter",summary:"Filter rows by expression",usage:"xan filter [OPTIONS] EXPR [FILE]",description:"Filter CSV rows using moonblade expressions.",options:["-v, --invert invert match","-l, --limit N limit output to N rows"," --help display help"]});a.startsWith("-")||(r?o.push(a):r=a)}}if(!r)return{stdout:m,stderr:y(`xan filter: no expression specified
|
|
36
|
+
`),exitCode:1};let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;let p={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},l=Ze(r),d=[];for(let u of f){if(s>0&&d.length>=s)break;let a=j(u,l,p),h=a.length>0&&a.some(g=>!!g);(t?!h:h)&&d.push(u)}return{stdout:y(C(i,d)),stderr:m,exitCode:0}}async function Ne(e,n){let t="",s=!1,r=!1,o=[];for(let l=0;l<e.length;l++){let d=e[l];d==="-N"||d==="--numeric"?s=!0:d==="-R"||d==="-r"||d==="--reverse"?r=!0:d==="-s"&&l+1<e.length?t=e[++l]:d.startsWith("-")||o.push(d)}let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;!t&&i.length>0&&(t=i[0]);let p=[...f].sort((l,d)=>{let u=l[t],a=d[t],h;if(s){let g=typeof u=="number"?u:Number.parseFloat(String(u)),x=typeof a=="number"?a:Number.parseFloat(String(a));h=g-x}else h=String(u).localeCompare(String(a));return r?-h:h});return{stdout:y(C(i,p)),stderr:m,exitCode:0}}async function Ae(e,n){let t="",s=[];for(let p=0;p<e.length;p++){let l=e[p];l==="-s"&&p+1<e.length?t=e[++p]:l.startsWith("-")||s.push(l)}let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let f=new Set,c=o.filter(p=>{let l=t?String(p[t]):JSON.stringify(p);return f.has(l)?!1:(f.add(l),!0)});return{stdout:y(C(r,c)),stderr:m,exitCode:0}}async function Pe(e,n){let t=10,s="",r=!1,o=[];for(let d=0;d<e.length;d++){let u=e[d];(u==="-l"||u==="-n")&&d+1<e.length?t=Number.parseInt(e[++d],10):u==="-R"||u==="-r"||u==="--reverse"?r=!0:u.startsWith("-")||(s?o.push(u):s=u)}let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;!s&&i.length>0&&(s=i[0]);let l=[...f].sort((d,u)=>{let a=d[s],h=u[s],g=typeof a=="number"?a:Number.parseFloat(String(a)),x=typeof h=="number"?h:Number.parseFloat(String(h));return r?g-x:x-g}).slice(0,t);return{stdout:y(C(i,l)),stderr:m,exitCode:0}}q();async function Fe(e,n){let t="",s=!1,r=!1,o=[];for(let h=0;h<e.length;h++){let g=e[h];g==="-O"||g==="--overwrite"?s=!0:g==="--filter"?r=!0:g.startsWith("-")||(t?o.push(g):t=g)}if(!t)return{stdout:m,stderr:y(`xan map: no expression specified
|
|
37
|
+
`),exitCode:1};let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;let l=W(t).map(({expr:h,name:g})=>({alias:typeof g=="string"?g:g[0],ast:L(h)})),d={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},u;if(s){u=[...i];for(let h of l)i.includes(h.alias)||u.push(h.alias)}else u=[...i,...l.map(h=>h.alias)];let a=[];for(let h=0;h<f.length;h++){let g=f[h],x=$(g),w=!1,v=Object.assign(B(g),{_row_index:h});for(let E of l){let A=j(v,E.ast,d),S=A.length>0?A[0]:null;if(r&&S==null){w=!0;break}I(x,E.alias,S)}w||a.push(x)}return{stdout:y(C(u,a)),stderr:m,exitCode:0}}async function Oe(e,n){let t="",s="",r="",o=[];for(let g=0;g<e.length;g++){let x=e[g];(x==="-r"||x==="--rename")&&g+1<e.length?r=e[++g]:x.startsWith("-")||(t?s?o.push(x):s=x:t=x)}if(!t||!s)return{stdout:m,stderr:y(`xan transform: usage: xan transform COLUMN EXPR [FILE]
|
|
38
|
+
`),exitCode:1};let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;let p=t.split(",").map(g=>g.trim()),l=r?r.split(",").map(g=>g.trim()):[];for(let g of p)if(!i.includes(g))return{stdout:m,stderr:y(`xan transform: column '${g}' not found
|
|
39
|
+
`),exitCode:1};let d=L(W(s)[0]?.expr||(q(),st(Ke)).parseMoonblade(s)),u={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},a=i.map(g=>{let x=p.indexOf(g);return x!==-1&&l[x]?l[x]:g}),h=[];for(let g of f){let x=$(g);for(let w=0;w<p.length;w++){let v=p[w],E=Object.assign(B(g),{_:g[v]}),A=j(E,d,u),S=A.length>0?A[0]:null,F=l[w]||v;F!==v&&delete x[v],I(x,F,S)}h.push(x)}return{stdout:y(C(a,h)),stderr:m,exitCode:0}}async function Le(e,n){let t="",s="|",r=!1,o="",i=[];for(let a=0;a<e.length;a++){let h=e[a];(h==="-s"||h==="--separator")&&a+1<e.length?s=e[++a]:h==="--drop-empty"?r=!0:(h==="-r"||h==="--rename")&&a+1<e.length?o=e[++a]:h.startsWith("-")||(t?i.push(h):t=h)}if(!t)return{stdout:m,stderr:y(`xan explode: usage: xan explode COLUMN [FILE]
|
|
40
|
+
`),exitCode:1};let{headers:f,data:c,error:p}=await b(i,n);if(p)return p;if(!f.includes(t))return{stdout:m,stderr:y(`xan explode: column '${t}' not found
|
|
41
|
+
`),exitCode:1};let l=o?f.map(a=>a===t?o:a):f,d=o||t,u=[];for(let a of c){let h=a[t],g=h==null?"":String(h);if(g===""){if(!r){let x=$(a);o&&(delete x[t],I(x,d,"")),u.push(x)}}else{let x=g.split(s);for(let w of x){let v=$(a);o&&delete v[t],I(v,d,w),u.push(v)}}}return{stdout:y(C(l,u)),stderr:m,exitCode:0}}async function Re(e,n){let t="",s="|",r="",o=[];for(let x=0;x<e.length;x++){let w=e[x];(w==="-s"||w==="--sep")&&x+1<e.length?s=e[++x]:(w==="-r"||w==="--rename")&&x+1<e.length?r=e[++x]:w.startsWith("-")||(t?o.push(w):t=w)}if(!t)return{stdout:m,stderr:y(`xan implode: usage: xan implode COLUMN [FILE]
|
|
42
|
+
`),exitCode:1};let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;if(!i.includes(t))return{stdout:m,stderr:y(`xan implode: column '${t}' not found
|
|
43
|
+
`),exitCode:1};let p=i.filter(x=>x!==t),l=r?i.map(x=>x===t?r:x):i,d=r||t,u=[],a=null,h=[],g=null;for(let x of f){let w=p.map(A=>String(x[A]??"")).join("\0"),v=x[t],E=v==null?"":String(v);if(w!==a){if(g!==null){let A=$(g);r&&delete A[t],I(A,d,h.join(s)),u.push(A)}a=w,h=[E],g=x}else h.push(E)}if(g!==null){let x=$(g);r&&delete x[t],I(x,d,h.join(s)),u.push(x)}return{stdout:y(C(l,u)),stderr:m,exitCode:0}}async function Me(e,n){let t="",s="",r="",o="",i="inner",f="",c=0;for(let S=0;S<e.length;S++){let F=e[S];F==="--left"?i="left":F==="--right"?i="right":F==="--full"?i="full":(F==="-D"||F==="--default")&&S+1<e.length?f=e[++S]:F.startsWith("-")||(c++,c===1?t=F:c===2?s=F:c===3?r=F:c===4&&(o=F))}if(!t||!s||!r||!o)return{stdout:m,stderr:y(`xan join: usage: xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]
|
|
44
|
+
`),exitCode:1};let p=await b([s],n);if(p.error)return p.error;let l=await b([o],n);if(l.error)return l.error;let{headers:d,data:u}=p,{headers:a,data:h}=l;if(!d.includes(t))return{stdout:m,stderr:y(`xan join: column '${t}' not found in first file
|
|
45
|
+
`),exitCode:1};if(!a.includes(r))return{stdout:m,stderr:y(`xan join: column '${r}' not found in second file
|
|
46
|
+
`),exitCode:1};let g=new Map;for(let S of h){let F=String(S[r]??"");g.has(F)||g.set(F,[]),g.get(F)?.push(S)}let x=new Set(d),w=a.filter(S=>!x.has(S)),v=[...d,...w],E=[],A=new Set;for(let S of u){let F=String(S[t]??""),V=g.get(F);if(V&&V.length>0){A.add(F);for(let R of V){let D=O();for(let _ of d)I(D,_,S[_]);for(let _ of w)I(D,_,R[_]);E.push(D)}}else if(i==="left"||i==="full"){let R=O();for(let D of d)I(R,D,S[D]);for(let D of w)I(R,D,f);E.push(R)}}if(i==="right"||i==="full")for(let S of h){let F=String(S[r]??"");if(!A.has(F)){let V=O();for(let R of d)I(V,R,a.includes(R)?S[R]:f);for(let R of w)I(V,R,S[R]);E.push(V)}}return{stdout:y(C(v,E)),stderr:m,exitCode:0}}async function Te(e,n){let t="",s="",r=[],o=[];for(let w=0;w<e.length;w++){let v=e[w];(v==="-g"||v==="--groupby")&&w+1<e.length?r=e[++w].split(",").map(E=>E.trim()):v.startsWith("-")||(t?s?o.push(v):s=v:t=v)}if(!t||!s)return{stdout:m,stderr:y(`xan pivot: usage: xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]
|
|
47
|
+
`),exitCode:1};let{headers:i,data:f,error:c}=await b(o,n);if(c)return c;if(!i.includes(t))return{stdout:m,stderr:y(`xan pivot: column '${t}' not found
|
|
48
|
+
`),exitCode:1};let p=s.match(/^(\w+)\((\w+)\)$/);if(!p)return{stdout:m,stderr:y(`xan pivot: invalid aggregation expression '${s}'
|
|
49
|
+
`),exitCode:1};let[,l,d]=p;r.length===0&&(r=i.filter(w=>w!==t&&w!==d));let u=[];for(let w of f){let v=String(w[t]??"");u.includes(v)||u.push(v)}let a=new Map,h=[];for(let w of f){let v=r.map(F=>String(w[F]??"")).join("\0"),E=String(w[t]??""),A=w[d];a.has(v)||(a.set(v,new Map),h.push(v));let S=a.get(v);S&&(S.has(E)||S.set(E,[]),S.get(E)?.push(A))}let g=[...r,...u],x=[];for(let w of h){let v=w.split("\0"),E=a.get(w);if(!E)continue;let A=O();for(let S=0;S<r.length;S++)I(A,r[S],v[S]);for(let S of u){let F=E.get(S)||[];I(A,S,ut(l,F))}x.push(A)}return{stdout:y(C(g,x)),stderr:m,exitCode:0}}function ut(e,n){let t=n.filter(s=>s!=null).map(s=>typeof s=="number"?s:Number.parseFloat(String(s))).filter(s=>!Number.isNaN(s));switch(e){case"count":return n.length;case"sum":return t.reduce((s,r)=>s+r,0);case"mean":case"avg":return t.length>0?t.reduce((s,r)=>s+r,0)/t.length:null;case"min":return t.length>0?Math.min(...t):null;case"max":return t.length>0?Math.max(...t):null;case"first":return n.length>0?String(n[0]??""):null;case"last":return n.length>0?String(n[n.length-1]??""):null;default:return null}}async function $e(e,n){let t="",s=[];for(let f=0;f<e.length;f++){let c=e[f];(c==="-s"||c==="--sort")&&f+1<e.length?t=e[++f]:c.startsWith("-")||s.push(c)}if(s.length<2)return{stdout:m,stderr:y(`xan merge: usage: xan merge [OPTIONS] FILE1 FILE2 ...
|
|
50
|
+
`),exitCode:1};let r=[],o=null;for(let f of s){let c=await b([f],n);if(c.error)return c.error;if(o===null)o=c.headers;else if(JSON.stringify(o)!==JSON.stringify(c.headers))return{stdout:m,stderr:y(`xan merge: all files must have the same headers
|
|
51
|
+
`),exitCode:1};r.push({headers:c.headers,data:c.data})}if(!o)return{stdout:m,stderr:m,exitCode:0};let i=[];for(let{data:f}of r)i=i.concat(f);if(t){if(!o.includes(t))return{stdout:m,stderr:y(`xan merge: column '${t}' not found
|
|
52
|
+
`),exitCode:1};i.sort((f,c)=>{let p=f[t],l=c[t],d=typeof p=="number"?p:Number.parseFloat(String(p)),u=typeof l=="number"?l:Number.parseFloat(String(l));return!Number.isNaN(d)&&!Number.isNaN(u)?d-u:String(p??"").localeCompare(String(l??""))})}return{stdout:y(C(o,i)),stderr:m,exitCode:0}}q();async function je(e,n){let t=e.filter(c=>!c.startsWith("-")),{headers:s,data:r,error:o}=await b(t,n);if(o)return o;if(r.length===0)return{stdout:m,stderr:m,exitCode:0};let f=r.map(c=>s.map(p=>c[p])).map(c=>c.map(p=>ct(p)).join(",")).join(`
|
|
53
|
+
`)+`
|
|
54
|
+
`;return{stdout:y(f),stderr:m,exitCode:0}}function ct(e){if(e==null)return"";let n=String(e);return n.includes(",")||n.includes('"')||n.includes(`
|
|
55
|
+
`)?`"${n.replace(/"/g,'""')}"`:n}async function De(e,n){let t=null,s=null,r=[];for(let u=0;u<e.length;u++){let a=e[u];if(a==="--seed"&&u+1<e.length)s=Number.parseInt(e[++u],10);else if(!a.startsWith("-")){let h=Number.parseInt(a,10);t===null&&!Number.isNaN(h)&&h>0?t=h:r.push(a)}}if(t===null)return{stdout:m,stderr:y(`xan sample: usage: xan sample <sample-size> [FILE]
|
|
56
|
+
`),exitCode:1};let{headers:o,data:i,error:f}=await b(r,n);if(f)return f;if(i.length<=t)return{stdout:y(C(o,i)),stderr:m,exitCode:0};let c=s!==null?s:Date.now(),p=()=>(c=c*1103515245+12345&2147483647,c/2147483647),l=i.map((u,a)=>a);for(let u=l.length-1;u>0;u--){let a=Math.floor(p()*(u+1));[l[u],l[a]]=[l[a],l[u]]}let d=l.slice(0,t).sort((u,a)=>u-a).map(u=>i[u]);return{stdout:y(C(o,d)),stderr:m,exitCode:0}}async function Ve(e,n){let t=!1,s=[];for(let c=0;c<e.length;c++){let p=e[c];p==="-p"||p==="--pad"?t=!0:p.startsWith("-")||s.push(p)}if(s.length===0)return{stdout:m,stderr:y(`xan cat: no files specified
|
|
57
|
+
`),exitCode:1};let r=await Je(n,s,{cmdName:"xan cat",stopOnError:!0});if(r.exitCode!==0)return{stdout:m,stderr:y(r.stderr),exitCode:r.exitCode};let o=[],i=[];for(let{content:c}of r.files){let{headers:p,data:l}=ze(H(c));o.push({headers:p,data:l});for(let d of p)i.includes(d)||i.push(d)}if(!t){let c=JSON.stringify(o[0].headers);for(let p=1;p<o.length;p++)if(JSON.stringify(o[p].headers)!==c)return{stdout:m,stderr:y(`xan cat: headers do not match (use -p to pad)
|
|
58
|
+
`),exitCode:1};i=o[0].headers}let f=[];for(let{headers:c,data:p}of o)for(let l of p){let d=O();for(let u of i)I(d,u,c.includes(u)?l[u]:"");f.push(d)}return{stdout:y(C(i,f)),stderr:m,exitCode:0}}async function Ue(e,n){let t="",s=[],r=!1,o=!1,i=[];for(let a=0;a<e.length;a++){let h=e[a];(h==="-s"||h==="--select")&&a+1<e.length?s=e[++a].split(","):h==="-v"||h==="--invert"?r=!0:h==="-i"||h==="--ignore-case"?o=!0:h==="-r"||h==="--regex"||h.startsWith("-")||(t?i.push(h):t=h)}if(!t)return{stdout:m,stderr:y(`xan search: no pattern specified
|
|
59
|
+
`),exitCode:1};let{headers:f,data:c,error:p}=await b(i,n);if(p)return p;let l=s.length>0?s:f,d;try{d=Y(t,o?"i":"")}catch{return{stdout:m,stderr:y(`xan search: invalid regex pattern '${t}'
|
|
60
|
+
`),exitCode:1}}let u=c.filter(a=>{let h=l.some(g=>{let x=a[g];return x!=null&&d.test(String(x))});return r?!h:h});return{stdout:y(C(f,u)),stderr:m,exitCode:0}}async function We(e,n){let t="",s=[];for(let u of e)u.startsWith("-")||(t?s.push(u):t=u);if(!t)return{stdout:m,stderr:y(`xan flatmap: no expression specified
|
|
61
|
+
`),exitCode:1};let{headers:r,data:o,error:i}=await b(s,n);if(i)return i;let c=W(t).map(({expr:u,name:a})=>({alias:typeof a=="string"?a:a[0],ast:L(u)})),p={limits:n.limits?{maxIterations:n.limits.maxJqIterations}:void 0},l=[...r,...c.map(u=>u.alias)],d=[];for(let u of o){let a=[],h=1;for(let g of c){let x=j(u,g.ast,p),w=x.length>0&&Array.isArray(x[0])?x[0]:x;a.push(w),h=Math.max(h,w.length)}for(let g=0;g<h;g++){let x=$(u);for(let w=0;w<c.length;w++){let v=a[w][g]??null;I(x,c[w].alias,v)}d.push(x)}}return{stdout:y(C(l,d)),stderr:m,exitCode:0}}async function qe(e,n){let{cmdView:t}=await import("./xan-view-IJ4EABH7.js");return t(e,n)}var et=new Set(["fuzzy-join","glob","hist","input","parallel","plot","progress","range","scrape","tokenize","union-find"]),pt=new Set(["agg","behead","cat","count","dedup","drop","enum","explode","f","filter","fixlengths","flatmap","flatten","fmt","frequency","freq","from","groupby","head","headers","implode","join","map","merge","partition","pivot","rename","reverse","sample","search","select","shuffle","slice","sort","split","stats","tail","to","top","transform","transpose","view",...et]),Qe={name:"xan",summary:"CSV toolkit for data manipulation",usage:"xan <COMMAND> [OPTIONS] [FILE]",description:`xan is a collection of commands for working with CSV data.
|
|
62
|
+
It provides a simple, ergonomic interface for common data operations.
|
|
63
|
+
|
|
64
|
+
COMMANDS:
|
|
65
|
+
Core:
|
|
66
|
+
headers Show column names
|
|
67
|
+
count Count rows
|
|
68
|
+
head Show first N rows
|
|
69
|
+
tail Show last N rows
|
|
70
|
+
slice Extract row range
|
|
71
|
+
reverse Reverse row order
|
|
72
|
+
behead Remove header row
|
|
73
|
+
sample Random sample of rows
|
|
74
|
+
|
|
75
|
+
Column operations:
|
|
76
|
+
select Select columns (supports glob, ranges, negation)
|
|
77
|
+
drop Drop columns
|
|
78
|
+
rename Rename columns
|
|
79
|
+
enum Add row index column
|
|
80
|
+
|
|
81
|
+
Row operations:
|
|
82
|
+
filter Filter rows by expression
|
|
83
|
+
search Filter rows by regex match
|
|
84
|
+
sort Sort rows
|
|
85
|
+
dedup Remove duplicates
|
|
86
|
+
top Get top N by column
|
|
87
|
+
|
|
88
|
+
Transformations:
|
|
89
|
+
map Add computed columns
|
|
90
|
+
transform Modify existing columns
|
|
91
|
+
explode Split column into multiple rows
|
|
92
|
+
implode Combine rows, join column values
|
|
93
|
+
flatmap Map returning multiple rows
|
|
94
|
+
pivot Reshape rows into columns
|
|
95
|
+
transpose Swap rows and columns
|
|
96
|
+
|
|
97
|
+
Aggregation:
|
|
98
|
+
agg Aggregate values
|
|
99
|
+
groupby Group and aggregate
|
|
100
|
+
frequency Count value occurrences
|
|
101
|
+
stats Show column statistics
|
|
102
|
+
|
|
103
|
+
Multi-file:
|
|
104
|
+
cat Concatenate CSV files
|
|
105
|
+
join Join two CSV files on key
|
|
106
|
+
merge Merge sorted CSV files
|
|
107
|
+
split Split into multiple files
|
|
108
|
+
partition Split by column value
|
|
109
|
+
|
|
110
|
+
Data conversion:
|
|
111
|
+
to Convert CSV to other formats (json)
|
|
112
|
+
from Convert other formats to CSV (json)
|
|
113
|
+
shuffle Randomly reorder rows
|
|
114
|
+
fixlengths Fix ragged CSV files
|
|
115
|
+
|
|
116
|
+
Output:
|
|
117
|
+
view Pretty print as table
|
|
118
|
+
flatten Display records vertically (alias: f)
|
|
119
|
+
fmt Format output
|
|
120
|
+
|
|
121
|
+
EXAMPLES:
|
|
122
|
+
xan headers data.csv
|
|
123
|
+
xan count data.csv
|
|
124
|
+
xan head -n 5 data.csv
|
|
125
|
+
xan select name,email data.csv
|
|
126
|
+
xan select 'vec_*' data.csv # glob pattern
|
|
127
|
+
xan select 'a:c' data.csv # column range
|
|
128
|
+
xan filter 'age > 30' data.csv
|
|
129
|
+
xan search -r '^foo' data.csv
|
|
130
|
+
xan sort -N price data.csv
|
|
131
|
+
xan agg 'sum(amount) as total' data.csv
|
|
132
|
+
xan groupby region 'count() as n' data.csv
|
|
133
|
+
xan explode tags data.csv
|
|
134
|
+
xan join id file1.csv id file2.csv
|
|
135
|
+
xan pivot year 'sum(sales)' data.csv`,options:[" --help display this help and exit"]},ft={headers:{name:"xan headers",summary:"Show column names",usage:"xan headers [OPTIONS] [FILE]",description:"Display column names from a CSV file.",options:["-j, --just-names show names only (no index)"]},count:{name:"xan count",summary:"Count rows",usage:"xan count [FILE]",description:"Count the number of data rows (excluding header).",options:[]},filter:{name:"xan filter",summary:"Filter rows by expression",usage:"xan filter [OPTIONS] EXPR [FILE]",description:"Filter CSV rows using moonblade expressions.",options:["-v, --invert invert match","-l, --limit N limit output rows"]},search:{name:"xan search",summary:"Filter rows by regex",usage:"xan search [OPTIONS] PATTERN [FILE]",description:"Filter CSV rows by regex match on columns.",options:["-s, --select COLS search only these columns","-v, --invert invert match","-i, --ignore-case case insensitive"]},select:{name:"xan select",summary:"Select columns",usage:"xan select COLS [FILE]",description:"Select columns by name, index, glob, or range.",options:["Supports: col names, indices (0,1), ranges (a:c), globs (vec_*), negation (!col)"]},explode:{name:"xan explode",summary:"Split column into rows",usage:"xan explode COLUMN [OPTIONS] [FILE]",description:"Split delimited column values into multiple rows.",options:["-s, --separator SEP separator (default: |)","--drop-empty drop empty values","-r, --rename NAME rename column"]},implode:{name:"xan implode",summary:"Combine rows",usage:"xan implode COLUMN [OPTIONS] [FILE]",description:"Combine consecutive rows, joining column values.",options:["-s, --sep SEP separator (default: |)","-r, --rename NAME rename column"]},join:{name:"xan join",summary:"Join CSV files",usage:"xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]",description:"Join two CSV files on key columns.",options:["--left left outer join","--right right outer join","--full full outer join","-D, --default VAL default for missing"]},pivot:{name:"xan pivot",summary:"Reshape to columns",usage:"xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]",description:"Turn row values into columns.",options:["-g, --groupby COLS group by columns"]}},Sn={name:"xan",async execute(e,n){let t=He(e);if(t.length===0||X(t))return U(Qe);let s=t[0],r=t.slice(1);if(X(r)){let o=ft[s];return o?U(o):U(Qe)}if(et.has(s))return{stdout:m,stderr:y(`xan ${s}: not yet implemented
|
|
136
|
+
`),exitCode:1};switch(s){case"headers":return fe(r,n);case"count":return de(r,n);case"head":return he(r,n);case"tail":return me(r,n);case"slice":return ge(r,n);case"reverse":return ye(r,n);case"behead":return je(r,n);case"sample":return De(r,n);case"select":return le(r,n);case"drop":return ue(r,n);case"rename":return ce(r,n);case"enum":return pe(r,n);case"filter":return Ee(r,n);case"search":return Ue(r,n);case"sort":return Ne(r,n);case"dedup":return Ae(r,n);case"top":return Pe(r,n);case"map":return Fe(r,n);case"transform":return Oe(r,n);case"explode":return Le(r,n);case"implode":return Re(r,n);case"flatmap":return We(r,n);case"pivot":return Te(r,n);case"agg":return re(r,n);case"groupby":return oe(r,n);case"frequency":case"freq":return ie(r,n);case"stats":return ae(r,n);case"cat":return Ve(r,n);case"join":return Me(r,n);case"merge":return $e(r,n);case"split":return be(r,n);case"partition":return Se(r,n);case"to":return Ie(r,n);case"from":return ke(r,n);case"transpose":return we(r,n);case"shuffle":return ve(r,n);case"fixlengths":return Ce(r,n);case"view":return Q(r,n);case"flatten":case"f":return Z(r,n);case"fmt":return qe(r,n);default:return pt.has(s)?{stdout:m,stderr:y(`xan ${s}: not yet implemented
|
|
137
|
+
`),exitCode:1}:{stdout:m,stderr:y(`xan: unknown command '${s}'
|
|
138
|
+
Run 'xan --help' for usage.
|
|
139
|
+
`),exitCode:1}}}},In={name:"xan",flags:[],stdinType:"text",needsArgs:!0};export{Sn as a,In as b};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as s,b as l,d as r}from"./chunk-V6ANTLBA.js";import{a as i,b as n}from"./chunk-KZ3P3SVS.js";import{l as a}from"./chunk-O7N2RCS7.js";var d={name:"tail",summary:"output the last part of files",usage:"tail [OPTION]... [FILE]...",options:["-c, --bytes=NUM print the last NUM bytes","-n, --lines=NUM print the last NUM lines (default 10)","-n +NUM print starting from line NUM","-q, --quiet never print headers giving file names","-v, --verbose always print headers giving file names"," --help display this help and exit"]},v={name:"tail",async execute(o,p){let t=a(o);if(n(t))return i(d);let e=s(t,"tail");if(!e.ok)return e.error;let{lines:f,bytes:m,fromLine:u}=e.options;return l(p,e.options,"tail",g=>r(g,f,m,u??!1))}},b={name:"tail",flags:[{flag:"-n",type:"value",valueHint:"number"},{flag:"-c",type:"value",valueHint:"number"},{flag:"-q",type:"boolean"},{flag:"-v",type:"boolean"}],stdinType:"text",needsFiles:!0};export{v as a,b};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as E,b as P,c as I}from"./chunk-KZ3P3SVS.js";import{g as a,h,i as r,l as M}from"./chunk-O7N2RCS7.js";var L={name:"xargs",summary:"build and execute command lines from standard input",usage:"xargs [OPTION]... [COMMAND [INITIAL-ARGS]]",options:["-I REPLACE replace occurrences of REPLACE with input","-d DELIM use DELIM as input delimiter (e.g., -d '\\n' for newline)","-n NUM use at most NUM arguments per command line","-P NUM run at most NUM processes at a time","-0, --null items are separated by null, not whitespace","-t, --verbose print commands before executing","-r, --no-run-if-empty do not run command if input is empty"," --help display this help and exit"]},S={name:"xargs",async execute($,o){let n=M($);if(P(n))return E(L);let x=null,y=null,f=null,u=null,C=!1,b=!1,A=!1,l=0;for(let e=0;e<n.length;e++){let t=n[e];if(t==="-I"&&e+1<n.length)x=n[++e],l=e+1;else if(t==="-d"&&e+1<n.length)y=n[++e].replace(/\\n/g,`
|
|
2
|
+
`).replace(/\\t/g," ").replace(/\\r/g,"\r").replace(/\\0/g,"\0").replace(/\\\\/g,"\\"),l=e+1;else if(t==="-n"&&e+1<n.length)f=parseInt(n[++e],10),l=e+1;else if(t==="-P"&&e+1<n.length)u=parseInt(n[++e],10),l=e+1;else if(t==="-0"||t==="--null")C=!0,l=e+1;else if(t==="-t"||t==="--verbose")b=!0,l=e+1;else if(t==="-r"||t==="--no-run-if-empty")A=!0,l=e+1;else{if(t.startsWith("--"))return I("xargs",t);if(t.startsWith("-")&&t.length>1){for(let s of t.slice(1))if(!"0tr".includes(s))return I("xargs",`-${s}`);t.includes("0")&&(C=!0),t.includes("t")&&(b=!0),t.includes("r")&&(A=!0),l=e+1}else if(!t.startsWith("-")){l=e;break}}}let c=n.slice(l);c.length===0&&c.push("echo");let i;if(C?i=r(o.stdin).split("\0").filter(e=>e.length>0):y!==null?i=r(o.stdin).replace(/\n$/,"").split(y).filter(t=>t.length>0):i=r(o.stdin).split(/\s+/).map(e=>e.trim()).filter(e=>e.length>0),i.length===0)return A?{stdout:a,stderr:a,exitCode:0}:{stdout:a,stderr:a,exitCode:0};let p="",d="",m=0,N=e=>/[\s"'\\$`!*?[\]{}();&|<>#]/.test(e)?`"${e.replace(/([\\"`$])/g,"\\$1")}"`:e,w=async e=>{let t=e.map(N).join(" ");return b&&(d+=`${t}
|
|
3
|
+
`),o.exec?o.exec(t,{cwd:o.cwd}):{stdout:h(`${t}
|
|
4
|
+
`),stderr:a,exitCode:0}},v=async e=>{if(u!==null&&u>1)for(let t=0;t<e.length;t+=u){let s=e.slice(t,t+u),H=await Promise.all(s.map(w));for(let g of H)p+=r(g.stdout),d+=r(g.stderr),g.exitCode!==0&&(m=g.exitCode)}else for(let t of e){let s=await w(t);p+=r(s.stdout),d+=r(s.stderr),s.exitCode!==0&&(m=s.exitCode)}};if(x!==null){let e=i.map(t=>c.map(s=>s.replaceAll(x,t)));await v(e)}else if(f!==null){let e=[];for(let t=0;t<i.length;t+=f){let s=i.slice(t,t+f);e.push([...c,...s])}await v(e)}else{let e=[...c,...i],t=await w(e);p+=r(t.stdout),d+=r(t.stderr),m=t.exitCode}return{stdout:h(p),stderr:h(d),exitCode:m}}},T={name:"xargs",flags:[{flag:"-I",type:"value",valueHint:"string"},{flag:"-d",type:"value",valueHint:"delimiter"},{flag:"-n",type:"value",valueHint:"number"},{flag:"-0",type:"boolean"},{flag:"-t",type:"boolean"},{flag:"-r",type:"boolean"}],stdinType:"text"};export{S as a,T as b};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{a as x}from"./chunk-IJXFPKNC.js";import{a as S,b as X}from"./chunk-VLGZJRPG.js";import{a as K,b as V,c as G}from"./chunk-KZ3P3SVS.js";import{g as y,h as w,i as j,l as J}from"./chunk-O7N2RCS7.js";var le={name:"grep",summary:"print lines that match patterns",usage:"grep [OPTION]... PATTERN [FILE]...",options:["-E, --extended-regexp PATTERN is an extended regular expression","-P, --perl-regexp PATTERN is a Perl regular expression","-F, --fixed-strings PATTERN is a set of newline-separated strings","-i, --ignore-case ignore case distinctions","-v, --invert-match select non-matching lines","-w, --word-regexp match only whole words","-x, --line-regexp match only whole lines","-c, --count print only a count of matching lines","-l, --files-with-matches print only names of files with matches","-L, --files-without-match print names of files with no matches","-m NUM, --max-count=NUM stop after NUM matches","-n, --line-number print line number with output lines","-h, --no-filename suppress the file name prefix on output","-o, --only-matching show only nonempty parts of lines that match","-q, --quiet, --silent suppress all normal output","-r, -R, --recursive search directories recursively","-A NUM print NUM lines of trailing context","-B NUM print NUM lines of leading context","-C NUM print NUM lines of context","-e PATTERN use PATTERN for matching"," --include=GLOB search only files matching GLOB"," --exclude=GLOB skip files matching GLOB"," --exclude-dir=DIR skip directories matching DIR"," --help display this help and exit"]},ee={name:"grep",async execute(n,t){let l=J(n);if(V(l))return K(le);let c=!1,p=!1,d=!1,g=!1,o=!1,i=!1,f=!1,v=!1,u=!1,h=!1,P=!1,T=!1,O=!1,D=!1,I=!1,W=0,C=0,R=0,A=[],E=[],Q=[],M=null,H=[];for(let r=0;r<l.length;r++){let s=l[r];if(s.startsWith("-")&&s!=="-"){if(s==="-e"&&r+1<l.length){M=l[++r];continue}if(s.startsWith("--include=")){A.push(s.slice(10));continue}if(s.startsWith("--exclude=")){E.push(s.slice(10));continue}if(s.startsWith("--exclude-dir=")){Q.push(s.slice(14));continue}if(s.startsWith("--max-count=")){W=parseInt(s.slice(12),10);continue}let b=s.match(/^-m(\d+)$/);if(b){W=parseInt(b[1],10);continue}if(s==="-m"&&r+1<l.length){W=parseInt(l[++r],10);continue}let a=s.match(/^-([ABC])(\d+)$/);if(a){let e=parseInt(a[2],10);a[1]==="A"?R=e:a[1]==="B"?C=e:a[1]==="C"&&(C=e,R=e);continue}if((s==="-A"||s==="-B"||s==="-C")&&r+1<l.length){let e=parseInt(l[++r],10);s==="-A"?R=e:s==="-B"?C=e:(C=e,R=e);continue}let m=s.startsWith("--")?[s]:s.slice(1).split("");for(let e of m)if(e==="i"||e==="--ignore-case")c=!0;else if(e==="n"||e==="--line-number")p=!0;else if(e==="v"||e==="--invert-match")d=!0;else if(e==="c"||e==="--count")g=!0;else if(e==="l"||e==="--files-with-matches")o=!0;else if(e==="L"||e==="--files-without-match")i=!0;else if(e==="r"||e==="R"||e==="--recursive")f=!0;else if(e==="w"||e==="--word-regexp")v=!0;else if(e==="x"||e==="--line-regexp")u=!0;else if(e==="E"||e==="--extended-regexp")h=!0;else if(e==="P"||e==="--perl-regexp")P=!0;else if(e==="F"||e==="--fixed-strings")T=!0;else if(e==="o"||e==="--only-matching")O=!0;else if(e==="h"||e==="--no-filename")D=!0;else if(e==="q"||e==="--quiet"||e==="--silent")I=!0;else{if(e.startsWith("--"))return G("grep",e);if(e.length===1)return G("grep",`-${e}`)}}else M===null?M=s:H.push(s)}if(M===null)return{stdout:y,stderr:w(`grep: missing pattern
|
|
2
|
+
`),exitCode:2};let se=T?"fixed":h?"extended":P?"perl":"basic",U,q;try{let r=X(M,{mode:se,ignoreCase:c,wholeWord:v,lineRegexp:u});U=r.regex,q=r.kResetGroup}catch{return{stdout:y,stderr:w(`grep: invalid regular expression: ${M}
|
|
3
|
+
`),exitCode:2}}if(H.length===0&&t.stdin!==void 0){let r=S(j(t.stdin),U,{invertMatch:d,showLineNumbers:p,countOnly:g,filename:"",onlyMatching:O,beforeContext:C,afterContext:R,maxCount:W,kResetGroup:q});return I?{stdout:y,stderr:y,exitCode:r.matched?0:1}:{stdout:w(r.output),stderr:y,exitCode:r.matched?0:1}}if(H.length===0)return{stdout:y,stderr:w(`grep: no input files
|
|
4
|
+
`),exitCode:2};let N="",k="",Y=!1,Z=!1,F=[];for(let r of H)if(r.includes("*")||r.includes("?")||r.includes("[")){let s=await oe(r,t);if(f)for(let b of s){let a=await L(b.path,t,A,E,Q,b.isFile);F.push(...a)}else F.push(...s)}else if(f){let s=await L(r,t,A,E,Q);F.push(...s)}else F.push({path:r});let ne=(F.length>1||f)&&!D,_=50;for(let r=0;r<F.length;r+=_){let s=F.slice(r,r+_),b=await Promise.all(s.map(async a=>{let m=a.path,e=m.split("/").pop()||m;if(E.length>0&&!f&&E.some($=>x(e,$,{stripQuotes:!0}))||A.length>0&&!f&&!A.some($=>x(e,$,{stripQuotes:!0})))return null;try{let $=t.fs.resolvePath(t.cwd,m),z=!1;if(a.isFile===void 0?z=(await t.fs.stat($)).isDirectory:z=!a.isFile,z)return f?null:{error:`grep: ${m}: Is a directory
|
|
5
|
+
`};let ie=await t.fs.readFile($),re=S(ie,U,{invertMatch:d,showLineNumbers:p,countOnly:g,filename:ne?m:"",onlyMatching:O,beforeContext:C,afterContext:R,maxCount:W,kResetGroup:q});return{file:m,result:re}}catch{return{error:`grep: ${m}: No such file or directory
|
|
6
|
+
`}}}));for(let a of b){if(a===null)continue;if("error"in a&&a.error){k+=a.error,a.error.includes("Is a directory")||(Z=!0);continue}if(!("file"in a)||!a.result)continue;let{file:m,result:e}=a;if(e.matched){if(Y=!0,I)return{stdout:y,stderr:y,exitCode:0};o?N+=`${m}
|
|
7
|
+
`:i||(N+=e.output)}else i?N+=`${m}
|
|
8
|
+
`:g&&!o&&(N+=e.output)}}let B;return Z?B=2:i?B=N.length>0?0:1:B=Y?0:1,I?{stdout:y,stderr:y,exitCode:B}:{stdout:w(N),stderr:w(k),exitCode:B}}};async function te(n,t,l,c){let p=l.fs.resolvePath(l.cwd,n);try{if(!(await l.fs.stat(p)).isDirectory){let o=n.split("/").pop()||"";if(t){let i=t.replace(/^\//,"");x(o,i,{stripQuotes:!0})&&c.push(n)}return}let g=await l.fs.readdir(p);for(let o of g){let i=n==="."?o:`${n}/${o}`,f=l.fs.resolvePath(l.cwd,i);if((await l.fs.stat(f)).isDirectory)await te(i,t,l,c);else if(t){let u=t.replace(/^\//,"");x(o,u,{stripQuotes:!0})&&c.push(i)}}}catch{}}async function oe(n,t){let l=[],c=n.lastIndexOf("/"),p,d;if(c===-1?(p=t.cwd,d=n):(p=n.slice(0,c)||"/",d=n.slice(c+1)),n.includes("**")){let o=[],i=n.split("**"),f=i[0].replace(/\/$/,"")||".",v=i[1]||"";return await te(f,v,t,o),o.map(u=>({path:u}))}let g=t.fs.resolvePath(t.cwd,p);try{if(t.fs.readdirWithFileTypes){let o=await t.fs.readdirWithFileTypes(g);for(let i of o)if(x(i.name,d,{stripQuotes:!0})){let f=c===-1?i.name:`${p}/${i.name}`;l.push({path:f,isFile:i.isFile})}}else{let o=await t.fs.readdir(g);for(let i of o)if(x(i,d,{stripQuotes:!0})){let f=c===-1?i:`${p}/${i}`;l.push({path:f})}}}catch{}return l.sort((o,i)=>o.path.localeCompare(i.path))}async function L(n,t,l=[],c=[],p=[],d){let g=t.fs.resolvePath(t.cwd,n),o=[];try{let i,f;if(d!==void 0)i=d,f=!d;else{let u=await t.fs.stat(g);i=u.isFile,f=u.isDirectory}if(i){let u=n.split("/").pop()||n;return c.length>0&&c.some(h=>x(u,h,{stripQuotes:!0}))?[]:l.length>0&&!l.some(h=>x(u,h,{stripQuotes:!0}))?[]:[{path:n,isFile:!0}]}if(!f)return[];let v=n.split("/").pop()||n;if(p.length>0&&p.some(u=>x(v,u,{stripQuotes:!0})))return[];if(t.fs.readdirWithFileTypes){let u=await t.fs.readdirWithFileTypes(g);for(let h of u){if(h.name.startsWith("."))continue;let P=n==="."?h.name:`${n}/${h.name}`,T=await L(P,t,l,c,p,h.isFile);o.push(...T)}}else{let u=await t.fs.readdir(g);for(let h of u){if(h.startsWith("."))continue;let P=n==="."?h:`${n}/${h}`,T=await L(P,t,l,c,p);o.push(...T)}}}catch{}return o}var he={name:"fgrep",async execute(n,t){return ee.execute([w("-F"),...n],t)}},de={name:"egrep",async execute(n,t){return ee.execute([w("-E"),...n],t)}},ge={name:"grep",flags:[{flag:"-E",type:"boolean"},{flag:"-F",type:"boolean"},{flag:"-P",type:"boolean"},{flag:"-i",type:"boolean"},{flag:"-v",type:"boolean"},{flag:"-w",type:"boolean"},{flag:"-x",type:"boolean"},{flag:"-c",type:"boolean"},{flag:"-l",type:"boolean"},{flag:"-L",type:"boolean"},{flag:"-n",type:"boolean"},{flag:"-h",type:"boolean"},{flag:"-o",type:"boolean"},{flag:"-q",type:"boolean"},{flag:"-r",type:"boolean"},{flag:"-m",type:"value",valueHint:"number"},{flag:"-A",type:"value",valueHint:"number"},{flag:"-B",type:"value",valueHint:"number"},{flag:"-C",type:"value",valueHint:"number"},{flag:"-e",type:"value",valueHint:"pattern"}],stdinType:"text",needsArgs:!0},me={name:"fgrep",flags:[],stdinType:"text",needsArgs:!0},ye={name:"egrep",flags:[],stdinType:"text",needsArgs:!0};export{ee as a,he as b,de as c,ge as d,me as e,ye as f};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import{a as g}from"./chunk-44UOCSGV.js";import{a as p}from"./chunk-OXRHP7HO.js";import{g as a,h as c,l as d}from"./chunk-O7N2RCS7.js";var h={recursive:{short:"r",long:"recursive",type:"boolean"},recursiveUpper:{short:"R",type:"boolean"},force:{short:"f",long:"force",type:"boolean"},verbose:{short:"v",long:"verbose",type:"boolean"}},N={name:"rm",async execute(v,s){let y=d(v),e=p("rm",y,h);if(!e.ok)return e.error;let f=e.result.flags.recursive||e.result.flags.recursiveUpper,l=e.result.flags.force,b=e.result.flags.verbose,u=e.result.positional;if(u.length===0)return l?{stdout:a,stderr:a,exitCode:0}:{stdout:a,stderr:c(`rm: missing operand
|
|
2
|
+
`),exitCode:1};let m="",t="",i=0;for(let r of u)try{let n=s.fs.resolvePath(s.cwd,r);if((await s.fs.stat(n)).isDirectory&&!f){t+=`rm: cannot remove '${r}': Is a directory
|
|
3
|
+
`,i=1;continue}await s.fs.rm(n,{recursive:f,force:l}),b&&(m+=`removed '${r}'
|
|
4
|
+
`)}catch(n){if(!l){let o=g(n);o.includes("ENOENT")||o.includes("no such file")?t+=`rm: cannot remove '${r}': No such file or directory
|
|
5
|
+
`:o.includes("ENOTEMPTY")||o.includes("not empty")?t+=`rm: cannot remove '${r}': Directory not empty
|
|
6
|
+
`:t+=`rm: cannot remove '${r}': ${o}
|
|
7
|
+
`,i=1}}return{stdout:c(m),stderr:c(t),exitCode:i}}},P={name:"rm",flags:[{flag:"-r",type:"boolean"},{flag:"-R",type:"boolean"},{flag:"-f",type:"boolean"},{flag:"-v",type:"boolean"}],needsArgs:!0};export{N as a,P as b};
|