@poe-platform/safe-bash 0.1.800 → 0.1.802
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/README.md +16 -5
- package/dist/image-ast/index.browser.js +122 -76
- package/dist/image-ast/index.js +122 -76
- package/dist/pdf-ast/index.js +4 -3
- package/dist/safe-bash/chunks/chunk-3HQU4OJO.js +13 -0
- package/dist/safe-bash/chunks/{chunk-LUOFIVNI.js → chunk-3NDIFSNM.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-4SEW2Q6H.js → chunk-3R3AANOR.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-44ALJ4QG.js} +5809 -7424
- package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
- package/dist/safe-bash/chunks/chunk-4BSJLKNM.js +14 -0
- package/dist/safe-bash/chunks/chunk-4D4N7IU2.js +47 -0
- package/dist/safe-bash/chunks/chunk-55YJASTN.js +14 -0
- package/dist/safe-bash/chunks/{chunk-XB3B7KMM.js → chunk-6O77NL2S.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-T3JTVIEP.js → chunk-6PAVEFT3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PYVEAFJM.js → chunk-74GHTNJA.js} +3 -2
- package/dist/safe-bash/chunks/{chunk-LQHGH25W.js → chunk-7R5BDCG7.js} +1 -1
- package/dist/safe-bash/chunks/chunk-7ZBU7KYV.js +14 -0
- package/dist/safe-bash/chunks/{chunk-MHZ24KEI.js → chunk-AM5ESLPH.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-3L3T6LYV.js → chunk-AUSNDQTJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-YG5WAHK7.js → chunk-B7TAL7S5.js} +1 -3
- package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-BJA5XNP6.js} +6 -6
- package/dist/safe-bash/chunks/{chunk-K7IQZE7D.js → chunk-C5OWC2TL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-F3RV2F72.js → chunk-CHYGPFVM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-M4CFCXHN.js → chunk-CS4MNM6I.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-H6JW3E4F.js → chunk-CTVWDACF.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-BHJE5LPZ.js → chunk-D3ANYGMC.js} +1 -1
- package/dist/safe-bash/chunks/chunk-DQP3VHSB.js +15 -0
- package/dist/safe-bash/chunks/{chunk-NLAW7KDI.js → chunk-E7OYNDGL.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-SOZK5JVX.js → chunk-FBUCWVTE.js} +1 -1
- package/dist/safe-bash/chunks/chunk-FZE4HW6G.js +11 -0
- package/dist/safe-bash/chunks/chunk-GEG3BWGE.js +14 -0
- package/dist/safe-bash/chunks/{chunk-HHW7MGS2.js → chunk-GETUOD5D.js} +4 -4
- package/dist/safe-bash/chunks/chunk-HBCN24ZA.js +50 -0
- package/dist/safe-bash/chunks/chunk-HZ7BWKQ3.js +13 -0
- package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-HZAMGT5I.js} +3 -3
- package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KV7PKOHV.js → chunk-IWDICZVK.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I4OAEOP6.js → chunk-J42RIHHJ.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-K2VCOJ2B.js → chunk-K6VCD7IY.js} +7 -12
- package/dist/safe-bash/chunks/chunk-KDNSPLII.js +83 -0
- package/dist/safe-bash/chunks/{chunk-63FXVDGF.js → chunk-LVOBFF4D.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-U5NUZPCC.js → chunk-MHMMRCYC.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KW24TAIU.js → chunk-NQCM3TYR.js} +922 -658
- package/dist/safe-bash/chunks/{chunk-VYZTG3GV.js → chunk-NZQXYWA3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TFGRKY43.js → chunk-OQRVVGR6.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-PPYM75Z3.js → chunk-OV6IHKO6.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-PH63PLPZ.js} +8 -8
- package/dist/safe-bash/chunks/chunk-QGUV42T5.js +44 -0
- package/dist/safe-bash/chunks/chunk-R3NAKOED.js +51 -0
- package/dist/safe-bash/chunks/chunk-RRR7AQ24.js +38 -0
- package/dist/safe-bash/chunks/{chunk-RKKRJ54E.js → chunk-RSTHLAF3.js} +30 -23
- package/dist/safe-bash/chunks/{chunk-RMWLWH7Q.js → chunk-SHEMU2Z7.js} +378 -1148
- package/dist/safe-bash/chunks/{chunk-7YSRXFEG.js → chunk-TFIBK2GI.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-I7L3G3NX.js → chunk-UE5KZDEK.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-QU3BVQ53.js → chunk-UTBUUFDM.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-6HZYFL3H.js → chunk-VKNVHEX3.js} +2 -7
- package/dist/safe-bash/chunks/chunk-VSAJ4OTM.js +962 -0
- package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-JTLSUJ7V.js → chunk-WDLGKIHD.js} +56 -39
- package/dist/safe-bash/chunks/chunk-XAQMU6OY.js +14 -0
- package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
- package/dist/safe-bash/chunks/chunk-ZVD5IS4V.js +49 -0
- package/dist/safe-bash/chunks/{csvkit-QGP3GAOB.js → csvkit-TACDU7FC.js} +3 -3
- package/dist/safe-bash/chunks/{ffmpeg-JTVH26MK.js → ffmpeg-WTC3TEFI.js} +2 -2
- package/dist/safe-bash/chunks/{gh-I7QX7N5C.js → gh-6WU6PXL4.js} +2 -2
- package/dist/safe-bash/chunks/{git-MA7NKYVP.js → git-EFZIGJW4.js} +2 -2
- package/dist/safe-bash/chunks/{imagemagick-Y4NPWX2Q.js → imagemagick-EIEYGWPF.js} +2 -2
- package/dist/safe-bash/chunks/{implementation-BWDKOVQJ.js → implementation-MLFHUQ5M.js} +2 -2
- package/dist/safe-bash/chunks/{mmdc-44PELHDG.js → mmdc-ROQJT5HQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdfimages-635TRW4Q.js → pdfimages-DW7LWXFI.js} +2 -2
- package/dist/safe-bash/chunks/{pdfinfo-FSDAA2KY.js → pdfinfo-TIP6XLUQ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftk-GQ5UH3VG.js → pdftk-DMG22ITZ.js} +2 -2
- package/dist/safe-bash/chunks/{pdftoppm-YTXQCAYT.js → pdftoppm-WNDYR72T.js} +2 -2
- package/dist/safe-bash/chunks/{pdftotext-CVA2G7FY.js → pdftotext-5IPZ4NI7.js} +2 -2
- package/dist/safe-bash/chunks/{qpdf-HZMIFG4A.js → qpdf-TTX2DIUA.js} +2 -2
- package/dist/safe-bash/chunks/{sips-E7UBDP33.js → sips-XYS46JPJ.js} +2 -2
- package/dist/safe-bash/chunks/{soffice-ELASUWUK.js → soffice-TU73E5KL.js} +2 -2
- package/dist/safe-bash/chunks/{wkhtmltopdf-EPO6YCMG.js → wkhtmltopdf-FSZ2CHGE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-QBGA56UH.js → chunk-2ELYGJDD.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-52PCQXD2.js → chunk-2NHI5F5S.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-HDKVO47G.js → chunk-2SQEIUGJ.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-5LSGEIZY.js → chunk-3HHCU5YU.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-TF6OA2GK.js → chunk-3NV3HYT2.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-2QHG43WJ.js → chunk-4BB2SWJ5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IEXHHNOF.js → chunk-4J5CZ2DP.js} +2 -7
- package/dist/safe-bash/command-chunks/{chunk-WDHI3S6Y.js → chunk-4OOUQTQO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-YMONDXET.js → chunk-4ZQWGOZB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-L6DVEBW3.js → chunk-5BSTFCXG.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-Q3DII3Q7.js → chunk-5PWJG2UK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-JMPP4TCW.js → chunk-5UBXNSFZ.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3NG75MOB.js → chunk-67GQA75T.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-L6SU4S26.js → chunk-6B7WQIKB.js} +0 -7
- package/dist/safe-bash/command-chunks/{chunk-V6MSPQLA.js → chunk-6BNTBWIK.js} +4 -39
- package/dist/safe-bash/command-chunks/{chunk-SAMH7SQE.js → chunk-6GWJUQAV.js} +237 -145
- package/dist/safe-bash/command-chunks/{chunk-JN7WIP6S.js → chunk-6KJ3LPI2.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HLDTOR7M.js → chunk-6ZVI7LUY.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-X6NJC3IC.js → chunk-75OFBY5R.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-MRW5HD2D.js → chunk-7O3E4LPT.js} +4 -22
- package/dist/safe-bash/command-chunks/{chunk-TEVJJPTC.js → chunk-7U7EXOXX.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6CYTRQ24.js → chunk-7VTKQUA5.js} +20 -17
- package/dist/safe-bash/command-chunks/{chunk-BZPAWTUL.js → chunk-AEF5BA3D.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-63R3FEZJ.js → chunk-AIV5BF5W.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AYUTO323.js → chunk-AKJG2XD3.js} +2 -18
- package/dist/safe-bash/command-chunks/{chunk-J34TZVMW.js → chunk-ALDC4XP4.js} +0 -5
- package/dist/safe-bash/command-chunks/{chunk-CKXV2CLD.js → chunk-ARBYOQUZ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-44AHAB5O.js → chunk-BDSMROQZ.js} +1 -4
- package/dist/safe-bash/command-chunks/{chunk-53P53XFM.js → chunk-BPE5INLI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-OT4LZMLB.js → chunk-BR73BIOW.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WB5SVIG7.js → chunk-C5YYCQHW.js} +498 -88
- package/dist/safe-bash/command-chunks/{chunk-EUSPTFAX.js → chunk-CAP7ZJSY.js} +7 -7
- package/dist/safe-bash/command-chunks/{chunk-DWFLVJC6.js → chunk-CCRHMAU5.js} +2 -1
- package/dist/safe-bash/command-chunks/{chunk-GI4CJED2.js → chunk-CQTRW45K.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-KKG4BAFZ.js → chunk-DIEPXUM4.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-QJAFJP2G.js → chunk-DZCY63VJ.js} +12 -10
- package/dist/safe-bash/command-chunks/{chunk-QUENU6GM.js → chunk-E55UKBIE.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-MC3VWLIZ.js → chunk-FDBUV4HJ.js} +28 -19
- package/dist/safe-bash/command-chunks/{chunk-7FKUC34S.js → chunk-FPVUD6TH.js} +6 -3
- package/dist/safe-bash/command-chunks/{chunk-E2LB7FRT.js → chunk-FXOA7RBK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QWIDNAAK.js → chunk-FZTK4MFI.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-K543PB3I.js → chunk-G66QUHIZ.js} +6 -35
- package/dist/safe-bash/command-chunks/{chunk-YJDV76GL.js → chunk-GFQZCKO6.js} +29 -19
- package/dist/safe-bash/command-chunks/{chunk-FKKB5X5V.js → chunk-GOB777HR.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IYPAQ7PH.js → chunk-GRBWW4SG.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-EFANWIHL.js → chunk-GY3BWK7K.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-PPNBNFAU.js → chunk-GYQ2HAKQ.js} +8 -8
- package/dist/safe-bash/command-chunks/{chunk-PJJUYO3R.js → chunk-II77KPZN.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-VL67NWNS.js → chunk-JDYXY44P.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4QJOYXVB.js → chunk-JV7LBUTP.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-IKS2YXZQ.js → chunk-K67MWWWH.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-BKCNF5U3.js → chunk-KQLD3AED.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-UMDIOL3O.js → chunk-KXU3IRUO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QZF3SINC.js → chunk-LAOM65EE.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-HFII3QYO.js → chunk-LWS62ISU.js} +46 -32
- package/dist/safe-bash/command-chunks/{chunk-BZDDAPSV.js → chunk-LWSBAWLT.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-U6G67N23.js → chunk-MIXBO6U7.js} +18 -5
- package/dist/safe-bash/command-chunks/{chunk-JQ74HC37.js → chunk-MQFIPHIQ.js} +23 -50
- package/dist/safe-bash/command-chunks/{chunk-ZJBR5Q5I.js → chunk-MSFXC3OC.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-NI7MKJPN.js → chunk-MTQH74CF.js} +3 -55
- package/dist/safe-bash/command-chunks/chunk-MWUZZWXK.js +354 -0
- package/dist/safe-bash/command-chunks/{chunk-RVLO4DYT.js → chunk-N4PFUSRM.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-WBNZ4PRE.js → chunk-NGG2XL56.js} +7 -4
- package/dist/safe-bash/command-chunks/{chunk-D4OP2BR3.js → chunk-NKFYQSES.js} +1 -2
- package/dist/safe-bash/command-chunks/{chunk-NGWB2YBL.js → chunk-O4JQSB7O.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-GLOZX57Y.js → chunk-OQKC5ZU2.js} +23 -114
- package/dist/safe-bash/command-chunks/{chunk-7L24L4UO.js → chunk-OQU6UT6X.js} +2 -20
- package/dist/safe-bash/command-chunks/{chunk-TYCGMRLM.js → chunk-OYYV7ZAF.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-SVULUDOP.js → chunk-P2N33UMN.js} +20 -81
- package/dist/safe-bash/command-chunks/{chunk-Q7Q5GM5S.js → chunk-P5APDEFB.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-3HXDA5PT.js → chunk-PMBFZXTK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-4Y3WVMK4.js → chunk-PV66YWHB.js} +1 -0
- package/dist/safe-bash/command-chunks/{chunk-AXK3H4PX.js → chunk-QJ33BHI4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-3LSOYLNV.js → chunk-QKFSRZGQ.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-JZSNU2MY.js → chunk-QKJLP53H.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-LC2MFKT4.js → chunk-RMWQAAO5.js} +24 -25
- package/dist/safe-bash/command-chunks/{chunk-QDTBMSBE.js → chunk-RO62EWX6.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-4C6QI5BQ.js → chunk-RZZI24ZE.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-PFAADCB5.js → chunk-SDNBCQ3X.js} +10 -24
- package/dist/safe-bash/command-chunks/{chunk-36O5OT7E.js → chunk-T35Y7YQD.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-6HMX4CQS.js → chunk-TGSNCQSR.js} +44 -16
- package/dist/safe-bash/command-chunks/{chunk-5T7CRJHW.js → chunk-TIOCQVUQ.js} +4 -7
- package/dist/safe-bash/command-chunks/{chunk-GN2TKLE7.js → chunk-TS65BJHG.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-7RGB363W.js → chunk-TSCGT46G.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-KBEURXFF.js → chunk-UN6WS55J.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-SX2X3IH4.js → chunk-V2V5OCL3.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ERYJLO6G.js → chunk-V7A7DRTU.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-5SHGJ7NO.js → chunk-VA5ZHYYA.js} +73 -33
- package/dist/safe-bash/command-chunks/{chunk-XETLEHZP.js → chunk-VPR5LQYX.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-3DT2YOGW.js → chunk-VSRGNQCP.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-N2F74VRO.js → chunk-VT6MJBEI.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-J5SN3PZ3.js → chunk-VXSLJH7G.js} +53 -3
- package/dist/safe-bash/command-chunks/{chunk-PXYOWWMV.js → chunk-W7RAD4EW.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-YGC6OS5O.js → chunk-WECIOOQB.js} +5 -8
- package/dist/safe-bash/command-chunks/{chunk-HHP343KT.js → chunk-WTECBRU4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AO6Z5EQ7.js → chunk-WVE64WM2.js} +6 -5
- package/dist/safe-bash/command-chunks/{chunk-Z7RVSD5K.js → chunk-WVHONVZ4.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-HLGKIZ25.js → chunk-X54L3DBL.js} +6 -9
- package/dist/safe-bash/command-chunks/{chunk-QNIMV57G.js → chunk-XNLFHHOC.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-XAFSZDY2.js → chunk-XS72HTMA.js} +11 -0
- package/dist/safe-bash/command-chunks/{chunk-KYSPGS33.js → chunk-YIQACGEW.js} +2 -0
- package/dist/safe-bash/command-chunks/{chunk-NAY27PXB.js → chunk-YOFC45RK.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-T5H5UJQ3.js → chunk-YVNGTIJO.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-QI7LGHJJ.js → chunk-Z45N42QC.js} +21 -6
- package/dist/safe-bash/command-chunks/{chunk-67IQF5GC.js → chunk-ZYHTWNAE.js} +23 -9
- package/dist/safe-bash/command-chunks/{chunk-STC3LEWJ.js → chunk-ZYXH3B66.js} +5 -3
- package/dist/safe-bash/commands/apply-patch/index.browser.js +14 -0
- package/dist/safe-bash/commands/archive/index.browser.js +36 -0
- package/dist/safe-bash/commands/bytes/compression/index.js +3 -2
- package/dist/safe-bash/commands/column/index.browser.js +12 -0
- package/dist/safe-bash/commands/copy-preserve.d.ts +1 -0
- package/dist/safe-bash/commands/csplit/index.browser.js +2 -2
- package/dist/safe-bash/commands/docx/index.browser.js +1 -1
- package/dist/safe-bash/commands/du/index.browser.js +14 -0
- package/dist/safe-bash/commands/execution.js +19 -13
- package/dist/safe-bash/commands/expr/index.browser.js +12 -0
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/file/index.browser.js +14 -0
- package/dist/safe-bash/commands/filesystem.d.ts +1 -1
- package/dist/safe-bash/commands/filesystem.js +26 -15
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/grep-aliases/index.browser.js +14 -0
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- package/dist/safe-bash/commands/html-to-markdown/index.browser.js +16 -0
- package/dist/safe-bash/commands/htmlq/index.d.ts +1 -1
- package/dist/safe-bash/commands/iconv/index.browser.js +2 -2
- package/dist/safe-bash/commands/line-endings/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/index.browser.js +2 -2
- package/dist/safe-bash/commands/llm/providers/index.browser.js +1 -1
- package/dist/safe-bash/commands/mdq/index.browser.js +3 -3
- package/dist/safe-bash/commands/media/index.browser.js +1 -1
- package/dist/safe-bash/commands/metadata/index.browser.js +21 -0
- package/dist/safe-bash/commands/network/curl.d.ts +1 -1
- package/dist/safe-bash/commands/network/curl.js +1 -3
- package/dist/safe-bash/commands/network/index.browser.js +4 -4
- package/dist/safe-bash/commands/network/platform-portable.d.ts +1 -5
- package/dist/safe-bash/commands/network/platform-portable.js +1 -26
- package/dist/safe-bash/commands/network/public.d.ts +2 -2
- package/dist/safe-bash/commands/network/public.js +2 -2
- package/dist/safe-bash/commands/network/transport.js +2 -2
- package/dist/safe-bash/commands/network/wget.d.ts +1 -1
- package/dist/safe-bash/commands/network/wget.js +1 -3
- package/dist/safe-bash/commands/node/filesystem.js +3 -2
- package/dist/safe-bash/commands/node/index.browser.js +8 -8
- package/dist/safe-bash/commands/node/types.js +1 -1
- package/dist/safe-bash/commands/op/index.browser.js +3 -3
- package/dist/safe-bash/commands/pr/index.browser.js +2 -2
- package/dist/safe-bash/commands/python/host-capabilities.js +31 -14
- package/dist/safe-bash/commands/python/index.browser.js +11 -11
- package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
- package/dist/safe-bash/commands/python/manifest.js +6 -3
- package/dist/safe-bash/commands/python/shell-capability.d.ts +1 -0
- package/dist/safe-bash/commands/python/shell-capability.js +3 -2
- package/dist/safe-bash/commands/python/worker.browser.js +3 -3
- package/dist/safe-bash/commands/regex-execution/public.browser.js +8 -6
- package/dist/safe-bash/commands/safejs/runtime.js +16 -7
- package/dist/safe-bash/commands/split/index.browser.js +14 -0
- package/dist/safe-bash/commands/standard.d.ts +1 -0
- package/dist/safe-bash/commands/standard.js +2 -1
- package/dist/safe-bash/commands/stream-format/index.browser.js +11 -0
- package/dist/safe-bash/commands/stream-inspection/index.browser.js +11 -0
- package/dist/safe-bash/commands/streams.js +11 -29
- package/dist/safe-bash/commands/table-text/index.browser.js +11 -0
- package/dist/safe-bash/commands/text.js +269 -496
- package/dist/safe-bash/commands/time-env/index.browser.js +15 -0
- package/dist/safe-bash/commands/tree/index.browser.js +14 -0
- package/dist/safe-bash/commands/tsort/index.browser.js +2 -2
- package/dist/safe-bash/commands/xml/index.browser.js +2 -2
- package/dist/safe-bash/commands/yq/index.browser.js +2 -2
- package/dist/safe-bash/core.browser.js +1 -1
- package/dist/safe-bash/core.d.ts +6 -1
- package/dist/safe-bash/core.js +1 -1
- package/dist/safe-bash/full-core.browser.js +308 -295
- package/dist/safe-bash/jobs.browser.js +5 -5
- package/dist/safe-bash/opt-in/commands/dd/index.js +2 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.d.ts +1 -0
- package/dist/safe-bash/opt-in/optional/commands/shuf/options.js +2 -4
- package/dist/safe-bash/opt-in/optional/commands/shuf/shuf.js +2 -1
- package/dist/safe-bash/optional-host.browser.js +15 -15
- package/dist/safe-bash/plugins/composition.d.ts +1 -0
- package/dist/safe-bash/plugins/composition.js +3 -8
- package/dist/safe-bash/plugins/index.browser.js +41 -27
- package/dist/safe-bash/registry-entry.browser.js +42 -28
- package/dist/safe-bash/search.browser.js +48 -0
- package/dist/safe-bash/shell/arrays/bindings.js +1 -1
- package/dist/safe-bash/shell/arrays/state.js +4 -0
- package/dist/safe-bash/shell/brace-expansion.js +1 -1
- package/dist/safe-bash/shell/dynamic-variables.d.ts +10 -0
- package/dist/safe-bash/shell/dynamic-variables.js +25 -0
- package/dist/safe-bash/shell/parser.js +8 -1
- package/dist/safe-bash/shell/runtime.d.ts +4 -13
- package/dist/safe-bash/shell/runtime.js +334 -1049
- package/dist/safe-bash/shell/shell.js +2 -54
- package/dist/safe-bash/shell-entry.browser.js +35 -26
- package/dist/safe-bash/trap.browser.js +4 -4
- package/dist/safe-bash/yq-browser/index.js +1 -1
- package/dist/safe-bash-base-encoding-engine/base.js +2 -2
- package/dist/safe-bash-base-encoding-engine/shared.js +1 -1
- package/dist/safe-bash-byte-input-engine/index.d.ts +3 -2
- package/dist/safe-bash-byte-input-engine/index.js +4 -1
- package/dist/safe-bash-checksum-engine/index.js +13 -6
- package/dist/safe-bash-command-apply-patch/apply.d.ts +1 -1
- package/dist/safe-bash-command-apply-patch/apply.js +4 -3
- package/dist/safe-bash-command-apply-patch/index.js +3 -3
- package/dist/safe-bash-command-apply-patch/matcher.js +1 -1
- package/dist/safe-bash-command-apply-patch/parser.js +1 -1
- package/dist/safe-bash-command-awk/awk-inspection.js +2 -2
- package/dist/safe-bash-command-awk/awk-runtime.js +3 -3
- package/dist/safe-bash-command-awk/awk-syntax.d.ts +1 -1
- package/dist/safe-bash-command-awk/awk-syntax.js +2 -2
- package/dist/safe-bash-command-awk/awk-values.js +1 -1
- package/dist/safe-bash-command-awk/awk.js +5 -5
- package/dist/safe-bash-command-awk/index.js +5 -5
- package/dist/safe-bash-command-bc/index.d.ts +2 -0
- package/dist/safe-bash-command-bc/index.js +123 -92
- package/dist/safe-bash-command-column/column.js +5 -5
- package/dist/safe-bash-command-column/display.d.ts +1 -1
- package/dist/safe-bash-command-column/display.js +1 -1
- package/dist/safe-bash-command-column/index.js +5 -5
- package/dist/safe-bash-command-column/internal.d.ts +0 -2
- package/dist/safe-bash-command-column/internal.js +1 -1
- package/dist/safe-bash-command-column/layout.js +4 -4
- package/dist/safe-bash-command-column/table.js +2 -2
- package/dist/safe-bash-command-comm/comm.js +1 -1
- package/dist/safe-bash-command-comm/index.js +1 -1
- package/dist/safe-bash-command-csvcut/index.d.ts +1 -0
- package/dist/safe-bash-command-csvcut/index.js +1 -0
- package/dist/safe-bash-command-csvgrep/index.d.ts +1 -0
- package/dist/safe-bash-command-csvgrep/index.js +2 -2
- package/dist/safe-bash-command-csvkit/index.js +9 -9
- package/dist/safe-bash-command-csvkit/sync-support.js +1 -1
- package/dist/safe-bash-command-curl/curl.js +1 -1
- package/dist/safe-bash-command-curl/index.js +1 -1
- package/dist/safe-bash-command-dd/index.js +2 -0
- package/dist/safe-bash-command-diff/diff.js +1 -1
- package/dist/safe-bash-command-diff/index.js +1 -1
- package/dist/safe-bash-command-exiftool/index.d.ts +1 -0
- package/dist/safe-bash-command-fd/index.js +9 -9
- package/dist/safe-bash-command-ffmpeg/index.js +31 -8
- package/dist/safe-bash-command-file/index.js +1 -1
- package/dist/safe-bash-command-file/shared.js +1 -1
- package/dist/safe-bash-command-find/find.js +1 -1
- package/dist/safe-bash-command-find/index.js +1 -1
- package/dist/safe-bash-command-gzip/index.js +3 -2
- package/dist/safe-bash-command-hexdump/command.js +4 -4
- package/dist/safe-bash-command-hexdump/custom.d.ts +24 -0
- package/dist/safe-bash-command-hexdump/index.js +4 -4
- package/dist/safe-bash-command-hexdump/internal.d.ts +2 -0
- package/dist/safe-bash-command-hexdump/internal.js +1 -1
- package/dist/safe-bash-command-hexdump/io.js +2 -2
- package/dist/safe-bash-command-hexdump/options.d.ts +3 -0
- package/dist/safe-bash-command-hexdump/options.js +2 -2
- package/dist/safe-bash-command-hostname/index.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/budget.js +1 -1
- package/dist/safe-bash-command-html-to-markdown/entities.js +3 -3
- package/dist/safe-bash-command-html-to-markdown/index.js +6 -6
- package/dist/safe-bash-command-html-to-markdown/input.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/parser.d.ts +1 -0
- package/dist/safe-bash-command-html-to-markdown/parser.js +4 -4
- package/dist/safe-bash-command-html-to-markdown/render.js +5 -5
- package/dist/safe-bash-command-html-to-markdown/text.js +2 -2
- package/dist/safe-bash-command-htmlq/index.d.ts +1 -0
- package/dist/safe-bash-command-htmlq/index.js +27 -9
- package/dist/safe-bash-command-iconv/codec.js +1 -1
- package/dist/safe-bash-command-iconv/command.js +2 -2
- package/dist/safe-bash-command-iconv/index.js +2 -2
- package/dist/safe-bash-command-imagemagick/index.js +24 -6
- package/dist/safe-bash-command-join/index.js +1 -1
- package/dist/safe-bash-command-join/join.js +1 -1
- package/dist/safe-bash-command-jq/index.js +1 -1
- package/dist/safe-bash-command-jq/jq.js +1 -1
- package/dist/safe-bash-command-less/index.js +43 -28
- package/dist/safe-bash-command-mmdc/index.d.ts +1 -0
- package/dist/safe-bash-command-nl/index.js +1 -1
- package/dist/safe-bash-command-nl/nl.js +1 -1
- package/dist/safe-bash-command-numfmt/index.js +0 -11
- package/dist/safe-bash-command-od/index.js +101 -68
- package/dist/safe-bash-command-pandoc/command.js +1 -1
- package/dist/safe-bash-command-pandoc/index.js +1 -1
- package/dist/safe-bash-command-paste/index.js +1 -1
- package/dist/safe-bash-command-paste/paste.js +1 -1
- package/dist/safe-bash-command-pathchk/index.js +3 -13
- package/dist/safe-bash-command-pdfimages/index.js +27 -11
- package/dist/safe-bash-command-pdfinfo/index.js +19 -10
- package/dist/safe-bash-command-pdftk/index.js +3 -3
- package/dist/safe-bash-command-pdftoppm/index.js +26 -10
- package/dist/safe-bash-command-pdftotext/index.js +27 -13
- package/dist/safe-bash-command-qpdf/index.js +5 -5
- package/dist/safe-bash-command-rg/index.js +1 -1
- package/dist/safe-bash-command-rg/rg-command.d.ts +0 -1
- package/dist/safe-bash-command-rg/rg-command.js +3 -5
- package/dist/safe-bash-command-sed/index.js +1 -1
- package/dist/safe-bash-command-sed/sed.js +1 -1
- package/dist/safe-bash-command-shuf/options.d.ts +1 -0
- package/dist/safe-bash-command-shuf/options.js +2 -4
- package/dist/safe-bash-command-shuf/shuf.js +2 -1
- package/dist/safe-bash-command-soffice/index.js +20 -16
- package/dist/safe-bash-command-split/index.js +3 -3
- package/dist/safe-bash-command-split/io.js +1 -1
- package/dist/safe-bash-command-split/outputs.js +2 -2
- package/dist/safe-bash-command-split/split.js +3 -3
- package/dist/safe-bash-command-sqlite3/btree.d.ts +1 -0
- package/dist/safe-bash-command-sqlite3/engine.d.ts +6 -0
- package/dist/safe-bash-command-sqlite3/index.js +284 -85
- package/dist/safe-bash-command-ssconvert/commands.js +9 -9
- package/dist/safe-bash-command-ssconvert/core.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/csv.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/ods.js +8 -8
- package/dist/safe-bash-command-ssconvert/formats/spreadsheetml.js +2 -2
- package/dist/safe-bash-command-ssconvert/formats/xls.js +9 -9
- package/dist/safe-bash-command-ssconvert/formats/xlsx.js +8 -8
- package/dist/safe-bash-command-ssconvert/index.js +20 -20
- package/dist/safe-bash-command-tar/extract.js +1 -1
- package/dist/safe-bash-command-tar/index.js +5 -4
- package/dist/safe-bash-command-tar/modes.js +2 -2
- package/dist/safe-bash-command-tree/arguments.js +3 -3
- package/dist/safe-bash-command-tree/charset.js +1 -1
- package/dist/safe-bash-command-tree/index.js +4 -4
- package/dist/safe-bash-command-tree/io.js +1 -1
- package/dist/safe-bash-command-tree/pattern.js +2 -2
- package/dist/safe-bash-command-tree/tree.js +4 -4
- package/dist/safe-bash-command-unexpand/index.js +1 -1
- package/dist/safe-bash-command-unexpand/unexpand.js +1 -1
- package/dist/safe-bash-command-unrtf/index.js +14 -7
- package/dist/safe-bash-command-unzip/index.js +1 -1
- package/dist/safe-bash-command-unzip/unzip.js +1 -1
- package/dist/safe-bash-command-wget/index.js +1 -1
- package/dist/safe-bash-command-wget/wget.js +1 -1
- package/dist/safe-bash-command-xan/argv.d.ts +1 -1
- package/dist/safe-bash-command-xan/argv.js +1 -1
- package/dist/safe-bash-command-xan/commands.js +5 -3
- package/dist/safe-bash-command-xan/csv.d.ts +1 -1
- package/dist/safe-bash-command-xan/csv.js +1 -1
- package/dist/safe-bash-command-xan/index.js +7 -7
- package/dist/safe-bash-command-xan/io.js +3 -3
- package/dist/safe-bash-command-xmllint/index.js +1 -1
- package/dist/safe-bash-command-xxd/index.js +105 -91
- package/dist/safe-bash-command-xz/command.d.ts +2 -0
- package/dist/safe-bash-command-xz/index.d.ts +1 -1
- package/dist/safe-bash-command-xz/index.js +8 -0
- package/dist/safe-bash-command-yq/query.js +1 -1
- package/dist/safe-bash-command-zip/index.js +1 -1
- package/dist/safe-bash-command-zip/zip.js +1 -1
- package/dist/safe-bash-contracts/escaping.js +3 -3
- package/dist/safe-bash-contracts/filesystem-output.js +2 -2
- package/dist/safe-bash-contracts/index.d.ts +1 -0
- package/dist/safe-bash-contracts/index.js +7 -3
- package/dist/safe-bash-contracts/io.d.ts +4 -1
- package/dist/safe-bash-contracts/io.js +3 -1
- package/dist/safe-bash-contracts/managed-abort.d.ts +10 -0
- package/dist/safe-bash-contracts/output.js +2 -2
- package/dist/safe-bash-diff-engine/index.js +1 -1
- package/dist/safe-bash-diff-engine/shared.d.ts +3 -2
- package/dist/safe-bash-diff-engine/shared.js +1 -1
- package/dist/safe-bash-io-engine/commands/archive/internal.js +5 -23
- package/dist/safe-bash-io-engine/commands/search/requirements.js +2 -2
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +33 -44
- package/dist/safe-bash-io-engine/internal.js +1 -1
- package/dist/safe-bash-io-engine/shell/pattern.js +1 -1
- package/dist/safe-bash-io-engine/shell/string-operations.js +1 -1
- package/dist/safe-bash-mcp/index.browser.d.ts +155 -35
- package/dist/safe-bash-mcp/index.browser.js +416 -0
- package/dist/safe-bash-mcp/index.d.ts +54 -2
- package/dist/safe-bash-mcp/index.js +286 -90
- package/dist/safe-bash-network-engine/aggregate.js +2 -2
- package/dist/safe-bash-network-engine/args.js +4 -4
- package/dist/safe-bash-network-engine/authorizer.js +1 -1
- package/dist/safe-bash-network-engine/body.js +6 -6
- package/dist/safe-bash-network-engine/decode.d.ts +1 -1
- package/dist/safe-bash-network-engine/decode.js +3 -4
- package/dist/safe-bash-network-engine/fetch-transport.js +3 -3
- package/dist/safe-bash-network-engine/form-content-type.js +2 -2
- package/dist/safe-bash-network-engine/form-headers.js +2 -2
- package/dist/safe-bash-network-engine/glob.js +1 -1
- package/dist/safe-bash-network-engine/index.js +4 -4
- package/dist/safe-bash-network-engine/input.js +6 -6
- package/dist/safe-bash-network-engine/output.js +2 -2
- package/dist/safe-bash-network-engine/platform-portable.js +3 -3
- package/dist/safe-bash-network-engine/shared.js +2 -2
- package/dist/safe-bash-network-engine/types.d.ts +7 -2
- package/dist/safe-bash-network-engine/types.js +1 -1
- package/dist/safe-bash-network-engine/url.js +2 -2
- package/dist/safe-bash-query-engine/capture.js +3 -3
- package/dist/safe-bash-query-engine/delpaths.js +3 -3
- package/dist/safe-bash-query-engine/formats.js +2 -2
- package/dist/safe-bash-query-engine/index.js +11 -11
- package/dist/safe-bash-query-engine/indices.js +3 -3
- package/dist/safe-bash-query-engine/input.js +1 -1
- package/dist/safe-bash-query-engine/interpreter.js +9 -9
- package/dist/safe-bash-query-engine/parser.js +1 -1
- package/dist/safe-bash-query-engine/query-core.js +11 -11
- package/dist/safe-bash-query-engine/regex.js +4 -4
- package/dist/safe-bash-query-engine/splits.js +5 -5
- package/dist/safe-bash-query-engine/values.js +2 -2
- package/dist/safe-bash-regex-engine/ere/matcher.js +102 -30
- package/dist/safe-bash-regex-engine/execution/bounded-provider.js +55 -67
- package/dist/safe-bash-regex-engine/execution/portable.d.ts +0 -1
- package/dist/safe-bash-regex-engine/execution/portable.js +6 -10
- package/dist/safe-bash-regex-engine/execution/protocol.d.ts +0 -5
- package/dist/safe-bash-regex-engine/execution/protocol.js +1 -3
- package/dist/safe-bash-regex-engine/index.js +6 -4
- package/dist/safe-bash-regex-engine/text/budget.d.ts +1 -1
- package/dist/safe-bash-regex-engine/text/budget.js +1 -1
- package/dist/safe-bash-regex-engine/text/regex.d.ts +14 -0
- package/dist/safe-bash-regex-engine/text/regex.js +6 -4
- package/dist/safe-bash-regex-engine/text/replacement-buffer.js +2 -2
- package/dist/safe-bash-regex-engine/text/rust-syntax.js +2 -2
- package/dist/safe-bash-search-engine/grep.js +189 -227
- package/dist/safe-bash-table-text-engine/table-text/internal.d.ts +7 -5
- package/dist/safe-bash-table-text-engine/table-text/internal.js +39 -21
- package/dist/safe-playwright-cloudflare/browser-trace-budget.js +6 -2
- package/dist/spreadsheet-engine/codecs/odf-hyperlinks.js +8 -2
- package/dist/spreadsheet-engine/formulas/functions/captured-bessel-phase.js +2 -2
- package/dist/spreadsheet-engine/formulas/label-references.js +54 -33
- package/dist/spreadsheet-engine/formulas/parser.js +3 -1
- package/dist/spreadsheet-engine/formulas/rewriting.js +13 -3
- package/dist/spreadsheet-format-xls/biff-data-tables.js +4 -6
- package/dist/spreadsheet-format-xls/biff-formulas.js +3 -0
- package/dist/spreadsheet-format-xls/biff-label-ranges.js +9 -6
- package/dist/spreadsheet-format-xls/biff.js +1 -1
- package/dist/xlsx-ast/xlsx.js +8 -5
- package/package.json +68 -12
- package/dist/safe-bash/command-chunks/chunk-KAGBORIC.js +0 -88
- /package/dist/safe-bash/command-chunks/{chunk-BWNXWI33.js → chunk-2LMZVE3I.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { compareByteArrays, decodeBytes, encodeBytes,
|
|
1
|
+
import { compareByteArrays, decodeBytes, encodeBytes, indexOfBytes } from "../byte-encoding.js";
|
|
2
2
|
import { PublicDiagnostic } from "../diagnostics.js";
|
|
3
3
|
import { createBufferedOutput, FsError } from "../contracts/index.js";
|
|
4
4
|
import { RETURN_EXIT_ONE, RETURN_EXIT_TWO, RETURN_EXIT_ZERO, assertInputRequirements, bufferLimit, codeOf, concatenate, define, diagnostic, encoder, input, integer, lines, options, output, outputRange, pathOf, requireOperands, RESOLVED_EXIT_ZERO, UsageError, value } from "./internal.js";
|
|
@@ -135,9 +135,6 @@ async function cutRanges(list, work) {
|
|
|
135
135
|
}
|
|
136
136
|
return normalized;
|
|
137
137
|
}
|
|
138
|
-
const sharedCutOutBuffer = new Uint8Array(64 * 1024);
|
|
139
|
-
let sharedCutOutInUse = false;
|
|
140
|
-
const sharedUniqOutBuffer = new Uint8Array(128 * 1024);
|
|
141
138
|
function writeUniqCountBytes(writeByte, count) {
|
|
142
139
|
const digits = String(count);
|
|
143
140
|
const pad = 7 - digits.length;
|
|
@@ -151,20 +148,11 @@ class CutOutput {
|
|
|
151
148
|
context;
|
|
152
149
|
work;
|
|
153
150
|
#buffer;
|
|
154
|
-
#ownsShared;
|
|
155
151
|
#used = 0;
|
|
156
152
|
constructor(context, work) {
|
|
157
153
|
this.context = context;
|
|
158
154
|
this.work = work;
|
|
159
|
-
|
|
160
|
-
sharedCutOutInUse = true;
|
|
161
|
-
this.#buffer = sharedCutOutBuffer;
|
|
162
|
-
this.#ownsShared = true;
|
|
163
|
-
}
|
|
164
|
-
else {
|
|
165
|
-
this.#buffer = new Uint8Array(64 * 1024);
|
|
166
|
-
this.#ownsShared = false;
|
|
167
|
-
}
|
|
155
|
+
this.#buffer = new Uint8Array(64 * 1024);
|
|
168
156
|
}
|
|
169
157
|
get remaining() {
|
|
170
158
|
return this.#buffer.length - this.#used;
|
|
@@ -239,10 +227,6 @@ class CutOutput {
|
|
|
239
227
|
this.#used = 0;
|
|
240
228
|
await output(this.context, bytes);
|
|
241
229
|
}
|
|
242
|
-
release() {
|
|
243
|
-
if (this.#ownsShared)
|
|
244
|
-
sharedCutOutInUse = false;
|
|
245
|
-
}
|
|
246
230
|
}
|
|
247
231
|
function cutFieldBoundary(record, separator, start, work) {
|
|
248
232
|
if (record.length - start <= 4096) {
|
|
@@ -764,14 +748,6 @@ const sharedSortIndices = new Int32Array(4096);
|
|
|
764
748
|
const sharedSortScratchIndices = new Int32Array(4096);
|
|
765
749
|
const sharedSortInScratch = new Uint8Array(65536);
|
|
766
750
|
let sharedSortInUse = false;
|
|
767
|
-
const sharedSortOutScratch = new Uint8Array(65536);
|
|
768
|
-
let lastSort;
|
|
769
|
-
const cachedCutOutBuffer = new Uint8Array(32768);
|
|
770
|
-
let lastCutInBuf;
|
|
771
|
-
let lastCutSep = -1;
|
|
772
|
-
let lastCutField = -1;
|
|
773
|
-
let lastCutMaxLineLen = 0;
|
|
774
|
-
let lastCutOutUsed = -1;
|
|
775
751
|
const SORT_LONG_OPTIONS = Object.freeze({
|
|
776
752
|
"human-numeric-sort": "h",
|
|
777
753
|
"numeric-sort": "n",
|
|
@@ -1728,138 +1704,7 @@ async function executeSortGeneral(context, preReadChunks) {
|
|
|
1728
1704
|
}
|
|
1729
1705
|
if (checking)
|
|
1730
1706
|
return { exitCode };
|
|
1731
|
-
|
|
1732
|
-
if (!parsed.flags.has("m") &&
|
|
1733
|
-
!parsed.flags.has("u") &&
|
|
1734
|
-
records.length >= 2 &&
|
|
1735
|
-
records.length <= 65536 &&
|
|
1736
|
-
(canMultiKeyFast || isSingleLexKeyFast)) {
|
|
1737
|
-
const count = records.length;
|
|
1738
|
-
const keySpecs = keys.map(k => {
|
|
1739
|
-
const f = k.flags.size ? k.flags : parsed.flags;
|
|
1740
|
-
const numeric = f.has("n") || f.has("h");
|
|
1741
|
-
const human = f.has("h");
|
|
1742
|
-
const blanks = f.has("b");
|
|
1743
|
-
const revScale = f.has("r") ? -1 : 1;
|
|
1744
|
-
if (numeric) {
|
|
1745
|
-
const fastNums = new Float64Array(count);
|
|
1746
|
-
const numVals = new Array(count);
|
|
1747
|
-
return { numeric: true, human, blanks, revScale, key: k, fastNums, numVals };
|
|
1748
|
-
}
|
|
1749
|
-
const slices = new Array(count);
|
|
1750
|
-
return { numeric: false, blanks, revScale, key: k, slices };
|
|
1751
|
-
});
|
|
1752
|
-
for (let i = 0; i < count; i++) {
|
|
1753
|
-
const rec = records[i];
|
|
1754
|
-
for (let ki = 0; ki < keySpecs.length; ki++) {
|
|
1755
|
-
const ks = keySpecs[ki];
|
|
1756
|
-
const sliceOrPromise = keyBytesSync(rec, ks.key, separator, ks.blanks, work);
|
|
1757
|
-
const slice = sliceOrPromise instanceof Promise ? await sliceOrPromise : sliceOrPromise;
|
|
1758
|
-
if (ks.numeric) {
|
|
1759
|
-
const parsedOrPromise = parseNumeric(slice, work, ks.human);
|
|
1760
|
-
const nv = parsedOrPromise instanceof Promise ? await parsedOrPromise : parsedOrPromise;
|
|
1761
|
-
ks.numVals[i] = nv;
|
|
1762
|
-
if (!ks.human && nv.fraction.length === 0 && nv.whole.length <= 15) {
|
|
1763
|
-
const mag = nv.whole.length === 0 ? 0 : Number(nv.whole);
|
|
1764
|
-
ks.fastNums[i] = nv.negative ? (mag === 0 ? 0 : -mag) : mag;
|
|
1765
|
-
}
|
|
1766
|
-
else {
|
|
1767
|
-
ks.fastNums[i] = Number.NaN;
|
|
1768
|
-
}
|
|
1769
|
-
}
|
|
1770
|
-
else {
|
|
1771
|
-
ks.slices[i] = slice;
|
|
1772
|
-
}
|
|
1773
|
-
}
|
|
1774
|
-
}
|
|
1775
|
-
let srcIdx = new Int32Array(count);
|
|
1776
|
-
let dstIdx = new Int32Array(count);
|
|
1777
|
-
for (let i = 0; i < count; i++)
|
|
1778
|
-
srcIdx[i] = i;
|
|
1779
|
-
for (let width = 1; width < count; width *= 2) {
|
|
1780
|
-
for (let begin = 0; begin < count; begin += width * 2) {
|
|
1781
|
-
const middle = Math.min(begin + width, count);
|
|
1782
|
-
const end = Math.min(begin + width * 2, count);
|
|
1783
|
-
let left = begin;
|
|
1784
|
-
let right = middle;
|
|
1785
|
-
for (let index = begin; index < end; index++) {
|
|
1786
|
-
const cp = work.charge(2);
|
|
1787
|
-
if (cp)
|
|
1788
|
-
await cp;
|
|
1789
|
-
if (left < middle) {
|
|
1790
|
-
if (right === end) {
|
|
1791
|
-
dstIdx[index] = srcIdx[left++];
|
|
1792
|
-
continue;
|
|
1793
|
-
}
|
|
1794
|
-
const a = srcIdx[left];
|
|
1795
|
-
const b = srcIdx[right];
|
|
1796
|
-
let cmp = 0;
|
|
1797
|
-
for (let ki = 0; ki < keySpecs.length; ki++) {
|
|
1798
|
-
const ks = keySpecs[ki];
|
|
1799
|
-
if (ks.numeric) {
|
|
1800
|
-
const fa = ks.fastNums[a];
|
|
1801
|
-
const fb = ks.fastNums[b];
|
|
1802
|
-
if (fa === fa && fb === fb) {
|
|
1803
|
-
cmp = fa === fb ? 0 : (fa < fb ? -ks.revScale : ks.revScale);
|
|
1804
|
-
}
|
|
1805
|
-
else {
|
|
1806
|
-
const r = compareNumericValues(ks.numVals[a], ks.numVals[b], work);
|
|
1807
|
-
const resolved = typeof r === "number" ? r : await r;
|
|
1808
|
-
cmp = resolved * ks.revScale;
|
|
1809
|
-
}
|
|
1810
|
-
}
|
|
1811
|
-
else {
|
|
1812
|
-
const sa = ks.slices[a];
|
|
1813
|
-
const sb = ks.slices[b];
|
|
1814
|
-
const lenA = sa.length;
|
|
1815
|
-
const lenB = sb.length;
|
|
1816
|
-
const minL = lenA < lenB ? lenA : lenB;
|
|
1817
|
-
let d = 0;
|
|
1818
|
-
for (let p = 0; p < minL; p++) {
|
|
1819
|
-
d = sa[p] - sb[p];
|
|
1820
|
-
if (d !== 0)
|
|
1821
|
-
break;
|
|
1822
|
-
}
|
|
1823
|
-
if (d === 0)
|
|
1824
|
-
d = lenA - lenB;
|
|
1825
|
-
cmp = d * ks.revScale;
|
|
1826
|
-
}
|
|
1827
|
-
if (cmp !== 0)
|
|
1828
|
-
break;
|
|
1829
|
-
}
|
|
1830
|
-
if (cmp === 0 && !skipTieFallback) {
|
|
1831
|
-
const ra = records[a];
|
|
1832
|
-
const rb = records[b];
|
|
1833
|
-
const minL = ra.length < rb.length ? ra.length : rb.length;
|
|
1834
|
-
let d = 0;
|
|
1835
|
-
for (let p = 0; p < minL; p++) {
|
|
1836
|
-
d = ra[p] - rb[p];
|
|
1837
|
-
if (d !== 0)
|
|
1838
|
-
break;
|
|
1839
|
-
}
|
|
1840
|
-
if (d === 0)
|
|
1841
|
-
d = ra.length - rb.length;
|
|
1842
|
-
cmp = d * direction;
|
|
1843
|
-
}
|
|
1844
|
-
if (cmp <= 0) {
|
|
1845
|
-
dstIdx[index] = srcIdx[left++];
|
|
1846
|
-
continue;
|
|
1847
|
-
}
|
|
1848
|
-
}
|
|
1849
|
-
dstIdx[index] = srcIdx[right++];
|
|
1850
|
-
}
|
|
1851
|
-
}
|
|
1852
|
-
const tmp = srcIdx;
|
|
1853
|
-
srcIdx = dstIdx;
|
|
1854
|
-
dstIdx = tmp;
|
|
1855
|
-
}
|
|
1856
|
-
ordered = new Array(count);
|
|
1857
|
-
for (let i = 0; i < count; i++)
|
|
1858
|
-
ordered[i] = records[srcIdx[i]];
|
|
1859
|
-
}
|
|
1860
|
-
else {
|
|
1861
|
-
ordered = parsed.flags.has("m") ? await mergeSortRuns(runs, compare, work) : await sortRecords(records, compare, work);
|
|
1862
|
-
}
|
|
1707
|
+
const ordered = parsed.flags.has("m") ? await mergeSortRuns(runs, compare, work) : await sortRecords(records, compare, work);
|
|
1863
1708
|
let estBytes = 0;
|
|
1864
1709
|
let allCounted = true;
|
|
1865
1710
|
for (let i = 0; i < ordered.length; i++) {
|
|
@@ -1953,317 +1798,312 @@ async function executeCutGeneral(context) {
|
|
|
1953
1798
|
const outputDelimiterBytes = outputDelimiter === undefined ? separator : outputDelimiter.length === 0 ? Uint8Array.of(0) : encoder.encode(outputDelimiter);
|
|
1954
1799
|
const writer = new CutOutput(context, work);
|
|
1955
1800
|
let exitCode = 0;
|
|
1956
|
-
|
|
1957
|
-
|
|
1801
|
+
for (const name of parsed.operands.length ? parsed.operands : ["-"]) {
|
|
1802
|
+
try {
|
|
1958
1803
|
try {
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1804
|
+
const onlyDelimited = parsed.flags.has("s");
|
|
1805
|
+
const fastSingleByteField = mode === "f" && separator.length === 1;
|
|
1806
|
+
const sepByte = separator[0];
|
|
1807
|
+
const outDelimLen = outputDelimiterBytes.length;
|
|
1808
|
+
const processFastFieldRangeSlow = async (buf, lineStart, lineEnd) => {
|
|
1809
|
+
context.signal.throwIfAborted();
|
|
1810
|
+
let boundary = buf.indexOf(sepByte, lineStart);
|
|
1811
|
+
if (boundary >= lineEnd)
|
|
1812
|
+
boundary = -1;
|
|
1813
|
+
const c0 = work.charge(boundary < 0 ? lineEnd - lineStart : boundary - lineStart + 1);
|
|
1814
|
+
if (c0)
|
|
1815
|
+
await c0;
|
|
1816
|
+
if (boundary < 0) {
|
|
1817
|
+
if (onlyDelimited)
|
|
1818
|
+
return;
|
|
1819
|
+
const w = writer.writeRange(buf, lineStart, lineEnd);
|
|
1820
|
+
if (w)
|
|
1821
|
+
await w;
|
|
1822
|
+
}
|
|
1823
|
+
else {
|
|
1824
|
+
let cursor = 0;
|
|
1825
|
+
let field = 1;
|
|
1826
|
+
let start = lineStart;
|
|
1827
|
+
let emitted = false;
|
|
1828
|
+
while (true) {
|
|
1829
|
+
const cp = work.charge();
|
|
1830
|
+
if (cp)
|
|
1831
|
+
await cp;
|
|
1832
|
+
while (cursor < ranges.length && field > ranges[cursor].end)
|
|
1833
|
+
cursor++;
|
|
1834
|
+
const included = cursor < ranges.length && field >= ranges[cursor].start;
|
|
1835
|
+
if (included !== complement) {
|
|
1836
|
+
if (emitted) {
|
|
1837
|
+
const w1 = writer.write(outputDelimiterBytes);
|
|
1838
|
+
if (w1)
|
|
1839
|
+
await w1;
|
|
1840
|
+
}
|
|
1841
|
+
const w2 = writer.writeRange(buf, start, boundary < 0 ? lineEnd : boundary);
|
|
1842
|
+
if (w2)
|
|
1843
|
+
await w2;
|
|
1844
|
+
emitted = true;
|
|
1845
|
+
}
|
|
1846
|
+
field++;
|
|
1847
|
+
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
1848
|
+
break;
|
|
1849
|
+
start = boundary + 1;
|
|
1850
|
+
boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
|
|
1851
|
+
if (boundary >= lineEnd)
|
|
1852
|
+
boundary = -1;
|
|
1853
|
+
const cn = work.charge(boundary < 0 ? lineEnd - start : boundary - start + 1);
|
|
1854
|
+
if (cn)
|
|
1855
|
+
await cn;
|
|
1856
|
+
}
|
|
1857
|
+
}
|
|
1858
|
+
const wd = writer.writeByte(recordDelimiter);
|
|
1859
|
+
if (wd)
|
|
1860
|
+
await wd;
|
|
1861
|
+
};
|
|
1862
|
+
const processFastFieldRange = (buf, lineStart, lineEnd) => {
|
|
1863
|
+
const lineLen = lineEnd - lineStart;
|
|
1864
|
+
if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
|
|
1865
|
+
return processFastFieldRangeSlow(buf, lineStart, lineEnd);
|
|
1866
|
+
}
|
|
1867
|
+
context.signal.throwIfAborted();
|
|
1868
|
+
let boundary = buf.indexOf(sepByte, lineStart);
|
|
1869
|
+
if (boundary >= lineEnd)
|
|
1870
|
+
boundary = -1;
|
|
1871
|
+
let totalCharge = boundary < 0 ? lineLen : boundary - lineStart + 1;
|
|
1872
|
+
if (boundary < 0) {
|
|
1873
|
+
if (onlyDelimited)
|
|
1874
|
+
return work.charge(totalCharge);
|
|
1875
|
+
totalCharge += writer.writeRangeUncharged(buf, lineStart, lineEnd);
|
|
1876
|
+
}
|
|
1877
|
+
else {
|
|
1878
|
+
let cursor = 0;
|
|
1879
|
+
let field = 1;
|
|
1880
|
+
let start = lineStart;
|
|
1881
|
+
let emitted = false;
|
|
1882
|
+
while (true) {
|
|
1883
|
+
totalCharge += 1;
|
|
1884
|
+
while (cursor < ranges.length && field > ranges[cursor].end)
|
|
1885
|
+
cursor++;
|
|
1886
|
+
const included = cursor < ranges.length && field >= ranges[cursor].start;
|
|
1887
|
+
if (included !== complement) {
|
|
1888
|
+
if (emitted) {
|
|
1889
|
+
totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
|
|
1890
|
+
}
|
|
1891
|
+
totalCharge += writer.writeRangeUncharged(buf, start, boundary < 0 ? lineEnd : boundary);
|
|
1892
|
+
emitted = true;
|
|
1893
|
+
}
|
|
1894
|
+
field++;
|
|
1895
|
+
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
1896
|
+
break;
|
|
1897
|
+
start = boundary + 1;
|
|
1898
|
+
boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
|
|
1899
|
+
if (boundary >= lineEnd)
|
|
1900
|
+
boundary = -1;
|
|
1901
|
+
totalCharge += boundary < 0 ? lineEnd - start : boundary - start + 1;
|
|
1902
|
+
}
|
|
1903
|
+
}
|
|
1904
|
+
writer.writeByteUncharged(recordDelimiter);
|
|
1905
|
+
totalCharge += 1;
|
|
1906
|
+
return work.charge(totalCharge);
|
|
1907
|
+
};
|
|
1908
|
+
const sharedUtf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true });
|
|
1909
|
+
const canFastSliceCut = (byteSelection || mode === "c") && !complement && ranges.length <= 16;
|
|
1910
|
+
const processFastSliceRange = (buf, lineStart, lineEnd) => {
|
|
1911
|
+
const lineLen = lineEnd - lineStart;
|
|
1912
|
+
if (writer.remaining <= lineLen + (outputDelimiter !== undefined ? Math.max(0, ranges.length - 1) * outDelimLen : 0) + 1) {
|
|
1913
|
+
return null;
|
|
1914
|
+
}
|
|
1915
|
+
if (!byteSelection) {
|
|
1916
|
+
for (let i = lineStart; i < lineEnd; i++) {
|
|
1917
|
+
if (buf[i] >= 0x80)
|
|
1918
|
+
return null;
|
|
1919
|
+
}
|
|
1920
|
+
}
|
|
1921
|
+
context.signal.throwIfAborted();
|
|
1922
|
+
let totalCharge = lineLen + 1;
|
|
1923
|
+
let emitted = false;
|
|
1924
|
+
for (let rIdx = 0; rIdx < ranges.length; rIdx++) {
|
|
1925
|
+
const r = ranges[rIdx];
|
|
1926
|
+
const s = lineStart + r.start - 1;
|
|
1927
|
+
if (s >= lineEnd)
|
|
1928
|
+
break;
|
|
1929
|
+
const e = Math.min(lineEnd, lineStart + r.end);
|
|
1930
|
+
if (e > s) {
|
|
1931
|
+
if (emitted && outputDelimiter !== undefined) {
|
|
1932
|
+
totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
|
|
1933
|
+
}
|
|
1934
|
+
totalCharge += writer.writeRangeUncharged(buf, s, e);
|
|
1935
|
+
emitted = true;
|
|
1936
|
+
}
|
|
1937
|
+
}
|
|
1938
|
+
writer.writeByteUncharged(recordDelimiter);
|
|
1939
|
+
return work.charge(totalCharge);
|
|
1940
|
+
};
|
|
1941
|
+
const processLineBytes = async (lineBytes) => {
|
|
1942
|
+
context.signal.throwIfAborted();
|
|
1943
|
+
let cursor = 0;
|
|
1944
|
+
const selected = (position) => {
|
|
1945
|
+
while (cursor < ranges.length && position > ranges[cursor].end)
|
|
1946
|
+
cursor++;
|
|
1947
|
+
const included = cursor < ranges.length && position >= ranges[cursor].start;
|
|
1948
|
+
return included !== complement ? cursor : -1;
|
|
1949
|
+
};
|
|
1950
|
+
if (mode === "f") {
|
|
1951
|
+
const record = encodeBytes(lineBytes.buffer, lineBytes.byteOffset, lineBytes.byteLength);
|
|
1952
|
+
const b0 = cutFieldBoundary(record, separator, 0, work);
|
|
1953
|
+
let boundary = typeof b0 === "number" ? b0 : await b0;
|
|
1972
1954
|
if (boundary < 0) {
|
|
1973
1955
|
if (onlyDelimited)
|
|
1974
1956
|
return;
|
|
1975
|
-
const w = writer.
|
|
1957
|
+
const w = writer.write(lineBytes);
|
|
1976
1958
|
if (w)
|
|
1977
1959
|
await w;
|
|
1978
1960
|
}
|
|
1979
1961
|
else {
|
|
1980
|
-
let cursor = 0;
|
|
1981
1962
|
let field = 1;
|
|
1982
|
-
let start =
|
|
1963
|
+
let start = 0;
|
|
1983
1964
|
let emitted = false;
|
|
1984
1965
|
while (true) {
|
|
1985
|
-
const
|
|
1986
|
-
if (
|
|
1987
|
-
await
|
|
1988
|
-
|
|
1989
|
-
cursor++;
|
|
1990
|
-
const included = cursor < ranges.length && field >= ranges[cursor].start;
|
|
1991
|
-
if (included !== complement) {
|
|
1966
|
+
const checkpoint = work.charge();
|
|
1967
|
+
if (checkpoint)
|
|
1968
|
+
await checkpoint;
|
|
1969
|
+
if (selected(field++) >= 0) {
|
|
1992
1970
|
if (emitted) {
|
|
1993
1971
|
const w1 = writer.write(outputDelimiterBytes);
|
|
1994
1972
|
if (w1)
|
|
1995
1973
|
await w1;
|
|
1996
1974
|
}
|
|
1997
|
-
const w2 = writer.
|
|
1975
|
+
const w2 = writer.write(record.subarray(start, boundary < 0 ? record.length : boundary));
|
|
1998
1976
|
if (w2)
|
|
1999
1977
|
await w2;
|
|
2000
1978
|
emitted = true;
|
|
2001
1979
|
}
|
|
2002
|
-
field++;
|
|
2003
|
-
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
2004
|
-
break;
|
|
2005
|
-
start = boundary + 1;
|
|
2006
|
-
boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
|
|
2007
|
-
if (boundary >= lineEnd)
|
|
2008
|
-
boundary = -1;
|
|
2009
|
-
const cn = work.charge(boundary < 0 ? lineEnd - start : boundary - start + 1);
|
|
2010
|
-
if (cn)
|
|
2011
|
-
await cn;
|
|
2012
|
-
}
|
|
2013
|
-
}
|
|
2014
|
-
const wd = writer.writeByte(recordDelimiter);
|
|
2015
|
-
if (wd)
|
|
2016
|
-
await wd;
|
|
2017
|
-
};
|
|
2018
|
-
const processFastFieldRange = (buf, lineStart, lineEnd) => {
|
|
2019
|
-
const lineLen = lineEnd - lineStart;
|
|
2020
|
-
if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
|
|
2021
|
-
return processFastFieldRangeSlow(buf, lineStart, lineEnd);
|
|
2022
|
-
}
|
|
2023
|
-
context.signal.throwIfAborted();
|
|
2024
|
-
let boundary = buf.indexOf(sepByte, lineStart);
|
|
2025
|
-
if (boundary >= lineEnd)
|
|
2026
|
-
boundary = -1;
|
|
2027
|
-
let totalCharge = boundary < 0 ? lineLen : boundary - lineStart + 1;
|
|
2028
|
-
if (boundary < 0) {
|
|
2029
|
-
if (onlyDelimited)
|
|
2030
|
-
return work.charge(totalCharge);
|
|
2031
|
-
totalCharge += writer.writeRangeUncharged(buf, lineStart, lineEnd);
|
|
2032
|
-
}
|
|
2033
|
-
else {
|
|
2034
|
-
let cursor = 0;
|
|
2035
|
-
let field = 1;
|
|
2036
|
-
let start = lineStart;
|
|
2037
|
-
let emitted = false;
|
|
2038
|
-
while (true) {
|
|
2039
|
-
totalCharge += 1;
|
|
2040
|
-
while (cursor < ranges.length && field > ranges[cursor].end)
|
|
2041
|
-
cursor++;
|
|
2042
|
-
const included = cursor < ranges.length && field >= ranges[cursor].start;
|
|
2043
|
-
if (included !== complement) {
|
|
2044
|
-
if (emitted) {
|
|
2045
|
-
totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
|
|
2046
|
-
}
|
|
2047
|
-
totalCharge += writer.writeRangeUncharged(buf, start, boundary < 0 ? lineEnd : boundary);
|
|
2048
|
-
emitted = true;
|
|
2049
|
-
}
|
|
2050
|
-
field++;
|
|
2051
1980
|
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
2052
1981
|
break;
|
|
2053
|
-
start = boundary +
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
boundary = -1;
|
|
2057
|
-
totalCharge += boundary < 0 ? lineEnd - start : boundary - start + 1;
|
|
2058
|
-
}
|
|
2059
|
-
}
|
|
2060
|
-
writer.writeByteUncharged(recordDelimiter);
|
|
2061
|
-
totalCharge += 1;
|
|
2062
|
-
return work.charge(totalCharge);
|
|
2063
|
-
};
|
|
2064
|
-
const sharedUtf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true });
|
|
2065
|
-
const canFastSliceCut = (byteSelection || mode === "c") && !complement && ranges.length <= 16;
|
|
2066
|
-
const processFastSliceRange = (buf, lineStart, lineEnd) => {
|
|
2067
|
-
const lineLen = lineEnd - lineStart;
|
|
2068
|
-
if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
|
|
2069
|
-
return null;
|
|
2070
|
-
}
|
|
2071
|
-
if (!byteSelection) {
|
|
2072
|
-
for (let i = lineStart; i < lineEnd; i++) {
|
|
2073
|
-
if (buf[i] >= 0x80)
|
|
2074
|
-
return null;
|
|
1982
|
+
start = boundary + separator.length;
|
|
1983
|
+
const bn = cutFieldBoundary(record, separator, start, work);
|
|
1984
|
+
boundary = typeof bn === "number" ? bn : await bn;
|
|
2075
1985
|
}
|
|
2076
1986
|
}
|
|
2077
|
-
|
|
2078
|
-
|
|
1987
|
+
}
|
|
1988
|
+
else if (byteSelection) {
|
|
2079
1989
|
let emitted = false;
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
const
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
}
|
|
2093
|
-
}
|
|
2094
|
-
writer.writeByteUncharged(recordDelimiter);
|
|
2095
|
-
return work.charge(totalCharge);
|
|
2096
|
-
};
|
|
2097
|
-
const processLineBytes = async (lineBytes) => {
|
|
2098
|
-
context.signal.throwIfAborted();
|
|
2099
|
-
let cursor = 0;
|
|
2100
|
-
const selected = (position) => {
|
|
2101
|
-
while (cursor < ranges.length && position > ranges[cursor].end)
|
|
2102
|
-
cursor++;
|
|
2103
|
-
const included = cursor < ranges.length && position >= ranges[cursor].start;
|
|
2104
|
-
return included !== complement ? cursor : -1;
|
|
2105
|
-
};
|
|
2106
|
-
if (mode === "f") {
|
|
2107
|
-
const record = encodeBytes(lineBytes.buffer, lineBytes.byteOffset, lineBytes.byteLength);
|
|
2108
|
-
const b0 = cutFieldBoundary(record, separator, 0, work);
|
|
2109
|
-
let boundary = typeof b0 === "number" ? b0 : await b0;
|
|
2110
|
-
if (boundary < 0) {
|
|
2111
|
-
if (onlyDelimited)
|
|
2112
|
-
return;
|
|
2113
|
-
const w = writer.write(lineBytes);
|
|
2114
|
-
if (w)
|
|
2115
|
-
await w;
|
|
2116
|
-
}
|
|
2117
|
-
else {
|
|
2118
|
-
let field = 1;
|
|
2119
|
-
let start = 0;
|
|
2120
|
-
let emitted = false;
|
|
2121
|
-
while (true) {
|
|
2122
|
-
const checkpoint = work.charge();
|
|
2123
|
-
if (checkpoint)
|
|
2124
|
-
await checkpoint;
|
|
2125
|
-
if (selected(field++) >= 0) {
|
|
2126
|
-
if (emitted) {
|
|
2127
|
-
const w1 = writer.write(outputDelimiterBytes);
|
|
2128
|
-
if (w1)
|
|
2129
|
-
await w1;
|
|
2130
|
-
}
|
|
2131
|
-
const w2 = writer.write(record.subarray(start, boundary < 0 ? record.length : boundary));
|
|
2132
|
-
if (w2)
|
|
2133
|
-
await w2;
|
|
2134
|
-
emitted = true;
|
|
2135
|
-
}
|
|
2136
|
-
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
2137
|
-
break;
|
|
2138
|
-
start = boundary + separator.length;
|
|
2139
|
-
const bn = cutFieldBoundary(record, separator, start, work);
|
|
2140
|
-
boundary = typeof bn === "number" ? bn : await bn;
|
|
1990
|
+
let previousRange = -1;
|
|
1991
|
+
for (let offset = 0; offset < lineBytes.length; offset += 4096) {
|
|
1992
|
+
const end = Math.min(lineBytes.length, offset + 4096);
|
|
1993
|
+
const checkpoint = work.charge(end - offset);
|
|
1994
|
+
if (checkpoint)
|
|
1995
|
+
await checkpoint;
|
|
1996
|
+
let start = -1;
|
|
1997
|
+
for (let index = offset; index < end; index++) {
|
|
1998
|
+
const range = selected(index + 1);
|
|
1999
|
+
if (range !== previousRange && start >= 0) {
|
|
2000
|
+
await writer.write(lineBytes.subarray(start, index));
|
|
2001
|
+
start = -1;
|
|
2141
2002
|
}
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
for (let offset = 0; offset < lineBytes.length; offset += 4096) {
|
|
2148
|
-
const end = Math.min(lineBytes.length, offset + 4096);
|
|
2149
|
-
const checkpoint = work.charge(end - offset);
|
|
2150
|
-
if (checkpoint)
|
|
2151
|
-
await checkpoint;
|
|
2152
|
-
let start = -1;
|
|
2153
|
-
for (let index = offset; index < end; index++) {
|
|
2154
|
-
const range = selected(index + 1);
|
|
2155
|
-
if (range !== previousRange && start >= 0) {
|
|
2156
|
-
await writer.write(lineBytes.subarray(start, index));
|
|
2157
|
-
start = -1;
|
|
2158
|
-
}
|
|
2159
|
-
if (range >= 0 && start < 0) {
|
|
2160
|
-
if (range !== previousRange && emitted && outputDelimiter !== undefined)
|
|
2161
|
-
await writer.write(outputDelimiterBytes);
|
|
2162
|
-
start = index;
|
|
2163
|
-
emitted = true;
|
|
2164
|
-
}
|
|
2165
|
-
previousRange = range;
|
|
2003
|
+
if (range >= 0 && start < 0) {
|
|
2004
|
+
if (range !== previousRange && emitted && outputDelimiter !== undefined)
|
|
2005
|
+
await writer.write(outputDelimiterBytes);
|
|
2006
|
+
start = index;
|
|
2007
|
+
emitted = true;
|
|
2166
2008
|
}
|
|
2167
|
-
|
|
2168
|
-
await writer.write(lineBytes.subarray(start, end));
|
|
2009
|
+
previousRange = range;
|
|
2169
2010
|
}
|
|
2011
|
+
if (start >= 0)
|
|
2012
|
+
await writer.write(lineBytes.subarray(start, end));
|
|
2170
2013
|
}
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2014
|
+
}
|
|
2015
|
+
else {
|
|
2016
|
+
const decoder = sharedUtf8Decoder;
|
|
2017
|
+
let index = 0;
|
|
2018
|
+
let emitted = false;
|
|
2019
|
+
let previousRange = -1;
|
|
2020
|
+
for (let offset = 0; offset < lineBytes.length; offset += 4096) {
|
|
2021
|
+
const end = Math.min(lineBytes.length, offset + 4096);
|
|
2022
|
+
const checkpoint = work.charge(end - offset);
|
|
2023
|
+
if (checkpoint)
|
|
2024
|
+
await checkpoint;
|
|
2025
|
+
const text = decoder.decode(lineBytes.subarray(offset, end), { stream: end < lineBytes.length });
|
|
2026
|
+
let start = -1;
|
|
2027
|
+
let position = 0;
|
|
2028
|
+
for (const character of text) {
|
|
2029
|
+
const checkpoint = work.charge();
|
|
2179
2030
|
if (checkpoint)
|
|
2180
2031
|
await checkpoint;
|
|
2181
|
-
const
|
|
2182
|
-
|
|
2183
|
-
|
|
2184
|
-
|
|
2185
|
-
const checkpoint = work.charge();
|
|
2186
|
-
if (checkpoint)
|
|
2187
|
-
await checkpoint;
|
|
2188
|
-
const range = selected(++index);
|
|
2189
|
-
if (range !== previousRange && start >= 0) {
|
|
2190
|
-
await writer.text(text.slice(start, position));
|
|
2191
|
-
start = -1;
|
|
2192
|
-
}
|
|
2193
|
-
if (range >= 0 && start < 0) {
|
|
2194
|
-
if (range !== previousRange && emitted && outputDelimiter !== undefined)
|
|
2195
|
-
await writer.write(outputDelimiterBytes);
|
|
2196
|
-
start = position;
|
|
2197
|
-
emitted = true;
|
|
2198
|
-
}
|
|
2199
|
-
position += character.length;
|
|
2200
|
-
previousRange = range;
|
|
2201
|
-
}
|
|
2202
|
-
if (start >= 0)
|
|
2203
|
-
await writer.text(text.slice(start));
|
|
2204
|
-
}
|
|
2205
|
-
}
|
|
2206
|
-
const wd = writer.writeByte(recordDelimiter);
|
|
2207
|
-
if (wd)
|
|
2208
|
-
await wd;
|
|
2209
|
-
};
|
|
2210
|
-
const pending = new RecordBuffer(bufferLimit);
|
|
2211
|
-
try {
|
|
2212
|
-
for await (const chunk of input(context, name)) {
|
|
2213
|
-
let start = 0;
|
|
2214
|
-
while (start < chunk.length) {
|
|
2215
|
-
const offset = chunk.indexOf(recordDelimiter, start);
|
|
2216
|
-
if (offset < 0)
|
|
2217
|
-
break;
|
|
2218
|
-
if (fastSingleByteField && pending.size === 0 && offset - start <= 4096) {
|
|
2219
|
-
const p = processFastFieldRange(chunk, start, offset);
|
|
2220
|
-
if (p)
|
|
2221
|
-
await p;
|
|
2222
|
-
}
|
|
2223
|
-
else if (canFastSliceCut && pending.size === 0 && offset - start <= 4096) {
|
|
2224
|
-
const p = processFastSliceRange(chunk, start, offset);
|
|
2225
|
-
if (p === null) {
|
|
2226
|
-
await processLineBytes(chunk.subarray(start, offset));
|
|
2227
|
-
}
|
|
2228
|
-
else if (p) {
|
|
2229
|
-
await p;
|
|
2230
|
-
}
|
|
2032
|
+
const range = selected(++index);
|
|
2033
|
+
if (range !== previousRange && start >= 0) {
|
|
2034
|
+
await writer.text(text.slice(start, position));
|
|
2035
|
+
start = -1;
|
|
2231
2036
|
}
|
|
2232
|
-
|
|
2233
|
-
|
|
2037
|
+
if (range >= 0 && start < 0) {
|
|
2038
|
+
if (range !== previousRange && emitted && outputDelimiter !== undefined)
|
|
2039
|
+
await writer.write(outputDelimiterBytes);
|
|
2040
|
+
start = position;
|
|
2041
|
+
emitted = true;
|
|
2234
2042
|
}
|
|
2235
|
-
|
|
2043
|
+
position += character.length;
|
|
2044
|
+
previousRange = range;
|
|
2236
2045
|
}
|
|
2237
|
-
|
|
2046
|
+
if (start >= 0)
|
|
2047
|
+
await writer.text(text.slice(start));
|
|
2238
2048
|
}
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2049
|
+
}
|
|
2050
|
+
const wd = writer.writeByte(recordDelimiter);
|
|
2051
|
+
if (wd)
|
|
2052
|
+
await wd;
|
|
2053
|
+
};
|
|
2054
|
+
const pending = new RecordBuffer(bufferLimit);
|
|
2055
|
+
try {
|
|
2056
|
+
for await (const chunk of input(context, name)) {
|
|
2057
|
+
let start = 0;
|
|
2058
|
+
while (start < chunk.length) {
|
|
2059
|
+
const offset = chunk.indexOf(recordDelimiter, start);
|
|
2060
|
+
if (offset < 0)
|
|
2061
|
+
break;
|
|
2062
|
+
if (fastSingleByteField && pending.size === 0 && offset - start <= 4096) {
|
|
2063
|
+
const p = processFastFieldRange(chunk, start, offset);
|
|
2243
2064
|
if (p)
|
|
2244
2065
|
await p;
|
|
2245
2066
|
}
|
|
2067
|
+
else if (canFastSliceCut && pending.size === 0 && offset - start <= 4096) {
|
|
2068
|
+
const p = processFastSliceRange(chunk, start, offset);
|
|
2069
|
+
if (p === null) {
|
|
2070
|
+
await processLineBytes(chunk.subarray(start, offset));
|
|
2071
|
+
}
|
|
2072
|
+
else if (p) {
|
|
2073
|
+
await p;
|
|
2074
|
+
}
|
|
2075
|
+
}
|
|
2246
2076
|
else {
|
|
2247
|
-
await processLineBytes(
|
|
2077
|
+
await processLineBytes(pending.finish(undefined, chunk, start, offset));
|
|
2248
2078
|
}
|
|
2079
|
+
start = offset + 1;
|
|
2249
2080
|
}
|
|
2081
|
+
pending.append(chunk, start);
|
|
2250
2082
|
}
|
|
2251
|
-
|
|
2252
|
-
pending.
|
|
2083
|
+
if (pending.size) {
|
|
2084
|
+
const finalBytes = pending.finish();
|
|
2085
|
+
if (fastSingleByteField && finalBytes.length <= 4096) {
|
|
2086
|
+
const p = processFastFieldRange(finalBytes, 0, finalBytes.length);
|
|
2087
|
+
if (p)
|
|
2088
|
+
await p;
|
|
2089
|
+
}
|
|
2090
|
+
else {
|
|
2091
|
+
await processLineBytes(finalBytes);
|
|
2092
|
+
}
|
|
2253
2093
|
}
|
|
2254
2094
|
}
|
|
2255
2095
|
finally {
|
|
2256
|
-
|
|
2096
|
+
pending.clear();
|
|
2257
2097
|
}
|
|
2258
2098
|
}
|
|
2259
|
-
|
|
2260
|
-
await
|
|
2261
|
-
exitCode = 1;
|
|
2099
|
+
finally {
|
|
2100
|
+
await writer.flush();
|
|
2262
2101
|
}
|
|
2263
2102
|
}
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2103
|
+
catch (error) {
|
|
2104
|
+
await diagnostic(context, error);
|
|
2105
|
+
exitCode = 1;
|
|
2106
|
+
}
|
|
2267
2107
|
}
|
|
2268
2108
|
return { exitCode };
|
|
2269
2109
|
}
|
|
@@ -2523,29 +2363,6 @@ export function textCommands() {
|
|
|
2523
2363
|
catch (error) {
|
|
2524
2364
|
return diagnostic(context, error).then(RETURN_EXIT_TWO);
|
|
2525
2365
|
}
|
|
2526
|
-
const cached = lastSort;
|
|
2527
|
-
if (cached !== undefined &&
|
|
2528
|
-
firstChunkLen >= 256 &&
|
|
2529
|
-
firstChunkLen === cached.input.byteLength &&
|
|
2530
|
-
direction === cached.direction &&
|
|
2531
|
-
cached.maxLineLength <= bufferLimit &&
|
|
2532
|
-
equalBytes(cached.input, rawFirst)) {
|
|
2533
|
-
let res2Fast;
|
|
2534
|
-
try {
|
|
2535
|
-
res2Fast = srcIter.tryNextSync();
|
|
2536
|
-
}
|
|
2537
|
-
catch (error) {
|
|
2538
|
-
return diagnostic(context, error).then(RETURN_EXIT_TWO);
|
|
2539
|
-
}
|
|
2540
|
-
if (res2Fast !== undefined && res2Fast.done) {
|
|
2541
|
-
context.signal.throwIfAborted();
|
|
2542
|
-
const p = outputRange(context, cached.output, cached.output.length);
|
|
2543
|
-
if (isSyncResolved(p))
|
|
2544
|
-
return RESOLVED_EXIT_ZERO;
|
|
2545
|
-
return p.then(RETURN_EXIT_ZERO);
|
|
2546
|
-
}
|
|
2547
|
-
return executeSortFastContinueAsync(context, direction, srcIter, cached.input, res2Fast);
|
|
2548
|
-
}
|
|
2549
2366
|
let firstChunk;
|
|
2550
2367
|
let usedSortInScratch = false;
|
|
2551
2368
|
try {
|
|
@@ -2573,12 +2390,9 @@ export function textCommands() {
|
|
|
2573
2390
|
let start = 0;
|
|
2574
2391
|
let count = 0;
|
|
2575
2392
|
let validLines = true;
|
|
2576
|
-
let maxSortLine = 0;
|
|
2577
2393
|
while (start < firstChunkLen) {
|
|
2578
2394
|
const offset = firstChunk.indexOf(10, start);
|
|
2579
2395
|
const lLen = offset - start;
|
|
2580
|
-
if (lLen > maxSortLine)
|
|
2581
|
-
maxSortLine = lLen;
|
|
2582
2396
|
if (offset < 0 || offset >= firstChunkLen || count >= 4096 || lLen > bufferLimit) {
|
|
2583
2397
|
validLines = false;
|
|
2584
2398
|
break;
|
|
@@ -2620,7 +2434,7 @@ export function textCommands() {
|
|
|
2620
2434
|
src = dst;
|
|
2621
2435
|
dst = tmp;
|
|
2622
2436
|
}
|
|
2623
|
-
const outBuf =
|
|
2437
|
+
const outBuf = new Uint8Array(65536);
|
|
2624
2438
|
let used = 0;
|
|
2625
2439
|
for (let i = 0; i < count; i++) {
|
|
2626
2440
|
const idx = src[i];
|
|
@@ -2630,14 +2444,6 @@ export function textCommands() {
|
|
|
2630
2444
|
outBuf[used++] = firstChunk[p];
|
|
2631
2445
|
outBuf[used++] = 10;
|
|
2632
2446
|
}
|
|
2633
|
-
if (firstChunkLen >= 256 && used <= 32768) {
|
|
2634
|
-
lastSort = {
|
|
2635
|
-
input: encodeBytes(firstChunk.subarray(0, firstChunkLen)),
|
|
2636
|
-
output: outBuf.slice(0, used),
|
|
2637
|
-
direction,
|
|
2638
|
-
maxLineLength: maxSortLine,
|
|
2639
|
-
};
|
|
2640
|
-
}
|
|
2641
2447
|
const p = outputRange(context, outBuf, used);
|
|
2642
2448
|
if (isSyncResolved(p))
|
|
2643
2449
|
return RESOLVED_EXIT_ZERO;
|
|
@@ -2653,8 +2459,10 @@ export function textCommands() {
|
|
|
2653
2459
|
return diagnostic(context, error).then(RETURN_EXIT_TWO);
|
|
2654
2460
|
}
|
|
2655
2461
|
finally {
|
|
2656
|
-
if (usedSortInScratch)
|
|
2462
|
+
if (usedSortInScratch) {
|
|
2463
|
+
sharedSortInScratch.fill(0);
|
|
2657
2464
|
sharedSortInUse = false;
|
|
2465
|
+
}
|
|
2658
2466
|
}
|
|
2659
2467
|
}
|
|
2660
2468
|
}
|
|
@@ -2715,7 +2523,7 @@ export function textCommands() {
|
|
|
2715
2523
|
return diagnostic(context, error).then(RETURN_EXIT_ONE);
|
|
2716
2524
|
}
|
|
2717
2525
|
if (res2 !== undefined && res2.done && chunk.length <= 65536) {
|
|
2718
|
-
const outBuf =
|
|
2526
|
+
const outBuf = new Uint8Array(128 * 1024);
|
|
2719
2527
|
let outUsed = 0;
|
|
2720
2528
|
let prevStart = -1;
|
|
2721
2529
|
let prevEnd = -1;
|
|
@@ -2919,7 +2727,7 @@ export function textCommands() {
|
|
|
2919
2727
|
}
|
|
2920
2728
|
if (canFast && (targetField >= 1 || (fieldMask !== 0 && typeof context.stdin.tryReadAllSync === "function"))) {
|
|
2921
2729
|
const req = assertInputRequirements(context, operand !== undefined ? [operand] : EMPTY_OPERANDS);
|
|
2922
|
-
if (!req && operand === undefined
|
|
2730
|
+
if (!req && operand === undefined) {
|
|
2923
2731
|
const srcIter = input(context, "-")[Symbol.asyncIterator]();
|
|
2924
2732
|
if (typeof srcIter.tryNextSync === "function") {
|
|
2925
2733
|
let res1;
|
|
@@ -2940,28 +2748,10 @@ export function textCommands() {
|
|
|
2940
2748
|
catch (error) {
|
|
2941
2749
|
return diagnostic(context, error).then(RETURN_EXIT_ONE);
|
|
2942
2750
|
}
|
|
2943
|
-
if (res2 !== undefined && res2.done && chunk.length <
|
|
2944
|
-
|
|
2945
|
-
lastCutOutUsed >= 0 &&
|
|
2946
|
-
chunk.length >= 256 &&
|
|
2947
|
-
lastCutInBuf !== undefined &&
|
|
2948
|
-
chunk.length === lastCutInBuf.byteLength &&
|
|
2949
|
-
sepByte === lastCutSep &&
|
|
2950
|
-
targetField === lastCutField &&
|
|
2951
|
-
lastCutMaxLineLen <= bufferLimit &&
|
|
2952
|
-
equalBytes(lastCutInBuf, chunk)) {
|
|
2953
|
-
context.signal.throwIfAborted();
|
|
2954
|
-
if (lastCutOutUsed === 0)
|
|
2955
|
-
return RESOLVED_EXIT_ZERO;
|
|
2956
|
-
const p = outputRange(context, cachedCutOutBuffer, lastCutOutUsed);
|
|
2957
|
-
if (isSyncResolved(p))
|
|
2958
|
-
return RESOLVED_EXIT_ZERO;
|
|
2959
|
-
return p.then(RETURN_EXIT_ZERO);
|
|
2960
|
-
}
|
|
2961
|
-
const outBuf = sharedCutOutBuffer;
|
|
2751
|
+
if (res2 !== undefined && res2.done && chunk.length < 65536) {
|
|
2752
|
+
const outBuf = new Uint8Array(65536);
|
|
2962
2753
|
let outUsed = 0;
|
|
2963
2754
|
let start = 0;
|
|
2964
|
-
let maxCutLine = 0;
|
|
2965
2755
|
while (start < chunk.length) {
|
|
2966
2756
|
let offset = chunk.indexOf(10, start);
|
|
2967
2757
|
const hasNewline = offset >= 0;
|
|
@@ -2975,8 +2765,6 @@ export function textCommands() {
|
|
|
2975
2765
|
let boundary = chunk.indexOf(sepByte, start);
|
|
2976
2766
|
if (boundary >= offset)
|
|
2977
2767
|
boundary = -1;
|
|
2978
|
-
if (offset - start > maxCutLine)
|
|
2979
|
-
maxCutLine = offset - start;
|
|
2980
2768
|
if (fieldMask !== 0 && boundary >= 0) {
|
|
2981
2769
|
let f = 1;
|
|
2982
2770
|
let curStart = start;
|
|
@@ -3027,14 +2815,6 @@ export function textCommands() {
|
|
|
3027
2815
|
}
|
|
3028
2816
|
start = offset + 1;
|
|
3029
2817
|
}
|
|
3030
|
-
if (fieldMask === 0 && chunk.length >= 256 && outUsed <= 32768) {
|
|
3031
|
-
lastCutInBuf = encodeBytes(chunk);
|
|
3032
|
-
lastCutSep = sepByte;
|
|
3033
|
-
lastCutField = targetField;
|
|
3034
|
-
lastCutMaxLineLen = maxCutLine;
|
|
3035
|
-
lastCutOutUsed = outUsed;
|
|
3036
|
-
cachedCutOutBuffer.set(outBuf.subarray(0, outUsed));
|
|
3037
|
-
}
|
|
3038
2818
|
if (outUsed === 0)
|
|
3039
2819
|
return RESOLVED_EXIT_ZERO;
|
|
3040
2820
|
const p = outputRange(context, outBuf, outUsed);
|
|
@@ -3144,10 +2924,7 @@ async function executeSortFastContinueAsync(context, direction, srcIter, initial
|
|
|
3144
2924
|
async function executeCutFastAsync(context, operand, sepByte, targetField, req, existingIter, initialFirstChunk, initialSecondRes) {
|
|
3145
2925
|
if (req)
|
|
3146
2926
|
await req;
|
|
3147
|
-
const
|
|
3148
|
-
if (ownsShared)
|
|
3149
|
-
sharedCutOutInUse = true;
|
|
3150
|
-
const outBuf = ownsShared ? sharedCutOutBuffer : new Uint8Array(65536);
|
|
2927
|
+
const outBuf = new Uint8Array(65536);
|
|
3151
2928
|
let outUsed = 0;
|
|
3152
2929
|
const isPipeStage = Boolean(context.stdout.isPipeStage);
|
|
3153
2930
|
const syncSink = !isPipeStage
|
|
@@ -3299,9 +3076,5 @@ async function executeCutFastAsync(context, operand, sepByte, targetField, req,
|
|
|
3299
3076
|
await diagnostic(context, error);
|
|
3300
3077
|
return { exitCode: 1 };
|
|
3301
3078
|
}
|
|
3302
|
-
finally {
|
|
3303
|
-
if (ownsShared)
|
|
3304
|
-
sharedCutOutInUse = false;
|
|
3305
|
-
}
|
|
3306
3079
|
}
|
|
3307
3080
|
//# sourceMappingURL=text.js.map
|