just-bash 3.1.0 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +72 -9
- package/dist/Bash.d.ts +12 -4
- package/dist/abort-signals.d.ts +10 -0
- package/dist/bin/chunks/alias-3R4G6HQY.js +3 -0
- package/dist/bin/chunks/awk2-7UZLEPVX.js +3 -0
- package/dist/bin/chunks/base64-W6FVFNXJ.js +3 -0
- package/dist/bin/chunks/basename-C4CRGDXP.js +3 -0
- package/dist/bin/chunks/bash-CFCBBWVH.js +3 -0
- package/dist/bin/chunks/cat-5YECZSFQ.js +3 -0
- package/dist/bin/chunks/chmod-45TMYSW2.js +3 -0
- package/dist/bin/chunks/chunk-23OI2XDJ.js +20 -0
- package/dist/bin/chunks/chunk-2OQ5HPZE.js +7 -0
- package/dist/bin/chunks/chunk-2YLY6FJA.js +10 -0
- package/dist/bin/chunks/chunk-3HUI54BW.js +143 -0
- package/dist/bin/chunks/chunk-3OYRDLJJ.js +101 -0
- package/dist/bin/chunks/chunk-3PCPQIUD.js +3 -0
- package/dist/bin/chunks/chunk-3VSWQCPN.js +18 -0
- package/dist/bin/chunks/chunk-43E7AR6A.js +3 -0
- package/dist/bin/chunks/chunk-46CDVHZ3.js +5 -0
- package/dist/bin/chunks/chunk-4SQKKW2M.js +3 -0
- package/dist/bin/chunks/chunk-5SKEZPTU.js +12 -0
- package/dist/bin/chunks/chunk-6D75E4LV.js +3 -0
- package/dist/bin/chunks/chunk-6SAZRW7E.js +15 -0
- package/dist/bin/chunks/chunk-7FGDUBSN.js +14 -0
- package/dist/bin/chunks/chunk-7I6MNC5I.js +3 -0
- package/dist/bin/chunks/chunk-B7RRNV3A.js +22 -0
- package/dist/bin/chunks/chunk-BCJ42NCM.js +15 -0
- package/dist/bin/chunks/chunk-BNYIXXC2.js +3 -0
- package/dist/bin/chunks/chunk-BPWZ7ADB.js +8 -0
- package/dist/bin/chunks/chunk-BWRQ5HYX.js +9 -0
- package/dist/bin/chunks/chunk-CB4SODHK.js +34 -0
- package/dist/bin/chunks/chunk-CC2AQ6B7.js +15 -0
- package/dist/bin/chunks/chunk-CPKBPQ2C.js +3 -0
- package/dist/bin/chunks/chunk-CPTQXTBJ.js +3 -0
- package/dist/bin/chunks/chunk-D3MUBZ4P.js +65 -0
- package/dist/bin/chunks/chunk-DN2YCFOR.js +3 -0
- package/dist/bin/chunks/chunk-DSZQ22OX.js +12 -0
- package/dist/bin/chunks/chunk-E5VZGTZ6.js +10 -0
- package/dist/bin/chunks/chunk-ETWDDV6I.js +10 -0
- package/dist/bin/chunks/chunk-GEUCQ4AB.js +10 -0
- package/dist/bin/chunks/chunk-H4BRFPKY.js +3 -0
- package/dist/bin/chunks/chunk-IAAPXDHN.js +11 -0
- package/dist/bin/chunks/chunk-ISW2U76N.js +17 -0
- package/dist/bin/chunks/chunk-JQER3HUP.js +20 -0
- package/dist/bin/chunks/chunk-K5KT6DMM.js +4 -0
- package/dist/bin/chunks/chunk-KG2KXL4Y.js +3 -0
- package/dist/bin/chunks/chunk-LCP3IKI7.js +9 -0
- package/dist/bin/chunks/chunk-LGERQ5TD.js +22 -0
- package/dist/bin/chunks/chunk-LNFTLSWJ.js +22 -0
- package/dist/bin/chunks/chunk-LUHU7UUN.js +7 -0
- package/dist/bin/chunks/chunk-LXFMIXGA.js +3 -0
- package/dist/bin/chunks/chunk-MYTNZ7MA.js +7 -0
- package/dist/bin/chunks/chunk-MZM7RVYU.js +8 -0
- package/dist/bin/chunks/chunk-NGD6G5ZG.js +9 -0
- package/dist/bin/chunks/chunk-NJ67YJRE.js +6 -0
- package/dist/bin/chunks/chunk-NQQ3X7MZ.js +36 -0
- package/dist/bin/chunks/chunk-O74FSWB4.js +4 -0
- package/dist/bin/chunks/chunk-OKU677H3.js +87 -0
- package/dist/bin/chunks/chunk-P6NPCASY.js +11 -0
- package/dist/bin/chunks/chunk-PKWK3LQM.js +22 -0
- package/dist/bin/chunks/chunk-PQPFDJFF.js +34 -0
- package/dist/bin/chunks/chunk-PRKSLEHG.js +291 -0
- package/dist/bin/chunks/chunk-PUZGSIMN.js +15 -0
- package/dist/bin/chunks/chunk-Q3LE3Y66.js +13 -0
- package/dist/bin/chunks/chunk-QAYU7HPM.js +7 -0
- package/dist/bin/chunks/chunk-QES5OSUC.js +3 -0
- package/dist/bin/chunks/chunk-QF7PPON7.js +16 -0
- package/dist/bin/chunks/chunk-QK6BXSHU.js +13 -0
- package/dist/bin/chunks/chunk-RYQB6GQ7.js +11 -0
- package/dist/bin/chunks/chunk-SSK3N7FN.js +3 -0
- package/dist/bin/chunks/chunk-TL4JI2SL.js +38 -0
- package/dist/bin/chunks/chunk-TPU3OX2A.js +3 -0
- package/dist/bin/chunks/chunk-TW2IJRUF.js +3 -0
- package/dist/bin/chunks/chunk-TZ3S7MY6.js +12 -0
- package/dist/bin/chunks/chunk-VGR3NA3H.js +13 -0
- package/dist/bin/chunks/chunk-VLWZ6L7C.js +4 -0
- package/dist/bin/chunks/chunk-VTAIIBJT.js +16 -0
- package/dist/bin/chunks/chunk-VTHA5UK5.js +7 -0
- package/dist/bin/chunks/chunk-VY2K25J4.js +16 -0
- package/dist/bin/chunks/chunk-W4U4QOZF.js +7 -0
- package/dist/bin/chunks/chunk-WDV2ECOC.js +3 -0
- package/dist/bin/chunks/chunk-WFVCEB5T.js +3 -0
- package/dist/bin/chunks/chunk-WSLBBXPJ.js +12 -0
- package/dist/bin/chunks/chunk-WWOUFMMY.js +3 -0
- package/dist/bin/chunks/chunk-WYTPLN2M.js +11 -0
- package/dist/bin/chunks/chunk-X5VUGFUL.js +3 -0
- package/dist/bin/chunks/chunk-X63MJBLH.js +26 -0
- package/dist/bin/chunks/chunk-XAAXPEOP.js +6 -0
- package/dist/bin/chunks/chunk-XEQ7KSRM.js +5 -0
- package/dist/bin/chunks/chunk-YIANER7Y.js +8 -0
- package/dist/bin/chunks/chunk-YMELOXDK.js +13 -0
- package/dist/bin/chunks/chunk-YTL6DXBO.js +11 -0
- package/dist/bin/chunks/chunk-YYZSYLJO.js +6 -0
- package/dist/bin/chunks/chunk-ZXIW4JPL.js +22 -0
- package/dist/bin/chunks/clear-OE52K3TM.js +3 -0
- package/dist/bin/chunks/column-7VBJL757.js +3 -0
- package/dist/bin/chunks/comm-URDMZCXL.js +3 -0
- package/dist/bin/chunks/cp-MF5GADQN.js +3 -0
- package/dist/bin/chunks/curl-FS5LAEYI.js +30 -0
- package/dist/bin/chunks/cut-QOTYBJJJ.js +3 -0
- package/dist/bin/chunks/date-FJUBX7TJ.js +3 -0
- package/dist/bin/chunks/diff-YXZZCUSQ.js +3 -0
- package/dist/bin/chunks/dirname-TPUFCYF6.js +3 -0
- package/dist/bin/chunks/du-A3UGHIKJ.js +3 -0
- package/dist/bin/chunks/echo-4OUEL7QB.js +3 -0
- package/dist/bin/chunks/env-2TSVF4W7.js +3 -0
- package/dist/bin/chunks/expand-P6SNTBGZ.js +3 -0
- package/dist/bin/chunks/expr-56X7LYOS.js +3 -0
- package/dist/bin/chunks/file-SQSOBJLR.js +3 -0
- package/dist/bin/chunks/find-XY2NTAT5.js +3 -0
- package/dist/bin/chunks/flag-coverage-WGSE667D.js +3 -0
- package/dist/bin/chunks/fold-YEY7X54W.js +3 -0
- package/dist/bin/chunks/grep-CMT2H2S7.js +3 -0
- package/dist/bin/chunks/gzip-DJSFJOY6.js +3 -0
- package/dist/bin/chunks/head-KPRH4HKC.js +3 -0
- package/dist/bin/chunks/help-HVIDHJ6M.js +3 -0
- package/dist/bin/chunks/history-3HAU45KT.js +3 -0
- package/dist/bin/chunks/hostname-2I76DUQL.js +3 -0
- package/dist/bin/chunks/html-to-markdown-WUBAMB4O.js +3 -0
- package/dist/bin/chunks/join-UQKXU2QP.js +3 -0
- package/dist/bin/chunks/jq-ACCMBTSD.js +3 -0
- package/dist/bin/chunks/js-exec-4KNUPGHA.js +99 -0
- package/dist/bin/chunks/js-exec-worker.js +187 -110
- package/dist/bin/chunks/ln-XSDIE6SU.js +3 -0
- package/dist/bin/chunks/ls-FTHYNINH.js +3 -0
- package/dist/bin/chunks/md5sum-Z6KAYGDK.js +3 -0
- package/dist/bin/chunks/mkdir-74BP5NTG.js +3 -0
- package/dist/bin/chunks/mv-YG75IRRE.js +3 -0
- package/dist/bin/chunks/nl-XHWFVVKH.js +3 -0
- package/dist/bin/chunks/od-A7CW5RMS.js +3 -0
- package/dist/bin/chunks/paste-YJLYVJMP.js +3 -0
- package/dist/bin/chunks/printf-F2KOCULO.js +3 -0
- package/dist/bin/chunks/pwd-YKLNXWZI.js +3 -0
- package/dist/bin/chunks/python3-AYUQQRCR.js +14 -0
- package/dist/bin/chunks/readlink-HMHVGSAM.js +3 -0
- package/dist/bin/chunks/rev-CZTQCNOZ.js +3 -0
- package/dist/bin/chunks/rg-JRKJ6I4X.js +3 -0
- package/dist/bin/chunks/rm-3PLW4O4B.js +3 -0
- package/dist/bin/chunks/rmdir-DCJ3XJRR.js +3 -0
- package/dist/bin/chunks/sed-QJ2LNV2N.js +3 -0
- package/dist/bin/chunks/seq-Q4LZ6EXV.js +3 -0
- package/dist/bin/chunks/sha1sum-CATBXX76.js +3 -0
- package/dist/bin/chunks/sha256sum-YGSNBVY3.js +3 -0
- package/dist/bin/chunks/sleep-FUDWGDCE.js +3 -0
- package/dist/bin/chunks/sort-M3DO25D5.js +3 -0
- package/dist/bin/chunks/split-7IYQYKOW.js +3 -0
- package/dist/bin/chunks/sqlite3-ZXF6BGDW.js +3 -0
- package/dist/bin/chunks/sqlite3-worker.js +316 -173
- package/dist/bin/chunks/stat-Y5D3VPLG.js +3 -0
- package/dist/bin/chunks/strings-J2X2Z6N2.js +3 -0
- package/dist/bin/chunks/tac-DG4BMYM5.js +3 -0
- package/dist/bin/chunks/tail-QISQLA3I.js +3 -0
- package/dist/bin/chunks/tar-TB2XWXF6.js +3 -0
- package/dist/bin/chunks/tee-L4HKV5PD.js +3 -0
- package/dist/bin/chunks/time-LF7BTSK5.js +3 -0
- package/dist/bin/chunks/timeout-TDOV6JDA.js +3 -0
- package/dist/bin/chunks/touch-TVQAUQOG.js +3 -0
- package/dist/bin/chunks/tr-AR6EK7JH.js +3 -0
- package/dist/bin/chunks/tree-ZGP6NPGS.js +3 -0
- package/dist/bin/chunks/true-KFTJGQLQ.js +3 -0
- package/dist/bin/chunks/undici-JES22UVU.js +141 -0
- package/dist/bin/chunks/unexpand-JPOQORZF.js +3 -0
- package/dist/bin/chunks/uniq-K5VRDP4Q.js +3 -0
- package/dist/bin/chunks/wc-VSQBRD6B.js +3 -0
- package/dist/bin/chunks/which-4TPGVSBZ.js +3 -0
- package/dist/bin/chunks/whoami-B5HDVKW6.js +3 -0
- package/dist/bin/chunks/worker.js +212 -105
- package/dist/bin/chunks/xan-D6US4ZGL.js +3 -0
- package/dist/bin/chunks/xan-view-QGKWT354.js +3 -0
- package/dist/bin/chunks/xargs-HMISWW4I.js +3 -0
- package/dist/bin/chunks/yq-EYV7HLKK.js +3 -0
- package/dist/bin/just-bash.js +412 -387
- package/dist/bin/shell/chunks/alias-3R4G6HQY.js +3 -0
- package/dist/bin/shell/chunks/awk2-7UZLEPVX.js +3 -0
- package/dist/bin/shell/chunks/base64-W6FVFNXJ.js +3 -0
- package/dist/bin/shell/chunks/basename-C4CRGDXP.js +3 -0
- package/dist/bin/shell/chunks/bash-CFCBBWVH.js +3 -0
- package/dist/bin/shell/chunks/cat-5YECZSFQ.js +3 -0
- package/dist/bin/shell/chunks/chmod-45TMYSW2.js +3 -0
- package/dist/bin/shell/chunks/chunk-23OI2XDJ.js +20 -0
- package/dist/bin/shell/chunks/chunk-2OQ5HPZE.js +7 -0
- package/dist/bin/shell/chunks/chunk-2YLY6FJA.js +10 -0
- package/dist/bin/shell/chunks/chunk-3HUI54BW.js +143 -0
- package/dist/bin/shell/chunks/chunk-3OYRDLJJ.js +101 -0
- package/dist/bin/shell/chunks/chunk-3PCPQIUD.js +3 -0
- package/dist/bin/shell/chunks/chunk-3VSWQCPN.js +18 -0
- package/dist/bin/shell/chunks/chunk-43E7AR6A.js +3 -0
- package/dist/bin/shell/chunks/chunk-46CDVHZ3.js +5 -0
- package/dist/bin/shell/chunks/chunk-4SQKKW2M.js +3 -0
- package/dist/bin/shell/chunks/chunk-5SKEZPTU.js +12 -0
- package/dist/bin/shell/chunks/chunk-6D75E4LV.js +3 -0
- package/dist/bin/shell/chunks/chunk-6SAZRW7E.js +15 -0
- package/dist/bin/shell/chunks/chunk-7FGDUBSN.js +14 -0
- package/dist/bin/shell/chunks/chunk-7I6MNC5I.js +3 -0
- package/dist/bin/shell/chunks/chunk-B7RRNV3A.js +22 -0
- package/dist/bin/shell/chunks/chunk-BCJ42NCM.js +15 -0
- package/dist/bin/shell/chunks/chunk-BNYIXXC2.js +3 -0
- package/dist/bin/shell/chunks/chunk-BPWZ7ADB.js +8 -0
- package/dist/bin/shell/chunks/chunk-BWRQ5HYX.js +9 -0
- package/dist/bin/shell/chunks/chunk-CB4SODHK.js +34 -0
- package/dist/bin/shell/chunks/chunk-CC2AQ6B7.js +15 -0
- package/dist/bin/shell/chunks/chunk-CPKBPQ2C.js +3 -0
- package/dist/bin/shell/chunks/chunk-CPTQXTBJ.js +3 -0
- package/dist/bin/shell/chunks/chunk-D3MUBZ4P.js +65 -0
- package/dist/bin/shell/chunks/chunk-DN2YCFOR.js +3 -0
- package/dist/bin/shell/chunks/chunk-DSZQ22OX.js +12 -0
- package/dist/bin/shell/chunks/chunk-E5VZGTZ6.js +10 -0
- package/dist/bin/shell/chunks/chunk-ETWDDV6I.js +10 -0
- package/dist/bin/shell/chunks/chunk-GEUCQ4AB.js +10 -0
- package/dist/bin/shell/chunks/chunk-H4BRFPKY.js +3 -0
- package/dist/bin/shell/chunks/chunk-IAAPXDHN.js +11 -0
- package/dist/bin/shell/chunks/chunk-ISW2U76N.js +17 -0
- package/dist/bin/shell/chunks/chunk-JQER3HUP.js +20 -0
- package/dist/bin/shell/chunks/chunk-K5KT6DMM.js +4 -0
- package/dist/bin/shell/chunks/chunk-KG2KXL4Y.js +3 -0
- package/dist/bin/shell/chunks/chunk-LCP3IKI7.js +9 -0
- package/dist/bin/shell/chunks/chunk-LGERQ5TD.js +22 -0
- package/dist/bin/shell/chunks/chunk-LNFTLSWJ.js +22 -0
- package/dist/bin/shell/chunks/chunk-LUHU7UUN.js +7 -0
- package/dist/bin/shell/chunks/chunk-LXFMIXGA.js +3 -0
- package/dist/bin/shell/chunks/chunk-MYTNZ7MA.js +7 -0
- package/dist/bin/shell/chunks/chunk-MZM7RVYU.js +8 -0
- package/dist/bin/shell/chunks/chunk-NGD6G5ZG.js +9 -0
- package/dist/bin/shell/chunks/chunk-NJ67YJRE.js +6 -0
- package/dist/bin/shell/chunks/chunk-NQQ3X7MZ.js +36 -0
- package/dist/bin/shell/chunks/chunk-O74FSWB4.js +4 -0
- package/dist/bin/shell/chunks/chunk-OKU677H3.js +87 -0
- package/dist/bin/shell/chunks/chunk-P6NPCASY.js +11 -0
- package/dist/bin/shell/chunks/chunk-PKWK3LQM.js +22 -0
- package/dist/bin/shell/chunks/chunk-PQPFDJFF.js +34 -0
- package/dist/bin/shell/chunks/chunk-PRKSLEHG.js +291 -0
- package/dist/bin/shell/chunks/chunk-PUZGSIMN.js +15 -0
- package/dist/bin/shell/chunks/chunk-Q3LE3Y66.js +13 -0
- package/dist/bin/shell/chunks/chunk-QAYU7HPM.js +7 -0
- package/dist/bin/shell/chunks/chunk-QES5OSUC.js +3 -0
- package/dist/bin/shell/chunks/chunk-QF7PPON7.js +16 -0
- package/dist/bin/shell/chunks/chunk-QK6BXSHU.js +13 -0
- package/dist/bin/shell/chunks/chunk-RYQB6GQ7.js +11 -0
- package/dist/bin/shell/chunks/chunk-SSK3N7FN.js +3 -0
- package/dist/bin/shell/chunks/chunk-TL4JI2SL.js +38 -0
- package/dist/bin/shell/chunks/chunk-TPU3OX2A.js +3 -0
- package/dist/bin/shell/chunks/chunk-TW2IJRUF.js +3 -0
- package/dist/bin/shell/chunks/chunk-TZ3S7MY6.js +12 -0
- package/dist/bin/shell/chunks/chunk-VGR3NA3H.js +13 -0
- package/dist/bin/shell/chunks/chunk-VLWZ6L7C.js +4 -0
- package/dist/bin/shell/chunks/chunk-VTAIIBJT.js +16 -0
- package/dist/bin/shell/chunks/chunk-VTHA5UK5.js +7 -0
- package/dist/bin/shell/chunks/chunk-VY2K25J4.js +16 -0
- package/dist/bin/shell/chunks/chunk-W4U4QOZF.js +7 -0
- package/dist/bin/shell/chunks/chunk-WDV2ECOC.js +3 -0
- package/dist/bin/shell/chunks/chunk-WFVCEB5T.js +3 -0
- package/dist/bin/shell/chunks/chunk-WSLBBXPJ.js +12 -0
- package/dist/bin/shell/chunks/chunk-WWOUFMMY.js +3 -0
- package/dist/bin/shell/chunks/chunk-WYTPLN2M.js +11 -0
- package/dist/bin/shell/chunks/chunk-X5VUGFUL.js +3 -0
- package/dist/bin/shell/chunks/chunk-X63MJBLH.js +26 -0
- package/dist/bin/shell/chunks/chunk-XAAXPEOP.js +6 -0
- package/dist/bin/shell/chunks/chunk-XEQ7KSRM.js +5 -0
- package/dist/bin/shell/chunks/chunk-YIANER7Y.js +8 -0
- package/dist/bin/shell/chunks/chunk-YMELOXDK.js +13 -0
- package/dist/bin/shell/chunks/chunk-YTL6DXBO.js +11 -0
- package/dist/bin/shell/chunks/chunk-YYZSYLJO.js +6 -0
- package/dist/bin/shell/chunks/chunk-ZXIW4JPL.js +22 -0
- package/dist/bin/shell/chunks/clear-OE52K3TM.js +3 -0
- package/dist/bin/shell/chunks/column-7VBJL757.js +3 -0
- package/dist/bin/shell/chunks/comm-URDMZCXL.js +3 -0
- package/dist/bin/shell/chunks/cp-MF5GADQN.js +3 -0
- package/dist/bin/shell/chunks/curl-FS5LAEYI.js +30 -0
- package/dist/bin/shell/chunks/cut-QOTYBJJJ.js +3 -0
- package/dist/bin/shell/chunks/date-FJUBX7TJ.js +3 -0
- package/dist/bin/shell/chunks/diff-YXZZCUSQ.js +3 -0
- package/dist/bin/shell/chunks/dirname-TPUFCYF6.js +3 -0
- package/dist/bin/shell/chunks/du-A3UGHIKJ.js +3 -0
- package/dist/bin/shell/chunks/echo-4OUEL7QB.js +3 -0
- package/dist/bin/shell/chunks/env-2TSVF4W7.js +3 -0
- package/dist/bin/shell/chunks/expand-P6SNTBGZ.js +3 -0
- package/dist/bin/shell/chunks/expr-56X7LYOS.js +3 -0
- package/dist/bin/shell/chunks/file-SQSOBJLR.js +3 -0
- package/dist/bin/shell/chunks/find-XY2NTAT5.js +3 -0
- package/dist/bin/shell/chunks/flag-coverage-WGSE667D.js +3 -0
- package/dist/bin/shell/chunks/fold-YEY7X54W.js +3 -0
- package/dist/bin/shell/chunks/grep-CMT2H2S7.js +3 -0
- package/dist/bin/shell/chunks/gzip-DJSFJOY6.js +3 -0
- package/dist/bin/shell/chunks/head-KPRH4HKC.js +3 -0
- package/dist/bin/shell/chunks/help-HVIDHJ6M.js +3 -0
- package/dist/bin/shell/chunks/history-3HAU45KT.js +3 -0
- package/dist/bin/shell/chunks/hostname-2I76DUQL.js +3 -0
- package/dist/bin/shell/chunks/html-to-markdown-WUBAMB4O.js +3 -0
- package/dist/bin/shell/chunks/join-UQKXU2QP.js +3 -0
- package/dist/bin/shell/chunks/jq-ACCMBTSD.js +3 -0
- package/dist/bin/shell/chunks/js-exec-4KNUPGHA.js +99 -0
- package/dist/bin/shell/chunks/ln-XSDIE6SU.js +3 -0
- package/dist/bin/shell/chunks/ls-FTHYNINH.js +3 -0
- package/dist/bin/shell/chunks/md5sum-Z6KAYGDK.js +3 -0
- package/dist/bin/shell/chunks/mkdir-74BP5NTG.js +3 -0
- package/dist/bin/shell/chunks/mv-YG75IRRE.js +3 -0
- package/dist/bin/shell/chunks/nl-XHWFVVKH.js +3 -0
- package/dist/bin/shell/chunks/od-A7CW5RMS.js +3 -0
- package/dist/bin/shell/chunks/paste-YJLYVJMP.js +3 -0
- package/dist/bin/shell/chunks/printf-F2KOCULO.js +3 -0
- package/dist/bin/shell/chunks/pwd-YKLNXWZI.js +3 -0
- package/dist/bin/shell/chunks/python3-AYUQQRCR.js +14 -0
- package/dist/bin/shell/chunks/readlink-HMHVGSAM.js +3 -0
- package/dist/bin/shell/chunks/rev-CZTQCNOZ.js +3 -0
- package/dist/bin/shell/chunks/rg-JRKJ6I4X.js +3 -0
- package/dist/bin/shell/chunks/rm-3PLW4O4B.js +3 -0
- package/dist/bin/shell/chunks/rmdir-DCJ3XJRR.js +3 -0
- package/dist/bin/shell/chunks/sed-QJ2LNV2N.js +3 -0
- package/dist/bin/shell/chunks/seq-Q4LZ6EXV.js +3 -0
- package/dist/bin/shell/chunks/sha1sum-CATBXX76.js +3 -0
- package/dist/bin/shell/chunks/sha256sum-YGSNBVY3.js +3 -0
- package/dist/bin/shell/chunks/sleep-FUDWGDCE.js +3 -0
- package/dist/bin/shell/chunks/sort-M3DO25D5.js +3 -0
- package/dist/bin/shell/chunks/split-7IYQYKOW.js +3 -0
- package/dist/bin/shell/chunks/sqlite3-ZXF6BGDW.js +3 -0
- package/dist/bin/shell/chunks/stat-Y5D3VPLG.js +3 -0
- package/dist/bin/shell/chunks/strings-J2X2Z6N2.js +3 -0
- package/dist/bin/shell/chunks/tac-DG4BMYM5.js +3 -0
- package/dist/bin/shell/chunks/tail-QISQLA3I.js +3 -0
- package/dist/bin/shell/chunks/tar-TB2XWXF6.js +3 -0
- package/dist/bin/shell/chunks/tee-L4HKV5PD.js +3 -0
- package/dist/bin/shell/chunks/time-LF7BTSK5.js +3 -0
- package/dist/bin/shell/chunks/timeout-TDOV6JDA.js +3 -0
- package/dist/bin/shell/chunks/touch-TVQAUQOG.js +3 -0
- package/dist/bin/shell/chunks/tr-AR6EK7JH.js +3 -0
- package/dist/bin/shell/chunks/tree-ZGP6NPGS.js +3 -0
- package/dist/bin/shell/chunks/true-KFTJGQLQ.js +3 -0
- package/dist/bin/shell/chunks/undici-JES22UVU.js +141 -0
- package/dist/bin/shell/chunks/unexpand-JPOQORZF.js +3 -0
- package/dist/bin/shell/chunks/uniq-K5VRDP4Q.js +3 -0
- package/dist/bin/shell/chunks/wc-VSQBRD6B.js +3 -0
- package/dist/bin/shell/chunks/which-4TPGVSBZ.js +3 -0
- package/dist/bin/shell/chunks/whoami-B5HDVKW6.js +3 -0
- package/dist/bin/shell/chunks/xan-D6US4ZGL.js +3 -0
- package/dist/bin/shell/chunks/xan-view-QGKWT354.js +3 -0
- package/dist/bin/shell/chunks/xargs-HMISWW4I.js +3 -0
- package/dist/bin/shell/chunks/yq-EYV7HLKK.js +3 -0
- package/dist/bin/shell/shell.js +413 -391
- package/dist/bounded-builder.d.ts +37 -0
- package/dist/browser.d.ts +3 -3
- package/dist/bundle/browser.js +869 -832
- package/dist/bundle/chunks/alias-T5TO5GWK.js +2 -0
- package/dist/bundle/chunks/awk2-IPNBFNH2.js +2 -0
- package/dist/bundle/chunks/base64-OXGTKKDA.js +2 -0
- package/dist/bundle/chunks/basename-SJZQ5W65.js +2 -0
- package/dist/bundle/chunks/bash-HIEWVHJ2.js +2 -0
- package/dist/bundle/chunks/cat-636HYSH4.js +2 -0
- package/dist/bundle/chunks/chmod-4CIOYX5Q.js +2 -0
- package/dist/bundle/chunks/chunk-273265WK.js +6 -0
- package/dist/bundle/chunks/chunk-2KNTH3KH.js +9 -0
- package/dist/bundle/chunks/chunk-2VWG4LDT.js +11 -0
- package/dist/bundle/chunks/chunk-3DHFIWMM.js +15 -0
- package/dist/bundle/chunks/chunk-5ATEFZLC.js +4 -0
- package/dist/bundle/chunks/chunk-5HXWWNWH.js +11 -0
- package/dist/bundle/chunks/chunk-5KGKXQF6.js +142 -0
- package/dist/bundle/chunks/chunk-5VCAQBXL.js +17 -0
- package/dist/bundle/chunks/chunk-65Z4QURM.js +12 -0
- package/dist/bundle/chunks/chunk-6D3WD6YU.js +3 -0
- package/dist/bundle/chunks/chunk-6IUGGJ2Y.js +8 -0
- package/dist/bundle/chunks/chunk-6R4OQQWP.js +16 -0
- package/dist/bundle/chunks/chunk-6WGIZV3E.js +13 -0
- package/dist/bundle/chunks/chunk-AFFAMSJT.js +14 -0
- package/dist/bundle/chunks/chunk-AH7VTVWU.js +2 -0
- package/dist/bundle/chunks/chunk-AI5LSBJC.js +2 -0
- package/dist/bundle/chunks/chunk-AMLHAS2N.js +15 -0
- package/dist/bundle/chunks/chunk-ANCQ4SCV.js +2 -0
- package/dist/bundle/chunks/chunk-B3NGH6KE.js +5 -0
- package/dist/bundle/chunks/chunk-B5Z5HTFY.js +14 -0
- package/dist/bundle/chunks/chunk-BRJERIF4.js +2 -0
- package/dist/bundle/chunks/chunk-CHHWTPDH.js +3 -0
- package/dist/bundle/chunks/chunk-CN3HTJTZ.js +11 -0
- package/dist/bundle/chunks/chunk-D3W7DTI6.js +9 -0
- package/dist/bundle/chunks/chunk-E3D4WVAH.js +21 -0
- package/dist/bundle/chunks/chunk-EAQUR2NP.js +25 -0
- package/dist/bundle/chunks/chunk-EFORKKSH.js +8 -0
- package/dist/bundle/chunks/chunk-EJFBIRMD.js +6 -0
- package/dist/bundle/chunks/chunk-ELHOZMBD.js +10 -0
- package/dist/bundle/chunks/chunk-EQQGPAXI.js +9 -0
- package/dist/bundle/chunks/chunk-EWWPEE2G.js +37 -0
- package/dist/bundle/chunks/chunk-FBXMKFE2.js +2 -0
- package/dist/bundle/chunks/chunk-FIMO5HLX.js +2 -0
- package/dist/bundle/chunks/chunk-FT6ODGOU.js +2 -0
- package/dist/bundle/chunks/chunk-G4SEENI7.js +6 -0
- package/dist/bundle/chunks/chunk-GN6CQ3J4.js +2 -0
- package/dist/bundle/chunks/chunk-HW6ZCMM5.js +9 -0
- package/dist/bundle/chunks/chunk-IBRT3OJS.js +2 -0
- package/dist/bundle/chunks/chunk-INDA53JL.js +21 -0
- package/dist/bundle/chunks/chunk-INHMNORI.js +6 -0
- package/dist/bundle/chunks/chunk-J2OBOJ64.js +2 -0
- package/dist/bundle/chunks/chunk-JCPCQREJ.js +15 -0
- package/dist/bundle/chunks/chunk-JYQ6MII2.js +33 -0
- package/dist/bundle/chunks/chunk-K3XJ2WT4.js +2 -0
- package/dist/bundle/chunks/chunk-KIGPB52X.js +2 -0
- package/dist/bundle/chunks/chunk-KKVPMNSS.js +5 -0
- package/dist/bundle/chunks/chunk-LGLR6TFP.js +7 -0
- package/dist/bundle/chunks/chunk-LJRVJXUI.js +2 -0
- package/dist/bundle/chunks/chunk-LVDUF74R.js +7 -0
- package/dist/bundle/chunks/chunk-MAWVZWRK.js +12 -0
- package/dist/bundle/chunks/chunk-MF4F4ZPP.js +7 -0
- package/dist/bundle/chunks/chunk-MFGH46GH.js +14 -0
- package/dist/bundle/chunks/chunk-N4TGZ6H7.js +7 -0
- package/dist/bundle/chunks/chunk-NCUTH6QL.js +2 -0
- package/dist/bundle/chunks/chunk-NNH4ERNJ.js +100 -0
- package/dist/bundle/chunks/chunk-NOPXHH6G.js +290 -0
- package/dist/bundle/chunks/chunk-OQ7C4FYO.js +2 -0
- package/dist/bundle/chunks/chunk-ORDZCFFT.js +2 -0
- package/dist/bundle/chunks/chunk-OTYP7VVT.js +21 -0
- package/dist/bundle/chunks/chunk-P5BOIHWV.js +6 -0
- package/dist/bundle/chunks/chunk-PJWSSENQ.js +5 -0
- package/dist/bundle/chunks/chunk-PMYUC5JF.js +12 -0
- package/dist/bundle/chunks/chunk-POIWRLUV.js +6 -0
- package/dist/bundle/chunks/chunk-PPDMRIJ7.js +11 -0
- package/dist/bundle/chunks/chunk-QTLI5LUD.js +21 -0
- package/dist/bundle/chunks/chunk-R2FBRMDU.js +14 -0
- package/dist/bundle/chunks/chunk-RAHPENCM.js +35 -0
- package/dist/bundle/chunks/chunk-SELXJ5KQ.js +10 -0
- package/dist/bundle/chunks/chunk-T2RHALUC.js +64 -0
- package/dist/bundle/chunks/chunk-UB6T3UHL.js +8 -0
- package/dist/bundle/chunks/chunk-UBTKJ6MG.js +4 -0
- package/dist/bundle/chunks/chunk-UHHCL65P.js +3 -0
- package/dist/bundle/chunks/chunk-UK4BO5W3.js +2 -0
- package/dist/bundle/chunks/chunk-UTKGYVUZ.js +7 -0
- package/dist/bundle/chunks/chunk-VECGTAPW.js +10 -0
- package/dist/bundle/chunks/chunk-VOSNSQE2.js +2 -0
- package/dist/bundle/chunks/chunk-WENIVVEE.js +19 -0
- package/dist/bundle/chunks/chunk-WHHRIZS3.js +10 -0
- package/dist/bundle/chunks/chunk-WZQNMEQW.js +2 -0
- package/dist/bundle/chunks/chunk-XVL654YD.js +33 -0
- package/dist/bundle/chunks/chunk-Y3DGIAIG.js +21 -0
- package/dist/bundle/chunks/chunk-Y62SXZKJ.js +12 -0
- package/dist/bundle/chunks/chunk-YOUUMJLJ.js +10 -0
- package/dist/bundle/chunks/chunk-YUSFCOM7.js +2 -0
- package/dist/bundle/chunks/clear-KPIUNI6K.js +2 -0
- package/dist/bundle/chunks/column-LKMDIDCH.js +2 -0
- package/dist/bundle/chunks/comm-DTWKU2MC.js +2 -0
- package/dist/bundle/chunks/cp-FKTQRFYJ.js +2 -0
- package/dist/bundle/chunks/curl-DEHFBW27.js +29 -0
- package/dist/bundle/chunks/cut-RWPUW5FY.js +2 -0
- package/dist/bundle/chunks/date-FN2DXAEE.js +2 -0
- package/dist/bundle/chunks/diff-CSARC7WF.js +2 -0
- package/dist/bundle/chunks/dirname-Z2ZMOOW2.js +2 -0
- package/dist/bundle/chunks/du-PR3M44X6.js +2 -0
- package/dist/bundle/chunks/echo-HZOVZAPR.js +2 -0
- package/dist/bundle/chunks/env-VUUMB47B.js +2 -0
- package/dist/bundle/chunks/expand-2BPPGGSM.js +2 -0
- package/dist/bundle/chunks/expr-SHRJJ4PX.js +2 -0
- package/dist/bundle/chunks/file-YC4YEI4P.js +2 -0
- package/dist/bundle/chunks/find-DWWMZFO5.js +2 -0
- package/dist/bundle/chunks/flag-coverage-THYQHOT3.js +2 -0
- package/dist/bundle/chunks/fold-QJBPHRFJ.js +2 -0
- package/dist/bundle/chunks/grep-S6SNTIHZ.js +2 -0
- package/dist/bundle/chunks/gzip-BTI6CWY4.js +2 -0
- package/dist/bundle/chunks/head-UCOA3VQC.js +2 -0
- package/dist/bundle/chunks/help-QDDMBDU7.js +2 -0
- package/dist/bundle/chunks/history-3N762S3K.js +2 -0
- package/dist/bundle/chunks/hostname-CESD3CQR.js +2 -0
- package/dist/bundle/chunks/html-to-markdown-NUF6QEX4.js +2 -0
- package/dist/bundle/chunks/join-KQ4Z5OD4.js +2 -0
- package/dist/bundle/chunks/jq-D6N4QCAJ.js +2 -0
- package/dist/bundle/chunks/js-exec-PNUEDFT5.js +98 -0
- package/dist/bundle/chunks/js-exec-worker.js +187 -110
- package/dist/bundle/chunks/ln-VYDFOFNO.js +2 -0
- package/dist/bundle/chunks/ls-R5CQLZQM.js +2 -0
- package/dist/bundle/chunks/md5sum-JEDX55KS.js +2 -0
- package/dist/bundle/chunks/mkdir-WDDKK2P3.js +2 -0
- package/dist/bundle/chunks/mv-XSJA2FNL.js +2 -0
- package/dist/bundle/chunks/nl-RFXH2GNX.js +2 -0
- package/dist/bundle/chunks/od-YXD2NNIU.js +2 -0
- package/dist/bundle/chunks/paste-ZU3EODNI.js +2 -0
- package/dist/bundle/chunks/printf-QHD2JRWQ.js +2 -0
- package/dist/bundle/chunks/pwd-76BPYV5F.js +2 -0
- package/dist/bundle/chunks/python3-QDNG2UXX.js +13 -0
- package/dist/bundle/chunks/readlink-IY6QKK2P.js +2 -0
- package/dist/bundle/chunks/rev-EPOS3MFH.js +2 -0
- package/dist/bundle/chunks/rg-OUJZ5DH6.js +2 -0
- package/dist/bundle/chunks/rm-JQ4GDKDD.js +2 -0
- package/dist/bundle/chunks/rmdir-WZKAT6M5.js +2 -0
- package/dist/bundle/chunks/sed-TZIPJOGL.js +2 -0
- package/dist/bundle/chunks/seq-5R2GKXC6.js +2 -0
- package/dist/bundle/chunks/sha1sum-BLPZJ6MP.js +2 -0
- package/dist/bundle/chunks/sha256sum-VJZ4PHQ4.js +2 -0
- package/dist/bundle/chunks/sleep-VPYWSKDR.js +2 -0
- package/dist/bundle/chunks/sort-PV2NEQHF.js +2 -0
- package/dist/bundle/chunks/split-KNDNAFPT.js +2 -0
- package/dist/bundle/chunks/sqlite3-WWZJZW37.js +2 -0
- package/dist/bundle/chunks/sqlite3-worker.js +316 -173
- package/dist/bundle/chunks/stat-MLNSW25G.js +2 -0
- package/dist/bundle/chunks/strings-WTD7Q2EF.js +2 -0
- package/dist/bundle/chunks/tac-YXC4HBTR.js +2 -0
- package/dist/bundle/chunks/tail-G3W6PNG3.js +2 -0
- package/dist/bundle/chunks/tar-GLX6QUHW.js +2 -0
- package/dist/bundle/chunks/tee-OOWSWHRQ.js +2 -0
- package/dist/bundle/chunks/time-NERE2JJ2.js +2 -0
- package/dist/bundle/chunks/timeout-SYQCWBMZ.js +2 -0
- package/dist/bundle/chunks/touch-W4DF6Z4T.js +2 -0
- package/dist/bundle/chunks/tr-3KPFH3J4.js +2 -0
- package/dist/bundle/chunks/tree-7OOL2MH6.js +2 -0
- package/dist/bundle/chunks/true-QUBPEGGU.js +2 -0
- package/dist/bundle/chunks/undici-HCLAUJT3.js +140 -0
- package/dist/bundle/chunks/unexpand-YD5BWFH4.js +2 -0
- package/dist/bundle/chunks/uniq-OVOW532K.js +2 -0
- package/dist/bundle/chunks/wc-RUR7HE5O.js +2 -0
- package/dist/bundle/chunks/which-UWVKETYW.js +2 -0
- package/dist/bundle/chunks/whoami-KR6E7UIR.js +2 -0
- package/dist/bundle/chunks/worker.js +212 -105
- package/dist/bundle/chunks/xan-KKPV2TJ3.js +2 -0
- package/dist/bundle/chunks/xan-view-47P277LZ.js +2 -0
- package/dist/bundle/chunks/xargs-L7TJHOJT.js +2 -0
- package/dist/bundle/chunks/yq-ZGB3W46S.js +2 -0
- package/dist/bundle/index.cjs +1450 -1263
- package/dist/bundle/index.js +407 -386
- package/dist/commands/alias/alias.d.ts +3 -3
- package/dist/commands/awk/awk2.d.ts +3 -3
- package/dist/commands/awk/builtins.d.ts +1 -1
- package/dist/commands/awk/interpreter/context.d.ts +13 -0
- package/dist/commands/awk/lexer.d.ts +2 -1
- package/dist/commands/awk/parser2-print.d.ts +3 -0
- package/dist/commands/awk/parser2.d.ts +15 -0
- package/dist/commands/base64/base64.d.ts +2 -2
- package/dist/commands/basename/basename.d.ts +2 -2
- package/dist/commands/bash/bash.d.ts +3 -3
- package/dist/commands/cat/cat.d.ts +2 -2
- package/dist/commands/chmod/chmod.d.ts +2 -2
- package/dist/commands/clear/clear.d.ts +2 -2
- package/dist/commands/column/column.d.ts +2 -2
- package/dist/commands/comm/comm.d.ts +2 -2
- package/dist/commands/compression/codec-budget.d.ts +35 -0
- package/dist/commands/cp/cp.d.ts +2 -2
- package/dist/commands/curl/curl.d.ts +2 -2
- package/dist/commands/curl/form.d.ts +3 -1
- package/dist/commands/curl/types.d.ts +30 -25
- package/dist/commands/cut/cut.d.ts +2 -2
- package/dist/commands/date/date.d.ts +2 -2
- package/dist/commands/diff/diff.d.ts +2 -2
- package/dist/commands/dirname/dirname.d.ts +2 -2
- package/dist/commands/du/du.d.ts +2 -2
- package/dist/commands/echo/echo.d.ts +2 -2
- package/dist/commands/env/env.d.ts +3 -3
- package/dist/commands/expand/expand.d.ts +2 -2
- package/dist/commands/expand/unexpand.d.ts +2 -2
- package/dist/commands/expr/expr.d.ts +2 -2
- package/dist/commands/file/file.d.ts +2 -2
- package/dist/commands/find/find.d.ts +2 -2
- package/dist/commands/find/matcher.d.ts +0 -16
- package/dist/commands/find/types.d.ts +3 -2
- package/dist/commands/fold/fold.d.ts +2 -2
- package/dist/commands/grep/grep.d.ts +4 -4
- package/dist/commands/gzip/gzip.d.ts +4 -4
- package/dist/commands/head/head-tail-shared.d.ts +2 -2
- package/dist/commands/head/head.d.ts +2 -2
- package/dist/commands/help/help.d.ts +2 -2
- package/dist/commands/history/history.d.ts +2 -2
- package/dist/commands/hostname/hostname.d.ts +2 -2
- package/dist/commands/html-to-markdown/html-to-markdown.d.ts +2 -2
- package/dist/commands/join/join.d.ts +2 -2
- package/dist/commands/jq/jq.d.ts +3 -3
- package/dist/commands/js-exec/fetch-polyfill.d.ts +1 -1
- package/dist/commands/js-exec/js-exec-worker.d.ts +1 -0
- package/dist/commands/js-exec/js-exec.d.ts +5 -3
- package/dist/commands/ln/ln.d.ts +2 -2
- package/dist/commands/ls/ls.d.ts +2 -2
- package/dist/commands/md5sum/checksum.d.ts +2 -2
- package/dist/commands/md5sum/md5sum.d.ts +2 -2
- package/dist/commands/md5sum/sha1sum.d.ts +2 -2
- package/dist/commands/md5sum/sha256sum.d.ts +2 -2
- package/dist/commands/mkdir/mkdir.d.ts +2 -2
- package/dist/commands/mv/mv.d.ts +2 -2
- package/dist/commands/nl/nl.d.ts +2 -2
- package/dist/commands/od/od.d.ts +2 -2
- package/dist/commands/paste/paste.d.ts +2 -2
- package/dist/commands/printf/escapes.d.ts +5 -3
- package/dist/commands/printf/printf.d.ts +2 -2
- package/dist/commands/printf/strftime.d.ts +6 -1
- package/dist/commands/pwd/pwd.d.ts +2 -2
- package/dist/commands/python3/python3.d.ts +3 -3
- package/dist/commands/python3/worker.d.ts +2 -0
- package/dist/commands/query-engine/builtins/control-builtins.d.ts +1 -1
- package/dist/commands/query-engine/builtins/path-builtins.d.ts +1 -1
- package/dist/commands/query-engine/evaluator.d.ts +15 -1
- package/dist/commands/query-engine/json-output.d.ts +11 -0
- package/dist/commands/query-engine/parser.d.ts +6 -1
- package/dist/commands/query-engine/safe-object.d.ts +9 -8
- package/dist/commands/query-engine/value-operations.d.ts +4 -1
- package/dist/commands/readlink/readlink.d.ts +2 -2
- package/dist/commands/registry.d.ts +5 -5
- package/dist/commands/rev/rev.d.ts +2 -2
- package/dist/commands/rg/rg-search.d.ts +2 -2
- package/dist/commands/rg/rg.d.ts +2 -2
- package/dist/commands/rm/rm.d.ts +2 -2
- package/dist/commands/rmdir/rmdir.d.ts +2 -2
- package/dist/commands/search-engine/matcher.d.ts +6 -0
- package/dist/commands/sed/lexer.d.ts +3 -1
- package/dist/commands/sed/parser.d.ts +4 -1
- package/dist/commands/sed/sed.d.ts +2 -2
- package/dist/commands/seq/seq.d.ts +2 -2
- package/dist/commands/sleep/sleep.d.ts +2 -2
- package/dist/commands/sort/sort.d.ts +2 -2
- package/dist/commands/split/split.d.ts +2 -2
- package/dist/commands/sqlite3/formatters.d.ts +2 -0
- package/dist/commands/sqlite3/sqlite3.d.ts +3 -2
- package/dist/commands/sqlite3/worker.d.ts +5 -0
- package/dist/commands/sqlite3/worker.js +316 -173
- package/dist/commands/stat/stat.d.ts +2 -2
- package/dist/commands/strings/strings.d.ts +2 -2
- package/dist/commands/tac/tac.d.ts +2 -2
- package/dist/commands/tail/tail.d.ts +2 -2
- package/dist/commands/tar/archive.d.ts +29 -14
- package/dist/commands/tar/bzip2-compress.d.ts +2 -1
- package/dist/commands/tar/tar.d.ts +2 -2
- package/dist/commands/tee/tee.d.ts +2 -2
- package/dist/commands/time/time.d.ts +2 -2
- package/dist/commands/timeout/timeout.d.ts +2 -2
- package/dist/commands/touch/touch.d.ts +2 -2
- package/dist/commands/tr/tr.d.ts +2 -2
- package/dist/commands/tree/tree.d.ts +2 -2
- package/dist/commands/true/true.d.ts +3 -3
- package/dist/commands/uniq/uniq.d.ts +2 -2
- package/dist/commands/wc/wc.d.ts +2 -2
- package/dist/commands/which/which.d.ts +2 -2
- package/dist/commands/whoami/whoami.d.ts +2 -2
- package/dist/commands/worker-request-controller.d.ts +36 -0
- package/dist/commands/xan/aggregation.d.ts +13 -3
- package/dist/commands/xan/bounded-output.d.ts +4 -0
- package/dist/commands/xan/column-selection.d.ts +2 -1
- package/dist/commands/xan/csv.d.ts +29 -4
- package/dist/commands/xan/moonblade-parser.d.ts +11 -2
- package/dist/commands/xan/moonblade-to-jq.d.ts +2 -2
- package/dist/commands/xan/moonblade-tokenizer.d.ts +8 -1
- package/dist/commands/xan/xan-agg.d.ts +5 -5
- package/dist/commands/xan/xan-columns.d.ts +5 -5
- package/dist/commands/xan/xan-core.d.ts +7 -7
- package/dist/commands/xan/xan-data.d.ts +8 -8
- package/dist/commands/xan/xan-filter.d.ts +5 -5
- package/dist/commands/xan/xan-map.d.ts +3 -3
- package/dist/commands/xan/xan-reshape.d.ts +6 -6
- package/dist/commands/xan/xan-simple.d.ts +7 -7
- package/dist/commands/xan/xan-view.d.ts +3 -3
- package/dist/commands/xan/xan.d.ts +2 -2
- package/dist/commands/xargs/xargs.d.ts +2 -2
- package/dist/commands/yq/formats.d.ts +5 -4
- package/dist/commands/yq/yq.d.ts +3 -3
- package/dist/custom-commands.d.ts +25 -2
- package/dist/encoding.d.ts +5 -3
- package/dist/execution-output.d.ts +28 -0
- package/dist/execution-scope.d.ts +89 -0
- package/dist/fatal-execution-error.d.ts +5 -0
- package/dist/fs/identity.d.ts +9 -0
- package/dist/fs/in-memory-fs/in-memory-fs.d.ts +24 -1
- package/dist/fs/interface.d.ts +4 -0
- package/dist/fs/overlay-fs/overlay-fs.d.ts +13 -0
- package/dist/fs/path-utils.d.ts +2 -0
- package/dist/fs/read-write-fs/read-write-fs.d.ts +11 -0
- package/dist/fs/real-fs-utils.d.ts +1 -1
- package/dist/fs/traversal.d.ts +98 -0
- package/dist/index.d.cts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/interpreter/alias-expansion.d.ts +4 -0
- package/dist/interpreter/builtins/declare-array-parsing.d.ts +6 -2
- package/dist/interpreter/builtins/index.d.ts +0 -1
- package/dist/interpreter/builtins/variable-assignment.d.ts +4 -1
- package/dist/interpreter/conditionals.d.ts +1 -1
- package/dist/interpreter/defense-aware-command-context.d.ts +2 -2
- package/dist/interpreter/errors.d.ts +7 -17
- package/dist/interpreter/expansion/brace-range.d.ts +5 -1
- package/dist/interpreter/expansion/pattern-removal.d.ts +2 -3
- package/dist/interpreter/expansion/pattern-replacement.d.ts +4 -0
- package/dist/interpreter/expansion/tilde.d.ts +2 -0
- package/dist/interpreter/helpers/array.d.ts +16 -3
- package/dist/interpreter/helpers/bounded-array.d.ts +2 -0
- package/dist/interpreter/helpers/condition.d.ts +2 -5
- package/dist/interpreter/helpers/ifs.d.ts +3 -3
- package/dist/interpreter/helpers/quoting.d.ts +2 -0
- package/dist/interpreter/helpers/string-compare.d.ts +1 -1
- package/dist/interpreter/interpreter.d.ts +4 -8
- package/dist/interpreter/redirections.d.ts +5 -2
- package/dist/interpreter/simple-command-assignments.d.ts +7 -0
- package/dist/interpreter/state-transaction.d.ts +7 -0
- package/dist/interpreter/types.d.ts +24 -8
- package/dist/limits.d.ts +76 -17
- package/dist/network/dns-pin.d.ts +23 -32
- package/dist/network/fetch.d.ts +4 -0
- package/dist/network/types.d.ts +10 -1
- package/dist/parser/parser.d.ts +5 -2
- package/dist/parser/types.d.ts +10 -1
- package/dist/source-limit.d.ts +2 -0
- package/dist/timers.d.ts +12 -0
- package/dist/types.d.ts +43 -7
- package/dist/utils/file-reader.d.ts +5 -3
- package/package.json +10 -5
- package/dist/bin/chunks/alias-YRVAW27Y.js +0 -3
- package/dist/bin/chunks/awk2-UFCNQFCV.js +0 -3
- package/dist/bin/chunks/base64-EGKVQIBC.js +0 -3
- package/dist/bin/chunks/basename-F3AQ4KAQ.js +0 -3
- package/dist/bin/chunks/bash-BEG4JB7K.js +0 -3
- package/dist/bin/chunks/cat-NBL6MU5H.js +0 -3
- package/dist/bin/chunks/chmod-S564JCJW.js +0 -3
- package/dist/bin/chunks/chunk-2AIXTPH2.js +0 -9
- package/dist/bin/chunks/chunk-2GG3NVC4.js +0 -10
- package/dist/bin/chunks/chunk-2ZAK22BG.js +0 -9
- package/dist/bin/chunks/chunk-3WIMLJM7.js +0 -8
- package/dist/bin/chunks/chunk-47WZ2U6M.js +0 -9
- package/dist/bin/chunks/chunk-4BNS566Q.js +0 -4
- package/dist/bin/chunks/chunk-52FZYTIX.js +0 -34
- package/dist/bin/chunks/chunk-5KX5YUWT.js +0 -37
- package/dist/bin/chunks/chunk-5XSZHUEI.js +0 -15
- package/dist/bin/chunks/chunk-63LSI3D6.js +0 -17
- package/dist/bin/chunks/chunk-6FYCU7QB.js +0 -3
- package/dist/bin/chunks/chunk-6JKLDBRW.js +0 -18
- package/dist/bin/chunks/chunk-6WJQNLR2.js +0 -7
- package/dist/bin/chunks/chunk-7HK63L6Y.js +0 -3
- package/dist/bin/chunks/chunk-7NDRU2ZN.js +0 -5
- package/dist/bin/chunks/chunk-7VCQWCSH.js +0 -15
- package/dist/bin/chunks/chunk-AFAD5U2A.js +0 -8
- package/dist/bin/chunks/chunk-AZH64XMJ.js +0 -3
- package/dist/bin/chunks/chunk-BKQLXMS6.js +0 -36
- package/dist/bin/chunks/chunk-BPZJYOUA.js +0 -33
- package/dist/bin/chunks/chunk-BZP56QBM.js +0 -24
- package/dist/bin/chunks/chunk-C6JOQKE2.js +0 -22
- package/dist/bin/chunks/chunk-CX5CEEGI.js +0 -11
- package/dist/bin/chunks/chunk-D7YFPDMV.js +0 -22
- package/dist/bin/chunks/chunk-DHIKZU63.js +0 -3
- package/dist/bin/chunks/chunk-DWECIBLJ.js +0 -3
- package/dist/bin/chunks/chunk-FEENTUVZ.js +0 -18
- package/dist/bin/chunks/chunk-FYCT4DWY.js +0 -6
- package/dist/bin/chunks/chunk-G7ZWT7BT.js +0 -9
- package/dist/bin/chunks/chunk-GTO74SFS.js +0 -7
- package/dist/bin/chunks/chunk-HMCRB24D.js +0 -15
- package/dist/bin/chunks/chunk-HWNCK5BB.js +0 -10
- package/dist/bin/chunks/chunk-HZR3FOJM.js +0 -288
- package/dist/bin/chunks/chunk-ISLENKSH.js +0 -7
- package/dist/bin/chunks/chunk-IX7LKVVH.js +0 -15
- package/dist/bin/chunks/chunk-JDFKEXLG.js +0 -12
- package/dist/bin/chunks/chunk-JJC4ENJL.js +0 -13
- package/dist/bin/chunks/chunk-JSZBZ2XU.js +0 -3
- package/dist/bin/chunks/chunk-JXLDT4KX.js +0 -4
- package/dist/bin/chunks/chunk-KMZUSEWI.js +0 -12
- package/dist/bin/chunks/chunk-KWCO3YXP.js +0 -17
- package/dist/bin/chunks/chunk-LNVSXNT7.js +0 -3
- package/dist/bin/chunks/chunk-LX2H4DPL.js +0 -6
- package/dist/bin/chunks/chunk-MLUOPG3W.js +0 -3
- package/dist/bin/chunks/chunk-MNWK4UIM.js +0 -22
- package/dist/bin/chunks/chunk-MP77TJMM.js +0 -6
- package/dist/bin/chunks/chunk-MTK7VLZG.js +0 -12
- package/dist/bin/chunks/chunk-N3FQJLPZ.js +0 -17
- package/dist/bin/chunks/chunk-N6YW4W3Z.js +0 -29
- package/dist/bin/chunks/chunk-NMMVECGD.js +0 -14
- package/dist/bin/chunks/chunk-NXYVRP6D.js +0 -11
- package/dist/bin/chunks/chunk-NYIPFY36.js +0 -3
- package/dist/bin/chunks/chunk-OVVMB2JI.js +0 -7
- package/dist/bin/chunks/chunk-OXZSG3ZZ.js +0 -7
- package/dist/bin/chunks/chunk-PKE7GKU5.js +0 -3
- package/dist/bin/chunks/chunk-PSJORJRS.js +0 -6
- package/dist/bin/chunks/chunk-R36DS2UF.js +0 -20
- package/dist/bin/chunks/chunk-RKBWTGBZ.js +0 -7
- package/dist/bin/chunks/chunk-RO3XCUVQ.js +0 -141
- package/dist/bin/chunks/chunk-RVGYO2OU.js +0 -3
- package/dist/bin/chunks/chunk-SF2OLINE.js +0 -12
- package/dist/bin/chunks/chunk-TIRU5FOD.js +0 -101
- package/dist/bin/chunks/chunk-TKYWUEON.js +0 -13
- package/dist/bin/chunks/chunk-UI7CV277.js +0 -20
- package/dist/bin/chunks/chunk-UNWZQG7U.js +0 -3
- package/dist/bin/chunks/chunk-UOMNSQEZ.js +0 -10
- package/dist/bin/chunks/chunk-W5OBQVJ2.js +0 -6
- package/dist/bin/chunks/chunk-WDWNEHHE.js +0 -9
- package/dist/bin/chunks/chunk-WHUKZ3K3.js +0 -85
- package/dist/bin/chunks/chunk-XHCCSVP6.js +0 -9
- package/dist/bin/chunks/chunk-XPTYN6UE.js +0 -8
- package/dist/bin/chunks/chunk-XRUDFQG5.js +0 -7
- package/dist/bin/chunks/chunk-Y2IUEWQD.js +0 -11
- package/dist/bin/chunks/chunk-Y5OWCEDV.js +0 -64
- package/dist/bin/chunks/chunk-ZFUVUYWG.js +0 -15
- package/dist/bin/chunks/chunk-ZZP3RSWL.js +0 -4
- package/dist/bin/chunks/clear-FGNEKYDU.js +0 -3
- package/dist/bin/chunks/column-QLGOK3XM.js +0 -3
- package/dist/bin/chunks/comm-PLYUTVP3.js +0 -3
- package/dist/bin/chunks/cp-HYXTMN3D.js +0 -3
- package/dist/bin/chunks/curl-DCSPNPEW.js +0 -27
- package/dist/bin/chunks/cut-JNQTCQY7.js +0 -3
- package/dist/bin/chunks/date-OFYBOAUE.js +0 -3
- package/dist/bin/chunks/diff-LZ4WRLIF.js +0 -3
- package/dist/bin/chunks/dirname-VCINTLPD.js +0 -3
- package/dist/bin/chunks/du-4LRQIGRG.js +0 -3
- package/dist/bin/chunks/echo-KCOHTNDF.js +0 -3
- package/dist/bin/chunks/env-FNVYNLGB.js +0 -3
- package/dist/bin/chunks/expand-CB7FG7LQ.js +0 -3
- package/dist/bin/chunks/expr-6A2XZORA.js +0 -3
- package/dist/bin/chunks/file-GRZLWDVH.js +0 -3
- package/dist/bin/chunks/find-5OZWMYCV.js +0 -3
- package/dist/bin/chunks/flag-coverage-CAST5CDE.js +0 -3
- package/dist/bin/chunks/fold-7YEITA5L.js +0 -3
- package/dist/bin/chunks/grep-KKBXRB73.js +0 -3
- package/dist/bin/chunks/gzip-ZJP5VIAQ.js +0 -3
- package/dist/bin/chunks/head-B6GFQHKF.js +0 -3
- package/dist/bin/chunks/help-CGUEOGXQ.js +0 -3
- package/dist/bin/chunks/history-AQQWW3QB.js +0 -3
- package/dist/bin/chunks/hostname-USNWOQCK.js +0 -3
- package/dist/bin/chunks/html-to-markdown-3HJ7L7NL.js +0 -3
- package/dist/bin/chunks/join-WRM6S6CO.js +0 -3
- package/dist/bin/chunks/jq-3V5HDGLJ.js +0 -3
- package/dist/bin/chunks/js-exec-F7JAZ4ZQ.js +0 -98
- package/dist/bin/chunks/ln-LP4HMCSM.js +0 -3
- package/dist/bin/chunks/ls-KBNHNZWQ.js +0 -3
- package/dist/bin/chunks/md5sum-ZNYCDRQL.js +0 -3
- package/dist/bin/chunks/mkdir-P4DKRCDX.js +0 -3
- package/dist/bin/chunks/mv-QQK4FQX6.js +0 -3
- package/dist/bin/chunks/nl-6TVYE4ZB.js +0 -3
- package/dist/bin/chunks/od-Y3E3QXOL.js +0 -3
- package/dist/bin/chunks/paste-LYNFXXCM.js +0 -3
- package/dist/bin/chunks/printf-MR3FXCDE.js +0 -3
- package/dist/bin/chunks/pwd-FCNDA467.js +0 -3
- package/dist/bin/chunks/python3-R5OFWJIH.js +0 -13
- package/dist/bin/chunks/readlink-25V57VOL.js +0 -3
- package/dist/bin/chunks/rev-AJECDD4L.js +0 -3
- package/dist/bin/chunks/rg-DZKA632H.js +0 -3
- package/dist/bin/chunks/rm-ECNUFR66.js +0 -3
- package/dist/bin/chunks/rmdir-DLOHIA7Q.js +0 -3
- package/dist/bin/chunks/sed-IGRH7EGG.js +0 -3
- package/dist/bin/chunks/seq-UXDJE6FB.js +0 -3
- package/dist/bin/chunks/sha1sum-5QZSNFY3.js +0 -3
- package/dist/bin/chunks/sha256sum-DI7JAVAU.js +0 -3
- package/dist/bin/chunks/sleep-RPGCUUGX.js +0 -3
- package/dist/bin/chunks/sort-HQPAFL76.js +0 -3
- package/dist/bin/chunks/split-F6FSB5KI.js +0 -3
- package/dist/bin/chunks/sqlite3-7TRACAE7.js +0 -3
- package/dist/bin/chunks/stat-BD6KT3BP.js +0 -3
- package/dist/bin/chunks/strings-6PE3YMPO.js +0 -3
- package/dist/bin/chunks/tac-NERJXVOM.js +0 -3
- package/dist/bin/chunks/tail-24F643A4.js +0 -3
- package/dist/bin/chunks/tar-5HK3VMV2.js +0 -3
- package/dist/bin/chunks/tee-5B7P2QRJ.js +0 -3
- package/dist/bin/chunks/time-FN6VJGRS.js +0 -3
- package/dist/bin/chunks/timeout-ZARIAF3K.js +0 -3
- package/dist/bin/chunks/touch-DFGSVIX7.js +0 -3
- package/dist/bin/chunks/tr-QQZYZ3CH.js +0 -3
- package/dist/bin/chunks/tree-6D7SMPUR.js +0 -3
- package/dist/bin/chunks/true-SKL4L7JP.js +0 -3
- package/dist/bin/chunks/unexpand-3JWOSSBQ.js +0 -3
- package/dist/bin/chunks/uniq-Q5UH5NL3.js +0 -3
- package/dist/bin/chunks/wc-4HXNTHY3.js +0 -3
- package/dist/bin/chunks/which-LCXKCLFC.js +0 -3
- package/dist/bin/chunks/whoami-TZDZDU7T.js +0 -3
- package/dist/bin/chunks/xan-TCTFON2Q.js +0 -3
- package/dist/bin/chunks/xan-view-XBMA362V.js +0 -3
- package/dist/bin/chunks/xargs-VTFN762K.js +0 -3
- package/dist/bin/chunks/yq-OB6PB5GY.js +0 -3
- package/dist/bin/shell/chunks/alias-YRVAW27Y.js +0 -3
- package/dist/bin/shell/chunks/awk2-UFCNQFCV.js +0 -3
- package/dist/bin/shell/chunks/base64-EGKVQIBC.js +0 -3
- package/dist/bin/shell/chunks/basename-F3AQ4KAQ.js +0 -3
- package/dist/bin/shell/chunks/bash-BEG4JB7K.js +0 -3
- package/dist/bin/shell/chunks/cat-NBL6MU5H.js +0 -3
- package/dist/bin/shell/chunks/chmod-S564JCJW.js +0 -3
- package/dist/bin/shell/chunks/chunk-2AIXTPH2.js +0 -9
- package/dist/bin/shell/chunks/chunk-2GG3NVC4.js +0 -10
- package/dist/bin/shell/chunks/chunk-2ZAK22BG.js +0 -9
- package/dist/bin/shell/chunks/chunk-3WIMLJM7.js +0 -8
- package/dist/bin/shell/chunks/chunk-47WZ2U6M.js +0 -9
- package/dist/bin/shell/chunks/chunk-4BNS566Q.js +0 -4
- package/dist/bin/shell/chunks/chunk-52FZYTIX.js +0 -34
- package/dist/bin/shell/chunks/chunk-5KX5YUWT.js +0 -37
- package/dist/bin/shell/chunks/chunk-5XSZHUEI.js +0 -15
- package/dist/bin/shell/chunks/chunk-63LSI3D6.js +0 -17
- package/dist/bin/shell/chunks/chunk-6FYCU7QB.js +0 -3
- package/dist/bin/shell/chunks/chunk-6JKLDBRW.js +0 -18
- package/dist/bin/shell/chunks/chunk-6WJQNLR2.js +0 -7
- package/dist/bin/shell/chunks/chunk-7HK63L6Y.js +0 -3
- package/dist/bin/shell/chunks/chunk-7NDRU2ZN.js +0 -5
- package/dist/bin/shell/chunks/chunk-7VCQWCSH.js +0 -15
- package/dist/bin/shell/chunks/chunk-AFAD5U2A.js +0 -8
- package/dist/bin/shell/chunks/chunk-AZH64XMJ.js +0 -3
- package/dist/bin/shell/chunks/chunk-BKQLXMS6.js +0 -36
- package/dist/bin/shell/chunks/chunk-BPZJYOUA.js +0 -33
- package/dist/bin/shell/chunks/chunk-BZP56QBM.js +0 -24
- package/dist/bin/shell/chunks/chunk-C6JOQKE2.js +0 -22
- package/dist/bin/shell/chunks/chunk-CX5CEEGI.js +0 -11
- package/dist/bin/shell/chunks/chunk-D7YFPDMV.js +0 -22
- package/dist/bin/shell/chunks/chunk-DHIKZU63.js +0 -3
- package/dist/bin/shell/chunks/chunk-DWECIBLJ.js +0 -3
- package/dist/bin/shell/chunks/chunk-FEENTUVZ.js +0 -18
- package/dist/bin/shell/chunks/chunk-FYCT4DWY.js +0 -6
- package/dist/bin/shell/chunks/chunk-G7ZWT7BT.js +0 -9
- package/dist/bin/shell/chunks/chunk-GTO74SFS.js +0 -7
- package/dist/bin/shell/chunks/chunk-HMCRB24D.js +0 -15
- package/dist/bin/shell/chunks/chunk-HWNCK5BB.js +0 -10
- package/dist/bin/shell/chunks/chunk-HZR3FOJM.js +0 -288
- package/dist/bin/shell/chunks/chunk-ISLENKSH.js +0 -7
- package/dist/bin/shell/chunks/chunk-IX7LKVVH.js +0 -15
- package/dist/bin/shell/chunks/chunk-JDFKEXLG.js +0 -12
- package/dist/bin/shell/chunks/chunk-JJC4ENJL.js +0 -13
- package/dist/bin/shell/chunks/chunk-JSZBZ2XU.js +0 -3
- package/dist/bin/shell/chunks/chunk-JXLDT4KX.js +0 -4
- package/dist/bin/shell/chunks/chunk-KMZUSEWI.js +0 -12
- package/dist/bin/shell/chunks/chunk-KWCO3YXP.js +0 -17
- package/dist/bin/shell/chunks/chunk-LNVSXNT7.js +0 -3
- package/dist/bin/shell/chunks/chunk-LX2H4DPL.js +0 -6
- package/dist/bin/shell/chunks/chunk-MLUOPG3W.js +0 -3
- package/dist/bin/shell/chunks/chunk-MNWK4UIM.js +0 -22
- package/dist/bin/shell/chunks/chunk-MP77TJMM.js +0 -6
- package/dist/bin/shell/chunks/chunk-MTK7VLZG.js +0 -12
- package/dist/bin/shell/chunks/chunk-N3FQJLPZ.js +0 -17
- package/dist/bin/shell/chunks/chunk-N6YW4W3Z.js +0 -29
- package/dist/bin/shell/chunks/chunk-NMMVECGD.js +0 -14
- package/dist/bin/shell/chunks/chunk-NXYVRP6D.js +0 -11
- package/dist/bin/shell/chunks/chunk-NYIPFY36.js +0 -3
- package/dist/bin/shell/chunks/chunk-OVVMB2JI.js +0 -7
- package/dist/bin/shell/chunks/chunk-OXZSG3ZZ.js +0 -7
- package/dist/bin/shell/chunks/chunk-PKE7GKU5.js +0 -3
- package/dist/bin/shell/chunks/chunk-PSJORJRS.js +0 -6
- package/dist/bin/shell/chunks/chunk-R36DS2UF.js +0 -20
- package/dist/bin/shell/chunks/chunk-RKBWTGBZ.js +0 -7
- package/dist/bin/shell/chunks/chunk-RO3XCUVQ.js +0 -141
- package/dist/bin/shell/chunks/chunk-RVGYO2OU.js +0 -3
- package/dist/bin/shell/chunks/chunk-SF2OLINE.js +0 -12
- package/dist/bin/shell/chunks/chunk-TIRU5FOD.js +0 -101
- package/dist/bin/shell/chunks/chunk-TKYWUEON.js +0 -13
- package/dist/bin/shell/chunks/chunk-UI7CV277.js +0 -20
- package/dist/bin/shell/chunks/chunk-UNWZQG7U.js +0 -3
- package/dist/bin/shell/chunks/chunk-UOMNSQEZ.js +0 -10
- package/dist/bin/shell/chunks/chunk-W5OBQVJ2.js +0 -6
- package/dist/bin/shell/chunks/chunk-WDWNEHHE.js +0 -9
- package/dist/bin/shell/chunks/chunk-WHUKZ3K3.js +0 -85
- package/dist/bin/shell/chunks/chunk-XHCCSVP6.js +0 -9
- package/dist/bin/shell/chunks/chunk-XPTYN6UE.js +0 -8
- package/dist/bin/shell/chunks/chunk-XRUDFQG5.js +0 -7
- package/dist/bin/shell/chunks/chunk-Y2IUEWQD.js +0 -11
- package/dist/bin/shell/chunks/chunk-Y5OWCEDV.js +0 -64
- package/dist/bin/shell/chunks/chunk-ZFUVUYWG.js +0 -15
- package/dist/bin/shell/chunks/chunk-ZZP3RSWL.js +0 -4
- package/dist/bin/shell/chunks/clear-FGNEKYDU.js +0 -3
- package/dist/bin/shell/chunks/column-QLGOK3XM.js +0 -3
- package/dist/bin/shell/chunks/comm-PLYUTVP3.js +0 -3
- package/dist/bin/shell/chunks/cp-HYXTMN3D.js +0 -3
- package/dist/bin/shell/chunks/curl-DCSPNPEW.js +0 -27
- package/dist/bin/shell/chunks/cut-JNQTCQY7.js +0 -3
- package/dist/bin/shell/chunks/date-OFYBOAUE.js +0 -3
- package/dist/bin/shell/chunks/diff-LZ4WRLIF.js +0 -3
- package/dist/bin/shell/chunks/dirname-VCINTLPD.js +0 -3
- package/dist/bin/shell/chunks/du-4LRQIGRG.js +0 -3
- package/dist/bin/shell/chunks/echo-KCOHTNDF.js +0 -3
- package/dist/bin/shell/chunks/env-FNVYNLGB.js +0 -3
- package/dist/bin/shell/chunks/expand-CB7FG7LQ.js +0 -3
- package/dist/bin/shell/chunks/expr-6A2XZORA.js +0 -3
- package/dist/bin/shell/chunks/file-GRZLWDVH.js +0 -3
- package/dist/bin/shell/chunks/find-5OZWMYCV.js +0 -3
- package/dist/bin/shell/chunks/flag-coverage-CAST5CDE.js +0 -3
- package/dist/bin/shell/chunks/fold-7YEITA5L.js +0 -3
- package/dist/bin/shell/chunks/grep-KKBXRB73.js +0 -3
- package/dist/bin/shell/chunks/gzip-ZJP5VIAQ.js +0 -3
- package/dist/bin/shell/chunks/head-B6GFQHKF.js +0 -3
- package/dist/bin/shell/chunks/help-CGUEOGXQ.js +0 -3
- package/dist/bin/shell/chunks/history-AQQWW3QB.js +0 -3
- package/dist/bin/shell/chunks/hostname-USNWOQCK.js +0 -3
- package/dist/bin/shell/chunks/html-to-markdown-3HJ7L7NL.js +0 -3
- package/dist/bin/shell/chunks/join-WRM6S6CO.js +0 -3
- package/dist/bin/shell/chunks/jq-3V5HDGLJ.js +0 -3
- package/dist/bin/shell/chunks/js-exec-F7JAZ4ZQ.js +0 -98
- package/dist/bin/shell/chunks/ln-LP4HMCSM.js +0 -3
- package/dist/bin/shell/chunks/ls-KBNHNZWQ.js +0 -3
- package/dist/bin/shell/chunks/md5sum-ZNYCDRQL.js +0 -3
- package/dist/bin/shell/chunks/mkdir-P4DKRCDX.js +0 -3
- package/dist/bin/shell/chunks/mv-QQK4FQX6.js +0 -3
- package/dist/bin/shell/chunks/nl-6TVYE4ZB.js +0 -3
- package/dist/bin/shell/chunks/od-Y3E3QXOL.js +0 -3
- package/dist/bin/shell/chunks/paste-LYNFXXCM.js +0 -3
- package/dist/bin/shell/chunks/printf-MR3FXCDE.js +0 -3
- package/dist/bin/shell/chunks/pwd-FCNDA467.js +0 -3
- package/dist/bin/shell/chunks/python3-R5OFWJIH.js +0 -13
- package/dist/bin/shell/chunks/readlink-25V57VOL.js +0 -3
- package/dist/bin/shell/chunks/rev-AJECDD4L.js +0 -3
- package/dist/bin/shell/chunks/rg-DZKA632H.js +0 -3
- package/dist/bin/shell/chunks/rm-ECNUFR66.js +0 -3
- package/dist/bin/shell/chunks/rmdir-DLOHIA7Q.js +0 -3
- package/dist/bin/shell/chunks/sed-IGRH7EGG.js +0 -3
- package/dist/bin/shell/chunks/seq-UXDJE6FB.js +0 -3
- package/dist/bin/shell/chunks/sha1sum-5QZSNFY3.js +0 -3
- package/dist/bin/shell/chunks/sha256sum-DI7JAVAU.js +0 -3
- package/dist/bin/shell/chunks/sleep-RPGCUUGX.js +0 -3
- package/dist/bin/shell/chunks/sort-HQPAFL76.js +0 -3
- package/dist/bin/shell/chunks/split-F6FSB5KI.js +0 -3
- package/dist/bin/shell/chunks/sqlite3-7TRACAE7.js +0 -3
- package/dist/bin/shell/chunks/stat-BD6KT3BP.js +0 -3
- package/dist/bin/shell/chunks/strings-6PE3YMPO.js +0 -3
- package/dist/bin/shell/chunks/tac-NERJXVOM.js +0 -3
- package/dist/bin/shell/chunks/tail-24F643A4.js +0 -3
- package/dist/bin/shell/chunks/tar-5HK3VMV2.js +0 -3
- package/dist/bin/shell/chunks/tee-5B7P2QRJ.js +0 -3
- package/dist/bin/shell/chunks/time-FN6VJGRS.js +0 -3
- package/dist/bin/shell/chunks/timeout-ZARIAF3K.js +0 -3
- package/dist/bin/shell/chunks/touch-DFGSVIX7.js +0 -3
- package/dist/bin/shell/chunks/tr-QQZYZ3CH.js +0 -3
- package/dist/bin/shell/chunks/tree-6D7SMPUR.js +0 -3
- package/dist/bin/shell/chunks/true-SKL4L7JP.js +0 -3
- package/dist/bin/shell/chunks/unexpand-3JWOSSBQ.js +0 -3
- package/dist/bin/shell/chunks/uniq-Q5UH5NL3.js +0 -3
- package/dist/bin/shell/chunks/wc-4HXNTHY3.js +0 -3
- package/dist/bin/shell/chunks/which-LCXKCLFC.js +0 -3
- package/dist/bin/shell/chunks/whoami-TZDZDU7T.js +0 -3
- package/dist/bin/shell/chunks/xan-TCTFON2Q.js +0 -3
- package/dist/bin/shell/chunks/xan-view-XBMA362V.js +0 -3
- package/dist/bin/shell/chunks/xargs-VTFN762K.js +0 -3
- package/dist/bin/shell/chunks/yq-OB6PB5GY.js +0 -3
- package/dist/bundle/chunks/alias-RTYYYW3D.js +0 -2
- package/dist/bundle/chunks/awk2-SREAOJRG.js +0 -2
- package/dist/bundle/chunks/base64-WIGL46P3.js +0 -2
- package/dist/bundle/chunks/basename-UB3CIYNI.js +0 -2
- package/dist/bundle/chunks/bash-F4KHPMTX.js +0 -2
- package/dist/bundle/chunks/cat-LPZ6XNHG.js +0 -2
- package/dist/bundle/chunks/chmod-TFEPA42X.js +0 -2
- package/dist/bundle/chunks/chunk-27JIFWUR.js +0 -3
- package/dist/bundle/chunks/chunk-2VDTE5BV.js +0 -14
- package/dist/bundle/chunks/chunk-2VJJEDV2.js +0 -8
- package/dist/bundle/chunks/chunk-4I3HOE5Z.js +0 -21
- package/dist/bundle/chunks/chunk-4JLVZKHC.js +0 -8
- package/dist/bundle/chunks/chunk-4WKZNNJK.js +0 -2
- package/dist/bundle/chunks/chunk-55LZFN6S.js +0 -36
- package/dist/bundle/chunks/chunk-5MV7Q5QB.js +0 -5
- package/dist/bundle/chunks/chunk-6L65G6A7.js +0 -17
- package/dist/bundle/chunks/chunk-6NYPZ4NX.js +0 -8
- package/dist/bundle/chunks/chunk-6Y4TGEZL.js +0 -140
- package/dist/bundle/chunks/chunk-7CSMHFIJ.js +0 -33
- package/dist/bundle/chunks/chunk-AAGO7IQ5.js +0 -11
- package/dist/bundle/chunks/chunk-AX2X3SZS.js +0 -11
- package/dist/bundle/chunks/chunk-AXMYAPFA.js +0 -9
- package/dist/bundle/chunks/chunk-BU36VZYL.js +0 -4
- package/dist/bundle/chunks/chunk-BZUGFHVS.js +0 -2
- package/dist/bundle/chunks/chunk-CJFAMHFC.js +0 -7
- package/dist/bundle/chunks/chunk-CN5XGDNN.js +0 -6
- package/dist/bundle/chunks/chunk-CQV3EITV.js +0 -2
- package/dist/bundle/chunks/chunk-DVJY2RAX.js +0 -2
- package/dist/bundle/chunks/chunk-FLMHFDSN.js +0 -5
- package/dist/bundle/chunks/chunk-GE6OQDB2.js +0 -10
- package/dist/bundle/chunks/chunk-GHB6M7KA.js +0 -2
- package/dist/bundle/chunks/chunk-GRQJA2J7.js +0 -21
- package/dist/bundle/chunks/chunk-H2TS57O5.js +0 -5
- package/dist/bundle/chunks/chunk-H7WISVP3.js +0 -6
- package/dist/bundle/chunks/chunk-HAIOEUEV.js +0 -63
- package/dist/bundle/chunks/chunk-HBVMHTO5.js +0 -2
- package/dist/bundle/chunks/chunk-IZ6KBTV7.js +0 -100
- package/dist/bundle/chunks/chunk-J3LJZWL2.js +0 -6
- package/dist/bundle/chunks/chunk-JA7M2FXG.js +0 -16
- package/dist/bundle/chunks/chunk-JNYYVLEL.js +0 -35
- package/dist/bundle/chunks/chunk-JTMQLUCH.js +0 -16
- package/dist/bundle/chunks/chunk-K5JMLDHX.js +0 -13
- package/dist/bundle/chunks/chunk-KAPG5ONA.js +0 -2
- package/dist/bundle/chunks/chunk-KSBHIW2H.js +0 -19
- package/dist/bundle/chunks/chunk-KTL5PAHY.js +0 -5
- package/dist/bundle/chunks/chunk-KTPCYKBB.js +0 -3
- package/dist/bundle/chunks/chunk-KWGBQNTV.js +0 -32
- package/dist/bundle/chunks/chunk-MFDPAVC6.js +0 -14
- package/dist/bundle/chunks/chunk-MFRETFZB.js +0 -6
- package/dist/bundle/chunks/chunk-MIZIUC5M.js +0 -8
- package/dist/bundle/chunks/chunk-MJLETYZI.js +0 -14
- package/dist/bundle/chunks/chunk-MTHXXA6H.js +0 -6
- package/dist/bundle/chunks/chunk-NGPDJCUE.js +0 -5
- package/dist/bundle/chunks/chunk-OVH44QKR.js +0 -11
- package/dist/bundle/chunks/chunk-PDUL32DM.js +0 -16
- package/dist/bundle/chunks/chunk-PYDWFCTN.js +0 -11
- package/dist/bundle/chunks/chunk-QAJKDPNS.js +0 -2
- package/dist/bundle/chunks/chunk-QM4DZQWX.js +0 -287
- package/dist/bundle/chunks/chunk-R4IFXNY5.js +0 -28
- package/dist/bundle/chunks/chunk-R4QNMLOB.js +0 -12
- package/dist/bundle/chunks/chunk-RBQG6ZUG.js +0 -3
- package/dist/bundle/chunks/chunk-RCXNPPJY.js +0 -17
- package/dist/bundle/chunks/chunk-S2BIZAWY.js +0 -7
- package/dist/bundle/chunks/chunk-SAI2SPQQ.js +0 -8
- package/dist/bundle/chunks/chunk-SETW5JBN.js +0 -9
- package/dist/bundle/chunks/chunk-SJYEXC2Z.js +0 -14
- package/dist/bundle/chunks/chunk-SY4HAUHP.js +0 -2
- package/dist/bundle/chunks/chunk-TA74ENH7.js +0 -14
- package/dist/bundle/chunks/chunk-TC2WHAIS.js +0 -2
- package/dist/bundle/chunks/chunk-VACKIICN.js +0 -5
- package/dist/bundle/chunks/chunk-VBLMIJON.js +0 -6
- package/dist/bundle/chunks/chunk-WKPK7M56.js +0 -10
- package/dist/bundle/chunks/chunk-WM5IJFMP.js +0 -8
- package/dist/bundle/chunks/chunk-WPGQVBSY.js +0 -6
- package/dist/bundle/chunks/chunk-WVRWIZF5.js +0 -23
- package/dist/bundle/chunks/chunk-XEKXHOPO.js +0 -2
- package/dist/bundle/chunks/chunk-XPK7ZFVA.js +0 -12
- package/dist/bundle/chunks/chunk-XZUZRAAC.js +0 -10
- package/dist/bundle/chunks/chunk-Y4LIDHSD.js +0 -7
- package/dist/bundle/chunks/chunk-YRNR2VHY.js +0 -21
- package/dist/bundle/chunks/chunk-YS4NUBYX.js +0 -9
- package/dist/bundle/chunks/chunk-YWOZZRSK.js +0 -2
- package/dist/bundle/chunks/chunk-ZDIT6ST5.js +0 -7
- package/dist/bundle/chunks/clear-HKGFEOF6.js +0 -2
- package/dist/bundle/chunks/column-PVOEF65J.js +0 -2
- package/dist/bundle/chunks/comm-5QMYEAJL.js +0 -2
- package/dist/bundle/chunks/cp-BISAAS7A.js +0 -2
- package/dist/bundle/chunks/curl-PAWGO3EH.js +0 -26
- package/dist/bundle/chunks/cut-NDMV7SPO.js +0 -2
- package/dist/bundle/chunks/date-XKUEQ4WF.js +0 -2
- package/dist/bundle/chunks/diff-TT4M7WM3.js +0 -2
- package/dist/bundle/chunks/dirname-MPHRFUTI.js +0 -2
- package/dist/bundle/chunks/du-572XNP42.js +0 -2
- package/dist/bundle/chunks/echo-NDWZZHPO.js +0 -2
- package/dist/bundle/chunks/env-DLFRY633.js +0 -2
- package/dist/bundle/chunks/expand-T2TH4TBQ.js +0 -2
- package/dist/bundle/chunks/expr-YLACLCSM.js +0 -2
- package/dist/bundle/chunks/file-IPZJC3FQ.js +0 -2
- package/dist/bundle/chunks/find-T5TGGXUU.js +0 -2
- package/dist/bundle/chunks/flag-coverage-OHLSWDU5.js +0 -2
- package/dist/bundle/chunks/fold-XR2JMFCW.js +0 -2
- package/dist/bundle/chunks/grep-VUESTEZ7.js +0 -2
- package/dist/bundle/chunks/gzip-HF3D26QX.js +0 -2
- package/dist/bundle/chunks/head-AEMOMQSZ.js +0 -2
- package/dist/bundle/chunks/help-HZ6M2CKN.js +0 -2
- package/dist/bundle/chunks/history-WYYKSLSZ.js +0 -2
- package/dist/bundle/chunks/hostname-C4HQXXUP.js +0 -2
- package/dist/bundle/chunks/html-to-markdown-LXXMVQ3V.js +0 -2
- package/dist/bundle/chunks/join-YIABB6WR.js +0 -2
- package/dist/bundle/chunks/jq-OPEF5OPR.js +0 -2
- package/dist/bundle/chunks/js-exec-SR6IMNWM.js +0 -97
- package/dist/bundle/chunks/ln-4LGSXXGD.js +0 -2
- package/dist/bundle/chunks/ls-ZJGQER7M.js +0 -2
- package/dist/bundle/chunks/md5sum-LU7RVIB7.js +0 -2
- package/dist/bundle/chunks/mkdir-MEPGZOB6.js +0 -2
- package/dist/bundle/chunks/mv-W5BIQ646.js +0 -2
- package/dist/bundle/chunks/nl-Q2L5XQWZ.js +0 -2
- package/dist/bundle/chunks/od-RDSM4TQJ.js +0 -2
- package/dist/bundle/chunks/paste-ABCY7E6C.js +0 -2
- package/dist/bundle/chunks/printf-JPOOWRJC.js +0 -2
- package/dist/bundle/chunks/pwd-WE6EN5AV.js +0 -2
- package/dist/bundle/chunks/python3-JPCH6LLN.js +0 -12
- package/dist/bundle/chunks/readlink-OPJF4DL5.js +0 -2
- package/dist/bundle/chunks/rev-GCV6X22K.js +0 -2
- package/dist/bundle/chunks/rg-EBMD72T4.js +0 -2
- package/dist/bundle/chunks/rm-SSGETQVQ.js +0 -2
- package/dist/bundle/chunks/rmdir-OC4ZLPYA.js +0 -2
- package/dist/bundle/chunks/sed-DX2SGXMF.js +0 -2
- package/dist/bundle/chunks/seq-M5EC7Q57.js +0 -2
- package/dist/bundle/chunks/sha1sum-O6DM3TPQ.js +0 -2
- package/dist/bundle/chunks/sha256sum-WPVZLZPS.js +0 -2
- package/dist/bundle/chunks/sleep-HZ4QEFOK.js +0 -2
- package/dist/bundle/chunks/sort-VW2NIZHW.js +0 -2
- package/dist/bundle/chunks/split-NBMH43M2.js +0 -2
- package/dist/bundle/chunks/sqlite3-UE3PJTDQ.js +0 -2
- package/dist/bundle/chunks/stat-CD34IZ4P.js +0 -2
- package/dist/bundle/chunks/strings-MCXFXPDL.js +0 -2
- package/dist/bundle/chunks/tac-BQ7EDZW2.js +0 -2
- package/dist/bundle/chunks/tail-GJMTLMNE.js +0 -2
- package/dist/bundle/chunks/tar-WIZ3PDF4.js +0 -2
- package/dist/bundle/chunks/tee-SGANDVNY.js +0 -2
- package/dist/bundle/chunks/time-FCZCDIAM.js +0 -2
- package/dist/bundle/chunks/timeout-VDIEAB4R.js +0 -2
- package/dist/bundle/chunks/touch-UA33VN3N.js +0 -2
- package/dist/bundle/chunks/tr-JNNR5JMS.js +0 -2
- package/dist/bundle/chunks/tree-YLD52CNT.js +0 -2
- package/dist/bundle/chunks/true-FHQXJXBE.js +0 -2
- package/dist/bundle/chunks/unexpand-2TKXAENW.js +0 -2
- package/dist/bundle/chunks/uniq-DMFKT3AB.js +0 -2
- package/dist/bundle/chunks/wc-TZFYWFLA.js +0 -2
- package/dist/bundle/chunks/which-XEM24D5D.js +0 -2
- package/dist/bundle/chunks/whoami-XMTX52VE.js +0 -2
- package/dist/bundle/chunks/xan-LKYWG2QQ.js +0 -2
- package/dist/bundle/chunks/xan-view-YATJ4KAA.js +0 -2
- package/dist/bundle/chunks/xargs-VDP7DLOU.js +0 -2
- package/dist/bundle/chunks/yq-TVZ7R3O7.js +0 -2
- package/dist/interpreter/helpers/statements.d.ts +0 -20
- package/dist/interpreter/helpers/tilde.d.ts +0 -13
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a,b,c,d}from"./chunk-DJAX3ZRG.js";import"./chunk-MUFNRCMY.js";import"./chunk-DN2YCFOR.js";export{a as aliasCommand,c as flagsForFuzzing,b as unaliasCommand,d as unaliasFlagsForFuzzing};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a,b}from"./chunk-PKWK3LQM.js";import"./chunk-MROECM42.js";import"./chunk-4SQKKW2M.js";import"./chunk-CB4SODHK.js";import"./chunk-BNYIXXC2.js";import"./chunk-46CDVHZ3.js";import"./chunk-VLWZ6L7C.js";import"./chunk-CPTQXTBJ.js";import"./chunk-LCP3IKI7.js";import"./chunk-CPKBPQ2C.js";import"./chunk-MUFNRCMY.js";import"./chunk-DN2YCFOR.js";export{a as awkCommand2,b as flagsForFuzzing};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a,b}from"./chunk-MZM7RVYU.js";import"./chunk-O74FSWB4.js";import"./chunk-BNYIXXC2.js";import"./chunk-46CDVHZ3.js";import"./chunk-7JZKVC3F.js";import"./chunk-LCP3IKI7.js";import"./chunk-CPKBPQ2C.js";import"./chunk-NE4R2FVV.js";import"./chunk-MUFNRCMY.js";import"./chunk-DN2YCFOR.js";export{a as base64Command,b as flagsForFuzzing};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a,b,c,d}from"./chunk-MYTNZ7MA.js";import"./chunk-MROECM42.js";import"./chunk-CPKBPQ2C.js";import"./chunk-MUFNRCMY.js";import"./chunk-DN2YCFOR.js";export{a as bashCommand,c as flagsForFuzzing,b as shCommand,d as shFlagsForFuzzing};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a,b}from"./chunk-W4U4QOZF.js";import"./chunk-O74FSWB4.js";import"./chunk-BNYIXXC2.js";import"./chunk-46CDVHZ3.js";import"./chunk-7JZKVC3F.js";import"./chunk-LCP3IKI7.js";import"./chunk-CPKBPQ2C.js";import"./chunk-NE4R2FVV.js";import"./chunk-MUFNRCMY.js";import"./chunk-DN2YCFOR.js";export{a as catCommand,b as flagsForFuzzing};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a,b}from"./chunk-NGD6G5ZG.js";import"./chunk-BNYIXXC2.js";import"./chunk-46CDVHZ3.js";import"./chunk-CPTQXTBJ.js";import"./chunk-H4BRFPKY.js";import"./chunk-43E7AR6A.js";import"./chunk-LCP3IKI7.js";import"./chunk-CPKBPQ2C.js";import"./chunk-PBOVSFTJ.js";import"./chunk-MUFNRCMY.js";import"./chunk-DN2YCFOR.js";export{a as chmodCommand,b as flagsForFuzzing};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{b as D}from"./chunk-CPKBPQ2C.js";import{a as N}from"./chunk-NE4R2FVV.js";import{a as H,b as A}from"./chunk-MUFNRCMY.js";var b=class{diff(e,n,t={}){let i;typeof t=="function"?(i=t,t={}):"callback"in t&&(i=t.callback);let d=this.castInput(e,t),o=this.castInput(n,t),s=this.removeEmpty(this.tokenize(d,t)),a=this.removeEmpty(this.tokenize(o,t));return this.diffWithOptionsObj(s,a,t,i)}diffWithOptionsObj(e,n,t,i){var d;let o=l=>{if(l=this.postProcess(l,t),i){setTimeout(function(){i(l)},0);return}else return l},s=n.length,a=e.length,u=1,r=s+a;t.maxEditLength!=null&&(r=Math.min(r,t.maxEditLength));let g=(d=t.timeout)!==null&&d!==void 0?d:1/0,w=Date.now()+g,m=[{oldPos:-1,lastComponent:void 0}],C=this.extractCommon(m[0],n,e,0,t);if(m[0].oldPos+1>=a&&C+1>=s)return o(this.buildValues(m[0].lastComponent,n,e));let P=-1/0,x=1/0,L=()=>{for(let l=Math.max(P,-u);l<=Math.min(x,u);l+=2){let c,h=m[l-1],p=m[l+1];h&&(m[l-1]=void 0);let y=!1;if(p){let S=p.oldPos-l;y=p&&0<=S&&S<s}let v=h&&h.oldPos+1<a;if(!y&&!v){m[l]=void 0;continue}if(!v||y&&h.oldPos<p.oldPos?c=this.addToPath(p,!0,!1,0,t):c=this.addToPath(h,!1,!0,1,t),C=this.extractCommon(c,n,e,l,t),c.oldPos+1>=a&&C+1>=s)return o(this.buildValues(c.lastComponent,n,e))||!0;m[l]=c,c.oldPos+1>=a&&(x=Math.min(x,l-1)),C+1>=s&&(P=Math.max(P,l+1))}u++};if(i)(function l(){setTimeout(function(){if(u>r||Date.now()>w)return i(void 0);L()||l()},0)})();else for(;u<=r&&Date.now()<=w;){let l=L();if(l)return l}}addToPath(e,n,t,i,d){let o=e.lastComponent;return o&&!d.oneChangePerToken&&o.added===n&&o.removed===t?{oldPos:e.oldPos+i,lastComponent:{count:o.count+1,added:n,removed:t,previousComponent:o.previousComponent}}:{oldPos:e.oldPos+i,lastComponent:{count:1,added:n,removed:t,previousComponent:o}}}extractCommon(e,n,t,i,d){let o=n.length,s=t.length,a=e.oldPos,u=a-i,r=0;for(;u+1<o&&a+1<s&&this.equals(t[a+1],n[u+1],d);)u++,a++,r++,d.oneChangePerToken&&(e.lastComponent={count:1,previousComponent:e.lastComponent,added:!1,removed:!1});return r&&!d.oneChangePerToken&&(e.lastComponent={count:r,previousComponent:e.lastComponent,added:!1,removed:!1}),e.oldPos=a,u}equals(e,n,t){return t.comparator?t.comparator(e,n):e===n||!!t.ignoreCase&&e.toLowerCase()===n.toLowerCase()}removeEmpty(e){let n=[];for(let t=0;t<e.length;t++)e[t]&&n.push(e[t]);return n}castInput(e,n){return e}tokenize(e,n){return Array.from(e)}join(e){return e.join("")}postProcess(e,n){return e}get useLongestToken(){return!1}buildValues(e,n,t){let i=[],d;for(;e;)i.push(e),d=e.previousComponent,delete e.previousComponent,e=d;i.reverse();let o=i.length,s=0,a=0,u=0;for(;s<o;s++){let r=i[s];if(r.removed)r.value=this.join(t.slice(u,u+r.count)),u+=r.count;else{if(!r.added&&this.useLongestToken){let g=n.slice(a,a+r.count);g=g.map(function(w,m){let C=t[u+m];return C.length>w.length?C:w}),r.value=this.join(g)}else r.value=this.join(n.slice(a,a+r.count));a+=r.count,r.added||(u+=r.count)}}return i}};var I=class extends b{constructor(){super(...arguments),this.tokenize=W}equals(e,n,t){return t.ignoreWhitespace?((!t.newlineIsToken||!e.includes(`
|
|
4
|
+
`))&&(e=e.trim()),(!t.newlineIsToken||!n.includes(`
|
|
5
|
+
`))&&(n=n.trim())):t.ignoreNewlineAtEof&&!t.newlineIsToken&&(e.endsWith(`
|
|
6
|
+
`)&&(e=e.slice(0,-1)),n.endsWith(`
|
|
7
|
+
`)&&(n=n.slice(0,-1))),super.equals(e,n,t)}},O=new I;function T(f,e,n){return O.diff(f,e,n)}function W(f,e){e.stripTrailingCr&&(f=f.replace(/\r\n/g,`
|
|
8
|
+
`));let n=[],t=f.split(/(\n|\r\n)/);t[t.length-1]||t.pop();for(let i=0;i<t.length;i++){let d=t[i];i%2&&!e.newlineIsToken?n[n.length-1]+=d:n.push(d)}return n}var j={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0};function F(f,e,n,t,i,d,o){let s;o?typeof o=="function"?s={callback:o}:s=o:s={},typeof s.context>"u"&&(s.context=4);let a=s.context;if(s.newlineIsToken)throw new Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(s.callback){let{callback:r}=s;T(n,t,Object.assign(Object.assign({},s),{callback:g=>{let w=u(g);r(w)}}))}else return u(T(n,t,s));function u(r){if(!r)return;r.push({value:"",lines:[]});function g(l){return l.map(function(c){return" "+c})}let w=[],m=0,C=0,P=[],x=1,L=1;for(let l=0;l<r.length;l++){let c=r[l],h=c.lines||R(c.value);if(c.lines=h,c.added||c.removed){if(!m){let p=r[l-1];m=x,C=L,p&&(P=a>0?g(p.lines.slice(-a)):[],m-=P.length,C-=P.length)}for(let p of h)P.push((c.added?"+":"-")+p);c.added?L+=h.length:x+=h.length}else{if(m)if(h.length<=a*2&&l<r.length-2)for(let p of g(h))P.push(p);else{let p=Math.min(h.length,a);for(let v of g(h.slice(0,p)))P.push(v);let y={oldStart:m,oldLines:x-m+p,newStart:C,newLines:L-C+p,lines:P};w.push(y),m=0,C=0,P=[]}x+=h.length,L+=h.length}}for(let l of w)for(let c=0;c<l.lines.length;c++)l.lines[c].endsWith(`
|
|
9
|
+
`)?l.lines[c]=l.lines[c].slice(0,-1):(l.lines.splice(c+1,0,"\"),c++);return{oldFileName:f,newFileName:e,oldHeader:i,newHeader:d,hunks:w}}}function E(f,e){if(e||(e=j),Array.isArray(f)){if(f.length>1&&!e.includeFileHeaders)throw new Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return f.map(t=>E(t,e)).join(`
|
|
10
|
+
`)}let n=[];e.includeIndex&&f.oldFileName==f.newFileName&&n.push("Index: "+f.oldFileName),e.includeUnderline&&n.push("==================================================================="),e.includeFileHeaders&&(n.push("--- "+f.oldFileName+(typeof f.oldHeader>"u"?"":" "+f.oldHeader)),n.push("+++ "+f.newFileName+(typeof f.newHeader>"u"?"":" "+f.newHeader)));for(let t=0;t<f.hunks.length;t++){let i=f.hunks[t];i.oldLines===0&&(i.oldStart-=1),i.newLines===0&&(i.newStart-=1),n.push("@@ -"+i.oldStart+","+i.oldLines+" +"+i.newStart+","+i.newLines+" @@");for(let d of i.lines)n.push(d)}return n.join(`
|
|
11
|
+
`)+`
|
|
12
|
+
`}function k(f,e,n,t,i,d,o){if(typeof o=="function"&&(o={callback:o}),o?.callback){let{callback:s}=o;F(f,e,n,t,i,d,Object.assign(Object.assign({},o),{callback:a=>{s(a?E(a,o.headerOptions):void 0)}}))}else{let s=F(f,e,n,t,i,d,o);return s?E(s,o?.headerOptions):void 0}}function R(f){let e=f.endsWith(`
|
|
13
|
+
`),n=f.split(`
|
|
14
|
+
`).map(t=>t+`
|
|
15
|
+
`);return e?n.pop():n.push(n.pop().slice(0,-1)),n}var z={name:"diff",summary:"compare files line by line",usage:"diff [OPTION]... FILE1 FILE2",options:["-u, --unified output unified diff format (default)","-q, --brief report only whether files differ","-s, --report-identical-files report when files are the same","-i, --ignore-case ignore case differences"," --help display this help and exit"]},_={unified:{short:"u",long:"unified",type:"boolean"},brief:{short:"q",long:"brief",type:"boolean"},reportSame:{short:"s",long:"report-identical-files",type:"boolean"},ignoreCase:{short:"i",long:"ignore-case",type:"boolean"}},ee={name:"diff",async execute(f,e){if(A(f))return H(z);let n=N("diff",f,_);if(!n.ok)return n.error;let t=n.result.flags.brief,i=n.result.flags.reportSame,d=n.result.flags.ignoreCase,o=n.result.positional;if(n.result.flags.unified,o.length<2)return{stdout:"",stderr:`diff: missing operand
|
|
16
|
+
`,exitCode:2};let s,a,[u,r]=o;try{s=u==="-"?D(e.stdin):await e.fs.readFile(e.fs.resolvePath(e.cwd,u))}catch{return{stdout:"",stderr:`diff: ${u}: No such file or directory
|
|
17
|
+
`,exitCode:2}}try{a=r==="-"?D(e.stdin):await e.fs.readFile(e.fs.resolvePath(e.cwd,r))}catch{return{stdout:"",stderr:`diff: ${r}: No such file or directory
|
|
18
|
+
`,exitCode:2}}let g=s,w=a;return d&&(g=g.toLowerCase(),w=w.toLowerCase()),g===w?i?{stdout:`Files ${u} and ${r} are identical
|
|
19
|
+
`,stderr:"",exitCode:0}:{stdout:"",stderr:"",exitCode:0}:t?{stdout:`Files ${u} and ${r} differ
|
|
20
|
+
`,stderr:"",exitCode:1}:{stdout:k(u,r,s,a,"","",{context:3}),stderr:"",exitCode:1}}},ne={name:"diff",flags:[{flag:"-u",type:"boolean"},{flag:"-q",type:"boolean"},{flag:"-s",type:"boolean"},{flag:"-i",type:"boolean"}],needsArgs:!0,minArgs:2};export{ee as a,ne as b};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{c as E}from"./chunk-O74FSWB4.js";import{d as W}from"./chunk-CPTQXTBJ.js";import{l as h}from"./chunk-LCP3IKI7.js";import{b as N}from"./chunk-CPKBPQ2C.js";import{a as v,b as L,c as b}from"./chunk-MUFNRCMY.js";var k={name:"cut",summary:"remove sections from each line of files",usage:"cut [OPTION]... [FILE]...",options:["-c LIST select only these characters","-d DELIM use DELIM instead of TAB for field delimiter","-f LIST select only these fields","-s, --only-delimited do not print lines without delimiters"," --help display this help and exit"]};function M(r,o){let l=[],a=r.split(",");if(a.length>o)throw new h(`cut: range count limit exceeded (${o})`,"array_elements");for(let s of a)if(s.includes("-")){let[i,u]=s.split("-"),t=i?Number(i):1,f=u?Number(u):null;if(!Number.isSafeInteger(t)||t<1||f!==null&&(!Number.isSafeInteger(f)||f<t))throw new h("cut: invalid range","array_elements");l.push({start:t,end:f})}else{let i=Number(s);if(!Number.isSafeInteger(i)||i<1)throw new h("cut: invalid range","array_elements");l.push({start:i,end:i})}return l}function B(r,o){let l=[],a=new Set;for(let s of o){let i=s.start-1,u=s.end===null?r.length:s.end;for(let t=i;t<u&&t<r.length;t++)t>=0&&!a.has(t)&&(a.add(t),l.push(r[t]))}return l}var R={name:"cut",async execute(r,o){if(L(r))return v(k);let l=" ",a=null,s=null,i=!1,u=[];for(let n=0;n<r.length;n++){let e=r[n];if(e==="-d")l=r[++n]||" ";else if(e.startsWith("-d"))l=e.slice(2);else if(e==="-f")a=r[++n];else if(e.startsWith("-f"))a=e.slice(2);else if(e==="-c")s=r[++n];else if(e.startsWith("-c"))s=e.slice(2);else if(e==="-s"||e==="--only-delimited")i=!0;else{if(e.startsWith("--"))return b("cut",e);if(e.startsWith("-")){let d=!1;for(let c of e.slice(1))if(c==="s")i=!0;else if(!"dfc".includes(c)){d=!0;break}if(d)return b("cut",e)}else u.push(e)}}if(!a&&!s)return{stdout:"",stderr:`cut: you must specify a list of bytes, characters, or fields
|
|
4
|
+
`,exitCode:1};let t=await E(o,u,{cmdName:"cut"});if(!t.ok)return t.error;let m=(s?N(t.content):t.content).split(`
|
|
5
|
+
`);m.length>0&&m[m.length-1]===""&&m.pop();let x=M(a||s||"1",o.limits.maxArrayElements),g=new W(Math.min(o.limits.maxOutputSize,o.limits.maxStringLength),"cut"),S=0,I=n=>{if(!Number.isSafeInteger(n)||n<0||n>o.limits.maxLoopIterations-S)throw new h(`cut: range expansion limit exceeded (${o.limits.maxLoopIterations})`,"iterations");S+=n,o.executionScope?.consumeWork(n,"cut range expansion")};for(let n of m)if(s){let e=Array.from(n),d=[];for(let c of x){let y=c.start-1,w=c.end===null?e.length:c.end;I(Math.max(0,Math.min(w,e.length)-y));for(let p=y;p<w&&p<e.length;p++)p>=0&&d.push(e[p])}g.append(`${d.join("")}
|
|
6
|
+
`)}else{if(i&&!n.includes(l))continue;let e=n.split(l);for(let c of x){let y=c.start-1,w=c.end===null?e.length:c.end;I(Math.max(0,Math.min(w,e.length)-y))}let d=B(e,x);g.append(`${d.join(l)}
|
|
7
|
+
`)}return s?{stdout:g.build(),stderr:"",exitCode:0}:{stdout:g.build(),stderr:"",exitCode:0,stdoutKind:"bytes",stdoutEncoding:"binary"}}},$={name:"cut",flags:[{flag:"-d",type:"value",valueHint:"delimiter"},{flag:"-f",type:"value",valueHint:"string"},{flag:"-c",type:"value",valueHint:"string"},{flag:"-s",type:"boolean"}],stdinType:"text",needsFiles:!0};export{R as a,$ as b};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{b as U}from"./chunk-CPKBPQ2C.js";import{a as $,b as F,c as k}from"./chunk-MUFNRCMY.js";var L=new Map([["sha1","SHA-1"],["sha256","SHA-256"]]);function D(n){function h(r,u){return r<<u|r>>>32-u}let g=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]),A=[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],b=n.length*8,c=(n.length%64<56?56:120)-n.length%64,s=new Uint8Array(n.length+c+8);s.set(n),s[n.length]=128;let d=new DataView(s.buffer);d.setUint32(s.length-8,b>>>0,!0),d.setUint32(s.length-4,Math.floor(b/4294967296),!0);let w=1732584193,l=4023233417,p=2562383102,e=271733878;for(let r=0;r<s.length;r+=64){let u=new Uint32Array(16);for(let t=0;t<16;t++)u[t]=d.getUint32(r+t*4,!0);let m=w,a=l,x=p,o=e;for(let t=0;t<64;t++){let i,y;t<16?(i=a&x|~a&o,y=t):t<32?(i=o&a|~o&x,y=(5*t+1)%16):t<48?(i=a^x^o,y=(3*t+5)%16):(i=x^(a|~o),y=7*t%16),i=i+m+g[t]+u[y]>>>0,m=o,o=x,x=a,a=a+h(i,A[t])>>>0}w=w+m>>>0,l=l+a>>>0,p=p+x>>>0,e=e+o>>>0}let f=new Uint8Array(16);return new DataView(f.buffer).setUint32(0,w,!0),new DataView(f.buffer).setUint32(4,l,!0),new DataView(f.buffer).setUint32(8,p,!0),new DataView(f.buffer).setUint32(12,e,!0),Array.from(f).map(r=>r.toString(16).padStart(2,"0")).join("")}async function C(n,h){if(n==="md5")return D(h);let g=L.get(n);if(!g)throw new Error(`Unknown algorithm: ${n}`);let A=await globalThis.crypto.subtle.digest(g,new Uint8Array(h).buffer);return Array.from(new Uint8Array(A)).map(b=>b.toString(16).padStart(2,"0")).join("")}function I(n,h,g){let A={name:n,summary:g,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(b,c){if(F(b))return $(A);let s=!1,d=[];for(let e of b)if(e==="-c"||e==="--check")s=!0;else if(!(e==="-b"||e==="-t"||e==="--binary"||e==="--text")){if(e.startsWith("-")&&e!=="-")return k(n,e);d.push(e)}d.length===0&&d.push("-");let w=async e=>{if(e==="-")return Uint8Array.from(c.stdin,f=>f.charCodeAt(0));try{return await c.fs.readFileBuffer(c.fs.resolvePath(c.cwd,e))}catch{return null}};if(s){let e=0,f="";for(let r of d){let u=r==="-"?U(c.stdin):await c.fs.readFile(c.fs.resolvePath(c.cwd,r)).catch(()=>null);if(u===null)return{stdout:"",stderr:`${n}: ${r}: No such file or directory
|
|
4
|
+
`,exitCode:1};for(let m of u.split(`
|
|
5
|
+
`)){let a=m.match(/^([a-fA-F0-9]+)\s+[* ]?(.+)$/);if(!a)continue;let[,x,o]=a,t=await w(o);if(t===null){f+=`${o}: FAILED open or read
|
|
6
|
+
`,e++;continue}let i=await C(h,t)===x.toLowerCase();f+=`${o}: ${i?"OK":"FAILED"}
|
|
7
|
+
`,i||e++}}return e>0&&(f+=`${n}: WARNING: ${e} computed checksum${e>1?"s":""} did NOT match
|
|
8
|
+
`),{stdout:f,stderr:"",exitCode:e>0?1:0}}let l="",p=0;for(let e of d){let f=await w(e);if(f===null){l+=`${n}: ${e}: No such file or directory
|
|
9
|
+
`,p=1;continue}l+=`${await C(h,f)} ${e}
|
|
10
|
+
`}return{stdout:l,stderr:"",exitCode:p}}}}export{I as a};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a as $,b as F,c as b,d as j,e as Ze,f as et,g as C,h as tt,i as nt,j as k,k as ie,l as ae}from"./chunk-VTAIIBJT.js";import{b as V,d as Qe}from"./chunk-YMELOXDK.js";import{d as Ge,f as Xe,g as oe}from"./chunk-WDV2ECOC.js";import{a as Z}from"./chunk-CB4SODHK.js";import{b as Ye}from"./chunk-O74FSWB4.js";import{a as q}from"./chunk-BNYIXXC2.js";import{a as W,c as se,d as re}from"./chunk-CPTQXTBJ.js";import{l as E}from"./chunk-LCP3IKI7.js";import{a as K,b as Y}from"./chunk-CPKBPQ2C.js";import{a as J,b as ne}from"./chunk-MUFNRCMY.js";var G=class{input;pos=0;tokens=[];maxSourceLength;maxTokens;constructor(t,n={}){this.input=t,this.maxSourceLength=n.maxSourceLength??1024*1024,this.maxTokens=n.maxTokens??1e5}tokenize(){if(this.input.length>this.maxSourceLength)throw new E(`xan: expression length limit exceeded (${this.maxSourceLength})`,"string_length");for(;this.pos<this.input.length&&(this.skipWhitespace(),!(this.pos>=this.input.length));){let t=this.nextToken();t&&(this.assertTokenCapacity(),this.tokens.push(t))}return this.assertTokenCapacity(),this.tokens.push({type:"eof",value:"",pos:this.pos}),this.tokens}assertTokenCapacity(){if(this.tokens.length>=this.maxTokens)throw new E(`xan: expression token limit exceeded (${this.maxTokens})`,"array_elements")}skipWhitespace(){for(;this.pos<this.input.length;){let t=this.input[this.pos];if(t===" "||t===" "||t===`
|
|
4
|
+
`||t==="\r")this.pos++;else if(t==="#")for(;this.pos<this.input.length&&this.input[this.pos]!==`
|
|
5
|
+
`;)this.pos++;else break}}nextToken(){let t=this.pos,n=this.input[this.pos];if(n>="0"&&n<="9")return this.readNumber();if(n==='"'||n==="'"||n==="`")return this.readString(n);if(n==="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(n==="/"){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:t}):(this.pos++,{type:"/",value:"/",pos:t}):this.readRegex()}if(this.match("not in"))return{type:"not in",value:"not in",pos:t};if(this.match("=>"))return{type:"=>",value:"=>",pos:t};if(this.match("**"))return{type:"**",value:"**",pos:t};if(this.match("++"))return{type:"++",value:"++",pos:t};if(this.match("//"))return{type:"//",value:"//",pos:t};if(this.match("=="))return{type:"==",value:"==",pos:t};if(this.match("!="))return{type:"!=",value:"!=",pos:t};if(this.match("<="))return{type:"<=",value:"<=",pos:t};if(this.match(">="))return{type:">=",value:">=",pos:t};if(this.match("&&"))return{type:"&&",value:"&&",pos:t};if(this.match("||"))return{type:"||",value:"||",pos:t};let r=new Map([["(","("],[")",")"],["[","["],["]","]"],["{","{"],["}","}"],[",",","],[":",":"],[";",";"],["+","+"],["-","-"],["*","*"],["%","%"],["<","<"],[">",">"],["!","!"],[".","."],["|","|"],["=","="]]).get(n);if(r!==void 0)return this.pos++,{type:r,value:n,pos:t};if(this.isIdentStart(n))return this.readIdentifier();throw new Error(`Unexpected character '${n}' at position ${this.pos}`)}match(t){if(this.input.slice(this.pos,this.pos+t.length)===t){if(/^[a-zA-Z]/.test(t)){let n=this.input[this.pos+t.length];if(n&&this.isIdentChar(n))return!1}return this.pos+=t.length,!0}return!1}isIdentStart(t){return t>="a"&&t<="z"||t>="A"&&t<="Z"||t==="_"}isIdentChar(t){return this.isIdentStart(t)||t>="0"&&t<="9"}readNumber(){let t=this.pos,n=!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==="."&&!n&&!s)n=!0,this.pos++;else if((o==="e"||o==="E")&&!s)s=!0,n=!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(t,this.pos).replace(/_/g,"");return{type:n?"float":"int",value:r,pos:t}}readString(t){let n=this.pos;this.pos++;let s="";for(;this.pos<this.input.length;){let r=this.input[this.pos];if(r===t)return this.pos++,{type:"string",value:s,pos:n};if(r==="\\"){if(this.pos++,this.pos<this.input.length){let o=this.input[this.pos];switch(o){case"n":s+=`
|
|
6
|
+
`;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 ${n}`)}readRegex(){let t=this.pos;this.pos++;let n="",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:n+(s?`/${s}`:""),pos:t}}r==="\\"?(n+=r,this.pos++,this.pos<this.input.length&&(n+=this.input[this.pos],this.pos++)):(n+=r,this.pos++)}throw new Error(`Unterminated regex starting at position ${t}`)}readIdentifier(){let t=this.pos;for(;this.pos<this.input.length&&this.isIdentChar(this.input[this.pos]);)this.pos++;let n=!1;this.pos<this.input.length&&this.input[this.pos]==="?"&&(n=!0,this.pos++);let s=this.input.slice(t,n?this.pos-1:this.pos);n&&(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&&!n?{type:i,value:o,pos:t}:{type:"ident",value:s,pos:t}}};function z(e){return{maxSourceLength:e.limits.maxStringLength,maxTokens:e.limits.maxQueryTokens,maxAstNodes:e.limits.maxQueryElements,maxOperations:e.limits.maxJqIterations,maxDepth:e.limits.maxQueryDepth}}var D={PIPE:1,OR:2,AND:3,EQUALITY:4,COMPARISON:5,ADDITIVE:6,MULTIPLICATIVE:7,POWER:8,UNARY:9,POSTFIX:10},ee=class{pos=0;tokens;depth=0;operations=0;astNodes=0;limits;constructor(t,n={}){this.tokens=t,this.limits={maxSourceLength:n.maxSourceLength??1024*1024,maxTokens:n.maxTokens??1e5,maxDepth:n.maxDepth??100,maxOperations:n.maxOperations??1e5,maxAstNodes:n.maxAstNodes??1e5};let s=0;for(let r of t)this.useOperation(),r.type==="("||r.type==="["||r.type==="{"?(s++,s>this.limits.maxDepth&&this.throwDepthLimit()):(r.type===")"||r.type==="]"||r.type==="}")&&(s=Math.max(0,s-1))}parse(){let t=this.parseExpr(0);if(this.peek().type!=="eof")throw new Error(`Unexpected token: ${this.peek().value}`);return t}parseExpr(t){return this.withDepth(()=>this.parseExprInner(t))}parseExprInner(t){let n=this.parsePrefix();for(;;){let s=this.peek(),r=this.getInfixPrec(s.type);if(r<t)break;n=this.parseInfix(n,r)}return n}useOperation(t=1){if(t>this.limits.maxOperations-this.operations)throw new E(`xan: expression parser operation limit exceeded (${this.limits.maxOperations})`,"iterations");this.operations+=t}withDepth(t){this.depth>=this.limits.maxDepth&&this.throwDepthLimit(),this.depth++;try{return t()}finally{this.depth--}}throwDepthLimit(){throw new E(`xan: expression parser depth limit exceeded (${this.limits.maxDepth})`,"recursion")}addAstNode(){if(this.astNodes>=this.limits.maxAstNodes)throw new E(`xan: expression AST node limit exceeded (${this.limits.maxAstNodes})`,"array_elements");this.astNodes++}parsePrefix(){let t=this.peek();switch(t.type){case"int":return this.advance(),{type:"int",value:Number.parseInt(t.value,10)};case"float":return this.advance(),{type:"float",value:Number.parseFloat(t.value)};case"string":return this.advance(),{type:"string",value:t.value};case"regex":{this.advance();let n=t.value.split("/"),s=n.length>1?n[n.length-1]:"";return{type:"regex",pattern:n.slice(0,-1).join("/")||t.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 n=t.value,s=n.endsWith("?"),r=s?n.slice(0,-1):n;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 n=this.pos;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];this.advance();let o=!0;for(;this.peek().type===",";)if(this.advance(),this.peek().type==="ident")r.push(this.peek().value),this.advance();else{o=!1;break}if(o&&this.peek().type===")"&&this.peekAt(1).type==="=>"){this.advance(),this.advance();let i=this.parseExpr(0);return this.bindLambdaArgs({type:"lambda",params:r,body:i},r)}this.pos=n}let s=this.parseExpr(0);return this.expect(")"),s}case"[":return this.parseList();case"{":return this.parseMap();case"-":{this.advance();let n=this.parseExpr(D.UNARY);return n.type==="int"?{type:"int",value:-n.value}:n.type==="float"?{type:"float",value:-n.value}:{type:"func",name:"neg",args:[{expr:n}]}}case"!":return this.advance(),{type:"func",name:"not",args:[{expr:this.parseExpr(D.UNARY)}]};default:throw new Error(`Unexpected token: ${t.type} (${t.value})`)}}parseFunctionCall(t){this.expect("(");let n=[];if(this.peek().type!==")")do{n.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);n.push({name:s,expr:r})}while(this.peek().type===",");return this.expect(")"),{type:"func",name:t.toLowerCase(),args:n}}parseList(){this.expect("[");let t=[];if(this.peek().type!=="]")do t.length>0&&this.peek().type===","&&this.advance(),t.push(this.parseExpr(0));while(this.peek().type===",");return this.expect("]"),{type:"list",elements:t}}parseMap(){this.expect("{");let t=[];if(this.peek().type!=="}")do{t.length>0&&this.peek().type===","&&this.advance();let n;if(this.peek().type==="ident")n=this.peek().value,this.advance();else if(this.peek().type==="string")n=this.peek().value,this.advance();else throw new Error(`Expected map key, got ${this.peek().type}`);this.expect(":");let s=this.parseExpr(0);t.push({key:n,value:s})}while(this.peek().type===",");return this.expect("}"),{type:"map",entries:t}}parseInfix(t,n){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(n+(this.isRightAssoc(s.type)?0:1));return{type:"func",name:o,args:[{expr:t},{expr:i}]}}if(s.type==="|"){this.advance();let i=this.parseExpr(n);return this.handlePipe(t,i)}if(s.type===".")return this.advance(),this.handleDot(t);if(s.type==="[")return this.advance(),this.handleIndexing(t);if(s.type==="in")return this.advance(),{type:"func",name:"contains",args:[{expr:this.parseExpr(n+1)},{expr:t}]};if(s.type==="not in")return this.advance(),{type:"func",name:"not",args:[{expr:{type:"func",name:"contains",args:[{expr:this.parseExpr(n+1)},{expr:t}]}}]};throw new Error(`Unexpected infix token: ${s.type}`)}handlePipe(t,n){if(n.type==="identifier")return{type:"func",name:n.name,args:[{expr:t}]};if(n.type==="func"){let s=this.countUnderscores(n);return s===0?n:s===1?this.fillUnderscore(n,t):{type:"pipeline",exprs:[t,n]}}return this.countUnderscores(n)===1?this.fillUnderscore(n,t):n}handleDot(t){let n=this.peek();if(n.type==="ident"){let s=n.value;if(this.advance(),this.peek().type==="("){let r=this.parseFunctionCall(s);return r.type==="func"&&r.args.unshift({expr:t}),r}return{type:"func",name:"get",args:[{expr:t},{expr:{type:"string",value:s}}]}}if(n.type==="int"){let s=Number.parseInt(n.value,10);return this.advance(),{type:"func",name:"get",args:[{expr:t},{expr:{type:"int",value:s}}]}}if(n.type==="string"){let s=n.value;return this.advance(),{type:"func",name:"get",args:[{expr:t},{expr:{type:"string",value:s}}]}}throw new Error(`Expected identifier, number, or string after dot, got ${n.type}`)}handleIndexing(t){if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:t}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:t},{expr:{type:"int",value:0}},{expr:s}]}}let n=this.parseExpr(0);if(this.peek().type===":"){if(this.advance(),this.peek().type==="]")return this.advance(),{type:"func",name:"slice",args:[{expr:t},{expr:n}]};let s=this.parseExpr(0);return this.expect("]"),{type:"func",name:"slice",args:[{expr:t},{expr:n},{expr:s}]}}return this.expect("]"),{type:"func",name:"get",args:[{expr:t},{expr:n}]}}countUnderscores(t){let n=[t],s=0;for(;n.length>0;){this.useOperation();let r=n.pop();if(!r)break;if(r.type==="underscore")s++;else if(r.type==="func")for(let o of r.args)n.push(o.expr);else if(r.type==="list")n.push(...r.elements);else if(r.type==="map")for(let o of r.entries)n.push(o.value);if(n.length>this.limits.maxAstNodes)throw new E(`xan: expression AST node limit exceeded (${this.limits.maxAstNodes})`,"array_elements")}return s}fillUnderscore(t,n){return this.withDepth(()=>this.fillUnderscoreInner(t,n))}fillUnderscoreInner(t,n){return this.useOperation(),t.type==="underscore"?n:t.type==="func"?{...t,args:t.args.map(s=>({...s,expr:this.fillUnderscore(s.expr,n)}))}:t.type==="list"?{...t,elements:t.elements.map(s=>this.fillUnderscore(s,n))}:t.type==="map"?{...t,entries:t.entries.map(s=>({...s,value:this.fillUnderscore(s.value,n)}))}:t}bindLambdaArgs(t,n){return{...t,body:this.bindLambdaArgsInExpr(t.body,n)}}bindLambdaArgsInExpr(t,n){return this.withDepth(()=>this.bindLambdaArgsInExprInner(t,n))}bindLambdaArgsInExprInner(t,n){return this.useOperation(),t.type==="identifier"&&n.includes(t.name)?{type:"lambdaBinding",name:t.name}:t.type==="func"?{...t,args:t.args.map(s=>({...s,expr:this.bindLambdaArgsInExpr(s.expr,n)}))}:t.type==="list"?{...t,elements:t.elements.map(s=>this.bindLambdaArgsInExpr(s,n))}:t.type==="map"?{...t,entries:t.entries.map(s=>({...s,value:this.bindLambdaArgsInExpr(s.value,n)}))}:t}getInfixPrec(t){switch(t){case"|":return D.PIPE;case"||":case"or":return D.OR;case"&&":case"and":return D.AND;case"==":case"!=":case"eq":case"ne":return D.EQUALITY;case"<":case"<=":case">":case">=":case"lt":case"le":case"gt":case"ge":case"in":case"not in":return D.COMPARISON;case"+":case"-":case"++":return D.ADDITIVE;case"*":case"/":case"//":case"%":return D.MULTIPLICATIVE;case"**":return D.POWER;case".":case"[":return D.POSTFIX;default:return-1}}isRightAssoc(t){return t==="**"}peek(){return this.tokens[this.pos]||{type:"eof",value:"",pos:0}}peekAt(t){return this.tokens[this.pos+t]||{type:"eof",value:"",pos:0}}advance(){return this.useOperation(),this.addAstNode(),this.tokens[this.pos++]}expect(t){let n=this.peek();if(n.type!==t)throw new Error(`Expected ${t}, got ${n.type}`);return this.advance()}};function X(e,t={}){let n=[],r=new G(e,{maxSourceLength:t.maxSourceLength,maxTokens:t.maxTokens}).tokenize(),o=0,i=()=>r[o]||{type:"eof",value:"",pos:0},p=()=>r[o++];for(;i().type!=="eof";){if(i().type===","&&n.length>0){p();continue}let h=[],m=0,c=o;for(;i().type!=="eof";){let l=i();if((l.type===","||l.type==="as")&&m===0)break;(l.type==="("||l.type==="["||l.type==="{")&&m++,(l.type===")"||l.type==="]"||l.type==="}")&&m--,h.push(p())}h.push({type:"eof",value:"",pos:0});let d=new ee(h,t).parse(),u;if(i().type==="as")if(p(),i().type==="("){p();let l=[];for(;i().type!==")"&&i().type!=="eof";)if((i().type==="ident"||i().type==="string")&&(l.push(i().value),p()),i().type===",")p();else if(i().type!==")"&&i().type!=="eof")throw new Error(`Expected tuple alias, got ${i().type}`);if(i().type!==")")throw new Error("Expected ')' after tuple alias");p(),u=l}else if(i().type==="ident"||i().type==="string")u=i().value,p();else throw new Error(`Expected name after 'as', got ${i().type}`);else u=e.slice(r[c].pos,r[o-1]?.pos||e.length).trim(),d.type==="identifier"&&(u=d.name);n.push({expr:d,name:u})}return n}function B(e,t={}){let s=new G(e,{maxSourceLength:t.maxSourceLength,maxTokens:t.maxTokens}).tokenize();return new ee(s,t).parse()}function R(e,t){return t.length===0?O(e,[]):t.length===1?{type:"Pipe",left:t[0],right:O(e,[])}:{type:"Pipe",left:t[0],right:O(e,t.slice(1))}}var le={add:e=>L("+",e[0],e[1]),sub:e=>L("-",e[0],e[1]),mul:e=>L("*",e[0],e[1]),div:e=>L("/",e[0],e[1]),mod:e=>L("%",e[0],e[1]),idiv:e=>O("floor",[L("/",e[0],e[1])]),pow:e=>R("pow",e),neg:e=>({type:"UnaryOp",op:"-",operand:e[0]}),"==":e=>L("==",e[0],e[1]),"!=":e=>L("!=",e[0],e[1]),"<":e=>L("<",e[0],e[1]),"<=":e=>L("<=",e[0],e[1]),">":e=>L(">",e[0],e[1]),">=":e=>L(">=",e[0],e[1]),eq:e=>L("==",M(e[0]),M(e[1])),ne:e=>L("!=",M(e[0]),M(e[1])),lt:e=>L("<",M(e[0]),M(e[1])),le:e=>L("<=",M(e[0]),M(e[1])),gt:e=>L(">",M(e[0]),M(e[1])),ge:e=>L(">=",M(e[0]),M(e[1])),and:e=>L("and",e[0],e[1]),or:e=>L("or",e[0],e[1]),not:e=>({type:"UnaryOp",op:"not",operand:e[0]}),len:e=>R("length",e),length:e=>R("length",e),upper:e=>R("ascii_upcase",e),lower:e=>R("ascii_downcase",e),trim:e=>R("trim",e),ltrim:e=>e.length===0?O("ltrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:O("ltrimstr",[{type:"Literal",value:" "}])},rtrim:e=>e.length===0?O("rtrimstr",[{type:"Literal",value:" "}]):{type:"Pipe",left:e[0],right:O("rtrimstr",[{type:"Literal",value:" "}])},split:e=>R("split",e),join:e=>e.length===1?O("join",[{type:"Literal",value:""}]):R("join",e),concat:e=>L("+",e[0],e[1]),startswith:e=>R("startswith",e),endswith:e=>R("endswith",e),contains:e=>R("contains",e),replace:e=>R("gsub",e),substr:e=>e.length===2?{type:"Slice",base:e[0],start:e[1]}:{type:"Slice",base:e[0],start:e[1],end:L("+",e[1],e[2])},abs:e=>R("fabs",e),floor:e=>R("floor",e),ceil:e=>R("ceil",e),round:e=>R("round",e),sqrt:e=>R("sqrt",e),log:e=>R("log",e),log10:e=>R("log10",e),log2:e=>R("log2",e),exp:e=>R("exp",e),sin:e=>R("sin",e),cos:e=>R("cos",e),tan:e=>R("tan",e),asin:e=>R("asin",e),acos:e=>R("acos",e),atan:e=>R("atan",e),min:e=>R("min",e),max:e=>R("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=>O("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=>O("select",e),empty:()=>O("empty",[]),count:()=>O("length",[]),sum:e=>e.length===0?O("add",[]):{type:"Pipe",left:{type:"Array",elements:e[0]},right:O("add",[])},mean:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:L("/",O("add",[]),O("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:L("/",O("add",[]),O("length",[]))},avg:e=>e.length===0?{type:"Pipe",left:{type:"Identity"},right:L("/",O("add",[]),O("length",[]))}:{type:"Pipe",left:{type:"Array",elements:e[0]},right:L("/",O("add",[]),O("length",[]))},type:"type",isnull:e=>e.length===0?L("==",{type:"Identity"},{type:"Literal",value:null}):L("==",e[0],{type:"Literal",value:null}),isempty:e=>e.length===0?L("==",{type:"Identity"},{type:"Literal",value:""}):L("==",e[0],{type:"Literal",value:""}),tonumber:e=>e.length===0?O("tonumber",[]):O("tonumber",e),tostring:e=>e.length===0?O("tostring",[]):O("tostring",e),if:e=>st(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 t=e[e.length-1];for(let n=e.length-2;n>=0;n--){let s=e[n],r=L("and",L("!=",s,{type:"Literal",value:null}),L("!=",s,{type:"Literal",value:""}));t=st(r,s,t)}return t},index:()=>({type:"Field",name:"_row_index"}),now:()=>O("now",[]),fmt:e=>O("tostring",e),format:e=>O("tostring",e)};Object.setPrototypeOf(le,null);function L(e,t,n){return{type:"BinaryOp",op:e,left:t,right:n}}function O(e,t){return{type:"Call",name:e,args:t}}var mt="then";function st(e,t,n){let s=Xe({type:"Cond",cond:e,elifs:[],else:n||{type:"Literal",value:null}});return s[mt]=t,s}function M(e){return{type:"Pipe",left:e,right:{type:"Call",name:"tostring",args:[]}}}function U(e,t=!0,n={}){let s={nodes:0,operations:0,maxNodes:n.maxAstNodes??1e5,maxOperations:n.maxOperations??1e5,maxDepth:n.maxDepth??100};return rt(e,t,s,0)}function rt(e,t,n,s){if(s>=n.maxDepth)throw new E(`xan: expression conversion depth limit exceeded (${n.maxDepth})`,"recursion");if(++n.nodes>n.maxNodes)throw new E(`xan: expression conversion AST limit exceeded (${n.maxNodes})`,"array_elements");if(++n.operations>n.maxOperations)throw new E(`xan: expression conversion operation limit exceeded (${n.maxOperations})`,"iterations");let r=o=>rt(o,t,n,s+1);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 t?{type:"Field",name:e.name}:{type:"VarRef",name:e.name};case"lambdaBinding":return{type:"VarRef",name:e.name};case"func":{if(e.args.length>n.maxNodes-n.nodes)throw new E(`xan: expression conversion AST limit exceeded (${n.maxNodes})`,"array_elements");let o=e.args.map(p=>r(p.expr));if(e.name==="coalesce"){let p=Math.max(0,o.length-1)*7;if(p>n.maxNodes-n.nodes)throw new E(`xan: expression conversion AST limit exceeded (${n.maxNodes})`,"array_elements");if(n.nodes+=p,n.operations+=o.length,n.operations>n.maxOperations)throw new E(`xan: expression conversion operation limit exceeded (${n.maxOperations})`,"iterations")}let i=Object.hasOwn(le,e.name)?le[e.name]:void 0;return typeof i=="function"?i(o):O(typeof i=="string"?i:e.name,o)}case"list":return e.elements.length===0?{type:"Array"}:{type:"Array",elements:e.elements.reduce((o,i,p)=>{let h=r(i);return p===0?h:{type:"Comma",left:o,right:h}},null)};case"map":return{type:"Object",entries:e.entries.map(o=>({key:o.key,value:r(o.value)}))};case"regex":return{type:"Literal",value:e.pattern};case"slice":return{type:"Slice",start:e.start?r(e.start):void 0,end:e.end?r(e.end):void 0};case"lambda":return r(e.body);case"pipeline":return{type:"Identity"};default:throw new Error(`Unknown moonblade expression type: ${e.type}`)}}function Q(e){return e<2?0:Math.ceil(e*Math.log2(e))}function ue(e,t={}){let n=t.maxArrayElements??1e5,s=t.maxStringLength??10*1024*1024,r=t.maxIterations??1e5,o=t.maxDepth??100;if(K(e)>s)throw new E(`xan: aggregation expression length limit exceeded (${s} bytes)`,"string_length");let i=[],p=0,h=0,m=()=>{if(t.consumeWork?.(),++h>r)throw new E(`xan: aggregation parser operation limit exceeded (${r})`,"iterations")};for(;p<e.length;){for(m();p<e.length&&(e[p]===" "||e[p]===",");)p++;if(p>=e.length)break;let c=p;for(;p<e.length&&/\w/.test(e[p]);)p++;let a=e.slice(c,p);for(;p<e.length&&e[p]===" ";)p++;if(e[p]!=="(")break;p++;let d=1,u=p;for(;p<e.length&&d>0;){if(m(),e[p]==="("?d++:e[p]===")"&&d--,d>o)throw new E(`xan: aggregation parser depth limit exceeded (${o})`,"recursion");d>0&&p++}let l=e.slice(u,p).trim();for(p++;p<e.length&&e[p]===" ";)p++;let f="";if(e.slice(p,p+3).toLowerCase()==="as "){for(p+=3;p<e.length&&e[p]===" ";)p++;let x=p;for(;p<e.length&&/\w/.test(e[p]);)p++;f=e.slice(x,p)}if(f||(f=l?`${a}(${l})`:`${a}()`),i.length>=n)throw new E(`xan: aggregation specification limit exceeded (${n})`,"array_elements");i.push({func:a,expr:l,alias:f})}return i}function ft(e){return/^\w+$/.test(e)}function ht(e,t,n){let s=V(e,t,n);return s.length>0?s[0]:null}function ce(e,t,n={},s={}){let{func:r,expr:o}=t,i=s.maxArrayElements??1e5,p=s.maxStringLength??10*1024*1024,h=s.maxIterations??1e5,m={maxSourceLength:p,maxTokens:i,maxAstNodes:i,maxOperations:h,maxDepth:s.maxDepth??100};if(e.length>i)throw new E(`xan: aggregation input limit exceeded (${i})`,"array_elements");if(r==="count"&&!o)return e.length;let c=ft(o),a=c?null:U(B(o,m),!0,m),d;if(c)d=f=>f[o];else{if(a===null)throw new Error("xan: missing compiled aggregation expression");d=f=>ht(f,a,n)}if(r==="all"||r==="any"){let f=0;for(let x of e){if(s.consumeWork?.(),++f>h)throw new E(`xan: aggregation iteration limit exceeded (${h})`,"iterations");let g=!!d(x);if(r==="all"&&!g)return!1;if(r==="any"&&g)return!0}return r==="all"}let u=[],l=0;for(let f of e){if(s.consumeWork?.(),++l>h)throw new E(`xan: aggregation iteration limit exceeded (${h})`,"iterations");let x=d(f);if(x!=null){if(u.length>=i)throw new E(`xan: aggregation value limit exceeded (${i})`,"array_elements");u.push(x)}}switch(r){case"count":{if(c)return u.length;let f=0;for(let x of u)s.consumeWork?.(),x&&f++;return f}case"sum":{let f=0;for(let x of u)s.consumeWork?.(),f+=typeof x=="number"?x:Number.parseFloat(String(x));return f}case"mean":case"avg":{let f=0;for(let x of u)s.consumeWork?.(),f+=typeof x=="number"?x:Number.parseFloat(String(x));return u.length>0?f/u.length:0}case"min":{let f=null;for(let x of u){s.consumeWork?.();let g=typeof x=="number"?x:Number.parseFloat(String(x));f=f===null?g:Math.min(f,g)}return f}case"max":{let f=null;for(let x of u){s.consumeWork?.();let g=typeof x=="number"?x:Number.parseFloat(String(x));f=f===null?g:Math.max(f,g)}return f}case"first":return u.length>0?u[0]:null;case"last":return u.length>0?u[u.length-1]:null;case"median":{let f=[];for(let g of u){s.consumeWork?.();let y=typeof g=="number"?g:Number.parseFloat(String(g));Number.isNaN(y)||f.push(y)}if(s.consumeWork?.(Q(f.length)),f.sort((g,y)=>g-y),f.length===0)return null;let x=Math.floor(f.length/2);return f.length%2===0?(f[x-1]+f[x])/2:f[x]}case"mode":{let f=new Map;for(let y of u){s.consumeWork?.();let w=String(y);f.set(w,(f.get(w)||0)+1)}let x=0,g=null;for(let[y,w]of f)s.consumeWork?.(),w>x&&(x=w,g=y);return g}case"cardinality":{let f=new Set;for(let x of u)s.consumeWork?.(),f.add(String(x));return f.size}case"values":return ot(u,!1,p,s);case"distinct_values":return ot(u,!0,p,s);default:return null}}function it(e,t,n={},s={}){let r=F();for(let o of t)b(r,o.alias,ce(e,o,n,s));return r}function ot(e,t,n,s){let r=[],o=t?new Set:null,i=0;for(let p of e){s.consumeWork?.();let h=String(p);if(o?.has(h))continue;o?.add(h);let m=K(h)+(r.length>0?1:0);if(m>n-i)throw new E(`xan: aggregation string limit exceeded (${n} bytes)`,"string_length");r.push(h),i+=m}return t&&(s.consumeWork?.(Q(r.length)),r.sort()),r.join("|")}function lt(e,t){return{maxArrayElements:e.limits.maxArrayElements,maxStringLength:e.limits.maxStringLength,maxIterations:e.limits.maxJqIterations,maxDepth:e.limits.maxQueryDepth,consumeWork:(n=1)=>t.consumeWork(n)}}function at(e,t,n){let s=e.size-(t&&e.has("")?1:0);return n>0?Math.min(s,n):s}async function pe(e,t){let n="",s=[];for(let d of e)d.startsWith("-")||(n?s.push(d):n=d);if(!n)return{stdout:"",stderr:`xan agg: no aggregation expression
|
|
7
|
+
`,exitCode:1};let{data:r,error:o}=await k(s,t);if(o)return o;let i={limits:t.limits?{maxIterations:t.limits.maxJqIterations,maxStringLength:t.limits.maxStringLength}:void 0},p=new $(t,"xan agg"),h=lt(t,p),m=ue(n,h),c=m.map(d=>d.alias);p.addRow(c.length);let a=it(r,m,i,h);return{stdout:C(c,[a],t),stderr:"",exitCode:0}}async function de(e,t){let n="",s="",r=[];for(let x=0;x<e.length;x++){let g=e[x];g==="--sorted"||g.startsWith("-")||(n?s?r.push(g):s=g:n=g)}if(!n||!s)return{stdout:"",stderr:`xan groupby: usage: xan groupby COLS EXPR [FILE]
|
|
8
|
+
`,exitCode:1};let{data:o,error:i}=await k(r,t);if(i)return i;let p={limits:t.limits?{maxIterations:t.limits.maxJqIterations,maxStringLength:t.limits.maxStringLength}:void 0},h=n.split(","),m=new $(t,"xan groupby"),c=lt(t,m),a=ue(s,c),d=[...h,...a.map(x=>x.alias)],u=[],l=new Map;for(let x of o){m.consumeWork(h.length+1);let g=JSON.stringify(h.map(y=>String(x[y])));l.has(g)||(m.addRow(d.length),l.set(g,[]),u.push(g)),l.get(g)?.push(x)}let f=[];for(let x of u){let g=l.get(x);if(!g)continue;let y=F();for(let w of h)b(y,w,g[0][w]);for(let w of a)b(y,w.alias,ce(g,w,p,c));f.push(y)}return{stdout:C(d,f,t),stderr:"",exitCode:0}}async function me(e,t){let n=[],s="",r=10,o=!1,i=[];for(let l=0;l<e.length;l++){let f=e[l];(f==="-s"||f==="--select")&&l+1<e.length?n=e[++l].split(","):(f==="-g"||f==="--groupby")&&l+1<e.length?s=e[++l]:(f==="-l"||f==="--limit")&&l+1<e.length?r=Number.parseInt(e[++l],10):f==="--no-extra"?o=!0:f==="-A"||f==="--all"?r=0:f.startsWith("-")||i.push(f)}let{headers:p,data:h,error:m}=await k(i,t);if(m)return m;if(!Number.isSafeInteger(r)||r<0)return{stdout:"",stderr:`xan frequency: limit must be a non-negative safe integer
|
|
9
|
+
`,exitCode:1};let c=new $(t,"xan frequency"),a=n.length>0?n:p.filter(l=>l!==s);s&&n.length===0&&(a=p.filter(l=>l!==s));let d=[],u=s?["field",s,"value","count"]:["field","value","count"];if(s){let l=new Map;for(let f of h){c.consumeWork();let x=String(f[s]??"");l.has(x)||l.set(x,[]),l.get(x)?.push(f)}for(let f of a)for(let[x,g]of l){let y=new Map;for(let v of g){c.consumeWork();let I=v[f],S=I===""||I===null||I===void 0?"":String(I);y.set(S,(y.get(S)||0)+1)}c.addRows(at(y,o,r),u.length),c.consumeWork(Q(y.size));let w=[...y.entries()].sort((v,I)=>I[1]!==v[1]?I[1]-v[1]:v[0].localeCompare(I[0])),A=0;for(let[v,I]of w){if(o&&v==="")continue;if(r>0&&A>=r)break;let S=F();b(S,"field",f),b(S,s,x),b(S,"value",v===""?"<empty>":v),b(S,"count",I),d.push(S),A++}}}else for(let l of a){let f=new Map;for(let y of h){c.consumeWork();let w=y[l],A=w===""||w===null||w===void 0?"":String(w);f.set(A,(f.get(A)||0)+1)}c.addRows(at(f,o,r),u.length),c.consumeWork(Q(f.size));let x=[...f.entries()].sort((y,w)=>w[1]!==y[1]?w[1]-y[1]:y[0].localeCompare(w[0])),g=0;for(let[y,w]of x){if(o&&y==="")continue;if(r>0&&g>=r)break;let A=F();b(A,"field",l),b(A,"value",y===""?"<empty>":y),b(A,"count",w),d.push(A),g++}}return{stdout:C(u,d,t),stderr:"",exitCode:0}}async function fe(e,t){let n=[],s=[];for(let a=0;a<e.length;a++){let d=e[a];d==="-s"&&a+1<e.length?n=e[++a].split(","):d.startsWith("-")||s.push(d)}let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=n.length>0?n:r,h=["field","type","count","min","max","mean"];new $(t,"xan stats").addRows(p.length,h.length);let c=[];for(let a of p){let d=0,u=0,l=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,x=0;for(let w of o){t.executionScope?.consumeWork(1,"xan stats rows");let A=w[a];if(A==null)continue;d++;let v=typeof A=="number"?A:Number.parseFloat(String(A));Number.isNaN(v)||(u++,l=Math.min(l,v),f=Math.max(f,v),x+=v)}let g=u===d&&u>0,y=F();b(y,"field",a),b(y,"type",g?"Number":"String"),b(y,"count",d),b(y,"min",g?l:""),b(y,"max",g?f:""),b(y,"mean",g?Math.round(x/u*1e10)/1e10:""),c.push(y)}return{stdout:C(h,c,t),stderr:"",exitCode:0}}function ut(e,t={}){let n=B(e,t);return U(n,!0,t)}function gt(e){let n=e.replace(/[.+?^${}()|[\]\\]/g,"\\$&").replace(/\*/g,".*");return Z(`^${n}$`)}function te(e,t){let n=[],s=new Set;for(let r of e.split(",")){let o=r.trim();if(o.startsWith("!")){let m=o.slice(1),c=te(m,t);for(let a of c)s.add(a);continue}if(o==="*"){for(let m of t)n.includes(m)||n.push(m);continue}if(o.includes("*")){let m=gt(o);for(let c of t)m.test(c)&&!n.includes(c)&&n.push(c);continue}let i=o.match(/^([^:]*):([^:]*)$/);if(i&&(i[1]||i[2])){let m=i[1],c=i[2],a=m?t.indexOf(m):0,d=c?t.indexOf(c):t.length-1;if(a!==-1&&d!==-1){let u=a<=d?1:-1;for(let l=a;u>0?l<=d:l>=d;l+=u)n.includes(t[l])||n.push(t[l])}continue}let p=o.match(/^(\d+)-(\d+)$/);if(p){let m=Number.parseInt(p[1],10),c=Number.parseInt(p[2],10);for(let a=m;a<=c&&a<t.length;a++)n.push(t[a]);continue}let h=Number.parseInt(o,10);if(!Number.isNaN(h)&&h>=0&&h<t.length){n.push(t[h]);continue}t.includes(o)&&n.push(o)}return s.size>0?n.filter(r=>!s.has(r)):n}async function he(e,t){let n="",s=[];for(let m of e)m.startsWith("-")||(n?s.push(m):n=m);if(!n)return{stdout:"",stderr:`xan select: no columns specified
|
|
10
|
+
`,exitCode:1};let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=te(n,r),h=o.map(m=>{let c=F();for(let a of p)b(c,a,m[a]);return c});return{stdout:C(p,h,t),stderr:"",exitCode:0}}async function ge(e,t){let n="",s=[];for(let c of e)c.startsWith("-")||(n?s.push(c):n=c);if(!n)return{stdout:"",stderr:`xan drop: no columns specified
|
|
11
|
+
`,exitCode:1};let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=new Set(te(n,r)),h=r.filter(c=>!p.has(c)),m=o.map(c=>{let a=F();for(let d of h)b(a,d,c[d]);return a});return{stdout:C(h,m,t),stderr:"",exitCode:0}}async function xe(e,t){let n="",s="",r=[];for(let c=0;c<e.length;c++){let a=e[c];a==="-s"&&c+1<e.length?s=e[++c]:a.startsWith("-")||(n?r.push(a):n=a)}if(!n)return{stdout:"",stderr:`xan rename: no new name(s) specified
|
|
12
|
+
`,exitCode:1};let{headers:o,data:i,error:p}=await k(r,t);if(p)return p;let h;if(s){let c=s.split(","),a=n.split(","),d=new Map;for(let u=0;u<c.length&&u<a.length;u++)d.set(c[u],a[u]);h=o.map(u=>d.get(u)||u)}else{let c=n.split(",");h=o.map((a,d)=>d<c.length?c[d]:a)}let m=i.map(c=>{let a=F();for(let d=0;d<o.length;d++)b(a,h[d],c[o[d]]);return a});return{stdout:C(h,m,t),stderr:"",exitCode:0}}async function ye(e,t){let n="index",s=[];for(let m=0;m<e.length;m++)e[m]==="-c"&&m+1<e.length?n=e[++m]:s.push(e[m]);let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=[n,...r],h=o.map((m,c)=>{let a=F();b(a,n,c);for(let d of r)b(a,d,m[d]);return a});return{stdout:C(p,h,t),stderr:"",exitCode:0}}async function we(e,t){let n=e.includes("-j")||e.includes("--just-names"),{headers:s,error:r}=await k(e.filter(i=>i!=="-j"&&i!=="--just-names"),t);return r||{stdout:n?`${s.map(i=>i).join(`
|
|
13
|
+
`)}
|
|
14
|
+
`:`${s.map((i,p)=>`${p} ${i}`).join(`
|
|
15
|
+
`)}
|
|
16
|
+
`,stderr:"",exitCode:0}}async function ve(e,t){let{data:n,error:s}=await k(e,t);return s||{stdout:`${n.length}
|
|
17
|
+
`,stderr:"",exitCode:0}}async function Se(e,t){let n=10,s=[];for(let h=0;h<e.length;h++)(e[h]==="-l"||e[h]==="-n")&&h+1<e.length?n=Number.parseInt(e[++h],10):s.push(e[h]);let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=o.slice(0,n);return{stdout:C(r,p,t),stderr:"",exitCode:0}}async function be(e,t){let n=10,s=[];for(let h=0;h<e.length;h++)(e[h]==="-l"||e[h]==="-n")&&h+1<e.length?n=Number.parseInt(e[++h],10):s.push(e[h]);let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=o.slice(-n);return{stdout:C(r,p,t),stderr:"",exitCode:0}}async function Ce(e,t){let n,s,r,o=[];for(let d=0;d<e.length;d++){let u=e[d];(u==="-s"||u==="--start")&&d+1<e.length?n=Number.parseInt(e[++d],10):(u==="-e"||u==="--end")&&d+1<e.length?s=Number.parseInt(e[++d],10):(u==="-l"||u==="--len")&&d+1<e.length?r=Number.parseInt(e[++d],10):u.startsWith("-")||o.push(u)}let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;let m=n??0,c;r!==void 0?c=m+r:s!==void 0?c=s:c=p.length;let a=p.slice(m,c);return{stdout:C(i,a,t),stderr:"",exitCode:0}}async function ke(e,t){let{headers:n,data:s,error:r}=await k(e,t);if(r)return r;let o=[...s].reverse();return{stdout:C(n,o,t),stderr:"",exitCode:0}}async function Ee(e,t){let n=e.filter(m=>!m.startsWith("-")),{headers:s,data:r,error:o}=await k(n,t);if(o)return o;if(r.length===0){let m=["column"],c=s.map(a=>({column:a}));return{stdout:C(m,c,t),stderr:"",exitCode:0}}let i=s[0],p=[i,...r.map((m,c)=>String(m[i]??`row_${c}`))];if(new Set(p).size!==p.length)return{stdout:"",stderr:`xan transpose: duplicate output headers
|
|
18
|
+
`,exitCode:1};let h=[];for(let m=1;m<s.length;m++){let c=s[m],a=F();b(a,i,c);for(let d=0;d<r.length;d++)b(a,p[d+1],r[d][c]);h.push(a)}return{stdout:C(p,h,t),stderr:"",exitCode:0}}async function Ie(e,t){let n=null,s=[];for(let c=0;c<e.length;c++){let a=e[c];a==="--seed"&&c+1<e.length?n=Number.parseInt(e[++c],10):a.startsWith("-")||s.push(a)}let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=n!==null?n:Date.now(),h=()=>(p=p*1103515245+12345&2147483647,p/2147483647),m=[...o];for(let c=m.length-1;c>0;c--){let a=Math.floor(h()*(c+1));[m[c],m[a]]=[m[a],m[c]]}return{stdout:C(r,m,t),stderr:"",exitCode:0}}async function Ne(e,t){let n=null,s="",r=[];for(let a=0;a<e.length;a++){let d=e[a];if((d==="-l"||d==="--length")&&a+1<e.length){let u=e[++a];if(!/^[1-9]\d*$/.test(u))return{stdout:"",stderr:`xan fixlengths: length must be a positive safe integer
|
|
19
|
+
`,exitCode:1};if(n=Number(u),!Number.isSafeInteger(n)||n>t.limits.maxArrayElements)throw new E(`xan fixlengths: column limit exceeded (${t.limits.maxArrayElements})`,"array_elements")}else(d==="-d"||d==="--default")&&a+1<e.length?s=e[++a]:d.startsWith("-")||r.push(d)}let o=r[0],i;if(!o||o==="-")i=Y(t.stdin);else try{let a=t.fs.resolvePath(t.cwd,o);i=await t.fs.readFile(a)}catch(a){return q(a),{stdout:"",stderr:`xan fixlengths: ${o}: No such file or directory
|
|
20
|
+
`,exitCode:1}}let p=et(i,{maxStringLength:Math.min(t.limits.maxInputBytes,t.limits.maxStringLength),maxArrayElements:t.limits.maxArrayElements,maxRows:t.limits.maxCsvRows,maxCells:t.limits.maxCsvCells});if(p.length===0)return{stdout:"",stderr:"",exitCode:0};let h=0;for(let a of p)h=Math.max(h,a.length);let m=n??h;new $(t,"xan fixlengths").addRows(p.length,m);for(let a of p)for(a.length>m&&(a.length=m);a.length<m;)a.push(s);return{stdout:nt(p,t),stderr:"",exitCode:0}}async function Ae(e,t){let n=null,s=null,r=".",o=[],i=u=>{if(!/^[1-9]\d*$/.test(u))return null;let l=Number(u);return Number.isSafeInteger(l)?l:null};for(let u=0;u<e.length;u++){let l=e[u];if((l==="-c"||l==="--chunks")&&u+1<e.length){if(n=i(e[++u]),n===null)return{stdout:"",stderr:`xan split: chunk count must be a positive safe integer
|
|
21
|
+
`,exitCode:1}}else if((l==="-S"||l==="--size")&&u+1<e.length){if(s=i(e[++u]),s===null)return{stdout:"",stderr:`xan split: chunk size must be a positive safe integer
|
|
22
|
+
`,exitCode:1}}else(l==="-o"||l==="--output")&&u+1<e.length?r=e[++u]:l.startsWith("-")||o.push(l)}if(!n&&!s)return{stdout:"",stderr:`xan split: must specify -c or -S
|
|
23
|
+
`,exitCode:1};let{headers:p,data:h,error:m}=await k(o,t);if(m)return m;let c=n?Math.ceil(h.length/n):s,a=c===0?0:Math.ceil(h.length/c);if(a>t.limits.maxArrayElements)throw new E(`xan split: output part limit exceeded (${t.limits.maxArrayElements})`,"array_elements");let d=o[0]?.replace(/\.csv$/,"")||"part";try{let u=t.fs.resolvePath(t.cwd,r);for(let l=0;l<a;l++){let f=l*c,x=Math.min(f+c,h.length);t.executionScope?.consumeWork(x-f,"xan split rows");let g=`${d}_${String(l+1).padStart(3,"0")}.csv`,y=t.fs.resolvePath(u,g);await t.fs.writeFile(y,C(p,h.slice(f,x),t))}return{stdout:`Split into ${a} parts
|
|
24
|
+
`,stderr:"",exitCode:0}}catch(u){q(u);let l=new re(t.limits.maxOutputSize,"xan split");for(let f=0;f<a;f++){let x=f*c,g=Math.min(x+c,h.length);l.append(`Part ${f+1}: ${g-x} rows
|
|
25
|
+
`)}return{stdout:l.build(),stderr:"",exitCode:0}}}function ct(e){return e.replace(/[^a-zA-Z0-9_-]/g,"_")||"empty"}function xt(e){let t=2166136261;for(let n=0;n<e.length;n++)t=(t^e.charCodeAt(n))*16777619>>>0;return t.toString(36).padStart(6,"0").slice(0,6)}async function Le(e,t){let n="",s=".",r=[];for(let u=0;u<e.length;u++){let l=e[u];(l==="-o"||l==="--output")&&u+1<e.length?s=e[++u]:l.startsWith("-")||(n?r.push(l):n=l)}if(!n)return{stdout:"",stderr:`xan partition: usage: xan partition COLUMN [FILE]
|
|
26
|
+
`,exitCode:1};let{headers:o,data:i,error:p}=await k(r,t);if(p)return p;if(!o.includes(n))return{stdout:"",stderr:`xan partition: column '${n}' not found
|
|
27
|
+
`,exitCode:1};let h=new Map,m=new $(t,"xan partition");for(let u of i){m.addRow(o.length);let l=String(u[n]??"");h.has(l)||h.set(l,[]),h.get(l)?.push(u)}let c=new Map;for(let u of h.keys()){let l=ct(u);c.set(l,(c.get(l)??0)+1)}let a=new Set,d=new Map;for(let u of h.keys()){let l=ct(u),x=(c.get(l)??0)>1?`${l}_${xt(u)}`:l,g=`${x}.csv`,y=1;for(;a.has(g);)g=`${x}_${y}.csv`,y++;a.add(g),d.set(u,g)}try{let u=t.fs.resolvePath(t.cwd,s);for(let[l,f]of h){let x=d.get(l);if(!x)continue;let g=t.fs.resolvePath(u,x);await t.fs.writeFile(g,C(o,f,t))}return{stdout:`Partitioned into ${h.size} files by '${n}'
|
|
28
|
+
`,stderr:"",exitCode:0}}catch(u){q(u);let l=new re(t.limits.maxOutputSize,"xan partition");for(let[f,x]of h)l.append(`${f}: ${x.length} rows
|
|
29
|
+
`);return{stdout:l.build(),stderr:"",exitCode:0}}}async function Oe(e,t){if(e.length===0)return{stdout:"",stderr:`xan to: usage: xan to <format> [FILE]
|
|
30
|
+
`,exitCode:1};let n=e[0],s=e.slice(1);return n==="json"?yt(s,t):{stdout:"",stderr:`xan to: unsupported format '${n}'
|
|
31
|
+
`,exitCode:1}}async function yt(e,t){let n=e.filter(h=>!h.startsWith("-")),{data:s,error:r}=await k(n,t);if(r)return r;if(new $(t,"xan to json").addRows(s.length,s.length>0?Object.keys(s[0]).length:0),t.limits.maxOutputSize<1)throw new E("xan to json: output size limit exceeded (0 bytes)","output_size");let i=t.limits.maxOutputSize-1;return{stdout:`${Qe(s,i)}
|
|
32
|
+
`,stderr:"",exitCode:0}}async function Re(e,t){let n="",s=[];for(let r=0;r<e.length;r++){let o=e[r];(o==="-f"||o==="--format")&&r+1<e.length?n=e[++r]:o.startsWith("-")||s.push(o)}return n?n==="json"?wt(s,t):{stdout:"",stderr:`xan from: unsupported format '${n}'
|
|
33
|
+
`,exitCode:1}:{stdout:"",stderr:`xan from: usage: xan from -f <format> [FILE]
|
|
34
|
+
`,exitCode:1}}async function wt(e,t){let n=e[0],s;if(!n||n==="-")s=Y(t.stdin);else try{let r=t.fs.resolvePath(t.cwd,n);s=await t.fs.readFile(r)}catch(r){return q(r),{stdout:"",stderr:`xan from: ${n}: No such file or directory
|
|
35
|
+
`,exitCode:1}}try{let r=Math.min(t.limits.maxInputBytes,t.limits.maxStringLength);if(K(s)>r)throw new E(`xan from: input size limit exceeded (${r} bytes)`,"string_length");let o=Ge(JSON.parse(s.trim()),{maxDepth:t.limits.maxQueryDepth,maxElements:t.limits.maxQueryElements});if(!Array.isArray(o))return{stdout:"",stderr:`xan from: JSON input must be an array
|
|
36
|
+
`,exitCode:1};if(o.length===0)return{stdout:`
|
|
37
|
+
`,stderr:"",exitCode:0};if(Array.isArray(o[0])){let m=o,c=m[0];if(c.length>t.limits.maxArrayElements)throw new E(`xan from: column limit exceeded (${t.limits.maxArrayElements})`,"array_elements");let a=c.map(String);new $(t,"xan from json").addRows(m.length-1,a.length);let u=[];for(let l=1;l<m.length;l++){let f=m[l];if(!Array.isArray(f))return{stdout:"",stderr:`xan from: JSON rows must all have the same shape
|
|
38
|
+
`,exitCode:1};let x=F();for(let g=0;g<a.length;g++)b(x,a[g],f[g]);u.push(x)}return{stdout:C(a,u,t),stderr:"",exitCode:0}}let i=o[0];if(!i||typeof i!="object"||Array.isArray(i))return{stdout:"",stderr:`xan from: JSON rows must be arrays or objects
|
|
39
|
+
`,exitCode:1};let p=Object.keys(i).sort();new $(t,"xan from json").addRows(o.length,p.length);for(let m of o)if(!m||typeof m!="object"||Array.isArray(m))return{stdout:"",stderr:`xan from: JSON rows must all have the same shape
|
|
40
|
+
`,exitCode:1};return{stdout:C(p,o,t),stderr:"",exitCode:0}}catch(r){return q(r),{stdout:"",stderr:`xan from: invalid JSON input
|
|
41
|
+
`,exitCode:1}}}async function $e(e,t){let n=!1,s=0,r="",o=[];for(let d=0;d<e.length;d++){let u=e[d];if(u==="-v"||u==="--invert")n=!0;else if((u==="-l"||u==="--limit")&&d+1<e.length)s=Number.parseInt(e[++d],10);else{if(u==="--help")return J({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"]});u.startsWith("-")||(r?o.push(u):r=u)}}if(!r)return{stdout:"",stderr:`xan filter: no expression specified
|
|
42
|
+
`,exitCode:1};let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;let m={limits:t.limits?{maxIterations:t.limits.maxJqIterations,maxStringLength:t.limits.maxStringLength}:void 0},c=ut(r,z(t)),a=[];for(let d of p){if(s>0&&a.length>=s)break;let u=V(d,c,m),l=u.length>0&&u.some(f=>!!f);(n?!l:l)&&a.push(d)}return{stdout:C(i,a,t),stderr:"",exitCode:0}}async function Fe(e,t){let n="",s=!1,r=!1,o=[];for(let c=0;c<e.length;c++){let a=e[c];a==="-N"||a==="--numeric"?s=!0:a==="-R"||a==="-r"||a==="--reverse"?r=!0:a==="-s"&&c+1<e.length?n=e[++c]:a.startsWith("-")||o.push(a)}let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;!n&&i.length>0&&(n=i[0]);let m=[...p].sort((c,a)=>{let d=c[n],u=a[n],l;if(s){let f=typeof d=="number"?d:Number.parseFloat(String(d)),x=typeof u=="number"?u:Number.parseFloat(String(u));l=f-x}else l=String(d).localeCompare(String(u));return r?-l:l});return{stdout:C(i,m,t),stderr:"",exitCode:0}}async function Te(e,t){let n="",s=[];for(let m=0;m<e.length;m++){let c=e[m];c==="-s"&&m+1<e.length?n=e[++m]:c.startsWith("-")||s.push(c)}let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=new Set,h=o.filter(m=>{let c=n?String(m[n]):JSON.stringify(m);return p.has(c)?!1:(p.add(c),!0)});return{stdout:C(r,h,t),stderr:"",exitCode:0}}async function Me(e,t){let n=10,s="",r=!1,o=[];for(let a=0;a<e.length;a++){let d=e[a];(d==="-l"||d==="-n")&&a+1<e.length?n=Number.parseInt(e[++a],10):d==="-R"||d==="-r"||d==="--reverse"?r=!0:d.startsWith("-")||(s?o.push(d):s=d)}let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;!s&&i.length>0&&(s=i[0]);let c=[...p].sort((a,d)=>{let u=a[s],l=d[s],f=typeof u=="number"?u:Number.parseFloat(String(u)),x=typeof l=="number"?l:Number.parseFloat(String(l));return r?f-x:x-f}).slice(0,n);return{stdout:C(i,c,t),stderr:"",exitCode:0}}async function Pe(e,t){let n="",s=!1,r=!1,o=[];for(let x=0;x<e.length;x++){let g=e[x];g==="-O"||g==="--overwrite"?s=!0:g==="--filter"?r=!0:g.startsWith("-")||(n?o.push(g):n=g)}if(!n)return{stdout:"",stderr:`xan map: no expression specified
|
|
43
|
+
`,exitCode:1};let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;let m=z(t),a=X(n,m).map(({expr:x,name:g})=>({alias:typeof g=="string"?g:g[0],ast:U(x,!0,m)})),d={limits:t.limits?{maxIterations:t.limits.maxJqIterations,maxStringLength:t.limits.maxStringLength}:void 0},u;if(s){u=[...i];for(let x of a)if(!i.includes(x.alias)){if(u.length>=t.limits.maxArrayElements)throw new E(`xan map: output column limit exceeded (${t.limits.maxArrayElements})`,"array_elements");u.push(x.alias)}}else{if(W(i.length,a.length,"xan map")>t.limits.maxArrayElements)throw new E(`xan map: output column limit exceeded (${t.limits.maxArrayElements})`,"array_elements");u=[...i,...a.map(x=>x.alias)]}let l=[],f=new $(t,"xan map");r||f.addRows(p.length,u.length);for(let x=0;x<p.length;x++){let g=p[x],y=j(g),w=!1,A=Object.assign(oe(g),{_row_index:x});for(let v of a){f.consumeWork();let I=V(A,v.ast,d),S=I.length>0?I[0]:null;if(r&&S==null){w=!0;break}b(y,v.alias,S)}w||(r&&f.addRow(u.length),l.push(y))}return{stdout:C(u,l,t),stderr:"",exitCode:0}}async function De(e,t){let n="",s="",r="",o=[];for(let g=0;g<e.length;g++){let y=e[g];(y==="-r"||y==="--rename")&&g+1<e.length?r=e[++g]:y.startsWith("-")||(n?s?o.push(y):s=y:n=y)}if(!n||!s)return{stdout:"",stderr:`xan transform: usage: xan transform COLUMN EXPR [FILE]
|
|
44
|
+
`,exitCode:1};let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;let m=n.split(",").map(g=>g.trim()),c=r?r.split(",").map(g=>g.trim()):[];for(let g of m)if(!i.includes(g))return{stdout:"",stderr:`xan transform: column '${g}' not found
|
|
45
|
+
`,exitCode:1};let a=z(t),d=U(X(s,a)[0]?.expr||B(s,a),!0,a),u={limits:t.limits?{maxIterations:t.limits.maxJqIterations,maxStringLength:t.limits.maxStringLength}:void 0},l=i.map(g=>{let y=m.indexOf(g);return y!==-1&&c[y]?c[y]:g}),f=[],x=new $(t,"xan transform");x.addRows(p.length,l.length);for(let g of p){let y=j(g);for(let w=0;w<m.length;w++){x.consumeWork();let A=m[w],v=Object.assign(oe(g),{_:g[A]}),I=V(v,d,u),S=I.length>0?I[0]:null,N=c[w]||A;N!==A&&delete y[A],b(y,N,S)}f.push(y)}return{stdout:C(l,f,t),stderr:"",exitCode:0}}async function _e(e,t){let n="",s="|",r=!1,o="",i=[];for(let l=0;l<e.length;l++){let f=e[l];(f==="-s"||f==="--separator")&&l+1<e.length?s=e[++l]:f==="--drop-empty"?r=!0:(f==="-r"||f==="--rename")&&l+1<e.length?o=e[++l]:f.startsWith("-")||(n?i.push(f):n=f)}if(!n)return{stdout:"",stderr:`xan explode: usage: xan explode COLUMN [FILE]
|
|
46
|
+
`,exitCode:1};let{headers:p,data:h,error:m}=await k(i,t);if(m)return m;if(!p.includes(n))return{stdout:"",stderr:`xan explode: column '${n}' not found
|
|
47
|
+
`,exitCode:1};let c=o?p.map(l=>l===n?o:l):p,a=o||n,d=[],u=new $(t,"xan explode");for(let l of h){let f=l[n],x=f==null?"":String(f);if(x===""){if(!r){u.addRow(c.length);let g=j(l);o&&(delete g[n],b(g,a,"")),d.push(g)}}else{let g=0;for(;g<=x.length;){u.addRow(c.length);let y=s===""?g+1:x.indexOf(s,g),w=y===-1?x.length:y,A=x.slice(g,w),v=j(l);if(o&&delete v[n],b(v,a,A),d.push(v),y===-1||s===""&&g>=x.length-1)break;g=s===""?y:y+s.length}}}return{stdout:C(c,d,t),stderr:"",exitCode:0}}async function We(e,t){let n="",s="|",r="",o=[];for(let g=0;g<e.length;g++){let y=e[g];(y==="-s"||y==="--sep")&&g+1<e.length?s=e[++g]:(y==="-r"||y==="--rename")&&g+1<e.length?r=e[++g]:y.startsWith("-")||(n?o.push(y):n=y)}if(!n)return{stdout:"",stderr:`xan implode: usage: xan implode COLUMN [FILE]
|
|
48
|
+
`,exitCode:1};let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;if(!i.includes(n))return{stdout:"",stderr:`xan implode: column '${n}' not found
|
|
49
|
+
`,exitCode:1};let m=i.filter(g=>g!==n),c=r?i.map(g=>g===n?r:g):i,a=r||n,d=[],u=new $(t,"xan implode"),l=null,f=[],x=null;for(let g of p){u.consumeWork();let y=JSON.stringify(m.map(v=>String(g[v]??""))),w=g[n],A=w==null?"":String(w);if(y!==l){if(x!==null){let v=j(x);r&&delete v[n],b(v,a,se(f,s,Math.min(t.limits.maxStringLength,t.limits.maxOutputSize),"xan implode")),u.addRow(c.length),d.push(v)}l=y,f=[A],x=g}else f.push(A)}if(x!==null){let g=j(x);r&&delete g[n],b(g,a,se(f,s,Math.min(t.limits.maxStringLength,t.limits.maxOutputSize),"xan implode")),u.addRow(c.length),d.push(g)}return{stdout:C(c,d,t),stderr:"",exitCode:0}}async function je(e,t){let n="",s="",r="",o="",i="inner",p="",h=0;for(let S=0;S<e.length;S++){let N=e[S];N==="--left"?i="left":N==="--right"?i="right":N==="--full"?i="full":(N==="-D"||N==="--default")&&S+1<e.length?p=e[++S]:N.startsWith("-")||(h++,h===1?n=N:h===2?s=N:h===3?r=N:h===4&&(o=N))}if(!n||!s||!r||!o)return{stdout:"",stderr:`xan join: usage: xan join KEY1 FILE1 KEY2 FILE2 [OPTIONS]
|
|
50
|
+
`,exitCode:1};let m=await k([s],t);if(m.error)return m.error;let c=await k([o],t);if(c.error)return c.error;let{headers:a,data:d}=m,{headers:u,data:l}=c;if(!a.includes(n))return{stdout:"",stderr:`xan join: column '${n}' not found in first file
|
|
51
|
+
`,exitCode:1};if(!u.includes(r))return{stdout:"",stderr:`xan join: column '${r}' not found in second file
|
|
52
|
+
`,exitCode:1};let f=new Map;for(let S of l){t.executionScope?.consumeWork(1,"xan join index");let N=String(S[r]??"");f.has(N)||f.set(N,[]),f.get(N)?.push(S)}let x=new Set(a),g=u.filter(S=>!x.has(S));if(W(a.length,g.length,"xan join")>t.limits.maxArrayElements)throw new E(`xan join: output column limit exceeded (${t.limits.maxArrayElements})`,"array_elements");let y=[...a,...g],w=[],A=new $(t,"xan join"),v=new Set,I=0;for(let S of d){t.executionScope?.consumeWork(1,"xan join cardinality");let N=f.get(String(S[n]??""));I=W(I,N?.length??(i==="left"||i==="full"?1:0),"xan join")}if(i==="right"||i==="full"){let S=new Set;for(let N of d)t.executionScope?.throwIfAborted("xan join cardinality"),S.add(String(N[n]??""));for(let N of l)t.executionScope?.throwIfAborted("xan join cardinality"),S.has(String(N[r]??""))||(I=W(I,1,"xan join"))}A.addRows(I,y.length);for(let S of d){t.executionScope?.throwIfAborted("xan join output");let N=String(S[n]??""),P=f.get(N);if(P&&P.length>0){v.add(N);for(let T of P){let _=F();for(let H of a)b(_,H,S[H]);for(let H of g)b(_,H,T[H]);w.push(_)}}else if(i==="left"||i==="full"){let T=F();for(let _ of a)b(T,_,S[_]);for(let _ of g)b(T,_,p);w.push(T)}}if(i==="right"||i==="full")for(let S of l){t.executionScope?.throwIfAborted("xan join output");let N=String(S[r]??"");if(!v.has(N)){let P=F();for(let T of a)b(P,T,u.includes(T)?S[T]:p);for(let T of g)b(P,T,S[T]);w.push(P)}}return{stdout:C(y,w,t),stderr:"",exitCode:0}}async function Ve(e,t){let n="",s="",r=[],o=[];for(let v=0;v<e.length;v++){let I=e[v];(I==="-g"||I==="--groupby")&&v+1<e.length?r=e[++v].split(",").map(S=>S.trim()):I.startsWith("-")||(n?s?o.push(I):s=I:n=I)}if(!n||!s)return{stdout:"",stderr:`xan pivot: usage: xan pivot COLUMN AGG_EXPR [OPTIONS] [FILE]
|
|
53
|
+
`,exitCode:1};let{headers:i,data:p,error:h}=await k(o,t);if(h)return h;if(!i.includes(n))return{stdout:"",stderr:`xan pivot: column '${n}' not found
|
|
54
|
+
`,exitCode:1};let m=s.match(/^(\w+)\((\w+)\)$/);if(!m)return{stdout:"",stderr:`xan pivot: invalid aggregation expression '${s}'
|
|
55
|
+
`,exitCode:1};let[,c,a]=m;r.length===0&&(r=i.filter(v=>v!==n&&v!==a));let d=[],u=new Set;for(let v of p){t.executionScope?.consumeWork(1,"xan pivot values");let I=String(v[n]??"");if(!u.has(I)){if(d.length>=t.limits.maxArrayElements)throw new E(`xan pivot: pivot value limit exceeded (${t.limits.maxArrayElements})`,"array_elements");u.add(I),d.push(I)}}let l=new Map,f=[];for(let v of p){t.executionScope?.consumeWork(1,"xan pivot groups");let I=r.map(_=>String(v[_]??"")),S=JSON.stringify(I),N=String(v[n]??""),P=v[a];l.has(S)||(l.set(S,{keyParts:I,pivots:new Map}),f.push(S));let T=l.get(S);T&&(T.pivots.has(N)||T.pivots.set(N,[]),T.pivots.get(N)?.push(P))}let x=d.find(v=>r.includes(v));if(x!==void 0)return{stdout:"",stderr:`xan pivot: duplicate output header '${x}'
|
|
56
|
+
`,exitCode:1};let g=W(r.length,d.length,"xan pivot");if(g>t.limits.maxArrayElements)throw new E(`xan pivot: output column limit exceeded (${t.limits.maxArrayElements})`,"array_elements");new $(t,"xan pivot").addRows(f.length,g);let w=[...r,...d],A=[];for(let v of f){t.executionScope?.throwIfAborted("xan pivot output");let I=l.get(v);if(!I)continue;let S=F();for(let N=0;N<r.length;N++)b(S,r[N],I.keyParts[N]);for(let N of d){let P=I.pivots.get(N)||[];b(S,N,vt(c,P))}A.push(S)}return{stdout:C(w,A,t),stderr:"",exitCode:0}}function vt(e,t){let n=0,s=0,r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY;for(let i of t){if(i==null)continue;let p=typeof i=="number"?i:Number.parseFloat(String(i));Number.isNaN(p)||(n++,s+=p,r=Math.min(r,p),o=Math.max(o,p))}switch(e){case"count":return t.length;case"sum":return s;case"mean":case"avg":return n>0?s/n:null;case"min":return n>0?r:null;case"max":return n>0?o:null;case"first":return t.length>0?String(t[0]??""):null;case"last":return t.length>0?String(t[t.length-1]??""):null;default:return null}}async function Ue(e,t){let n="",s=[];for(let m=0;m<e.length;m++){let c=e[m];(c==="-s"||c==="--sort")&&m+1<e.length?n=e[++m]:c.startsWith("-")||s.push(c)}if(s.length<2)return{stdout:"",stderr:`xan merge: usage: xan merge [OPTIONS] FILE1 FILE2 ...
|
|
57
|
+
`,exitCode:1};let r=[],o=null;for(let m of s){let c=await k([m],t);if(c.error)return c.error;if(o===null)o=c.headers;else if(JSON.stringify(o)!==JSON.stringify(c.headers))return{stdout:"",stderr:`xan merge: all files must have the same headers
|
|
58
|
+
`,exitCode:1};r.push({headers:c.headers,data:c.data})}if(!o)return{stdout:"",stderr:"",exitCode:0};let i=[],p=new $(t,"xan merge"),h=r.reduce((m,c)=>W(m,c.data.length,"xan merge"),0);p.addRows(h,o.length);for(let{data:m}of r)for(let c of m)t.executionScope?.throwIfAborted("xan merge output"),i.push(c);if(n){if(!o.includes(n))return{stdout:"",stderr:`xan merge: column '${n}' not found
|
|
59
|
+
`,exitCode:1};i.sort((m,c)=>{let a=m[n],d=c[n],u=typeof a=="number"?a:Number.parseFloat(String(a)),l=typeof d=="number"?d:Number.parseFloat(String(d));return!Number.isNaN(u)&&!Number.isNaN(l)?u-l:String(a??"").localeCompare(String(d??""))})}return{stdout:C(o,i,t),stderr:"",exitCode:0}}async function ze(e,t){let n=e.filter(p=>!p.startsWith("-")),{headers:s,data:r,error:o}=await k(n,t);return o||(r.length===0?{stdout:"",stderr:"",exitCode:0}:(new $(t,"xan behead").addRows(r.length,s.length),{stdout:tt(s,r,t),stderr:"",exitCode:0}))}async function qe(e,t){let n=null,s=null,r=[];for(let d=0;d<e.length;d++){let u=e[d];if(u==="--seed"&&d+1<e.length)s=Number.parseInt(e[++d],10);else if(!u.startsWith("-")){let l=Number.parseInt(u,10);n===null&&!Number.isNaN(l)&&l>0?n=l:r.push(u)}}if(n===null)return{stdout:"",stderr:`xan sample: usage: xan sample <sample-size> [FILE]
|
|
60
|
+
`,exitCode:1};let{headers:o,data:i,error:p}=await k(r,t);if(p)return p;if(i.length<=n)return{stdout:C(o,i,t),stderr:"",exitCode:0};let h=s!==null?s:Date.now(),m=()=>(h=h*1103515245+12345&2147483647,h/2147483647),c=i.map((d,u)=>u);for(let d=c.length-1;d>0;d--){let u=Math.floor(m()*(d+1));[c[d],c[u]]=[c[u],c[d]]}let a=c.slice(0,n).sort((d,u)=>d-u).map(d=>i[d]);return{stdout:C(o,a,t),stderr:"",exitCode:0}}async function Je(e,t){let n=!1,s=[];for(let c=0;c<e.length;c++){let a=e[c];a==="-p"||a==="--pad"?n=!0:a.startsWith("-")||s.push(a)}if(s.length===0)return{stdout:"",stderr:`xan cat: no files specified
|
|
61
|
+
`,exitCode:1};let r=await Ye(t,s,{cmdName:"xan cat",stopOnError:!0});if(r.exitCode!==0)return{stdout:"",stderr:r.stderr,exitCode:r.exitCode};let o=[],i=[],p=new $(t,"xan cat"),h=new Set;for(let{content:c}of r.files){let{headers:a,data:d}=Ze(Y(c),{maxStringLength:Math.min(t.limits.maxInputBytes,t.limits.maxStringLength),maxArrayElements:t.limits.maxArrayElements,maxRows:t.limits.maxCsvRows,maxCells:t.limits.maxCsvCells});p.addRows(d.length,a.length),o.push({headers:a,data:d});for(let u of a)if(!h.has(u)){if(h.add(u),h.size>t.limits.maxArrayElements)throw new E(`xan cat: output column limit exceeded (${t.limits.maxArrayElements})`,"array_elements");i.push(u)}}if(!n){let c=JSON.stringify(o[0].headers);for(let a=1;a<o.length;a++)if(JSON.stringify(o[a].headers)!==c)return{stdout:"",stderr:`xan cat: headers do not match (use -p to pad)
|
|
62
|
+
`,exitCode:1};i=o[0].headers}let m=[];for(let{headers:c,data:a}of o)for(let d of a){let u=F();for(let l of i)b(u,l,c.includes(l)?d[l]:"");m.push(u)}return{stdout:C(i,m,t),stderr:"",exitCode:0}}async function Be(e,t){let n="",s=[],r=!1,o=!1,i=[];for(let u=0;u<e.length;u++){let l=e[u];(l==="-s"||l==="--select")&&u+1<e.length?s=e[++u].split(","):l==="-v"||l==="--invert"?r=!0:l==="-i"||l==="--ignore-case"?o=!0:l==="-r"||l==="--regex"||l.startsWith("-")||(n?i.push(l):n=l)}if(!n)return{stdout:"",stderr:`xan search: no pattern specified
|
|
63
|
+
`,exitCode:1};let{headers:p,data:h,error:m}=await k(i,t);if(m)return m;let c=s.length>0?s:p,a;try{a=Z(n,o?"i":"")}catch{return{stdout:"",stderr:`xan search: invalid regex pattern '${n}'
|
|
64
|
+
`,exitCode:1}}let d=h.filter(u=>{let l=c.some(f=>{let x=u[f];return x!=null&&a.test(String(x))});return r?!l:l});return{stdout:C(p,d,t),stderr:"",exitCode:0}}async function He(e,t){let n="",s=[];for(let l of e)l.startsWith("-")||(n?s.push(l):n=l);if(!n)return{stdout:"",stderr:`xan flatmap: no expression specified
|
|
65
|
+
`,exitCode:1};let{headers:r,data:o,error:i}=await k(s,t);if(i)return i;let p=z(t),m=X(n,p).map(({expr:l,name:f})=>({alias:typeof f=="string"?f:f[0],ast:U(l,!0,p)})),c={limits:t.limits?{maxIterations:t.limits.maxJqIterations,maxStringLength:t.limits.maxStringLength}:void 0};if(W(r.length,m.length,"xan flatmap")>t.limits.maxArrayElements)throw new E(`xan flatmap: output column limit exceeded (${t.limits.maxArrayElements})`,"array_elements");let a=[...r,...m.map(l=>l.alias)],d=[],u=new $(t,"xan flatmap");for(let l of o){let f=[],x=1;for(let g of m){u.consumeWork();let y=V(l,g.ast,c),w=y.length>0&&Array.isArray(y[0])?y[0]:y;if(w.length>t.limits.maxArrayElements)throw new E(`xan flatmap: expression result limit exceeded (${t.limits.maxArrayElements})`,"array_elements");f.push(w),x=Math.max(x,w.length)}for(let g=0;g<x;g++){u.addRow(a.length);let y=j(l);for(let w=0;w<m.length;w++){let A=f[w][g]??null;b(y,m[w].alias,A)}d.push(y)}}return{stdout:C(a,d,t),stderr:"",exitCode:0}}async function Ke(e,t){let{cmdView:n}=await import("./xan-view-QGKWT354.js");return n(e,t)}var dt=new Set(["fuzzy-join","glob","hist","input","parallel","plot","progress","range","scrape","tokenize","union-find"]),St=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",...dt]),pt={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.
|
|
66
|
+
It provides a simple, ergonomic interface for common data operations.
|
|
67
|
+
|
|
68
|
+
COMMANDS:
|
|
69
|
+
Core:
|
|
70
|
+
headers Show column names
|
|
71
|
+
count Count rows
|
|
72
|
+
head Show first N rows
|
|
73
|
+
tail Show last N rows
|
|
74
|
+
slice Extract row range
|
|
75
|
+
reverse Reverse row order
|
|
76
|
+
behead Remove header row
|
|
77
|
+
sample Random sample of rows
|
|
78
|
+
|
|
79
|
+
Column operations:
|
|
80
|
+
select Select columns (supports glob, ranges, negation)
|
|
81
|
+
drop Drop columns
|
|
82
|
+
rename Rename columns
|
|
83
|
+
enum Add row index column
|
|
84
|
+
|
|
85
|
+
Row operations:
|
|
86
|
+
filter Filter rows by expression
|
|
87
|
+
search Filter rows by regex match
|
|
88
|
+
sort Sort rows
|
|
89
|
+
dedup Remove duplicates
|
|
90
|
+
top Get top N by column
|
|
91
|
+
|
|
92
|
+
Transformations:
|
|
93
|
+
map Add computed columns
|
|
94
|
+
transform Modify existing columns
|
|
95
|
+
explode Split column into multiple rows
|
|
96
|
+
implode Combine rows, join column values
|
|
97
|
+
flatmap Map returning multiple rows
|
|
98
|
+
pivot Reshape rows into columns
|
|
99
|
+
transpose Swap rows and columns
|
|
100
|
+
|
|
101
|
+
Aggregation:
|
|
102
|
+
agg Aggregate values
|
|
103
|
+
groupby Group and aggregate
|
|
104
|
+
frequency Count value occurrences
|
|
105
|
+
stats Show column statistics
|
|
106
|
+
|
|
107
|
+
Multi-file:
|
|
108
|
+
cat Concatenate CSV files
|
|
109
|
+
join Join two CSV files on key
|
|
110
|
+
merge Merge sorted CSV files
|
|
111
|
+
split Split into multiple files
|
|
112
|
+
partition Split by column value
|
|
113
|
+
|
|
114
|
+
Data conversion:
|
|
115
|
+
to Convert CSV to other formats (json)
|
|
116
|
+
from Convert other formats to CSV (json)
|
|
117
|
+
shuffle Randomly reorder rows
|
|
118
|
+
fixlengths Fix ragged CSV files
|
|
119
|
+
|
|
120
|
+
Output:
|
|
121
|
+
view Pretty print as table
|
|
122
|
+
flatten Display records vertically (alias: f)
|
|
123
|
+
fmt Format output
|
|
124
|
+
|
|
125
|
+
EXAMPLES:
|
|
126
|
+
xan headers data.csv
|
|
127
|
+
xan count data.csv
|
|
128
|
+
xan head -n 5 data.csv
|
|
129
|
+
xan select name,email data.csv
|
|
130
|
+
xan select 'vec_*' data.csv # glob pattern
|
|
131
|
+
xan select 'a:c' data.csv # column range
|
|
132
|
+
xan filter 'age > 30' data.csv
|
|
133
|
+
xan search -r '^foo' data.csv
|
|
134
|
+
xan sort -N price data.csv
|
|
135
|
+
xan agg 'sum(amount) as total' data.csv
|
|
136
|
+
xan groupby region 'count() as n' data.csv
|
|
137
|
+
xan explode tags data.csv
|
|
138
|
+
xan join id file1.csv id file2.csv
|
|
139
|
+
xan pivot year 'sum(sales)' data.csv`,options:[" --help display this help and exit"]},bt={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"]}},Jn={name:"xan",async execute(e,t){if(e.length===0||ne(e))return J(pt);let n=e[0],s=e.slice(1);if(ne(s)){let r=bt[n];return r?J(r):J(pt)}if(dt.has(n))return{stdout:"",stderr:`xan ${n}: not yet implemented
|
|
140
|
+
`,exitCode:1};switch(n){case"headers":return we(s,t);case"count":return ve(s,t);case"head":return Se(s,t);case"tail":return be(s,t);case"slice":return Ce(s,t);case"reverse":return ke(s,t);case"behead":return ze(s,t);case"sample":return qe(s,t);case"select":return he(s,t);case"drop":return ge(s,t);case"rename":return xe(s,t);case"enum":return ye(s,t);case"filter":return $e(s,t);case"search":return Be(s,t);case"sort":return Fe(s,t);case"dedup":return Te(s,t);case"top":return Me(s,t);case"map":return Pe(s,t);case"transform":return De(s,t);case"explode":return _e(s,t);case"implode":return We(s,t);case"flatmap":return He(s,t);case"pivot":return Ve(s,t);case"agg":return pe(s,t);case"groupby":return de(s,t);case"frequency":case"freq":return me(s,t);case"stats":return fe(s,t);case"cat":return Je(s,t);case"join":return je(s,t);case"merge":return Ue(s,t);case"split":return Ae(s,t);case"partition":return Le(s,t);case"to":return Oe(s,t);case"from":return Re(s,t);case"transpose":return Ee(s,t);case"shuffle":return Ie(s,t);case"fixlengths":return Ne(s,t);case"view":return ae(s,t);case"flatten":case"f":return ie(s,t);case"fmt":return Ke(s,t);default:return St.has(n)?{stdout:"",stderr:`xan ${n}: not yet implemented
|
|
141
|
+
`,exitCode:1}:{stdout:"",stderr:`xan: unknown command '${n}'
|
|
142
|
+
Run 'xan --help' for usage.
|
|
143
|
+
`,exitCode:1}}}},Bn={name:"xan",flags:[],stdinType:"text",needsArgs:!0};export{Jn as a,Bn as b};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{createRequire} from"node:module";const require=createRequire(import.meta.url);
|
|
3
|
+
import{a as U,b as z}from"./chunk-4SQKKW2M.js";import{a as A}from"./chunk-CB4SODHK.js";import{a as I}from"./chunk-46CDVHZ3.js";import{l as x}from"./chunk-LCP3IKI7.js";import{a as te,b as P}from"./chunk-CPKBPQ2C.js";import{a as N}from"./chunk-PBOVSFTJ.js";import{a as ne,b as ie,c as W}from"./chunk-MUFNRCMY.js";var H=new Map([["alnum","a-zA-Z0-9"],["alpha","a-zA-Z"],["ascii","\\x00-\\x7F"],["blank"," \\t"],["cntrl","\\x00-\\x1F\\x7F"],["digit","0-9"],["graph","!-~"],["lower","a-z"],["print"," -~"],["punct","!-/:-@\\[-`{-~"],["space"," \\t\\n\\r\\f\\v"],["upper","A-Z"],["word","a-zA-Z0-9_"],["xdigit","0-9A-Fa-f"]]);function V(i){let e="",t=0,n=!1;for(;t<i.length;){if(i[t]==="["&&!n){if(i[t+1]==="["&&i[t+2]===":"){let s=i.indexOf(":]]",t+3);if(s!==-1){let a=i.slice(t+3,s),r=H.get(a);if(r){e+=`[${r}]`,t=s+3;continue}}}if(i[t+1]==="^"&&i[t+2]==="["&&i[t+3]===":"){let s=i.indexOf(":]]",t+4);if(s!==-1){let a=i.slice(t+4,s),r=H.get(a);if(r){e+=`[^${r}]`,t=s+3;continue}}}e+="[",t++,n=!0,t<i.length&&i[t]==="^"&&(e+="^",t++),t<i.length&&i[t]==="]"&&(e+="\\]",t++);continue}if(n){if(i[t]==="]"){e+="]",t++,n=!1;continue}if(i[t]==="["&&i[t+1]===":"){let s=i.indexOf(":]",t+2);if(s!==-1){let a=i.slice(t+2,s),r=H.get(a);if(r){e+=r,t=s+2;continue}}}if(i[t]==="\\"&&t+1<i.length){e+=i[t]+i[t+1],t+=2;continue}e+=i[t],t++;continue}if(i[t]==="\\"&&t+1<i.length){let s=i[t+1];if(s==="+"||s==="?"||s==="|"){e+=s,t+=2;continue}if(s==="("||s===")"){e+=s,t+=2;continue}if(s==="{"||s==="}"){e+=s,t+=2;continue}if(s==="t"){e+=" ",t+=2;continue}if(s==="n"){e+=`
|
|
4
|
+
`,t+=2;continue}if(s==="r"){e+="\r",t+=2;continue}e+=i[t]+s,t+=2;continue}if(i[t]==="+"||i[t]==="?"||i[t]==="|"||i[t]==="("||i[t]===")"){e+=`\\${i[t]}`,t++;continue}if(i[t]==="^"&&!(e===""||e.endsWith("("))){e+="\\^",t++;continue}if(i[t]==="$"){let s=t===i.length-1,a=t+2<i.length&&i[t+1]==="\\"&&i[t+2]===")";if(!s&&!a){e+="\\$",t++;continue}}e+=i[t],t++}return e}function X(i){let e="",t=!1;for(let n=0;n<i.length;n++)i[n]==="["&&!t?(t=!0,e+="[",n++,n<i.length&&i[n]==="^"&&(e+="^",n++),n<i.length&&i[n]==="]"&&(e+="]",n++),n--):i[n]==="]"&&t?(t=!1,e+="]"):!t&&i[n]==="{"&&i[n+1]===","?(e+="{0,",n++):e+=i[n];return e}function se(i){let e="";for(let t=0;t<i.length;t++){let n=i[t],s=n.charCodeAt(0);n==="\\"?e+="\\\\":n===" "?e+="\\t":n===`
|
|
5
|
+
`?e+=`$
|
|
6
|
+
`:n==="\r"?e+="\\r":n==="\x07"?e+="\\a":n==="\b"?e+="\\b":n==="\f"?e+="\\f":n==="\v"?e+="\\v":s<32||s>=127?e+=`\\${s.toString(8).padStart(3,"0")}`:e+=n}return`${e}$`}var me=1e4;function ae(i,e,t){return{patternSpace:"",holdSpace:"",lineNumber:0,totalLines:i,deleted:!1,printed:!1,quit:!1,quitSilent:!1,exitCode:void 0,errorMessage:void 0,appendBuffer:[],substitutionMade:!1,lineNumberOutput:[],nCommandOutput:[],restartCycle:!1,inDRestartedCycle:!1,currentFilename:e,pendingFileReads:[],pendingFileWrites:[],rangeStates:t||new Map,linesConsumedInCycle:0}}function ge(i){return typeof i=="object"&&"first"in i&&"step"in i}function be(i){return typeof i=="object"&&"offset"in i}function L(i,e,t,n,s){if(i==="$")return e===t;if(typeof i=="number")return e===i;if(ge(i)){let{first:a,step:r}=i;return r===0?e===a:(e-a)%r===0&&e>=a}if(typeof i=="object"&&"pattern"in i)try{let a=i.pattern;a===""&&s?.lastPattern?a=s.lastPattern:a!==""&&s&&(s.lastPattern=a);let r=X(V(a));return A(r).test(n)}catch{return!1}return!1}function G(i){let e=t=>t===void 0?"undefined":t==="$"?"$":typeof t=="number"?String(t):"pattern"in t?`/${t.pattern}/`:"first"in t?`${t.first}~${t.step}`:"unknown";return`${e(i.start)},${e(i.end)}`}function Ee(i,e,t,n,s,a){if(!i||!i.start&&!i.end)return!0;let r=i.start,u=i.end;if(r!==void 0&&u===void 0)return L(r,e,t,n,a);if(r!==void 0&&u!==void 0){let o=typeof r=="object"&&"pattern"in r,h=typeof u=="object"&&"pattern"in u,p=be(u);if(p&&s){let m=G(i),d=s.get(m);if(d||(d={active:!1},s.set(m,d)),d.active){let E=d.startLine||e;return e>=E+u.offset&&(d.active=!1,s.set(m,d)),!0}else return L(r,e,t,n,a)?(d.active=!0,d.startLine=e,s.set(m,d),u.offset===0&&(d.active=!1,s.set(m,d)),!0):!1}if(!o&&!h&&!p){let m=typeof r=="number"?r:r==="$"?t:1,d=typeof u=="number"?u:t;if(m<=d)return e>=m&&e<=d;if(s){let E=G(i),l=s.get(E);return l||(l={active:!1},s.set(E,l)),!l.completed&&e>=m?(l.completed=!0,s.set(E,l),!0):!1}return!1}if(s){let m=G(i),d=s.get(m);if(d||(d={active:!1},s.set(m,d)),d.active)return L(u,e,t,n,a)&&(d.active=!1,typeof r=="number"&&(d.completed=!0),s.set(m,d)),!0;{if(d.completed)return!1;let E=!1;return typeof r=="number"?E=e>=r:E=L(r,e,t,n,a),E?(d.active=!0,d.startLine=e,s.set(m,d),L(u,e,t,n,a)&&(d.active=!1,typeof r=="number"&&(d.completed=!0),s.set(m,d)),!0):!1}}return L(r,e,t,n,a)}return!0}function O(i,e,t,n,s,a){let r=Ee(i,e,t,n,s,a);return i?.negated?!r:r}function ve(i,e,t,n){let s="",a=0,r=!1;for(;a<=i.length;){e.lastIndex=a;let u=e.exec(i);if(!u){s+=i.slice(a);break}if(u.index!==a){s+=i.slice(a,u.index),a=u.index,r=!1;continue}let o=u[0],h=u.slice(1);if(r&&o.length===0){if(a<i.length)s+=i[a],a++;else break;r=!1;continue}if(s+=n(o,h),r=!1,o.length===0)if(a<i.length)s+=i[a],a++;else break;else a+=o.length,r=!0}return s}function j(i,e,t){let n="",s=0;for(;s<i.length;){if(i[s]==="\\"&&s+1<i.length){let a=i[s+1];if(a==="&"){n+="&",s+=2;continue}if(a==="n"){n+=`
|
|
7
|
+
`,s+=2;continue}if(a==="t"){n+=" ",s+=2;continue}if(a==="r"){n+="\r",s+=2;continue}let r=parseInt(a,10);if(r===0){n+=e,s+=2;continue}if(r>=1&&r<=9){n+=t[r-1]||"",s+=2;continue}n+=a,s+=2;continue}if(i[s]==="&"){n+=e,s++;continue}n+=i[s],s++}return n}function re(i,e,t){if(e>0&&i.length>e)throw new x(`sed: ${t} size limit exceeded (${e} bytes)`,"string_length")}function xe(i,e,t){let{lineNumber:n,totalLines:s,patternSpace:a}=e;if(i.type==="label"){e.coverage?.hit(`sed:cmd:${i.type}`);return}if(O(i.address,n,s,a,e.rangeStates,e))switch(e.coverage?.hit(`sed:cmd:${i.type}`),i.type){case"substitute":{let r=i,u="";r.global&&(u+="g"),r.ignoreCase&&(u+="i");let o=r.pattern;o===""&&e.lastPattern?o=e.lastPattern:o!==""&&(e.lastPattern=o);let h=X(r.extendedRegex?o:V(o));try{let p=A(h,u),k=p.test(e.patternSpace);if(p.lastIndex=0,k){if(e.substitutionMade=!0,r.nthOccurrence&&r.nthOccurrence>0&&!r.global){let m=0,d=r.nthOccurrence,E=A(h,`g${r.ignoreCase?"i":""}`);e.patternSpace=E.replace(e.patternSpace,(l,...f)=>{if(m++,m===d){let b=f.slice(0,-2);return j(r.replacement,l,b)}return l})}else if(r.global){let m=A(h,`g${r.ignoreCase?"i":""}`);e.patternSpace=ve(e.patternSpace,m,r.replacement,(d,E)=>j(r.replacement,d,E))}else e.patternSpace=p.replace(e.patternSpace,(m,...d)=>{let E=d.slice(0,-2);return j(r.replacement,m,E)});r.printOnMatch&&e.lineNumberOutput.push(e.patternSpace)}}catch{}break}case"print":e.lineNumberOutput.push(e.patternSpace);break;case"printFirstLine":{let r=e.patternSpace.indexOf(`
|
|
8
|
+
`);r!==-1?e.lineNumberOutput.push(e.patternSpace.slice(0,r)):e.lineNumberOutput.push(e.patternSpace);break}case"delete":e.deleted=!0;break;case"deleteFirstLine":{let r=e.patternSpace.indexOf(`
|
|
9
|
+
`);r!==-1?(e.patternSpace=e.patternSpace.slice(r+1),e.restartCycle=!0,e.inDRestartedCycle=!0):e.deleted=!0;break}case"zap":e.patternSpace="";break;case"append":e.appendBuffer.push(i.text);break;case"insert":e.appendBuffer.unshift(`__INSERT__${i.text}`);break;case"change":e.deleted=!0,e.changedText=i.text;break;case"hold":e.holdSpace=e.patternSpace;break;case"holdAppend":e.holdSpace?e.holdSpace+=`
|
|
10
|
+
${e.patternSpace}`:e.holdSpace=e.patternSpace,re(e.holdSpace,t?.maxStringLength??0,"hold space");break;case"get":e.patternSpace=e.holdSpace;break;case"getAppend":e.patternSpace+=`
|
|
11
|
+
${e.holdSpace}`,re(e.patternSpace,t?.maxStringLength??0,"pattern space");break;case"exchange":{let r=e.patternSpace;e.patternSpace=e.holdSpace,e.holdSpace=r;break}case"next":e.printed=!0;break;case"quit":e.quit=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"quitSilent":e.quit=!0,e.quitSilent=!0,i.exitCode!==void 0&&(e.exitCode=i.exitCode);break;case"list":{let r=se(e.patternSpace);e.lineNumberOutput.push(r);break}case"printFilename":e.currentFilename&&e.lineNumberOutput.push(e.currentFilename);break;case"version":{let r=[4,8,0];if(i.minVersion){let u=i.minVersion.split("."),o=[],h=!1;for(let p of u){let k=parseInt(p,10);if(Number.isNaN(k)||k<0){e.quit=!0,e.exitCode=1,e.errorMessage=`sed: invalid version string: ${i.minVersion}`,h=!0;break}o.push(k)}if(!h){for(;o.length<3;)o.push(0);for(let p=0;p<3;p++){if(o[p]>r[p]){e.quit=!0,e.exitCode=1,e.errorMessage=`sed: this is not GNU sed version ${i.minVersion}`;break}if(o[p]<r[p])break}}}break}case"readFile":e.pendingFileReads.push({filename:i.filename,wholeFile:!0});break;case"readFileLine":e.pendingFileReads.push({filename:i.filename,wholeFile:!1});break;case"writeFile":e.pendingFileWrites.push({filename:i.filename,content:`${e.patternSpace}
|
|
12
|
+
`});break;case"writeFirstLine":{let r=e.patternSpace.indexOf(`
|
|
13
|
+
`),u=r!==-1?e.patternSpace.slice(0,r):e.patternSpace;e.pendingFileWrites.push({filename:i.filename,content:`${u}
|
|
14
|
+
`});break}case"execute":e.errorMessage="sed: e command (shell execution) is not supported in sandboxed environment",e.quit=!0;break;case"transliterate":e.patternSpace=Ce(e.patternSpace,i);break;case"lineNumber":e.lineNumberOutput.push(String(e.lineNumber));break;case"branch":break;case"branchOnSubst":break;case"branchOnNoSubst":break;case"group":break}}function Ce(i,e){let t="";for(let n of i){let s=e.source.indexOf(n);s!==-1?t+=e.dest[s]:t+=n}return t}function Z(i,e,t,n){let s=new Map;for(let o=0;o<i.length;o++){let h=i[o];h.type==="label"&&s.set(h.name,o)}let a=n?.maxIterations??me,r=0,u=0;for(;u<i.length;){if(r++,r>a)throw new x(`sed: command execution exceeded maximum iterations (${a})`,"iterations");if(e.deleted||e.quit||e.quitSilent||e.restartCycle)break;let o=i[u];if(o.type==="next"){if(O(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e))if(e.coverage?.hit("sed:cmd:next"),e.nCommandOutput.push(e.patternSpace),t&&t.currentLineIndex+e.linesConsumedInCycle+1<t.lines.length){e.linesConsumedInCycle++;let h=t.lines[t.currentLineIndex+e.linesConsumedInCycle];e.patternSpace=h,e.lineNumber=t.currentLineIndex+e.linesConsumedInCycle+1,e.substitutionMade=!1}else{e.quit=!0,e.deleted=!0;break}u++;continue}if(o.type==="nextAppend"){if(O(o.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e))if(e.coverage?.hit("sed:cmd:nextAppend"),t&&t.currentLineIndex+e.linesConsumedInCycle+1<t.lines.length){e.linesConsumedInCycle++;let h=t.lines[t.currentLineIndex+e.linesConsumedInCycle];e.patternSpace+=`
|
|
15
|
+
${h}`,e.lineNumber=t.currentLineIndex+e.linesConsumedInCycle+1}else{e.quit=!0;break}u++;continue}if(o.type==="branch"){let h=o;if(O(h.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)){if(e.coverage?.hit("sed:cmd:branch"),h.label){let p=s.get(h.label);if(p!==void 0){u=p;continue}e.branchRequest=h.label;break}break}u++;continue}if(o.type==="branchOnSubst"){let h=o;if(O(h.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&(e.coverage?.hit("sed:cmd:branchOnSubst"),e.substitutionMade)){if(e.substitutionMade=!1,h.label){let p=s.get(h.label);if(p!==void 0){u=p;continue}e.branchRequest=h.label;break}break}u++;continue}if(o.type==="branchOnNoSubst"){let h=o;if(O(h.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&(e.coverage?.hit("sed:cmd:branchOnNoSubst"),!e.substitutionMade)){if(h.label){let p=s.get(h.label);if(p!==void 0){u=p;continue}e.branchRequest=h.label;break}break}u++;continue}if(o.type==="group"){let h=o;if(O(h.address,e.lineNumber,e.totalLines,e.patternSpace,e.rangeStates,e)&&(e.coverage?.hit("sed:cmd:group"),Z(h.commands,e,t,n),e.branchRequest)){let p=s.get(e.branchRequest);if(p!==void 0){e.branchRequest=void 0,u=p;continue}break}u++;continue}xe(o,e,n),u++}return e.linesConsumedInCycle}var c;(function(i){i.NUMBER="NUMBER",i.DOLLAR="DOLLAR",i.PATTERN="PATTERN",i.STEP="STEP",i.RELATIVE_OFFSET="RELATIVE_OFFSET",i.LBRACE="LBRACE",i.RBRACE="RBRACE",i.SEMICOLON="SEMICOLON",i.NEWLINE="NEWLINE",i.COMMA="COMMA",i.NEGATION="NEGATION",i.COMMAND="COMMAND",i.SUBSTITUTE="SUBSTITUTE",i.TRANSLITERATE="TRANSLITERATE",i.LABEL_DEF="LABEL_DEF",i.BRANCH="BRANCH",i.BRANCH_ON_SUBST="BRANCH_ON_SUBST",i.BRANCH_ON_NO_SUBST="BRANCH_ON_NO_SUBST",i.TEXT_CMD="TEXT_CMD",i.FILE_READ="FILE_READ",i.FILE_READ_LINE="FILE_READ_LINE",i.FILE_WRITE="FILE_WRITE",i.FILE_WRITE_LINE="FILE_WRITE_LINE",i.EXECUTE="EXECUTE",i.VERSION="VERSION",i.EOF="EOF",i.ERROR="ERROR"})(c||(c={}));var M=class{maxInputLength;maxTokens;input;pos=0;line=1;column=1;constructor(e,t=1024*1024,n=1e5){this.maxInputLength=t,this.maxTokens=n,this.input=e}tokenize(){if(this.input.length>this.maxInputLength)throw new x(`sed: script size limit exceeded (${this.maxInputLength} bytes)`,"string_length");let e=[];for(;this.pos<this.input.length;){let t=this.nextToken();if(t){if(e.length>=this.maxTokens-1)throw new x(`sed: token limit exceeded (${this.maxTokens})`,"array_elements");e.push(t)}}return e.push(this.makeToken(c.EOF,"")),e}makeToken(e,t,n){return{type:e,value:t,line:this.line,column:this.column,...n}}peek(e=0){return this.input[this.pos+e]||""}advance(){let e=this.input[this.pos++]||"";return e===`
|
|
16
|
+
`?(this.line++,this.column=1):this.column++,e}readEscapedString(e){let t="";for(;this.pos<this.input.length&&this.peek()!==e;)if(this.peek()==="\\"){this.advance();let n=this.advance();n==="n"?t+=`
|
|
17
|
+
`:n==="t"?t+=" ":t+=n}else{if(this.peek()===`
|
|
18
|
+
`)return null;t+=this.advance()}return t}skipWhitespace(){for(;this.pos<this.input.length;){let e=this.peek();if(e===" "||e===" "||e==="\r")this.advance();else if(e==="#")for(;this.pos<this.input.length&&this.peek()!==`
|
|
19
|
+
`;)this.advance();else break}}nextToken(){if(this.skipWhitespace(),this.pos>=this.input.length)return null;let e=this.line,t=this.column,n=this.peek();return n===`
|
|
20
|
+
`?(this.advance(),{type:c.NEWLINE,value:`
|
|
21
|
+
`,line:e,column:t}):n===";"?(this.advance(),{type:c.SEMICOLON,value:";",line:e,column:t}):n==="{"?(this.advance(),{type:c.LBRACE,value:"{",line:e,column:t}):n==="}"?(this.advance(),{type:c.RBRACE,value:"}",line:e,column:t}):n===","?(this.advance(),{type:c.COMMA,value:",",line:e,column:t}):n==="!"?(this.advance(),{type:c.NEGATION,value:"!",line:e,column:t}):n==="$"?(this.advance(),{type:c.DOLLAR,value:"$",line:e,column:t}):this.isDigit(n)?this.readNumber():n==="+"&&this.isDigit(this.input[this.pos+1]||"")?this.readRelativeOffset():n==="/"?this.readPattern():n===":"?this.readLabelDef():this.readCommand()}readNumber(){let e=this.line,t=this.column,n="";for(;this.isDigit(this.peek());)n+=this.advance();if(this.peek()==="~"){this.advance();let s="";for(;this.isDigit(this.peek());)s+=this.advance();let a=parseInt(n,10),r=parseInt(s,10)||0;return{type:c.STEP,value:`${a}~${r}`,first:a,step:r,line:e,column:t}}return{type:c.NUMBER,value:parseInt(n,10),line:e,column:t}}readRelativeOffset(){let e=this.line,t=this.column;this.advance();let n="";for(;this.isDigit(this.peek());)n+=this.advance();let s=parseInt(n,10)||0;return{type:c.RELATIVE_OFFSET,value:`+${s}`,offset:s,line:e,column:t}}readPattern(){let e=this.line,t=this.column;this.advance();let n="",s=!1;for(;this.pos<this.input.length;){let a=this.peek();if(a==="/"&&!s)break;if(a==="\\")n+=this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
22
|
+
`&&(n+=this.advance());else{if(a===`
|
|
23
|
+
`)break;a==="["&&!s?(s=!0,n+=this.advance(),this.peek()==="^"&&(n+=this.advance()),this.peek()==="]"&&(n+=this.advance())):a==="]"&&s?(s=!1,n+=this.advance()):n+=this.advance()}}return this.peek()==="/"&&this.advance(),{type:c.PATTERN,value:n,pattern:n,line:e,column:t}}readLabelDef(){let e=this.line,t=this.column;for(this.advance();this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===" "||s===" "||s===`
|
|
24
|
+
`||s===";"||s==="}"||s==="{")break;n+=this.advance()}return{type:c.LABEL_DEF,value:n,label:n,line:e,column:t}}readCommand(){let e=this.line,t=this.column,n=this.advance();switch(n){case"s":return this.readSubstitute(e,t);case"y":return this.readTransliterate(e,t);case"a":case"i":case"c":return this.readTextCommand(n,e,t);case"b":return this.readBranch(c.BRANCH,"b",e,t);case"t":return this.readBranch(c.BRANCH_ON_SUBST,"t",e,t);case"T":return this.readBranch(c.BRANCH_ON_NO_SUBST,"T",e,t);case"r":return this.readFileCommand(c.FILE_READ,"r",e,t);case"R":return this.readFileCommand(c.FILE_READ_LINE,"R",e,t);case"w":return this.readFileCommand(c.FILE_WRITE,"w",e,t);case"W":return this.readFileCommand(c.FILE_WRITE_LINE,"W",e,t);case"e":return this.readExecute(e,t);case"p":case"P":case"d":case"D":case"h":case"H":case"g":case"G":case"x":case"n":case"N":case"q":case"Q":case"z":case"=":case"l":case"F":return{type:c.COMMAND,value:n,line:e,column:t};case"v":return this.readVersion(e,t);default:return{type:c.ERROR,value:n,line:e,column:t}}}readSubstitute(e,t){let n=this.advance();if(!n||n===`
|
|
25
|
+
`)return{type:c.ERROR,value:"s",line:e,column:t};let s="",a=!1;for(;this.pos<this.input.length;){let o=this.peek();if(o===n&&!a)break;if(o==="\\")this.advance(),this.pos<this.input.length&&this.peek()!==`
|
|
26
|
+
`?this.peek()===n&&!a?s+=this.advance():(s+="\\",s+=this.advance()):s+="\\";else{if(o===`
|
|
27
|
+
`)break;o==="["&&!a?(a=!0,s+=this.advance(),this.peek()==="^"&&(s+=this.advance()),this.peek()==="]"&&(s+=this.advance())):o==="]"&&a?(a=!1,s+=this.advance()):s+=this.advance()}}if(this.peek()!==n)return{type:c.ERROR,value:"unterminated substitution pattern",line:e,column:t};this.advance();let r="";for(;this.pos<this.input.length&&this.peek()!==n;)if(this.peek()==="\\")if(this.advance(),this.pos<this.input.length){let o=this.peek();o==="\\"?(this.advance(),this.pos<this.input.length&&this.peek()===`
|
|
28
|
+
`?(r+=`
|
|
29
|
+
`,this.advance()):r+="\\"):o===`
|
|
30
|
+
`?(r+=`
|
|
31
|
+
`,this.advance()):r+=`\\${this.advance()}`}else r+="\\";else{if(this.peek()===`
|
|
32
|
+
`)break;r+=this.advance()}this.peek()===n&&this.advance();let u="";for(;this.pos<this.input.length;){let o=this.peek();if(o==="g"||o==="i"||o==="p"||o==="I"||this.isDigit(o))u+=this.advance();else break}return{type:c.SUBSTITUTE,value:`s${n}${s}${n}${r}${n}${u}`,pattern:s,replacement:r,flags:u,line:e,column:t}}readTransliterate(e,t){let n=this.advance();if(!n||n===`
|
|
33
|
+
`)return{type:c.ERROR,value:"y",line:e,column:t};let s=this.readEscapedString(n);if(s===null||this.peek()!==n)return{type:c.ERROR,value:"unterminated transliteration source",line:e,column:t};this.advance();let a=this.readEscapedString(n);if(a===null||this.peek()!==n)return{type:c.ERROR,value:"unterminated transliteration dest",line:e,column:t};this.advance();let r=this.peek();for(;r===" "||r===" ";)this.advance(),r=this.peek();return r!==""&&r!==";"&&r!==`
|
|
34
|
+
`&&r!=="}"?{type:c.ERROR,value:"extra text at the end of a transform command",line:e,column:t}:{type:c.TRANSLITERATE,value:`y${n}${s}${n}${a}${n}`,source:s,dest:a,line:e,column:t}}readTextCommand(e,t,n){let s=!1;this.peek()==="\\"&&this.pos+1<this.input.length&&(this.input[this.pos+1]===`
|
|
35
|
+
`||this.input[this.pos+1]===" "||this.input[this.pos+1]===" ")&&(s=!0,this.advance()),(this.peek()===" "||this.peek()===" ")&&this.advance(),this.peek()==="\\"&&this.pos+1<this.input.length&&(this.input[this.pos+1]===" "||this.input[this.pos+1]===" ")&&this.advance(),s&&this.peek()===`
|
|
36
|
+
`&&this.advance();let a="";for(;this.pos<this.input.length;){let r=this.peek();if(r===`
|
|
37
|
+
`){if(a.endsWith("\\")){a=`${a.slice(0,-1)}
|
|
38
|
+
`,this.advance();continue}break}if(r==="\\"&&this.pos+1<this.input.length){let u=this.input[this.pos+1];if(u==="n"){a+=`
|
|
39
|
+
`,this.advance(),this.advance();continue}if(u==="t"){a+=" ",this.advance(),this.advance();continue}if(u==="r"){a+="\r",this.advance(),this.advance();continue}}a+=this.advance()}return{type:c.TEXT_CMD,value:e,text:a,line:t,column:n}}readBranch(e,t,n,s){for(;this.peek()===" "||this.peek()===" ";)this.advance();let a="";for(;this.pos<this.input.length;){let r=this.peek();if(r===" "||r===" "||r===`
|
|
40
|
+
`||r===";"||r==="}"||r==="{")break;a+=this.advance()}return{type:e,value:t,label:a||void 0,line:n,column:s}}readVersion(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===" "||s===" "||s===`
|
|
41
|
+
`||s===";"||s==="}"||s==="{")break;n+=this.advance()}return{type:c.VERSION,value:"v",label:n||void 0,line:e,column:t}}readFileCommand(e,t,n,s){for(;this.peek()===" "||this.peek()===" ";)this.advance();let a="";for(;this.pos<this.input.length;){let r=this.peek();if(r===`
|
|
42
|
+
`||r===";")break;a+=this.advance()}return{type:e,value:t,filename:a.trim(),line:n,column:s}}readExecute(e,t){for(;this.peek()===" "||this.peek()===" ";)this.advance();let n="";for(;this.pos<this.input.length;){let s=this.peek();if(s===`
|
|
43
|
+
`||s===";")break;n+=this.advance()}return{type:c.EXECUTE,value:"e",command:n.trim()||void 0,line:e,column:t}}isDigit(e){return e>="0"&&e<="9"}};var K=class{scripts;limits;tokens=[];pos=0;extendedRegex=!1;constructor(e,t=!1,n){this.scripts=e,this.limits=n,this.extendedRegex=t}parse(){let e=[];for(let t of this.scripts){let n=new M(t,this.limits?.maxStringLength,this.limits?.maxArrayElements);for(this.tokens=n.tokenize(),this.pos=0;!this.isAtEnd();){if(this.check(c.NEWLINE)||this.check(c.SEMICOLON)){this.advance();continue}let s=this.pos,a=this.parseCommand();if(a.error)return{commands:[],error:a.error};if(a.command&&e.push(a.command),this.pos===s&&!this.isAtEnd())return{commands:[],error:`unknown command: '${this.peek()?.value??this.peek()?.type}'`}}}return{commands:e}}parseCommand(){let e=this.parseAddressRange();if(e?.error)return{command:null,error:e.error};let t=e?.address;for(this.check(c.NEGATION)&&(this.advance(),t&&(t.negated=!0));this.check(c.NEWLINE)||this.check(c.SEMICOLON);)this.advance();if(this.isAtEnd())return t&&(t.start!==void 0||t.end!==void 0)?{command:null,error:"command expected"}:{command:null};let n=this.peek();switch(n.type){case c.COMMAND:return this.parseSimpleCommand(n,t);case c.SUBSTITUTE:return this.parseSubstituteFromToken(n,t);case c.TRANSLITERATE:return this.parseTransliterateFromToken(n,t);case c.LABEL_DEF:return this.advance(),{command:{type:"label",name:n.label||""}};case c.BRANCH:return this.advance(),{command:{type:"branch",address:t,label:n.label}};case c.BRANCH_ON_SUBST:return this.advance(),{command:{type:"branchOnSubst",address:t,label:n.label}};case c.BRANCH_ON_NO_SUBST:return this.advance(),{command:{type:"branchOnNoSubst",address:t,label:n.label}};case c.TEXT_CMD:return this.advance(),this.parseTextCommand(n,t);case c.FILE_READ:return this.advance(),{command:{type:"readFile",address:t,filename:n.filename||""}};case c.FILE_READ_LINE:return this.advance(),{command:{type:"readFileLine",address:t,filename:n.filename||""}};case c.FILE_WRITE:return this.advance(),{command:{type:"writeFile",address:t,filename:n.filename||""}};case c.FILE_WRITE_LINE:return this.advance(),{command:{type:"writeFirstLine",address:t,filename:n.filename||""}};case c.EXECUTE:return this.advance(),{command:{type:"execute",address:t,command:n.command}};case c.VERSION:return this.advance(),{command:{type:"version",address:t,minVersion:n.label}};case c.LBRACE:return this.parseGroup(t);case c.RBRACE:return{command:null};case c.ERROR:return{command:null,error:`invalid command: ${n.value}`};default:return t&&(t.start!==void 0||t.end!==void 0)?{command:null,error:"command expected"}:{command:null}}}parseSimpleCommand(e,t){this.advance();let n=e.value;switch(n){case"p":return{command:{type:"print",address:t}};case"P":return{command:{type:"printFirstLine",address:t}};case"d":return{command:{type:"delete",address:t}};case"D":return{command:{type:"deleteFirstLine",address:t}};case"h":return{command:{type:"hold",address:t}};case"H":return{command:{type:"holdAppend",address:t}};case"g":return{command:{type:"get",address:t}};case"G":return{command:{type:"getAppend",address:t}};case"x":return{command:{type:"exchange",address:t}};case"n":return{command:{type:"next",address:t}};case"N":return{command:{type:"nextAppend",address:t}};case"q":return{command:{type:"quit",address:t}};case"Q":return{command:{type:"quitSilent",address:t}};case"z":return{command:{type:"zap",address:t}};case"=":return{command:{type:"lineNumber",address:t}};case"l":return{command:{type:"list",address:t}};case"F":return{command:{type:"printFilename",address:t}};default:return{command:null,error:`unknown command: ${n}`}}}parseSubstituteFromToken(e,t){this.advance();let n=e.flags||"",s,a=n.match(/(\d+)/);return a&&(s=parseInt(a[1],10)),{command:{type:"substitute",address:t,pattern:e.pattern||"",replacement:e.replacement||"",global:n.includes("g"),ignoreCase:n.includes("i")||n.includes("I"),printOnMatch:n.includes("p"),nthOccurrence:s,extendedRegex:this.extendedRegex}}}parseTransliterateFromToken(e,t){this.advance();let n=e.source||"",s=e.dest||"";return n.length!==s.length?{command:null,error:"transliteration sets must have same length"}:{command:{type:"transliterate",address:t,source:n,dest:s}}}parseTextCommand(e,t){let n=e.value,s=e.text||"";switch(n){case"a":return{command:{type:"append",address:t,text:s}};case"i":return{command:{type:"insert",address:t,text:s}};case"c":return{command:{type:"change",address:t,text:s}};default:return{command:null,error:`unknown text command: ${n}`}}}parseGroup(e){this.advance();let t=[];for(;!this.isAtEnd()&&!this.check(c.RBRACE);){if(this.check(c.NEWLINE)||this.check(c.SEMICOLON)){this.advance();continue}let n=this.pos,s=this.parseCommand();if(s.error)return{command:null,error:s.error};if(s.command&&t.push(s.command),this.pos===n&&!this.isAtEnd())return{command:null,error:`unknown command: '${this.peek()?.value??this.peek()?.type}'`}}return this.check(c.RBRACE)?(this.advance(),{command:{type:"group",address:e,commands:t}}):{command:null,error:"unmatched brace in grouped commands"}}parseAddressRange(){if(this.check(c.COMMA))return{error:"expected context address"};let e=this.parseAddress();if(e===void 0)return;let t;if(this.check(c.RELATIVE_OFFSET))t={offset:this.advance().offset||0};else if(this.check(c.COMMA)&&(this.advance(),t=this.parseAddress(),t===void 0))return{error:"expected context address"};return{address:{start:e,end:t}}}parseAddress(){let e=this.peek();switch(e.type){case c.NUMBER:return this.advance(),e.value;case c.DOLLAR:return this.advance(),"$";case c.PATTERN:return this.advance(),{pattern:e.pattern||e.value};case c.STEP:return this.advance(),{first:e.first||0,step:e.step||0};case c.RELATIVE_OFFSET:return this.advance(),{offset:e.offset||0};default:return}}peek(){return this.tokens[this.pos]||{type:c.EOF,value:"",line:0,column:0}}advance(){return this.isAtEnd()||this.pos++,this.tokens[this.pos-1]}check(e){return this.peek().type===e}isAtEnd(){return this.peek().type===c.EOF}};function ce(i,e=!1,t){if(t){if(i.length>t.maxArrayElements)throw new x(`sed: script count limit exceeded (${t.maxArrayElements})`,"array_elements");let h=Math.max(0,i.length-1);for(let p of i)if(h+=te(p),h>t.maxStringLength)throw new x(`sed: script size limit exceeded (${t.maxStringLength} bytes)`,"string_length")}let n=!1,s=!1,a=[];for(let h=0;h<i.length;h++){let p=i[h];if(a.length===0&&h===0){let k=p.match(/^#([nr]+)\s*(?:\n|$)/i);if(k){let m=k[1].toLowerCase();m.includes("n")&&(n=!0),m.includes("r")&&(s=!0),p=p.slice(k[0].length)}}if(a.length>0&&a[a.length-1].endsWith("\\")){let k=a[a.length-1];a[a.length-1]=`${k}
|
|
44
|
+
${p}`}else a.push(p)}let r=a.join(`
|
|
45
|
+
`),o=new K([r],e||s,t).parse();if(!o.error&&o.commands.length>0){let h=ke(o.commands);if(h)return{commands:[],error:h,silentMode:n,extendedRegexMode:s}}return{...o,silentMode:n,extendedRegexMode:s}}function ke(i){let e=new Set;oe(i,e);let t=le(i,e);if(t)return`undefined label '${t}'`}function oe(i,e){for(let t of i)t.type==="label"?e.add(t.name):t.type==="group"&&oe(t.commands,e)}function le(i,e){for(let t of i){if((t.type==="branch"||t.type==="branchOnSubst"||t.type==="branchOnNoSubst")&&t.label&&!e.has(t.label))return t.label;if(t.type==="group"){let n=le(t.commands,e);if(n)return n}}}var Re={name:"sed",summary:"stream editor for filtering and transforming text",usage:"sed [OPTION]... {script} [input-file]...",options:["-n, --quiet, --silent suppress automatic printing of pattern space","-e script add the script to commands to be executed","-f script-file read script from file","-i, --in-place edit files in place","-E, -r, --regexp-extended use extended regular expressions"," --help display this help and exit"],description:`Commands:
|
|
46
|
+
s/regexp/replacement/[flags] substitute
|
|
47
|
+
d delete pattern space
|
|
48
|
+
p print pattern space
|
|
49
|
+
a\\ text append text after line
|
|
50
|
+
i\\ text insert text before line
|
|
51
|
+
c\\ text change (replace) line with text
|
|
52
|
+
h copy pattern space to hold space
|
|
53
|
+
H append pattern space to hold space
|
|
54
|
+
g copy hold space to pattern space
|
|
55
|
+
G append hold space to pattern space
|
|
56
|
+
x exchange pattern and hold spaces
|
|
57
|
+
n read next line into pattern space
|
|
58
|
+
N append next line to pattern space
|
|
59
|
+
y/source/dest/ transliterate characters
|
|
60
|
+
= print line number
|
|
61
|
+
l list pattern space (escape special chars)
|
|
62
|
+
b [label] branch to label
|
|
63
|
+
t [label] branch on substitution
|
|
64
|
+
T [label] branch if no substitution
|
|
65
|
+
:label define label
|
|
66
|
+
q quit
|
|
67
|
+
Q quit without printing
|
|
68
|
+
|
|
69
|
+
Addresses:
|
|
70
|
+
N line number
|
|
71
|
+
$ last line
|
|
72
|
+
/regexp/ lines matching regexp
|
|
73
|
+
N,M range from line N to M
|
|
74
|
+
first~step every step-th line starting at first`};async function Q(i,e,t,n={}){let{limits:s,filename:a,fs:r,cwd:u,coverage:o,requireDefenseContext:h}=n;U(h,"sed","processing entry");let p=(R,g)=>z(h,"sed",R,g),k=i.endsWith(`
|
|
75
|
+
`),m=i.split(`
|
|
76
|
+
`);m.length>0&&m[m.length-1]===""&&m.pop();let d=m.length,E="",l,f=!1,b=s?.maxStringLength??0,v=R=>{if(E+=R,b>0&&E.length>b)throw new x(`sed: output size limit exceeded (${b} bytes)`,"string_length")},w="",J,ue=new Map,T=new Map,B=new Map,D=new Map,he=s?{maxIterations:s.maxSedIterations,maxStringLength:b}:void 0;for(let R=0;R<m.length;R++){let g={...ae(d,a,ue),patternSpace:m[R],holdSpace:w,lastPattern:J,lineNumber:R+1,totalLines:d,substitutionMade:!1,coverage:o},F={lines:m,currentLineIndex:R},Y=0,fe=1e4;g.linesConsumedInCycle=0;do{if(Y++,Y>fe)break;if(g.restartCycle=!1,g.pendingFileReads=[],g.pendingFileWrites=[],Z(e,g,F,he),r&&u){for(let C of g.pendingFileReads){let S=r.resolvePath(u,C.filename);try{if(C.wholeFile){let y=await p("read command file",()=>r.readFile(S));g.appendBuffer.push(y.replace(/\n$/,""))}else{if(!T.has(S)){let pe=await p("read command file line cache",()=>r.readFile(S));T.set(S,pe.split(`
|
|
77
|
+
`)),B.set(S,0)}let y=T.get(S),_=B.get(S);y&&_!==void 0&&_<y.length&&(g.appendBuffer.push(y[_]),B.set(S,_+1))}}catch(y){if(y instanceof I)throw y}}for(let C of g.pendingFileWrites){let S=r.resolvePath(u,C.filename),y=D.get(S)||"";D.set(S,y+C.content)}}}while(g.restartCycle&&!g.deleted&&!g.quit&&!g.quitSilent);if(R+=g.linesConsumedInCycle,w=g.holdSpace,J=g.lastPattern,!t)for(let C of g.nCommandOutput)v(`${C}
|
|
78
|
+
`);let de=g.lineNumberOutput.length>0;for(let C of g.lineNumberOutput)v(`${C}
|
|
79
|
+
`);let ee=[],q=[];for(let C of g.appendBuffer)C.startsWith("__INSERT__")?ee.push(C.slice(10)):q.push(C);for(let C of ee)v(`${C}
|
|
80
|
+
`);let $=!1;!g.deleted&&!g.quitSilent?t?g.printed&&(v(`${g.patternSpace}
|
|
81
|
+
`),$=!0):(v(`${g.patternSpace}
|
|
82
|
+
`),$=!0):g.changedText!==void 0&&(v(`${g.changedText}
|
|
83
|
+
`),$=!0);for(let C of q)v(`${C}
|
|
84
|
+
`);if(f=(de||$)&&q.length===0,g.quit||g.quitSilent){if(g.exitCode!==void 0&&(l=g.exitCode),g.errorMessage)return{output:"",exitCode:l||1,errorMessage:g.errorMessage};break}}if(r&&u)for(let[R,g]of D)try{await p("flush pending file writes",()=>r.writeFile(R,g))}catch(F){if(F instanceof I)throw F}return!k&&f&&E.endsWith(`
|
|
85
|
+
`)&&(E=E.slice(0,-1)),{output:E,exitCode:l}}var He={name:"sed",async execute(i,e){U(e.requireDefenseContext,"sed","execution entry");let t=(l,f)=>z(e.requireDefenseContext,"sed",l,f);if(ie(i))return ne(Re);let n=[],s=[],a=!1,r=!1,u=!1,o=[];for(let l=0;l<i.length;l++){let f=i[l];if(f==="-n"||f==="--quiet"||f==="--silent")a=!0;else if(f==="-i"||f==="--in-place")r=!0;else if(f.startsWith("-i"))r=!0;else if(f==="-E"||f==="-r"||f==="--regexp-extended")u=!0;else if(f==="-e")l+1<i.length&&n.push(i[++l]);else if(f==="-f")l+1<i.length&&s.push(i[++l]);else{if(f.startsWith("--"))return W("sed",f);if(f==="-")o.push(f);else if(f.startsWith("-")&&f.length>1){for(let b of f.slice(1))if(b!=="n"&&b!=="e"&&b!=="f"&&b!=="i"&&b!=="E"&&b!=="r")return W("sed",`-${b}`);f.includes("n")&&(a=!0),f.includes("i")&&(r=!0),(f.includes("E")||f.includes("r"))&&(u=!0),f.includes("e")&&!f.includes("n")&&!f.includes("i")&&l+1<i.length&&n.push(i[++l]),f.includes("f")&&!f.includes("e")&&l+1<i.length&&s.push(i[++l])}else!f.startsWith("-")&&n.length===0&&s.length===0?n.push(f):f.startsWith("-")||o.push(f)}}for(let l of s){let f=e.fs.resolvePath(e.cwd,l);try{let b=await t("script file read",()=>e.fs.readFile(f));for(let v of b.split(`
|
|
86
|
+
`)){let w=v.trim();w&&!w.startsWith("#")&&n.push(w)}}catch(b){if(b instanceof I)throw b;return{stdout:"",stderr:`sed: couldn't open file ${l}: No such file or directory
|
|
87
|
+
`,exitCode:1}}}if(n.length===0)return{stdout:"",stderr:`sed: no script specified
|
|
88
|
+
`,exitCode:1};let{commands:h,error:p,silentMode:k}=ce(n,u,e.limits);if(p)return{stdout:"",stderr:`sed: ${p}
|
|
89
|
+
`,exitCode:1};let m=!!(a||k);if(r){if(o.length===0)return{stdout:"",stderr:`sed: -i requires at least one file argument
|
|
90
|
+
`,exitCode:1};for(let l of o){if(l==="-")continue;let f=e.fs.resolvePath(e.cwd,l);try{let b=await t("in-place input read",()=>e.fs.readFile(f)),v=await t("in-place processing",()=>Q(b,h,m,{limits:e.limits,filename:l,fs:e.fs,cwd:e.cwd,coverage:e.coverage,requireDefenseContext:e.requireDefenseContext}));if(v.errorMessage)return{stdout:"",stderr:`${v.errorMessage}
|
|
91
|
+
`,exitCode:v.exitCode??1};await t("in-place output write",()=>e.fs.writeFile(f,v.output))}catch(b){if(b instanceof I)throw b;return b instanceof x?{stdout:"",stderr:`sed: ${N(b.message)}
|
|
92
|
+
`,exitCode:x.EXIT_CODE}:{stdout:"",stderr:`sed: ${l}: No such file or directory
|
|
93
|
+
`,exitCode:1}}}return{stdout:"",stderr:"",exitCode:0}}let d="";if(o.length===0){d=P(e.stdin);try{let l=await t("stdin processing",()=>Q(d,h,m,{limits:e.limits,fs:e.fs,cwd:e.cwd,coverage:e.coverage,requireDefenseContext:e.requireDefenseContext}));return{stdout:l.output,stderr:l.errorMessage?`${l.errorMessage}
|
|
94
|
+
`:"",exitCode:l.exitCode??0}}catch(l){if(l instanceof I)throw l;if(l instanceof x)return{stdout:"",stderr:`sed: ${N(l.message)}
|
|
95
|
+
`,exitCode:x.EXIT_CODE};throw l}}let E=!1;for(let l of o){let f;if(l==="-")E?f="":(f=P(e.stdin),E=!0);else{let b=e.fs.resolvePath(e.cwd,l);try{f=await t("input file read",()=>e.fs.readFile(b))}catch(v){if(v instanceof I)throw v;return v instanceof x?{stdout:"",stderr:`sed: ${N(v.message)}
|
|
96
|
+
`,exitCode:x.EXIT_CODE}:{stdout:"",stderr:`sed: ${l}: No such file or directory
|
|
97
|
+
`,exitCode:1}}}d.length>0&&f.length>0&&!d.endsWith(`
|
|
98
|
+
`)&&(d+=`
|
|
99
|
+
`),d+=f}try{let l=await t("final processing",()=>Q(d,h,m,{limits:e.limits,filename:o.length===1?o[0]:void 0,fs:e.fs,cwd:e.cwd,coverage:e.coverage,requireDefenseContext:e.requireDefenseContext}));return{stdout:l.output,stderr:l.errorMessage?`${l.errorMessage}
|
|
100
|
+
`:"",exitCode:l.exitCode??0}}catch(l){if(l instanceof I)throw l;if(l instanceof x)return{stdout:"",stderr:`sed: ${N(l.message)}
|
|
101
|
+
`,exitCode:x.EXIT_CODE};throw l}}},Ve={name:"sed",flags:[{flag:"-n",type:"boolean"},{flag:"-i",type:"boolean"},{flag:"-E",type:"boolean"},{flag:"-r",type:"boolean"},{flag:"-e",type:"value",valueHint:"string"}],stdinType:"text",needsArgs:!0};export{He as a,Ve as b};
|