@poe-platform/safe-bash 0.1.800 → 0.1.801
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 +119 -75
- package/dist/image-ast/index.js +119 -75
- package/dist/pdf-ast/index.js +4 -3
- 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-HHW7MGS2.js → chunk-45PK3NWI.js} +4 -4
- package/dist/safe-bash/chunks/{chunk-KHMGTPD6.js → chunk-46Z5E5EV.js} +2 -2
- 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-RMWLWH7Q.js → chunk-7VNF5BFF.js} +300 -737
- package/dist/safe-bash/chunks/{chunk-QVSRRNZT.js → chunk-A7XEHALN.js} +4 -4
- 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-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-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-RKKRJ54E.js → chunk-FNDNHAGE.js} +30 -23
- package/dist/safe-bash/chunks/{chunk-KCVSVD65.js → chunk-I5HZ4FGE.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-JJSTTIEZ.js → chunk-ICFDYV64.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-TYD7EVUJ.js → chunk-IVRQ4BXL.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-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-6HZYFL3H.js → chunk-NR3EM4LS.js} +1 -1
- 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-KW24TAIU.js → chunk-PQRAK7HU.js} +920 -432
- package/dist/safe-bash/chunks/{chunk-K4YMYFRJ.js → chunk-SZH7EJLD.js} +116 -697
- 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-JTLSUJ7V.js → chunk-VQDD3G76.js} +42 -25
- package/dist/safe-bash/chunks/{chunk-46UISJCK.js → chunk-VTH3MLDU.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-LLZCZ24K.js → chunk-XVOSKJE2.js} +1 -1
- 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-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-N2F74VRO.js → chunk-CZ7EN3JG.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-HLGKIZ25.js → chunk-F6OYH562.js} +2 -0
- 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-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-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-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-SAMH7SQE.js → chunk-PCEFOYA3.js} +237 -145
- 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-T5H5UJQ3.js → chunk-TNOA7FCQ.js} +1 -1
- 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-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-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-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/bytes/compression/index.js +3 -2
- 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/execution.js +19 -13
- package/dist/safe-bash/commands/factor/index.browser.js +2 -2
- package/dist/safe-bash/commands/filesystem.d.ts +1 -1
- package/dist/safe-bash/commands/filesystem.js +17 -13
- package/dist/safe-bash/commands/getopt/index.browser.js +2 -2
- package/dist/safe-bash/commands/hexdump/index.browser.js +2 -2
- 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/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 +4 -4
- package/dist/safe-bash/commands/safejs/runtime.js +16 -7
- package/dist/safe-bash/commands/standard.d.ts +1 -0
- package/dist/safe-bash/commands/standard.js +2 -1
- package/dist/safe-bash/commands/streams.js +6 -24
- package/dist/safe-bash/commands/text.js +268 -364
- 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 +108 -104
- 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 +11 -11
- 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 +27 -27
- package/dist/safe-bash/registry-entry.browser.js +28 -28
- 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 -4
- package/dist/safe-bash/shell/runtime.js +291 -741
- package/dist/safe-bash/shell/shell.js +2 -31
- package/dist/safe-bash/shell-entry.browser.js +25 -25
- 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-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-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-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 +283 -89
- 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 -0
- 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 +9 -8
- 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",
|
|
@@ -1953,317 +1929,312 @@ async function executeCutGeneral(context) {
|
|
|
1953
1929
|
const outputDelimiterBytes = outputDelimiter === undefined ? separator : outputDelimiter.length === 0 ? Uint8Array.of(0) : encoder.encode(outputDelimiter);
|
|
1954
1930
|
const writer = new CutOutput(context, work);
|
|
1955
1931
|
let exitCode = 0;
|
|
1956
|
-
|
|
1957
|
-
|
|
1932
|
+
for (const name of parsed.operands.length ? parsed.operands : ["-"]) {
|
|
1933
|
+
try {
|
|
1958
1934
|
try {
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1966
|
-
|
|
1967
|
-
|
|
1968
|
-
|
|
1969
|
-
|
|
1970
|
-
|
|
1971
|
-
|
|
1935
|
+
const onlyDelimited = parsed.flags.has("s");
|
|
1936
|
+
const fastSingleByteField = mode === "f" && separator.length === 1;
|
|
1937
|
+
const sepByte = separator[0];
|
|
1938
|
+
const outDelimLen = outputDelimiterBytes.length;
|
|
1939
|
+
const processFastFieldRangeSlow = async (buf, lineStart, lineEnd) => {
|
|
1940
|
+
context.signal.throwIfAborted();
|
|
1941
|
+
let boundary = buf.indexOf(sepByte, lineStart);
|
|
1942
|
+
if (boundary >= lineEnd)
|
|
1943
|
+
boundary = -1;
|
|
1944
|
+
const c0 = work.charge(boundary < 0 ? lineEnd - lineStart : boundary - lineStart + 1);
|
|
1945
|
+
if (c0)
|
|
1946
|
+
await c0;
|
|
1947
|
+
if (boundary < 0) {
|
|
1948
|
+
if (onlyDelimited)
|
|
1949
|
+
return;
|
|
1950
|
+
const w = writer.writeRange(buf, lineStart, lineEnd);
|
|
1951
|
+
if (w)
|
|
1952
|
+
await w;
|
|
1953
|
+
}
|
|
1954
|
+
else {
|
|
1955
|
+
let cursor = 0;
|
|
1956
|
+
let field = 1;
|
|
1957
|
+
let start = lineStart;
|
|
1958
|
+
let emitted = false;
|
|
1959
|
+
while (true) {
|
|
1960
|
+
const cp = work.charge();
|
|
1961
|
+
if (cp)
|
|
1962
|
+
await cp;
|
|
1963
|
+
while (cursor < ranges.length && field > ranges[cursor].end)
|
|
1964
|
+
cursor++;
|
|
1965
|
+
const included = cursor < ranges.length && field >= ranges[cursor].start;
|
|
1966
|
+
if (included !== complement) {
|
|
1967
|
+
if (emitted) {
|
|
1968
|
+
const w1 = writer.write(outputDelimiterBytes);
|
|
1969
|
+
if (w1)
|
|
1970
|
+
await w1;
|
|
1971
|
+
}
|
|
1972
|
+
const w2 = writer.writeRange(buf, start, boundary < 0 ? lineEnd : boundary);
|
|
1973
|
+
if (w2)
|
|
1974
|
+
await w2;
|
|
1975
|
+
emitted = true;
|
|
1976
|
+
}
|
|
1977
|
+
field++;
|
|
1978
|
+
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
1979
|
+
break;
|
|
1980
|
+
start = boundary + 1;
|
|
1981
|
+
boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
|
|
1982
|
+
if (boundary >= lineEnd)
|
|
1983
|
+
boundary = -1;
|
|
1984
|
+
const cn = work.charge(boundary < 0 ? lineEnd - start : boundary - start + 1);
|
|
1985
|
+
if (cn)
|
|
1986
|
+
await cn;
|
|
1987
|
+
}
|
|
1988
|
+
}
|
|
1989
|
+
const wd = writer.writeByte(recordDelimiter);
|
|
1990
|
+
if (wd)
|
|
1991
|
+
await wd;
|
|
1992
|
+
};
|
|
1993
|
+
const processFastFieldRange = (buf, lineStart, lineEnd) => {
|
|
1994
|
+
const lineLen = lineEnd - lineStart;
|
|
1995
|
+
if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
|
|
1996
|
+
return processFastFieldRangeSlow(buf, lineStart, lineEnd);
|
|
1997
|
+
}
|
|
1998
|
+
context.signal.throwIfAborted();
|
|
1999
|
+
let boundary = buf.indexOf(sepByte, lineStart);
|
|
2000
|
+
if (boundary >= lineEnd)
|
|
2001
|
+
boundary = -1;
|
|
2002
|
+
let totalCharge = boundary < 0 ? lineLen : boundary - lineStart + 1;
|
|
2003
|
+
if (boundary < 0) {
|
|
2004
|
+
if (onlyDelimited)
|
|
2005
|
+
return work.charge(totalCharge);
|
|
2006
|
+
totalCharge += writer.writeRangeUncharged(buf, lineStart, lineEnd);
|
|
2007
|
+
}
|
|
2008
|
+
else {
|
|
2009
|
+
let cursor = 0;
|
|
2010
|
+
let field = 1;
|
|
2011
|
+
let start = lineStart;
|
|
2012
|
+
let emitted = false;
|
|
2013
|
+
while (true) {
|
|
2014
|
+
totalCharge += 1;
|
|
2015
|
+
while (cursor < ranges.length && field > ranges[cursor].end)
|
|
2016
|
+
cursor++;
|
|
2017
|
+
const included = cursor < ranges.length && field >= ranges[cursor].start;
|
|
2018
|
+
if (included !== complement) {
|
|
2019
|
+
if (emitted) {
|
|
2020
|
+
totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
|
|
2021
|
+
}
|
|
2022
|
+
totalCharge += writer.writeRangeUncharged(buf, start, boundary < 0 ? lineEnd : boundary);
|
|
2023
|
+
emitted = true;
|
|
2024
|
+
}
|
|
2025
|
+
field++;
|
|
2026
|
+
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
2027
|
+
break;
|
|
2028
|
+
start = boundary + 1;
|
|
2029
|
+
boundary = start <= lineEnd ? buf.indexOf(sepByte, start) : -1;
|
|
2030
|
+
if (boundary >= lineEnd)
|
|
2031
|
+
boundary = -1;
|
|
2032
|
+
totalCharge += boundary < 0 ? lineEnd - start : boundary - start + 1;
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
writer.writeByteUncharged(recordDelimiter);
|
|
2036
|
+
totalCharge += 1;
|
|
2037
|
+
return work.charge(totalCharge);
|
|
2038
|
+
};
|
|
2039
|
+
const sharedUtf8Decoder = new TextDecoder("utf-8", { ignoreBOM: true });
|
|
2040
|
+
const canFastSliceCut = (byteSelection || mode === "c") && !complement && ranges.length <= 16;
|
|
2041
|
+
const processFastSliceRange = (buf, lineStart, lineEnd) => {
|
|
2042
|
+
const lineLen = lineEnd - lineStart;
|
|
2043
|
+
if (writer.remaining <= lineLen * (outDelimLen > 1 ? outDelimLen : 1) + 1) {
|
|
2044
|
+
return null;
|
|
2045
|
+
}
|
|
2046
|
+
if (!byteSelection) {
|
|
2047
|
+
for (let i = lineStart; i < lineEnd; i++) {
|
|
2048
|
+
if (buf[i] >= 0x80)
|
|
2049
|
+
return null;
|
|
2050
|
+
}
|
|
2051
|
+
}
|
|
2052
|
+
context.signal.throwIfAborted();
|
|
2053
|
+
let totalCharge = lineLen + 1;
|
|
2054
|
+
let emitted = false;
|
|
2055
|
+
for (let rIdx = 0; rIdx < ranges.length; rIdx++) {
|
|
2056
|
+
const r = ranges[rIdx];
|
|
2057
|
+
const s = lineStart + r.start - 1;
|
|
2058
|
+
if (s >= lineEnd)
|
|
2059
|
+
break;
|
|
2060
|
+
const e = Math.min(lineEnd, lineStart + r.end);
|
|
2061
|
+
if (e > s) {
|
|
2062
|
+
if (emitted && outputDelimiter !== undefined) {
|
|
2063
|
+
totalCharge += writer.writeRangeUncharged(outputDelimiterBytes, 0, outDelimLen);
|
|
2064
|
+
}
|
|
2065
|
+
totalCharge += writer.writeRangeUncharged(buf, s, e);
|
|
2066
|
+
emitted = true;
|
|
2067
|
+
}
|
|
2068
|
+
}
|
|
2069
|
+
writer.writeByteUncharged(recordDelimiter);
|
|
2070
|
+
return work.charge(totalCharge);
|
|
2071
|
+
};
|
|
2072
|
+
const processLineBytes = async (lineBytes) => {
|
|
2073
|
+
context.signal.throwIfAborted();
|
|
2074
|
+
let cursor = 0;
|
|
2075
|
+
const selected = (position) => {
|
|
2076
|
+
while (cursor < ranges.length && position > ranges[cursor].end)
|
|
2077
|
+
cursor++;
|
|
2078
|
+
const included = cursor < ranges.length && position >= ranges[cursor].start;
|
|
2079
|
+
return included !== complement ? cursor : -1;
|
|
2080
|
+
};
|
|
2081
|
+
if (mode === "f") {
|
|
2082
|
+
const record = encodeBytes(lineBytes.buffer, lineBytes.byteOffset, lineBytes.byteLength);
|
|
2083
|
+
const b0 = cutFieldBoundary(record, separator, 0, work);
|
|
2084
|
+
let boundary = typeof b0 === "number" ? b0 : await b0;
|
|
1972
2085
|
if (boundary < 0) {
|
|
1973
2086
|
if (onlyDelimited)
|
|
1974
2087
|
return;
|
|
1975
|
-
const w = writer.
|
|
2088
|
+
const w = writer.write(lineBytes);
|
|
1976
2089
|
if (w)
|
|
1977
2090
|
await w;
|
|
1978
2091
|
}
|
|
1979
2092
|
else {
|
|
1980
|
-
let cursor = 0;
|
|
1981
2093
|
let field = 1;
|
|
1982
|
-
let start =
|
|
2094
|
+
let start = 0;
|
|
1983
2095
|
let emitted = false;
|
|
1984
2096
|
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) {
|
|
2097
|
+
const checkpoint = work.charge();
|
|
2098
|
+
if (checkpoint)
|
|
2099
|
+
await checkpoint;
|
|
2100
|
+
if (selected(field++) >= 0) {
|
|
1992
2101
|
if (emitted) {
|
|
1993
2102
|
const w1 = writer.write(outputDelimiterBytes);
|
|
1994
2103
|
if (w1)
|
|
1995
2104
|
await w1;
|
|
1996
2105
|
}
|
|
1997
|
-
const w2 = writer.
|
|
2106
|
+
const w2 = writer.write(record.subarray(start, boundary < 0 ? record.length : boundary));
|
|
1998
2107
|
if (w2)
|
|
1999
2108
|
await w2;
|
|
2000
2109
|
emitted = true;
|
|
2001
2110
|
}
|
|
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
2111
|
if (boundary < 0 || (!complement && cursor >= ranges.length))
|
|
2052
2112
|
break;
|
|
2053
|
-
start = boundary +
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
boundary = -1;
|
|
2057
|
-
totalCharge += boundary < 0 ? lineEnd - start : boundary - start + 1;
|
|
2113
|
+
start = boundary + separator.length;
|
|
2114
|
+
const bn = cutFieldBoundary(record, separator, start, work);
|
|
2115
|
+
boundary = typeof bn === "number" ? bn : await bn;
|
|
2058
2116
|
}
|
|
2059
2117
|
}
|
|
2060
|
-
|
|
2061
|
-
|
|
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;
|
|
2075
|
-
}
|
|
2076
|
-
}
|
|
2077
|
-
context.signal.throwIfAborted();
|
|
2078
|
-
let totalCharge = lineLen + 1;
|
|
2118
|
+
}
|
|
2119
|
+
else if (byteSelection) {
|
|
2079
2120
|
let emitted = false;
|
|
2080
|
-
|
|
2081
|
-
|
|
2082
|
-
const
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2121
|
+
let previousRange = -1;
|
|
2122
|
+
for (let offset = 0; offset < lineBytes.length; offset += 4096) {
|
|
2123
|
+
const end = Math.min(lineBytes.length, offset + 4096);
|
|
2124
|
+
const checkpoint = work.charge(end - offset);
|
|
2125
|
+
if (checkpoint)
|
|
2126
|
+
await checkpoint;
|
|
2127
|
+
let start = -1;
|
|
2128
|
+
for (let index = offset; index < end; index++) {
|
|
2129
|
+
const range = selected(index + 1);
|
|
2130
|
+
if (range !== previousRange && start >= 0) {
|
|
2131
|
+
await writer.write(lineBytes.subarray(start, index));
|
|
2132
|
+
start = -1;
|
|
2089
2133
|
}
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
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;
|
|
2141
|
-
}
|
|
2142
|
-
}
|
|
2143
|
-
}
|
|
2144
|
-
else if (byteSelection) {
|
|
2145
|
-
let emitted = false;
|
|
2146
|
-
let previousRange = -1;
|
|
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;
|
|
2134
|
+
if (range >= 0 && start < 0) {
|
|
2135
|
+
if (range !== previousRange && emitted && outputDelimiter !== undefined)
|
|
2136
|
+
await writer.write(outputDelimiterBytes);
|
|
2137
|
+
start = index;
|
|
2138
|
+
emitted = true;
|
|
2166
2139
|
}
|
|
2167
|
-
|
|
2168
|
-
await writer.write(lineBytes.subarray(start, end));
|
|
2140
|
+
previousRange = range;
|
|
2169
2141
|
}
|
|
2142
|
+
if (start >= 0)
|
|
2143
|
+
await writer.write(lineBytes.subarray(start, end));
|
|
2170
2144
|
}
|
|
2171
|
-
|
|
2172
|
-
|
|
2173
|
-
|
|
2174
|
-
|
|
2175
|
-
|
|
2176
|
-
|
|
2177
|
-
|
|
2178
|
-
|
|
2145
|
+
}
|
|
2146
|
+
else {
|
|
2147
|
+
const decoder = sharedUtf8Decoder;
|
|
2148
|
+
let index = 0;
|
|
2149
|
+
let emitted = false;
|
|
2150
|
+
let previousRange = -1;
|
|
2151
|
+
for (let offset = 0; offset < lineBytes.length; offset += 4096) {
|
|
2152
|
+
const end = Math.min(lineBytes.length, offset + 4096);
|
|
2153
|
+
const checkpoint = work.charge(end - offset);
|
|
2154
|
+
if (checkpoint)
|
|
2155
|
+
await checkpoint;
|
|
2156
|
+
const text = decoder.decode(lineBytes.subarray(offset, end), { stream: end < lineBytes.length });
|
|
2157
|
+
let start = -1;
|
|
2158
|
+
let position = 0;
|
|
2159
|
+
for (const character of text) {
|
|
2160
|
+
const checkpoint = work.charge();
|
|
2179
2161
|
if (checkpoint)
|
|
2180
2162
|
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;
|
|
2163
|
+
const range = selected(++index);
|
|
2164
|
+
if (range !== previousRange && start >= 0) {
|
|
2165
|
+
await writer.text(text.slice(start, position));
|
|
2166
|
+
start = -1;
|
|
2222
2167
|
}
|
|
2223
|
-
|
|
2224
|
-
|
|
2225
|
-
|
|
2226
|
-
|
|
2227
|
-
|
|
2228
|
-
else if (p) {
|
|
2229
|
-
await p;
|
|
2230
|
-
}
|
|
2231
|
-
}
|
|
2232
|
-
else {
|
|
2233
|
-
await processLineBytes(pending.finish(undefined, chunk, start, offset));
|
|
2168
|
+
if (range >= 0 && start < 0) {
|
|
2169
|
+
if (range !== previousRange && emitted && outputDelimiter !== undefined)
|
|
2170
|
+
await writer.write(outputDelimiterBytes);
|
|
2171
|
+
start = position;
|
|
2172
|
+
emitted = true;
|
|
2234
2173
|
}
|
|
2235
|
-
|
|
2174
|
+
position += character.length;
|
|
2175
|
+
previousRange = range;
|
|
2236
2176
|
}
|
|
2237
|
-
|
|
2177
|
+
if (start >= 0)
|
|
2178
|
+
await writer.text(text.slice(start));
|
|
2238
2179
|
}
|
|
2239
|
-
|
|
2240
|
-
|
|
2241
|
-
|
|
2242
|
-
|
|
2180
|
+
}
|
|
2181
|
+
const wd = writer.writeByte(recordDelimiter);
|
|
2182
|
+
if (wd)
|
|
2183
|
+
await wd;
|
|
2184
|
+
};
|
|
2185
|
+
const pending = new RecordBuffer(bufferLimit);
|
|
2186
|
+
try {
|
|
2187
|
+
for await (const chunk of input(context, name)) {
|
|
2188
|
+
let start = 0;
|
|
2189
|
+
while (start < chunk.length) {
|
|
2190
|
+
const offset = chunk.indexOf(recordDelimiter, start);
|
|
2191
|
+
if (offset < 0)
|
|
2192
|
+
break;
|
|
2193
|
+
if (fastSingleByteField && pending.size === 0 && offset - start <= 4096) {
|
|
2194
|
+
const p = processFastFieldRange(chunk, start, offset);
|
|
2243
2195
|
if (p)
|
|
2244
2196
|
await p;
|
|
2245
2197
|
}
|
|
2198
|
+
else if (canFastSliceCut && pending.size === 0 && offset - start <= 4096) {
|
|
2199
|
+
const p = processFastSliceRange(chunk, start, offset);
|
|
2200
|
+
if (p === null) {
|
|
2201
|
+
await processLineBytes(chunk.subarray(start, offset));
|
|
2202
|
+
}
|
|
2203
|
+
else if (p) {
|
|
2204
|
+
await p;
|
|
2205
|
+
}
|
|
2206
|
+
}
|
|
2246
2207
|
else {
|
|
2247
|
-
await processLineBytes(
|
|
2208
|
+
await processLineBytes(pending.finish(undefined, chunk, start, offset));
|
|
2248
2209
|
}
|
|
2210
|
+
start = offset + 1;
|
|
2249
2211
|
}
|
|
2212
|
+
pending.append(chunk, start);
|
|
2250
2213
|
}
|
|
2251
|
-
|
|
2252
|
-
pending.
|
|
2214
|
+
if (pending.size) {
|
|
2215
|
+
const finalBytes = pending.finish();
|
|
2216
|
+
if (fastSingleByteField && finalBytes.length <= 4096) {
|
|
2217
|
+
const p = processFastFieldRange(finalBytes, 0, finalBytes.length);
|
|
2218
|
+
if (p)
|
|
2219
|
+
await p;
|
|
2220
|
+
}
|
|
2221
|
+
else {
|
|
2222
|
+
await processLineBytes(finalBytes);
|
|
2223
|
+
}
|
|
2253
2224
|
}
|
|
2254
2225
|
}
|
|
2255
2226
|
finally {
|
|
2256
|
-
|
|
2227
|
+
pending.clear();
|
|
2257
2228
|
}
|
|
2258
2229
|
}
|
|
2259
|
-
|
|
2260
|
-
await
|
|
2261
|
-
exitCode = 1;
|
|
2230
|
+
finally {
|
|
2231
|
+
await writer.flush();
|
|
2262
2232
|
}
|
|
2263
2233
|
}
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2234
|
+
catch (error) {
|
|
2235
|
+
await diagnostic(context, error);
|
|
2236
|
+
exitCode = 1;
|
|
2237
|
+
}
|
|
2267
2238
|
}
|
|
2268
2239
|
return { exitCode };
|
|
2269
2240
|
}
|
|
@@ -2523,29 +2494,6 @@ export function textCommands() {
|
|
|
2523
2494
|
catch (error) {
|
|
2524
2495
|
return diagnostic(context, error).then(RETURN_EXIT_TWO);
|
|
2525
2496
|
}
|
|
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
2497
|
let firstChunk;
|
|
2550
2498
|
let usedSortInScratch = false;
|
|
2551
2499
|
try {
|
|
@@ -2573,12 +2521,9 @@ export function textCommands() {
|
|
|
2573
2521
|
let start = 0;
|
|
2574
2522
|
let count = 0;
|
|
2575
2523
|
let validLines = true;
|
|
2576
|
-
let maxSortLine = 0;
|
|
2577
2524
|
while (start < firstChunkLen) {
|
|
2578
2525
|
const offset = firstChunk.indexOf(10, start);
|
|
2579
2526
|
const lLen = offset - start;
|
|
2580
|
-
if (lLen > maxSortLine)
|
|
2581
|
-
maxSortLine = lLen;
|
|
2582
2527
|
if (offset < 0 || offset >= firstChunkLen || count >= 4096 || lLen > bufferLimit) {
|
|
2583
2528
|
validLines = false;
|
|
2584
2529
|
break;
|
|
@@ -2620,7 +2565,7 @@ export function textCommands() {
|
|
|
2620
2565
|
src = dst;
|
|
2621
2566
|
dst = tmp;
|
|
2622
2567
|
}
|
|
2623
|
-
const outBuf =
|
|
2568
|
+
const outBuf = new Uint8Array(65536);
|
|
2624
2569
|
let used = 0;
|
|
2625
2570
|
for (let i = 0; i < count; i++) {
|
|
2626
2571
|
const idx = src[i];
|
|
@@ -2630,14 +2575,6 @@ export function textCommands() {
|
|
|
2630
2575
|
outBuf[used++] = firstChunk[p];
|
|
2631
2576
|
outBuf[used++] = 10;
|
|
2632
2577
|
}
|
|
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
2578
|
const p = outputRange(context, outBuf, used);
|
|
2642
2579
|
if (isSyncResolved(p))
|
|
2643
2580
|
return RESOLVED_EXIT_ZERO;
|
|
@@ -2653,8 +2590,10 @@ export function textCommands() {
|
|
|
2653
2590
|
return diagnostic(context, error).then(RETURN_EXIT_TWO);
|
|
2654
2591
|
}
|
|
2655
2592
|
finally {
|
|
2656
|
-
if (usedSortInScratch)
|
|
2593
|
+
if (usedSortInScratch) {
|
|
2594
|
+
sharedSortInScratch.fill(0);
|
|
2657
2595
|
sharedSortInUse = false;
|
|
2596
|
+
}
|
|
2658
2597
|
}
|
|
2659
2598
|
}
|
|
2660
2599
|
}
|
|
@@ -2715,7 +2654,7 @@ export function textCommands() {
|
|
|
2715
2654
|
return diagnostic(context, error).then(RETURN_EXIT_ONE);
|
|
2716
2655
|
}
|
|
2717
2656
|
if (res2 !== undefined && res2.done && chunk.length <= 65536) {
|
|
2718
|
-
const outBuf =
|
|
2657
|
+
const outBuf = new Uint8Array(128 * 1024);
|
|
2719
2658
|
let outUsed = 0;
|
|
2720
2659
|
let prevStart = -1;
|
|
2721
2660
|
let prevEnd = -1;
|
|
@@ -2919,7 +2858,7 @@ export function textCommands() {
|
|
|
2919
2858
|
}
|
|
2920
2859
|
if (canFast && (targetField >= 1 || (fieldMask !== 0 && typeof context.stdin.tryReadAllSync === "function"))) {
|
|
2921
2860
|
const req = assertInputRequirements(context, operand !== undefined ? [operand] : EMPTY_OPERANDS);
|
|
2922
|
-
if (!req && operand === undefined
|
|
2861
|
+
if (!req && operand === undefined) {
|
|
2923
2862
|
const srcIter = input(context, "-")[Symbol.asyncIterator]();
|
|
2924
2863
|
if (typeof srcIter.tryNextSync === "function") {
|
|
2925
2864
|
let res1;
|
|
@@ -2940,28 +2879,10 @@ export function textCommands() {
|
|
|
2940
2879
|
catch (error) {
|
|
2941
2880
|
return diagnostic(context, error).then(RETURN_EXIT_ONE);
|
|
2942
2881
|
}
|
|
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;
|
|
2882
|
+
if (res2 !== undefined && res2.done && chunk.length < 65536) {
|
|
2883
|
+
const outBuf = new Uint8Array(65536);
|
|
2962
2884
|
let outUsed = 0;
|
|
2963
2885
|
let start = 0;
|
|
2964
|
-
let maxCutLine = 0;
|
|
2965
2886
|
while (start < chunk.length) {
|
|
2966
2887
|
let offset = chunk.indexOf(10, start);
|
|
2967
2888
|
const hasNewline = offset >= 0;
|
|
@@ -2975,8 +2896,6 @@ export function textCommands() {
|
|
|
2975
2896
|
let boundary = chunk.indexOf(sepByte, start);
|
|
2976
2897
|
if (boundary >= offset)
|
|
2977
2898
|
boundary = -1;
|
|
2978
|
-
if (offset - start > maxCutLine)
|
|
2979
|
-
maxCutLine = offset - start;
|
|
2980
2899
|
if (fieldMask !== 0 && boundary >= 0) {
|
|
2981
2900
|
let f = 1;
|
|
2982
2901
|
let curStart = start;
|
|
@@ -3027,14 +2946,6 @@ export function textCommands() {
|
|
|
3027
2946
|
}
|
|
3028
2947
|
start = offset + 1;
|
|
3029
2948
|
}
|
|
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
2949
|
if (outUsed === 0)
|
|
3039
2950
|
return RESOLVED_EXIT_ZERO;
|
|
3040
2951
|
const p = outputRange(context, outBuf, outUsed);
|
|
@@ -3144,10 +3055,7 @@ async function executeSortFastContinueAsync(context, direction, srcIter, initial
|
|
|
3144
3055
|
async function executeCutFastAsync(context, operand, sepByte, targetField, req, existingIter, initialFirstChunk, initialSecondRes) {
|
|
3145
3056
|
if (req)
|
|
3146
3057
|
await req;
|
|
3147
|
-
const
|
|
3148
|
-
if (ownsShared)
|
|
3149
|
-
sharedCutOutInUse = true;
|
|
3150
|
-
const outBuf = ownsShared ? sharedCutOutBuffer : new Uint8Array(65536);
|
|
3058
|
+
const outBuf = new Uint8Array(65536);
|
|
3151
3059
|
let outUsed = 0;
|
|
3152
3060
|
const isPipeStage = Boolean(context.stdout.isPipeStage);
|
|
3153
3061
|
const syncSink = !isPipeStage
|
|
@@ -3299,9 +3207,5 @@ async function executeCutFastAsync(context, operand, sepByte, targetField, req,
|
|
|
3299
3207
|
await diagnostic(context, error);
|
|
3300
3208
|
return { exitCode: 1 };
|
|
3301
3209
|
}
|
|
3302
|
-
finally {
|
|
3303
|
-
if (ownsShared)
|
|
3304
|
-
sharedCutOutInUse = false;
|
|
3305
|
-
}
|
|
3306
3210
|
}
|
|
3307
3211
|
//# sourceMappingURL=text.js.map
|