@poe-platform/safe-bash 0.1.799 → 0.1.800
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 +32 -17
- package/dist/image-ast/index.browser.js +1384 -23
- package/dist/image-ast/index.js +1384 -23
- package/dist/mp4-ast/types.d.ts +1 -0
- package/dist/office-package/zip.d.ts +2 -0
- package/dist/office-package/zip.js +1 -1
- package/dist/pdf-ast/index.js +1 -1
- package/dist/safe-bash/chunks/{chunk-IUTD5FH5.js → chunk-46UISJCK.js} +1 -6
- package/dist/safe-bash/chunks/chunk-4SEW2Q6H.js +26 -0
- package/dist/safe-bash/chunks/{chunk-AKC46AF6.js → chunk-7YSRXFEG.js} +7 -40
- package/dist/safe-bash/chunks/{chunk-KTGR4U57.js → chunk-BHJE5LPZ.js} +1 -2
- package/dist/safe-bash/chunks/{chunk-TRVGCN3U.js → chunk-HHW7MGS2.js} +2 -2
- package/dist/safe-bash/chunks/{chunk-ZNAFMYIA.js → chunk-I7L3G3NX.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-KMH2DF3I.js → chunk-JJSTTIEZ.js} +6 -1
- package/dist/safe-bash/chunks/{chunk-6IBTC4YL.js → chunk-JTLSUJ7V.js} +57 -20
- package/dist/safe-bash/chunks/chunk-K2VCOJ2B.js +111 -0
- package/dist/safe-bash/chunks/chunk-K4YMYFRJ.js +9802 -0
- package/dist/safe-bash/chunks/{chunk-SPYL72GN.js → chunk-KW24TAIU.js} +446 -5519
- package/dist/safe-bash/chunks/{chunk-ENR3HB2B.js → chunk-NLAW7KDI.js} +0 -1
- package/dist/safe-bash/chunks/{chunk-B3DDEDH2.js → chunk-PPYM75Z3.js} +1 -1
- package/dist/safe-bash/chunks/{chunk-NX2SQVON.js → chunk-RKKRJ54E.js} +19 -7
- package/dist/safe-bash/chunks/{chunk-WUNK5NXJ.js → chunk-RMWLWH7Q.js} +870 -953
- package/dist/safe-bash/chunks/{chunk-JSVX4VIA.js → chunk-TFGRKY43.js} +2 -1
- package/dist/safe-bash/chunks/{chunk-T5KKDMYB.js → chunk-TYD7EVUJ.js} +6 -0
- package/dist/safe-bash/chunks/{csvkit-W2UEKH6P.js → csvkit-QGP3GAOB.js} +1 -1
- package/dist/safe-bash/chunks/{ffmpeg-42CGASMV.js → ffmpeg-JTVH26MK.js} +1 -1
- package/dist/safe-bash/chunks/{gh-26GYLH6D.js → gh-I7QX7N5C.js} +1 -1
- package/dist/safe-bash/chunks/{git-YREKMUVD.js → git-MA7NKYVP.js} +1 -1
- package/dist/safe-bash/chunks/{imagemagick-3YIX4XO2.js → imagemagick-Y4NPWX2Q.js} +1 -1
- package/dist/safe-bash/chunks/{implementation-E3YMKU3Z.js → implementation-BWDKOVQJ.js} +1 -1
- package/dist/safe-bash/chunks/mmdc-44PELHDG.js +118 -0
- package/dist/safe-bash/chunks/{pdfimages-UE2UISP2.js → pdfimages-635TRW4Q.js} +1 -1
- package/dist/safe-bash/chunks/{pdfinfo-RGARKLI5.js → pdfinfo-FSDAA2KY.js} +3 -11
- package/dist/safe-bash/chunks/{pdftk-JY3WVCCC.js → pdftk-GQ5UH3VG.js} +1 -1
- package/dist/safe-bash/chunks/{pdftoppm-GPD3BMPY.js → pdftoppm-YTXQCAYT.js} +1 -1
- package/dist/safe-bash/chunks/{pdftotext-K7GQ2QJZ.js → pdftotext-CVA2G7FY.js} +1 -1
- package/dist/safe-bash/chunks/{qpdf-F4U7WUSU.js → qpdf-HZMIFG4A.js} +1 -1
- package/dist/safe-bash/chunks/{sips-RWENS7X5.js → sips-E7UBDP33.js} +1 -1
- package/dist/safe-bash/chunks/{soffice-IT6W2C5F.js → soffice-ELASUWUK.js} +1 -1
- package/dist/safe-bash/chunks/{wkhtmltopdf-JYNDAHIZ.js → wkhtmltopdf-EPO6YCMG.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-2FGJYFWZ.js +44 -0
- package/dist/safe-bash/command-chunks/chunk-2H4JTFIL.js +53 -0
- package/dist/safe-bash/command-chunks/{chunk-LLCXZKZ6.js → chunk-2QHG43WJ.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-364TMWBT.js +946 -0
- package/dist/safe-bash/command-chunks/{chunk-EIVW3X3N.js → chunk-3DT2YOGW.js} +11 -6
- package/dist/safe-bash/command-chunks/chunk-3E2OIS2J.js +7037 -0
- package/dist/safe-bash/command-chunks/{chunk-AIRGA2SU.js → chunk-3HXDA5PT.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-3LSOYLNV.js +1091 -0
- package/dist/safe-bash/command-chunks/chunk-4B7Y7S6E.js +61 -0
- package/dist/safe-bash/command-chunks/{chunk-HRLIAMXC.js → chunk-4C6QI5BQ.js} +3 -2
- package/dist/safe-bash/command-chunks/chunk-4ZHMW6F5.js +104 -0
- package/dist/safe-bash/command-chunks/{chunk-4ZALPDBV.js → chunk-53P53XFM.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-5LSGEIZY.js +379 -0
- package/dist/safe-bash/command-chunks/{chunk-MKQVQMXO.js → chunk-5LU4UCBR.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-5T7CRJHW.js +560 -0
- package/dist/safe-bash/command-chunks/chunk-5TBUOBDE.js +346 -0
- package/dist/safe-bash/command-chunks/chunk-5XY4DTNG.js +34 -0
- package/dist/safe-bash/command-chunks/chunk-5ZMZ573Q.js +140 -0
- package/dist/safe-bash/command-chunks/{chunk-OPUJSTHS.js → chunk-67IQF5GC.js} +200 -66
- package/dist/safe-bash/command-chunks/chunk-67QKREJK.js +347 -0
- package/dist/safe-bash/command-chunks/chunk-6EPHJGGF.js +23 -0
- package/dist/safe-bash/command-chunks/chunk-6F4XCVON.js +266 -0
- package/dist/safe-bash/command-chunks/{chunk-ESMCX3YV.js → chunk-6HMX4CQS.js} +669 -130
- package/dist/safe-bash/command-chunks/chunk-7K6JYKPJ.js +422 -0
- package/dist/safe-bash/command-chunks/chunk-7N2LI2KO.js +206 -0
- package/dist/safe-bash/command-chunks/chunk-7RGB363W.js +362 -0
- package/dist/safe-bash/command-chunks/{pptx-GBPNWNEP-7EQEVXV5.js → chunk-AI5JAXQF.js} +34820 -18029
- package/dist/safe-bash/command-chunks/chunk-AMO3THU4.js +105 -0
- package/dist/safe-bash/command-chunks/chunk-BAGCY35S.js +231 -0
- package/dist/safe-bash/command-chunks/chunk-BAXU7B5Z.js +101 -0
- package/dist/safe-bash/command-chunks/{chunk-KMCZ6P4O.js → chunk-BKCNF5U3.js} +68 -7
- package/dist/safe-bash/command-chunks/chunk-BNOU5YQS.js +182 -0
- package/dist/safe-bash/command-chunks/chunk-C7I25AAL.js +25 -0
- package/dist/safe-bash/command-chunks/chunk-CKXV2CLD.js +65 -0
- package/dist/safe-bash/command-chunks/chunk-CQ5YGOGB.js +150 -0
- package/dist/safe-bash/command-chunks/{chunk-I3K5RYU4.js → chunk-D4OP2BR3.js} +72 -24
- package/dist/safe-bash/command-chunks/chunk-DB453IE6.js +122 -0
- package/dist/safe-bash/command-chunks/chunk-DOKKNRRM.js +87 -0
- package/dist/safe-bash/command-chunks/{chunk-2PX5B7T5.js → chunk-DQAVUDDX.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-DT7BCTWY.js +249 -0
- package/dist/safe-bash/command-chunks/chunk-E2LB7FRT.js +42 -0
- package/dist/safe-bash/command-chunks/chunk-EK6YNAXT.js +343 -0
- package/dist/safe-bash/command-chunks/chunk-EQ4HV54N.js +22 -0
- package/dist/safe-bash/command-chunks/chunk-ERYJLO6G.js +293 -0
- package/dist/safe-bash/command-chunks/{chunk-4ONEXMD3.js → chunk-EUSPTFAX.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-FKKB5X5V.js +97 -0
- package/dist/safe-bash/command-chunks/chunk-FXELCPFX.js +195 -0
- package/dist/safe-bash/command-chunks/{chunk-JCNNOMBV.js → chunk-GI4CJED2.js} +3 -2
- package/dist/safe-bash/command-chunks/{chunk-CU5RLO62.js → chunk-GLOZX57Y.js} +92 -18
- package/dist/safe-bash/command-chunks/chunk-GMIHJYDG.js +331 -0
- package/dist/safe-bash/command-chunks/chunk-H622NS6Z.js +11 -0
- package/dist/safe-bash/command-chunks/{chunk-UI32HWGS.js → chunk-HMOZ6XVJ.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-AVSPNLWV.js → chunk-I237SNW5.js} +1 -1
- package/dist/safe-bash/command-chunks/{chunk-ZS3QPNUL.js → chunk-IR2BY7EL.js} +21 -6
- package/dist/safe-bash/command-chunks/chunk-IYPAQ7PH.js +42 -0
- package/dist/safe-bash/command-chunks/chunk-JN7WIP6S.js +94 -0
- package/dist/safe-bash/command-chunks/chunk-JNZ3CVAE.js +147 -0
- package/dist/safe-bash/command-chunks/{chunk-HLBX5IRS.js → chunk-JQ74HC37.js} +24 -32
- package/dist/safe-bash/command-chunks/chunk-KFVV7ZJO.js +216 -0
- package/dist/safe-bash/command-chunks/{chunk-G4PNVO6Z.js → chunk-KP7AO66M.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-KWESKQHR.js +25 -0
- package/dist/safe-bash/command-chunks/chunk-KYSPGS33.js +41 -0
- package/dist/safe-bash/command-chunks/{chunk-C7IHMJEW.js → chunk-KZC5UWFF.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-L6DVEBW3.js +553 -0
- package/dist/safe-bash/command-chunks/chunk-LC2MFKT4.js +2489 -0
- package/dist/safe-bash/command-chunks/chunk-LE5LZNHE.js +204 -0
- package/dist/safe-bash/command-chunks/chunk-MDH5T4OS.js +41 -0
- package/dist/safe-bash/command-chunks/chunk-MM6HU6CX.js +20 -0
- package/dist/safe-bash/command-chunks/{chunk-MYJAZ3U2.js → chunk-MPL2466A.js} +2 -2
- package/dist/safe-bash/command-chunks/{chunk-VZHRZMS7.js → chunk-NAY27PXB.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-NCD7PEWH.js +298 -0
- package/dist/safe-bash/command-chunks/chunk-NFGI5IGF.js +266 -0
- package/dist/safe-bash/command-chunks/{chunk-KVFCSLKK.js → chunk-NXEQ3ESQ.js} +6 -0
- package/dist/safe-bash/command-chunks/{chunk-3VGGYEDH.js → chunk-ORYGZYKW.js} +4 -3
- package/dist/safe-bash/command-chunks/{chunk-OLQG7ZCN.js → chunk-PEF7K3UQ.js} +136 -75
- package/dist/safe-bash/command-chunks/chunk-PII4YEZW.js +123 -0
- package/dist/safe-bash/command-chunks/{chunk-43GSSUAY.js → chunk-PJJUYO3R.js} +5 -5
- package/dist/safe-bash/command-chunks/{chunk-ZT4KSS2V.js → chunk-PTT3I223.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-Q3DII3Q7.js +174 -0
- package/dist/safe-bash/command-chunks/chunk-Q3EWDEUQ.js +185 -0
- package/dist/safe-bash/command-chunks/{chunk-2FUAW6GO.js → chunk-QI7LGHJJ.js} +58 -9
- package/dist/safe-bash/command-chunks/{chunk-6BETHLXZ.js → chunk-QJAFJP2G.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-QNIMV57G.js +63 -0
- package/dist/safe-bash/command-chunks/{chunk-VVI4Z73I.js → chunk-QP4R6GLA.js} +5 -1
- package/dist/safe-bash/command-chunks/{chunk-LPORMIZS.js → chunk-QWIDNAAK.js} +8 -8
- package/dist/safe-bash/command-chunks/chunk-RVLO4DYT.js +35 -0
- package/dist/safe-bash/command-chunks/{chunk-X2YQLGKS.js → chunk-SAMH7SQE.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-SEM36PG5.js +11 -0
- package/dist/safe-bash/command-chunks/chunk-STC3LEWJ.js +634 -0
- package/dist/safe-bash/command-chunks/chunk-SVULUDOP.js +331 -0
- package/dist/safe-bash/command-chunks/chunk-TEVJJPTC.js +1392 -0
- package/dist/safe-bash/command-chunks/{chunk-ZXKW7SJ2.js → chunk-TYCGMRLM.js} +2 -2
- package/dist/safe-bash/command-chunks/chunk-UG7SMZFF.js +178 -0
- package/dist/safe-bash/command-chunks/{chunk-YZ5SVZFD.js → chunk-UMDIOL3O.js} +3 -3
- package/dist/safe-bash/command-chunks/chunk-UXSR5BZH.js +136 -0
- package/dist/safe-bash/command-chunks/chunk-V6BEDRMQ.js +112 -0
- package/dist/safe-bash/command-chunks/chunk-V6MSPQLA.js +362 -0
- package/dist/safe-bash/command-chunks/{chunk-J4PEQWSF.js → chunk-VGG2DL5Q.js} +0 -1
- package/dist/safe-bash/command-chunks/{chunk-SG424QWS.js → chunk-VL67NWNS.js} +1 -1
- package/dist/safe-bash/command-chunks/chunk-WB5SVIG7.js +1034 -0
- package/dist/safe-bash/command-chunks/{src-UJOWAS2S.js → chunk-WD3ERGRY.js} +77 -277
- package/dist/safe-bash/command-chunks/{chunk-YFSDDFGV.js → chunk-WH627NJL.js} +446 -53
- package/dist/safe-bash/command-chunks/chunk-WNE7FPVR.js +236 -0
- package/dist/safe-bash/command-chunks/{chunk-UKS2XJZI.js → chunk-WPYIOKE3.js} +4 -4
- package/dist/safe-bash/command-chunks/chunk-XETLEHZP.js +1227 -0
- package/dist/safe-bash/command-chunks/chunk-XIIBTGC5.js +580 -0
- package/dist/safe-bash/command-chunks/chunk-XJXU3VVH.js +737 -0
- package/dist/safe-bash/command-chunks/chunk-Y5INTD6S.js +220 -0
- package/dist/safe-bash/command-chunks/{chunk-5ZSM4UFN.js → chunk-YGC6OS5O.js} +3 -56
- package/dist/safe-bash/command-chunks/chunk-YJDV76GL.js +262 -0
- package/dist/safe-bash/command-chunks/chunk-YOF7R4OY.js +80 -0
- package/dist/safe-bash/command-chunks/chunk-Z7RVSD5K.js +594 -0
- package/dist/safe-bash/command-chunks/chunk-ZHUWOUWB.js +618 -0
- package/dist/safe-bash/command-chunks/{model-store-L35QTZMJ.js → model-store-WPKMRPV4.js} +2 -2
- package/dist/safe-bash/command-chunks/pptx-7G52EJ6L-4JACH5FB.js +625 -0
- package/dist/safe-bash/command-chunks/python-worker-source-TYOFJMCW.js +4 -0
- package/dist/safe-bash/command-chunks/src-ICMQISAA.js +501 -0
- package/dist/safe-bash/commands/archive/create.d.ts +1 -17
- package/dist/safe-bash/commands/archive/create.js +1 -252
- package/dist/safe-bash/commands/archive/extract.d.ts +1 -11
- package/dist/safe-bash/commands/archive/extract.js +1 -640
- package/dist/safe-bash/commands/archive/format.d.ts +1 -32
- package/dist/safe-bash/commands/archive/format.js +1 -225
- package/dist/safe-bash/commands/archive/index.d.ts +5 -10
- package/dist/safe-bash/commands/archive/index.js +6 -931
- package/dist/safe-bash/commands/archive/listing.d.ts +1 -2
- package/dist/safe-bash/commands/archive/listing.js +1 -21
- package/dist/safe-bash/commands/archive/modes.d.ts +1 -5
- package/dist/safe-bash/commands/archive/modes.js +1 -182
- package/dist/safe-bash/commands/archive/options.d.ts +1 -53
- package/dist/safe-bash/commands/archive/options.js +1 -462
- package/dist/safe-bash/commands/archive/stream.d.ts +1 -22
- package/dist/safe-bash/commands/archive/stream.js +1 -188
- package/dist/safe-bash/commands/archive/transform.d.ts +1 -16
- package/dist/safe-bash/commands/archive/transform.js +1 -85
- package/dist/safe-bash/commands/archive/unzip/arguments.d.ts +1 -53
- package/dist/safe-bash/commands/archive/unzip/arguments.js +1 -322
- package/dist/safe-bash/commands/archive/unzip/safety.d.ts +1 -32
- package/dist/safe-bash/commands/archive/unzip/safety.js +1 -295
- package/dist/safe-bash/commands/archive/unzip.d.ts +1 -3
- package/dist/safe-bash/commands/archive/unzip.js +1 -398
- package/dist/safe-bash/commands/archive/zip/aes.d.ts +1 -17
- package/dist/safe-bash/commands/archive/zip/aes.js +1 -156
- package/dist/safe-bash/commands/archive/zip/comments.d.ts +1 -17
- package/dist/safe-bash/commands/archive/zip/comments.js +1 -83
- package/dist/safe-bash/commands/archive/zip/crc.d.ts +1 -1
- package/dist/safe-bash/commands/archive/zip/crc.js +1 -1
- package/dist/safe-bash/commands/archive/zip/crypto.d.ts +1 -19
- package/dist/safe-bash/commands/archive/zip/crypto.js +1 -118
- package/dist/safe-bash/commands/archive/zip/dates.d.ts +1 -4
- package/dist/safe-bash/commands/archive/zip/dates.js +1 -66
- package/dist/safe-bash/commands/archive/zip/environment.d.ts +1 -2
- package/dist/safe-bash/commands/archive/zip/environment.js +1 -62
- package/dist/safe-bash/commands/archive/zip/grow.d.ts +1 -3
- package/dist/safe-bash/commands/archive/zip/grow.js +1 -2
- package/dist/safe-bash/commands/archive/zip/help.d.ts +1 -4
- package/dist/safe-bash/commands/archive/zip/help.js +1 -182
- package/dist/safe-bash/commands/archive/zip/line-endings.d.ts +1 -2
- package/dist/safe-bash/commands/archive/zip/line-endings.js +1 -194
- package/dist/safe-bash/commands/archive/zip/log.d.ts +1 -22
- package/dist/safe-bash/commands/archive/zip/log.js +1 -159
- package/dist/safe-bash/commands/archive/zip/lzma.d.ts +1 -9
- package/dist/safe-bash/commands/archive/zip/lzma.js +1 -40
- package/dist/safe-bash/commands/archive/zip/move.d.ts +1 -11
- package/dist/safe-bash/commands/archive/zip/move.js +1 -59
- package/dist/safe-bash/commands/archive/zip/names.d.ts +1 -2
- package/dist/safe-bash/commands/archive/zip/names.js +1 -33
- package/dist/safe-bash/commands/archive/zip/options.d.ts +1 -13
- package/dist/safe-bash/commands/archive/zip/options.js +1 -124
- package/dist/safe-bash/commands/archive/zip/repair.d.ts +1 -10
- package/dist/safe-bash/commands/archive/zip/repair.js +1 -392
- package/dist/safe-bash/commands/archive/zip/safety.d.ts +1 -54
- package/dist/safe-bash/commands/archive/zip/safety.js +1 -360
- package/dist/safe-bash/commands/archive/zip/sfx.d.ts +1 -4
- package/dist/safe-bash/commands/archive/zip/sfx.js +1 -52
- package/dist/safe-bash/commands/archive/zip/test-command.d.ts +1 -5
- package/dist/safe-bash/commands/archive/zip/test-command.js +1 -101
- package/dist/safe-bash/commands/archive/zip/volumes.d.ts +1 -21
- package/dist/safe-bash/commands/archive/zip/volumes.js +1 -281
- package/dist/safe-bash/commands/archive/zip/zip64.d.ts +1 -30
- package/dist/safe-bash/commands/archive/zip/zip64.js +1 -227
- package/dist/safe-bash/commands/archive/zip-format.d.ts +1 -68
- package/dist/safe-bash/commands/archive/zip-format.js +1 -1075
- package/dist/safe-bash/commands/archive/zip.d.ts +1 -3
- package/dist/safe-bash/commands/archive/zip.js +1 -1523
- package/dist/safe-bash/commands/awk/index.d.ts +2 -0
- package/dist/safe-bash/commands/awk/index.js +2 -0
- package/dist/safe-bash/commands/bytes/compression/index.js +2 -1
- package/dist/safe-bash/commands/curl/index.d.ts +2 -0
- package/dist/safe-bash/commands/curl/index.js +2 -0
- package/dist/safe-bash/commands/diff/index.d.ts +2 -0
- package/dist/safe-bash/commands/diff/index.js +2 -0
- package/dist/safe-bash/commands/diff-patch/diff-format.d.ts +1 -10
- package/dist/safe-bash/commands/diff-patch/diff-format.js +1 -237
- package/dist/safe-bash/commands/diff-patch/diff-options.d.ts +1 -38
- package/dist/safe-bash/commands/diff-patch/diff-options.js +1 -261
- package/dist/safe-bash/commands/diff-patch/diff-output.d.ts +1 -20
- package/dist/safe-bash/commands/diff-patch/diff-output.js +1 -290
- package/dist/safe-bash/commands/diff-patch/diff.d.ts +1 -2
- package/dist/safe-bash/commands/diff-patch/diff.js +1 -656
- package/dist/safe-bash/commands/diff-patch/index.d.ts +4 -5
- package/dist/safe-bash/commands/diff-patch/index.js +8 -333
- package/dist/safe-bash/commands/diff-patch/patch-envelope.d.ts +1 -2
- package/dist/safe-bash/commands/diff-patch/patch-envelope.js +1 -63
- package/dist/safe-bash/commands/diff-patch/patch-formats.d.ts +1 -7
- package/dist/safe-bash/commands/diff-patch/patch-formats.js +1 -264
- package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.d.ts +1 -41
- package/dist/safe-bash/commands/diff-patch/patch-gnu-paths.js +1 -263
- package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.d.ts +1 -3
- package/dist/safe-bash/commands/diff-patch/patch-gnu-reject.js +1 -100
- package/dist/safe-bash/commands/diff-patch/patch-path.d.ts +1 -3
- package/dist/safe-bash/commands/diff-patch/patch-path.js +1 -91
- package/dist/safe-bash/commands/diff-patch/patch-publication.d.ts +1 -13
- package/dist/safe-bash/commands/diff-patch/patch-publication.js +1 -107
- package/dist/safe-bash/commands/diff-patch/patch.d.ts +1 -2
- package/dist/safe-bash/commands/diff-patch/patch.js +1 -653
- package/dist/safe-bash/commands/diff-patch/shared.d.ts +1 -53
- package/dist/safe-bash/commands/diff-patch/shared.js +1 -267
- package/dist/safe-bash/commands/diff-patch/unified.d.ts +1 -52
- package/dist/safe-bash/commands/diff-patch/unified.js +1 -385
- package/dist/safe-bash/commands/directory-admission.d.ts +1 -3
- package/dist/safe-bash/commands/directory-admission.js +1 -26
- package/dist/safe-bash/commands/find/index.d.ts +2 -0
- package/dist/safe-bash/commands/find/index.js +2 -0
- package/dist/safe-bash/commands/find-format.d.ts +1 -20
- package/dist/safe-bash/commands/find-format.js +1 -161
- package/dist/safe-bash/commands/find.d.ts +2 -18
- package/dist/safe-bash/commands/find.js +2 -1236
- package/dist/safe-bash/commands/gzip/index.d.ts +2 -0
- package/dist/safe-bash/commands/gzip/index.js +2 -0
- package/dist/safe-bash/commands/line-endings/index.browser.js +1 -1
- package/dist/safe-bash/commands/line-endings/index.d.ts +1 -1
- package/dist/safe-bash/commands/line-endings/index.js +1 -262
- package/dist/safe-bash/commands/llm/index.browser.js +3 -1
- package/dist/safe-bash/commands/mdq/index.browser.js +2 -2
- package/dist/safe-bash/commands/metadata/chmod.d.ts +1 -4
- package/dist/safe-bash/commands/metadata/chmod.js +2 -63
- package/dist/safe-bash/commands/network/aggregate.d.ts +1 -4
- package/dist/safe-bash/commands/network/aggregate.js +1 -23
- package/dist/safe-bash/commands/network/args.d.ts +1 -68
- package/dist/safe-bash/commands/network/args.js +1 -321
- package/dist/safe-bash/commands/network/authorizer.d.ts +1 -6
- package/dist/safe-bash/commands/network/authorizer.js +1 -33
- package/dist/safe-bash/commands/network/body.d.ts +1 -9
- package/dist/safe-bash/commands/network/body.js +1 -393
- package/dist/safe-bash/commands/network/curl.d.ts +3 -13
- package/dist/safe-bash/commands/network/curl.js +6 -693
- package/dist/safe-bash/commands/network/deadline.d.ts +1 -2
- package/dist/safe-bash/commands/network/deadline.js +1 -14
- package/dist/safe-bash/commands/network/decode.d.ts +1 -2
- package/dist/safe-bash/commands/network/decode.js +1 -79
- package/dist/safe-bash/commands/network/fetch-transport.d.ts +1 -7
- package/dist/safe-bash/commands/network/fetch-transport.js +1 -94
- package/dist/safe-bash/commands/network/form-content-type.d.ts +1 -5
- package/dist/safe-bash/commands/network/form-content-type.js +1 -63
- package/dist/safe-bash/commands/network/form-headers.d.ts +1 -2
- package/dist/safe-bash/commands/network/form-headers.js +1 -35
- package/dist/safe-bash/commands/network/glob.d.ts +1 -7
- package/dist/safe-bash/commands/network/glob.js +1 -134
- package/dist/safe-bash/commands/network/index.browser.js +2 -10
- package/dist/safe-bash/commands/network/input.d.ts +1 -5
- package/dist/safe-bash/commands/network/input.js +1 -276
- package/dist/safe-bash/commands/network/output.d.ts +1 -6
- package/dist/safe-bash/commands/network/output.js +1 -131
- package/dist/safe-bash/commands/network/private-address.d.ts +1 -1
- package/dist/safe-bash/commands/network/private-address.js +1 -44
- package/dist/safe-bash/commands/network/shared.d.ts +1 -14
- package/dist/safe-bash/commands/network/shared.js +1 -71
- package/dist/safe-bash/commands/network/types.d.ts +1 -37
- package/dist/safe-bash/commands/network/types.js +1 -31
- package/dist/safe-bash/commands/network/url.d.ts +1 -2
- package/dist/safe-bash/commands/network/url.js +1 -30
- package/dist/safe-bash/commands/network/wget.d.ts +3 -3
- package/dist/safe-bash/commands/network/wget.js +10 -331
- package/dist/safe-bash/commands/node/index.browser.js +4 -5
- package/dist/safe-bash/commands/node/index.d.ts +3 -3
- package/dist/safe-bash/commands/node/index.js +5 -0
- package/dist/safe-bash/commands/node/safejs.d.ts +3 -3
- package/dist/safe-bash/commands/node/safejs.js +6 -1
- package/dist/safe-bash/commands/node/types.d.ts +1 -1
- package/dist/safe-bash/commands/node/unconfigured.d.ts +3 -0
- package/dist/safe-bash/commands/node/unconfigured.js +10 -0
- package/dist/safe-bash/commands/op/index.browser.js +2 -2
- package/dist/safe-bash/commands/patch/index.d.ts +2 -0
- package/dist/safe-bash/commands/patch/index.js +2 -0
- package/dist/safe-bash/commands/pdfinfo/index.js +2 -1
- package/dist/safe-bash/commands/predicates.js +3 -4
- package/dist/safe-bash/commands/python/index.browser.js +5 -5
- package/dist/safe-bash/commands/python/llm-capability.d.ts +1 -0
- package/dist/safe-bash/commands/python/llm-capability.js +27 -7
- package/dist/safe-bash/commands/python/llm-module.js +11 -0
- package/dist/safe-bash/commands/python/manifest.d.ts +1 -0
- package/dist/safe-bash/commands/python/manifest.js +9 -5
- package/dist/safe-bash/commands/python/provisioning.js +1 -1
- package/dist/safe-bash/commands/regex-execution/matching.js +1 -2
- package/dist/safe-bash/commands/regex-execution/public.browser.js +5 -5
- package/dist/safe-bash/commands/search/index.d.ts +1 -1
- package/dist/safe-bash/commands/search/index.js +1 -347
- package/dist/safe-bash/commands/search/portable.d.ts +2 -2
- package/dist/safe-bash/commands/search/portable.js +3 -2
- package/dist/safe-bash/commands/sed/index.d.ts +2 -0
- package/dist/safe-bash/commands/sed/index.js +2 -0
- package/dist/safe-bash/commands/tar/index.d.ts +2 -0
- package/dist/safe-bash/commands/tar/index.js +2 -0
- package/dist/safe-bash/commands/text-programs/awk-inspection.d.ts +1 -19
- package/dist/safe-bash/commands/text-programs/awk-inspection.js +1 -50
- package/dist/safe-bash/commands/text-programs/awk-pipes.d.ts +2 -0
- package/dist/safe-bash/commands/text-programs/awk-pipes.js +2 -0
- package/dist/safe-bash/commands/text-programs/awk-pretty.d.ts +1 -3
- package/dist/safe-bash/commands/text-programs/awk-pretty.js +1 -197
- package/dist/safe-bash/commands/text-programs/awk-quote.d.ts +1 -2
- package/dist/safe-bash/commands/text-programs/awk-quote.js +1 -15
- package/dist/safe-bash/commands/text-programs/awk-reader.d.ts +1 -42
- package/dist/safe-bash/commands/text-programs/awk-reader.js +1 -449
- package/dist/safe-bash/commands/text-programs/awk-retention.d.ts +1 -13
- package/dist/safe-bash/commands/text-programs/awk-retention.js +1 -51
- package/dist/safe-bash/commands/text-programs/awk-runtime.d.ts +1 -150
- package/dist/safe-bash/commands/text-programs/awk-runtime.js +1 -2627
- package/dist/safe-bash/commands/text-programs/awk-syntax.d.ts +1 -142
- package/dist/safe-bash/commands/text-programs/awk-syntax.js +1 -509
- package/dist/safe-bash/commands/text-programs/awk-values.d.ts +1 -32
- package/dist/safe-bash/commands/text-programs/awk-values.js +1 -386
- package/dist/safe-bash/commands/text-programs/awk.d.ts +1 -3
- package/dist/safe-bash/commands/text-programs/awk.js +1 -361
- package/dist/safe-bash/commands/text-programs/inplace.d.ts +1 -16
- package/dist/safe-bash/commands/text-programs/inplace.js +1 -155
- package/dist/safe-bash/commands/text-programs/sed.d.ts +1 -3
- package/dist/safe-bash/commands/text-programs/sed.js +1 -1647
- package/dist/safe-bash/commands/unzip/index.d.ts +2 -0
- package/dist/safe-bash/commands/unzip/index.js +2 -0
- package/dist/safe-bash/commands/wget/index.d.ts +2 -0
- package/dist/safe-bash/commands/wget/index.js +2 -0
- package/dist/safe-bash/commands/yq/index.browser.js +7 -2
- package/dist/safe-bash/commands/yq/index.d.ts +1 -6
- package/dist/safe-bash/commands/yq/index.js +1 -36
- package/dist/safe-bash/commands/zip/index.d.ts +2 -0
- package/dist/safe-bash/commands/zip/index.js +2 -0
- package/dist/safe-bash/core.browser.js +1 -1
- package/dist/safe-bash/core.d.ts +8 -1
- package/dist/safe-bash/core.js +7 -1
- package/dist/safe-bash/fs/s3/index.d.ts +2 -2
- package/dist/safe-bash/fs/s3/index.js +1 -1
- package/dist/safe-bash/full-core.browser.js +254 -223
- package/dist/safe-bash/jobs.browser.js +2 -2
- package/dist/safe-bash/lazy-mmdc.d.ts +6 -0
- package/dist/safe-bash/lazy-mmdc.js +23 -0
- package/dist/safe-bash/opt-in/commands/yq/mike.js +6 -13
- package/dist/safe-bash/opt-in/commands/yq/native-work.d.ts +1 -0
- package/dist/safe-bash/opt-in/commands/yq/native-work.js +17 -0
- package/dist/safe-bash/optional-host.browser.js +8 -4
- package/dist/safe-bash/optional-host.d.ts +1 -1
- package/dist/safe-bash/optional-host.js +1 -1
- package/dist/safe-bash/playwright/ability-execution.js +3 -2
- package/dist/safe-bash/playwright/adapter.js +1 -1
- package/dist/safe-bash/playwright/controller.js +9 -8
- package/dist/safe-bash/playwright/modal-capabilities.js +2 -1
- package/dist/safe-bash/playwright/native-json-snapshot.js +4 -3
- package/dist/safe-bash/playwright/native-snapshot.js +5 -4
- package/dist/safe-bash/playwright/open-options.js +3 -3
- package/dist/safe-bash/playwright/resource-limit.d.ts +2 -0
- package/dist/safe-bash/playwright/resource-limit.js +4 -0
- package/dist/safe-bash/playwright/session-configuration.js +8 -3
- package/dist/safe-bash/playwright/snapshot.js +8 -7
- package/dist/safe-bash/playwright/standard-capabilities.js +5 -4
- package/dist/safe-bash/plugins/index.browser.js +14 -16
- package/dist/safe-bash/registry-entry.browser.js +14 -16
- package/dist/safe-bash/shell/arrays/bindings.d.ts +3 -5
- package/dist/safe-bash/shell/arrays/bindings.js +6 -2
- package/dist/safe-bash/shell/input.js +16 -14
- package/dist/safe-bash/shell/runtime.d.ts +3 -0
- package/dist/safe-bash/shell/runtime.js +316 -64
- package/dist/safe-bash/shell/types.d.ts +2 -0
- package/dist/safe-bash/shell/value-state.js +17 -2
- package/dist/safe-bash/shell/worker-limits.js +1 -0
- package/dist/safe-bash/shell-entry.browser.js +13 -15
- package/dist/safe-bash/trap.browser.d.ts +3 -0
- package/dist/safe-bash/trap.browser.js +14 -0
- package/dist/safe-bash/worker/host.js +1 -1
- package/dist/safe-bash-command-apply-patch/apply.js +2 -2
- package/dist/safe-bash-command-apply-patch/index.js +3 -3
- package/dist/safe-bash-command-awk/LICENSE +21 -0
- package/dist/safe-bash-command-awk/awk-inspection.d.ts +19 -0
- package/dist/safe-bash-command-awk/awk-inspection.js +9 -0
- package/dist/safe-bash-command-awk/awk-pipes.d.ts +19 -0
- package/dist/safe-bash-command-awk/awk-pipes.js +8 -0
- package/dist/safe-bash-command-awk/awk-pretty.d.ts +3 -0
- package/dist/safe-bash-command-awk/awk-pretty.js +8 -0
- package/dist/safe-bash-command-awk/awk-quote.d.ts +2 -0
- package/dist/safe-bash-command-awk/awk-quote.js +7 -0
- package/dist/safe-bash-command-awk/awk-reader.d.ts +42 -0
- package/dist/safe-bash-command-awk/awk-reader.js +9 -0
- package/dist/safe-bash-command-awk/awk-retention.d.ts +13 -0
- package/dist/safe-bash-command-awk/awk-retention.js +7 -0
- package/dist/safe-bash-command-awk/awk-runtime.d.ts +151 -0
- package/dist/safe-bash-command-awk/awk-runtime.js +11 -0
- package/dist/safe-bash-command-awk/awk-syntax.d.ts +144 -0
- package/dist/safe-bash-command-awk/awk-syntax.js +14 -0
- package/dist/safe-bash-command-awk/awk-values.d.ts +32 -0
- package/dist/safe-bash-command-awk/awk-values.js +35 -0
- package/dist/safe-bash-command-awk/awk.d.ts +3 -0
- package/dist/safe-bash-command-awk/awk.js +16 -0
- package/dist/safe-bash-command-awk/index.d.ts +7 -0
- package/dist/safe-bash-command-awk/index.js +36 -0
- package/dist/safe-bash-command-bc/index.d.ts +4 -0
- package/dist/safe-bash-command-bc/index.js +15 -176
- package/dist/safe-bash-command-column/column.js +3 -3
- package/dist/safe-bash-command-column/index.js +3 -3
- package/dist/safe-bash-command-column/layout.js +2 -2
- package/dist/safe-bash-command-csplit/command.js +2 -2
- package/dist/safe-bash-command-csplit/index.js +2 -2
- package/dist/safe-bash-command-csvkit/contracts.d.ts +1 -0
- package/dist/safe-bash-command-csvkit/csvpy-interpreter.d.ts +2 -1
- package/dist/safe-bash-command-csvkit/default-csvpy.d.ts +11 -0
- package/dist/safe-bash-command-csvkit/errors.js +22 -0
- package/dist/safe-bash-command-csvkit/index.d.ts +1 -0
- package/dist/safe-bash-command-csvkit/index.js +172 -4
- package/dist/safe-bash-command-csvkit/python-worker-browser.d.ts +3 -0
- package/dist/safe-bash-command-csvkit/python-worker-browser.js +16 -0
- package/dist/safe-bash-command-csvkit/python-worker-contract.d.ts +20 -0
- package/dist/safe-bash-command-csvkit/python-worker-node.d.ts +3 -0
- package/dist/safe-bash-command-csvkit/python-worker-node.js +9 -0
- package/dist/safe-bash-command-csvkit/runtime.d.ts +1 -0
- package/dist/safe-bash-command-curl/LICENSE +21 -0
- package/dist/safe-bash-command-curl/curl.d.ts +13 -0
- package/dist/safe-bash-command-curl/curl.js +9 -0
- package/dist/safe-bash-command-curl/index.d.ts +6 -0
- package/dist/safe-bash-command-curl/index.js +26 -0
- package/dist/safe-bash-command-diff/LICENSE +21 -0
- package/dist/safe-bash-command-diff/diff-format.d.ts +10 -0
- package/dist/safe-bash-command-diff/diff-format.js +10 -0
- package/dist/safe-bash-command-diff/diff-options.d.ts +38 -0
- package/dist/safe-bash-command-diff/diff-options.js +7 -0
- package/dist/safe-bash-command-diff/diff-output.d.ts +20 -0
- package/dist/safe-bash-command-diff/diff-output.js +19 -0
- package/dist/safe-bash-command-diff/diff.d.ts +2 -0
- package/dist/safe-bash-command-diff/diff.js +10 -0
- package/dist/safe-bash-command-diff/index.d.ts +8 -0
- package/dist/safe-bash-command-diff/index.js +34 -0
- package/dist/safe-bash-command-diff/sync.d.ts +2 -0
- package/dist/safe-bash-command-diff/sync.js +9 -0
- package/dist/safe-bash-command-diff3/index.js +5 -5
- package/dist/safe-bash-command-docx/index.d.ts +4 -4
- package/dist/safe-bash-command-docx/index.js +12 -5
- package/dist/safe-bash-command-dos2unix/index.d.ts +1 -0
- package/dist/safe-bash-command-dos2unix/index.js +225 -1
- package/dist/safe-bash-command-dos2unix/sync.d.ts +1 -0
- package/dist/safe-bash-command-exiftool/index.js +2 -2
- package/dist/safe-bash-command-factor/command.js +2 -2
- package/dist/safe-bash-command-factor/index.js +2 -2
- package/dist/safe-bash-command-ffmpeg/index.js +86 -94
- package/dist/safe-bash-command-file/index.js +3 -3
- package/dist/safe-bash-command-find/LICENSE +21 -0
- package/dist/safe-bash-command-find/find-format.d.ts +20 -0
- package/dist/safe-bash-command-find/find-format.js +9 -0
- package/dist/safe-bash-command-find/find.d.ts +18 -0
- package/dist/safe-bash-command-find/find.js +10 -0
- package/dist/safe-bash-command-find/index.d.ts +13 -0
- package/dist/safe-bash-command-find/index.js +45 -0
- package/dist/safe-bash-command-fmt/index.js +7 -4
- package/dist/safe-bash-command-git/git_rust.wasm +0 -0
- package/dist/safe-bash-command-git/index.js +5 -7
- package/dist/safe-bash-command-git/wasm.generated.js +1 -1
- package/dist/safe-bash-command-gzip/LICENSE +21 -0
- package/dist/safe-bash-command-gzip/index.d.ts +11 -0
- package/dist/safe-bash-command-gzip/index.js +94 -0
- package/dist/safe-bash-command-html-to-markdown/index.js +5 -5
- package/dist/safe-bash-command-htmlq/index.js +12 -8
- package/dist/safe-bash-command-imagemagick/index.js +22 -30
- 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-llm/command.js +1 -1
- package/dist/safe-bash-command-llm/index.d.ts +1 -0
- package/dist/safe-bash-command-llm/index.js +16 -14
- package/dist/safe-bash-command-llm/openai.js +3 -3
- package/dist/safe-bash-command-llm/providers/index.js +3 -3
- package/dist/safe-bash-command-llm/providers/openai.js +3 -3
- package/dist/safe-bash-command-llm/stored-schema.d.ts +10 -0
- package/dist/safe-bash-command-mmdc/index.js +13 -604
- package/dist/safe-bash-command-mmdc/settings.d.ts +2 -0
- package/dist/safe-bash-command-mmdc/settings.js +7 -0
- package/dist/safe-bash-command-pandoc/command.js +4 -3
- package/dist/safe-bash-command-pandoc/defaults.d.ts +1 -0
- package/dist/safe-bash-command-pandoc/index.js +4 -3
- package/dist/safe-bash-command-pandoc/lua-filters.js +1 -1
- package/dist/safe-bash-command-pandoc/types.d.ts +3 -1
- package/dist/safe-bash-command-patch/LICENSE +21 -0
- package/dist/safe-bash-command-patch/index.d.ts +8 -0
- package/dist/safe-bash-command-patch/index.js +38 -0
- package/dist/safe-bash-command-patch/patch-envelope.d.ts +2 -0
- package/dist/safe-bash-command-patch/patch-envelope.js +7 -0
- package/dist/safe-bash-command-patch/patch-formats.d.ts +7 -0
- package/dist/safe-bash-command-patch/patch-formats.js +9 -0
- package/dist/safe-bash-command-patch/patch-gnu-paths.d.ts +41 -0
- package/dist/safe-bash-command-patch/patch-gnu-paths.js +26 -0
- package/dist/safe-bash-command-patch/patch-gnu-reject.d.ts +3 -0
- package/dist/safe-bash-command-patch/patch-gnu-reject.js +7 -0
- package/dist/safe-bash-command-patch/patch-path.d.ts +3 -0
- package/dist/safe-bash-command-patch/patch-path.js +11 -0
- package/dist/safe-bash-command-patch/patch-publication.d.ts +13 -0
- package/dist/safe-bash-command-patch/patch-publication.js +7 -0
- package/dist/safe-bash-command-patch/patch.d.ts +2 -0
- package/dist/safe-bash-command-patch/patch.js +14 -0
- package/dist/safe-bash-command-patch/sync.d.ts +2 -0
- package/dist/safe-bash-command-patch/sync.js +7 -0
- package/dist/safe-bash-command-patch/unified.d.ts +52 -0
- package/dist/safe-bash-command-patch/unified.js +16 -0
- package/dist/safe-bash-command-pdfimages/index.js +37 -16
- package/dist/safe-bash-command-pdfinfo/index.d.ts +0 -23
- package/dist/safe-bash-command-pdfinfo/index.js +20 -772
- package/dist/safe-bash-command-pdftk/index.js +37 -9
- package/dist/safe-bash-command-pdftoppm/index.js +50 -20
- package/dist/safe-bash-command-pdftotext/index.js +10 -2
- package/dist/safe-bash-command-pptx/index.d.ts +4 -4
- package/dist/safe-bash-command-pptx/index.js +11 -5
- package/dist/safe-bash-command-pr/command.js +2 -2
- package/dist/safe-bash-command-pr/index.js +4 -4
- package/dist/safe-bash-command-qpdf/index.js +26 -13
- package/dist/safe-bash-command-rg/index.d.ts +1 -0
- package/dist/safe-bash-command-rg/index.js +222 -1
- package/dist/safe-bash-command-rg/rg-command.js +1 -1
- package/dist/safe-bash-command-rg/sync.d.ts +1 -0
- package/dist/safe-bash-command-sed/LICENSE +21 -0
- package/dist/safe-bash-command-sed/index.d.ts +7 -0
- package/dist/safe-bash-command-sed/index.js +28 -0
- package/dist/safe-bash-command-sed/inplace.d.ts +16 -0
- package/dist/safe-bash-command-sed/inplace.js +9 -0
- package/dist/safe-bash-command-sed/sed.d.ts +3 -0
- package/dist/safe-bash-command-sed/sed.js +8 -0
- package/dist/safe-bash-command-sips/index.js +111 -35
- package/dist/safe-bash-command-soffice/index.js +4 -4
- package/dist/safe-bash-command-sqlite3/engine.d.ts +1 -2
- package/dist/safe-bash-command-sqlite3/index.js +152 -452
- package/dist/safe-bash-command-ssconvert/commands.js +1 -1
- package/dist/safe-bash-command-ssconvert/formats/ods.js +2 -2
- package/dist/safe-bash-command-ssconvert/formats/xlsx.js +3 -3
- package/dist/safe-bash-command-ssconvert/index.js +5 -5
- package/dist/safe-bash-command-tar/LICENSE +21 -0
- package/dist/safe-bash-command-tar/create.d.ts +17 -0
- package/dist/safe-bash-command-tar/create.js +14 -0
- package/dist/safe-bash-command-tar/extract.d.ts +11 -0
- package/dist/safe-bash-command-tar/extract.js +14 -0
- package/dist/safe-bash-command-tar/format.d.ts +32 -0
- package/dist/safe-bash-command-tar/format.js +19 -0
- package/dist/safe-bash-command-tar/index.d.ts +8 -0
- package/dist/safe-bash-command-tar/index.js +550 -0
- package/dist/safe-bash-command-tar/listing.d.ts +2 -0
- package/dist/safe-bash-command-tar/listing.js +7 -0
- package/dist/safe-bash-command-tar/modes.d.ts +5 -0
- package/dist/safe-bash-command-tar/modes.js +16 -0
- package/dist/safe-bash-command-tar/options.d.ts +53 -0
- package/dist/safe-bash-command-tar/options.js +10 -0
- package/dist/safe-bash-command-tar/stream.d.ts +22 -0
- package/dist/safe-bash-command-tar/stream.js +15 -0
- package/dist/safe-bash-command-tar/transform.d.ts +16 -0
- package/dist/safe-bash-command-tar/transform.js +9 -0
- package/dist/safe-bash-command-unzip/LICENSE +21 -0
- package/dist/safe-bash-command-unzip/index.d.ts +7 -0
- package/dist/safe-bash-command-unzip/index.js +39 -0
- package/dist/safe-bash-command-unzip/sync.d.ts +3 -0
- package/dist/safe-bash-command-unzip/sync.js +9 -0
- package/dist/safe-bash-command-unzip/unzip/safety.d.ts +32 -0
- package/dist/safe-bash-command-unzip/unzip/safety.js +7 -0
- package/dist/safe-bash-command-unzip/unzip.d.ts +3 -0
- package/dist/safe-bash-command-unzip/unzip.js +8 -0
- package/dist/safe-bash-command-wget/LICENSE +21 -0
- package/dist/safe-bash-command-wget/index.d.ts +6 -0
- package/dist/safe-bash-command-wget/index.js +26 -0
- package/dist/safe-bash-command-wget/wget.d.ts +3 -0
- package/dist/safe-bash-command-wget/wget.js +7 -0
- package/dist/safe-bash-command-xan/argv.d.ts +4 -1
- package/dist/safe-bash-command-xan/argv.js +1 -1
- package/dist/safe-bash-command-xan/commands.js +4 -3
- package/dist/safe-bash-command-xan/index.js +15 -14
- package/dist/safe-bash-command-xan/io.js +2 -2
- package/dist/safe-bash-command-xmllint/index.js +189 -49
- package/dist/safe-bash-command-xz/index.js +3 -2
- package/dist/safe-bash-command-xz/options.d.ts +9 -1
- package/dist/safe-bash-command-xz/options.js +3 -1
- package/dist/safe-bash-command-yq/index.d.ts +4 -11
- package/dist/safe-bash-command-yq/index.js +3367 -670
- package/dist/safe-bash-command-yq/mike.js +6 -13
- package/dist/safe-bash-command-yq/native-work.d.ts +1 -0
- package/dist/safe-bash-command-yq/native-work.js +17 -0
- package/dist/safe-bash-command-yq/query.d.ts +11 -0
- package/dist/safe-bash-command-yq/query.js +735 -0
- package/dist/safe-bash-command-zip/LICENSE +21 -0
- package/dist/safe-bash-command-zip/index.d.ts +7 -0
- package/dist/safe-bash-command-zip/index.js +38 -0
- package/dist/safe-bash-command-zip/sync.d.ts +3 -0
- package/dist/safe-bash-command-zip/sync.js +9 -0
- package/dist/safe-bash-command-zip/zip.d.ts +3 -0
- package/dist/safe-bash-command-zip/zip.js +7 -0
- package/dist/safe-bash-compression-engine/files.js +4 -4
- package/dist/safe-bash-compression-engine/index.js +2 -2
- package/dist/safe-bash-compression-engine/operand.js +6 -6
- package/dist/safe-bash-compression-engine/stream.js +2 -2
- package/dist/safe-bash-compression-engine/zstd-decode.js +1 -1
- package/dist/safe-bash-contracts/command.js +1 -1
- package/dist/safe-bash-contracts/diagnostics.js +4 -4
- package/dist/safe-bash-contracts/escaping.js +11 -11
- package/dist/safe-bash-contracts/filesystem-descriptor.js +1 -1
- package/dist/safe-bash-contracts/filesystem-output.js +8 -8
- package/dist/safe-bash-contracts/index.js +34 -34
- package/dist/safe-bash-contracts/io.js +2 -2
- package/dist/safe-bash-contracts/output.js +3 -3
- package/dist/safe-bash-diff-engine/LICENSE +21 -0
- package/dist/safe-bash-diff-engine/index.d.ts +1 -0
- package/dist/safe-bash-diff-engine/index.js +24 -0
- package/dist/safe-bash-diff-engine/shared.d.ts +53 -0
- package/dist/safe-bash-diff-engine/shared.js +19 -0
- package/dist/safe-bash-io-engine/commands/directory-admission.d.ts +3 -0
- package/dist/safe-bash-io-engine/commands/directory-admission.js +34 -0
- package/dist/safe-bash-io-engine/commands/mode-change.d.ts +4 -0
- package/dist/safe-bash-io-engine/commands/mode-change.js +60 -0
- package/dist/safe-bash-io-engine/commands/text-programs/shared.js +20 -31
- package/dist/safe-bash-io-engine/shell/pattern.js +7 -12
- package/dist/safe-bash-markdown-engine/commonmark-blocks.js +4 -4
- package/dist/safe-bash-markdown-engine/commonmark-inlines.js +4 -4
- package/dist/safe-bash-markdown-engine/commonmark-syntax.js +2 -2
- package/dist/safe-bash-markdown-engine/gfm-syntax.js +3 -3
- package/dist/safe-bash-markdown-engine/index.js +7 -7
- package/dist/safe-bash-mcp/index.browser.d.ts +6 -0
- package/dist/safe-bash-mcp/index.browser.js +1 -0
- package/dist/safe-bash-mcp/index.d.ts +12 -0
- package/dist/safe-bash-mcp/index.js +1558 -36
- package/dist/safe-bash-network-engine/LICENSE +21 -0
- package/dist/safe-bash-network-engine/aggregate.d.ts +4 -0
- package/dist/safe-bash-network-engine/aggregate.js +37 -0
- package/dist/safe-bash-network-engine/args.d.ts +68 -0
- package/dist/safe-bash-network-engine/args.js +19 -0
- package/dist/safe-bash-network-engine/authorizer.d.ts +6 -0
- package/dist/safe-bash-network-engine/authorizer.js +8 -0
- package/dist/safe-bash-network-engine/body.d.ts +9 -0
- package/dist/safe-bash-network-engine/body.js +374 -0
- package/dist/safe-bash-network-engine/deadline.d.ts +2 -0
- package/dist/safe-bash-network-engine/deadline.js +7 -0
- package/dist/safe-bash-network-engine/decode.d.ts +2 -0
- package/dist/safe-bash-network-engine/decode.js +81 -0
- package/dist/safe-bash-network-engine/fetch-transport.d.ts +7 -0
- package/dist/safe-bash-network-engine/fetch-transport.js +9 -0
- package/dist/safe-bash-network-engine/form-content-type.d.ts +5 -0
- package/dist/safe-bash-network-engine/form-content-type.js +8 -0
- package/dist/safe-bash-network-engine/form-headers.d.ts +2 -0
- package/dist/safe-bash-network-engine/form-headers.js +10 -0
- package/dist/safe-bash-network-engine/glob.d.ts +7 -0
- package/dist/safe-bash-network-engine/glob.js +124 -0
- package/dist/safe-bash-network-engine/index.d.ts +3 -0
- package/dist/safe-bash-network-engine/index.js +26 -0
- package/dist/safe-bash-network-engine/input.d.ts +5 -0
- package/dist/safe-bash-network-engine/input.js +255 -0
- package/dist/safe-bash-network-engine/output.d.ts +6 -0
- package/dist/safe-bash-network-engine/output.js +132 -0
- package/dist/safe-bash-network-engine/platform-portable.d.ts +5 -0
- package/dist/safe-bash-network-engine/platform-portable.js +19 -0
- package/dist/safe-bash-network-engine/private-address.d.ts +1 -0
- package/dist/safe-bash-network-engine/private-address.js +7 -0
- package/dist/safe-bash-network-engine/shared.d.ts +14 -0
- package/dist/safe-bash-network-engine/shared.js +23 -0
- package/dist/safe-bash-network-engine/types.d.ts +37 -0
- package/dist/safe-bash-network-engine/types.js +11 -0
- package/dist/safe-bash-network-engine/url.d.ts +2 -0
- package/dist/safe-bash-network-engine/url.js +8 -0
- package/dist/safe-bash-query-engine/capture.d.ts +1 -0
- package/dist/safe-bash-query-engine/capture.js +9 -7
- package/dist/safe-bash-query-engine/dates.d.ts +5 -1
- package/dist/safe-bash-query-engine/dates.js +10 -2
- package/dist/safe-bash-query-engine/delpaths.js +5 -5
- package/dist/safe-bash-query-engine/formats.js +3 -3
- package/dist/safe-bash-query-engine/index.js +15 -15
- package/dist/safe-bash-query-engine/indices.js +5 -5
- package/dist/safe-bash-query-engine/input.d.ts +1 -2
- package/dist/safe-bash-query-engine/input.js +2 -4
- package/dist/safe-bash-query-engine/interpreter.d.ts +5 -0
- package/dist/safe-bash-query-engine/interpreter.js +13 -13
- package/dist/safe-bash-query-engine/limits.js +1 -1
- package/dist/safe-bash-query-engine/parser.d.ts +8 -1
- package/dist/safe-bash-query-engine/parser.js +2 -2
- package/dist/safe-bash-query-engine/query-core.js +15 -15
- package/dist/safe-bash-query-engine/recurse.js +2 -2
- package/dist/safe-bash-query-engine/regex.d.ts +4 -2
- package/dist/safe-bash-query-engine/regex.js +10 -5
- package/dist/safe-bash-query-engine/split.js +2 -2
- package/dist/safe-bash-query-engine/splits.d.ts +1 -1
- package/dist/safe-bash-query-engine/splits.js +7 -6
- package/dist/safe-bash-query-engine/values.js +4 -4
- package/dist/safe-bash-regex-engine/ere/matcher.js +4 -4
- package/dist/safe-bash-regex-engine/index.js +2 -2
- package/dist/safe-bash-regex-engine/text/regex.d.ts +1 -0
- package/dist/safe-bash-regex-engine/text/regex.js +2 -2
- package/dist/safe-bash-search-engine/ergonomic-regex.d.ts +12 -2
- package/dist/safe-bash-search-engine/ergonomic-regex.js +2 -2
- package/dist/safe-bash-search-engine/glob.js +2 -2
- package/dist/safe-bash-search-engine/grep.js +2 -2
- package/dist/safe-bash-search-engine/matcher.d.ts +6 -2
- package/dist/safe-bash-search-engine/matcher.js +30 -8
- package/dist/safe-bash-search-engine/options.js +1 -1
- package/dist/safe-bash-search-engine/output.d.ts +3 -2
- package/dist/safe-bash-search-engine/output.js +111 -30
- package/dist/safe-bash-search-engine/shared.d.ts +2 -0
- package/dist/safe-bash-search-engine/shared.js +2 -2
- package/dist/safe-bash-search-engine/walk.js +11 -10
- package/dist/safe-bash-xml-engine/document.d.ts +1 -1
- package/dist/safe-bash-xml-engine/document.js +3 -3
- package/dist/safe-bash-xml-engine/evaluate.d.ts +1 -0
- package/dist/safe-bash-xml-engine/evaluate.js +4 -1
- package/dist/safe-bash-xml-engine/index.js +8 -6
- package/dist/safe-bash-xml-engine/io.js +1 -1
- package/dist/safe-bash-xml-engine/limits.d.ts +2 -0
- package/dist/safe-bash-xml-engine/limits.js +1 -1
- package/dist/safe-bash-xml-engine/predicate.d.ts +57 -0
- package/dist/safe-bash-xml-engine/query.d.ts +3 -15
- package/dist/safe-bash-xml-engine/query.js +3 -2
- package/dist/safe-bash-zip-engine/LICENSE +21 -0
- package/dist/safe-bash-zip-engine/index.d.ts +1 -0
- package/dist/safe-bash-zip-engine/index.js +32 -0
- package/dist/safe-bash-zip-engine/unzip/arguments.d.ts +53 -0
- package/dist/safe-bash-zip-engine/unzip/arguments.js +270 -0
- package/dist/safe-bash-zip-engine/zip/aes.d.ts +17 -0
- package/dist/safe-bash-zip-engine/zip/aes.js +15 -0
- package/dist/safe-bash-zip-engine/zip/comments.d.ts +17 -0
- package/dist/safe-bash-zip-engine/zip/comments.js +77 -0
- package/dist/safe-bash-zip-engine/zip/crc.d.ts +1 -0
- package/dist/safe-bash-zip-engine/zip/crc.js +7 -0
- package/dist/safe-bash-zip-engine/zip/crypto.d.ts +19 -0
- package/dist/safe-bash-zip-engine/zip/crypto.js +16 -0
- package/dist/safe-bash-zip-engine/zip/dates.d.ts +4 -0
- package/dist/safe-bash-zip-engine/zip/dates.js +68 -0
- package/dist/safe-bash-zip-engine/zip/environment.d.ts +2 -0
- package/dist/safe-bash-zip-engine/zip/environment.js +60 -0
- package/dist/safe-bash-zip-engine/zip/grow.d.ts +3 -0
- package/dist/safe-bash-zip-engine/zip/grow.js +7 -0
- package/dist/safe-bash-zip-engine/zip/help.d.ts +4 -0
- package/dist/safe-bash-zip-engine/zip/help.js +194 -0
- package/dist/safe-bash-zip-engine/zip/line-endings.d.ts +2 -0
- package/dist/safe-bash-zip-engine/zip/line-endings.js +165 -0
- package/dist/safe-bash-zip-engine/zip/log.d.ts +22 -0
- package/dist/safe-bash-zip-engine/zip/log.js +153 -0
- package/dist/safe-bash-zip-engine/zip/lzma.d.ts +9 -0
- package/dist/safe-bash-zip-engine/zip/lzma.js +7 -0
- package/dist/safe-bash-zip-engine/zip/move.d.ts +11 -0
- package/dist/safe-bash-zip-engine/zip/move.js +57 -0
- package/dist/safe-bash-zip-engine/zip/names.d.ts +2 -0
- package/dist/safe-bash-zip-engine/zip/names.js +37 -0
- package/dist/safe-bash-zip-engine/zip/options.d.ts +13 -0
- package/dist/safe-bash-zip-engine/zip/options.js +23 -0
- package/dist/safe-bash-zip-engine/zip/repair.d.ts +10 -0
- package/dist/safe-bash-zip-engine/zip/repair.js +348 -0
- package/dist/safe-bash-zip-engine/zip/safety.d.ts +54 -0
- package/dist/safe-bash-zip-engine/zip/safety.js +19 -0
- package/dist/safe-bash-zip-engine/zip/sfx.d.ts +4 -0
- package/dist/safe-bash-zip-engine/zip/sfx.js +58 -0
- package/dist/safe-bash-zip-engine/zip/test-command.d.ts +5 -0
- package/dist/safe-bash-zip-engine/zip/test-command.js +98 -0
- package/dist/safe-bash-zip-engine/zip/volumes.d.ts +21 -0
- package/dist/safe-bash-zip-engine/zip/volumes.js +255 -0
- package/dist/safe-bash-zip-engine/zip/zip64.d.ts +30 -0
- package/dist/safe-bash-zip-engine/zip/zip64.js +25 -0
- package/dist/safe-bash-zip-engine/zip-format.d.ts +68 -0
- package/dist/safe-bash-zip-engine/zip-format.js +27 -0
- package/dist/safe-playwright-cloudflare/browser-codegen.generated.d.ts +7 -7
- package/dist/safe-playwright-cloudflare/browser-codegen.generated.js +866 -8069
- package/dist/safe-playwright-cloudflare/browser-run-code-budget.d.ts +0 -1
- package/dist/safe-playwright-cloudflare/browser-run-code-budget.js +0 -2
- package/dist/safe-playwright-cloudflare/browser-trace-archive.d.ts +5 -1
- package/dist/safe-playwright-cloudflare/browser-trace-archive.js +2 -1
- package/dist/safe-playwright-cloudflare/browser-trace-budget.js +2 -2
- package/dist/safe-playwright-cloudflare/shell-browser-resource.d.ts +2 -0
- package/dist/safe-playwright-cloudflare/shell-browser-resource.js +3 -11
- package/dist/safe-playwright-cloudflare/shell-playwright.d.ts +2 -0
- package/dist/safe-playwright-cloudflare/shell-playwright.js +1 -1
- package/dist/spreadsheet-engine/io/publication.d.ts +1 -0
- package/package.json +163 -14
- package/dist/safe-bash/chunks/chunk-AZAJJVFX.js +0 -23017
- package/dist/safe-bash/chunks/chunk-O4ZUCRGN.js +0 -13
- package/dist/safe-bash/chunks/chunk-S264DZO2.js +0 -243
- package/dist/safe-bash/chunks/chunk-WVG5SHHQ.js +0 -12
- package/dist/safe-bash/chunks/chunk-ZW6K2J7P.js +0 -2652
- package/dist/safe-bash/command-chunks/chunk-5MPOQ6V3.js +0 -181
- package/dist/safe-bash/command-chunks/chunk-BIXLZ3OG.js +0 -14342
- package/dist/safe-bash/command-chunks/chunk-DUYJE2HY.js +0 -14
- package/dist/safe-bash/command-chunks/chunk-NETECMOF.js +0 -40
- package/dist/safe-bash/command-chunks/chunk-XS3PGJU2.js +0 -343
- package/dist/safe-bash/command-chunks/chunk-XTZALMLR.js +0 -488
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.d.ts +0 -2
- package/dist/safe-bash/commands/archive/zip/aes-primitives-unavailable.js +0 -3
- package/dist/safe-bash/commands/archive/zip/aes-primitives.d.ts +0 -2
- package/dist/safe-bash/commands/archive/zip/aes-primitives.js +0 -3
- package/dist/safe-bash/commands/xml/document.d.ts +0 -2
- package/dist/safe-bash/commands/xml/document.js +0 -2
- package/dist/safe-bash/commands/xml/evaluate.d.ts +0 -2
- package/dist/safe-bash/commands/xml/evaluate.js +0 -2
- package/dist/safe-bash/commands/xml/json.d.ts +0 -2
- package/dist/safe-bash/commands/xml/json.js +0 -2
- package/dist/safe-bash/commands/xml/limits.d.ts +0 -2
- package/dist/safe-bash/commands/xml/limits.js +0 -2
- package/dist/safe-bash/commands/xml/query.d.ts +0 -2
- package/dist/safe-bash/commands/xml/query.js +0 -2
- package/dist/safe-bash/chunks/{chunk-NHOXKQNE.js → chunk-QVSRRNZT.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-FIUFIDAO.js → chunk-2JRBIDAD.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-B5BKA5WH.js → chunk-B5TAOCKD.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-TYVCKQDH.js → chunk-J5SN3PZ3.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-2ENZ6JGA.js → chunk-KEV7C3KH.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-S62HELHU.js → chunk-PL6O4K6W.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-2WRTLCGK.js → chunk-QZF3SINC.js} +4 -4
- package/dist/safe-bash/command-chunks/{chunk-X7TM3AKW.js → chunk-U6G67N23.js} +3 -3
- package/dist/safe-bash/command-chunks/{chunk-DDLQ5YDB.js → chunk-YHFXOX6U.js} +9 -9
- package/dist/safe-bash/command-chunks/{chunk-DQMOM72Z.js → chunk-ZRRBXU3M.js} +4 -4
|
@@ -1073,6 +1073,37 @@ function tokenizeSql(sql) {
|
|
|
1073
1073
|
}
|
|
1074
1074
|
return tokens;
|
|
1075
1075
|
}
|
|
1076
|
+
function isAggregateFunction(expr) {
|
|
1077
|
+
if (expr.kind !== "func" || expr.over) return false;
|
|
1078
|
+
const name = expr.name.toUpperCase();
|
|
1079
|
+
return ["COUNT", "SUM", "TOTAL", "AVG", "MIN", "MAX", "GROUP_CONCAT", "STRING_AGG", "JSON_GROUP_ARRAY", "JSON_GROUP_OBJECT"].includes(name) && !((name === "MIN" || name === "MAX") && expr.args.length > 1);
|
|
1080
|
+
}
|
|
1081
|
+
function expressionChildren(expr) {
|
|
1082
|
+
switch (expr.kind) {
|
|
1083
|
+
case "unary":
|
|
1084
|
+
case "collate":
|
|
1085
|
+
case "is_null":
|
|
1086
|
+
case "cast":
|
|
1087
|
+
case "in_subquery":
|
|
1088
|
+
return [expr.expr];
|
|
1089
|
+
case "binary":
|
|
1090
|
+
return [expr.left, expr.right];
|
|
1091
|
+
case "between":
|
|
1092
|
+
return [expr.expr, expr.low, expr.high];
|
|
1093
|
+
case "in_list":
|
|
1094
|
+
return [expr.expr, ...expr.list];
|
|
1095
|
+
case "func":
|
|
1096
|
+
return expr.args;
|
|
1097
|
+
case "case":
|
|
1098
|
+
return [
|
|
1099
|
+
...expr.base ? [expr.base] : [],
|
|
1100
|
+
...expr.branches.flatMap((branch) => [branch.when, branch.then]),
|
|
1101
|
+
...expr.elseExpr ? [expr.elseExpr] : []
|
|
1102
|
+
];
|
|
1103
|
+
default:
|
|
1104
|
+
return [];
|
|
1105
|
+
}
|
|
1106
|
+
}
|
|
1076
1107
|
function reconstructTokensSql(tokens) {
|
|
1077
1108
|
let out = "";
|
|
1078
1109
|
for (let i = 0; i < tokens.length; i += 1) {
|
|
@@ -4623,17 +4654,11 @@ var SqliteDatabase = class {
|
|
|
4623
4654
|
for (const st of selectTargets) {
|
|
4624
4655
|
yield;
|
|
4625
4656
|
if (!(st.alias in repCtx)) {
|
|
4626
|
-
repCtx[st.alias] = yield* this.
|
|
4627
|
-
st.expr,
|
|
4628
|
-
g.representative,
|
|
4629
|
-
g.group,
|
|
4630
|
-
positionalParams,
|
|
4631
|
-
cteScope
|
|
4632
|
-
);
|
|
4657
|
+
repCtx[st.alias] = yield* this.evalExprSteps(st.expr, g.representative, positionalParams, cteScope, { group: g.group });
|
|
4633
4658
|
}
|
|
4634
4659
|
}
|
|
4635
4660
|
return isTruthy(
|
|
4636
|
-
yield* this.
|
|
4661
|
+
yield* this.evalExprSteps(havingExpr, repCtx, positionalParams, cteScope, { group: g.group })
|
|
4637
4662
|
);
|
|
4638
4663
|
}, this);
|
|
4639
4664
|
}
|
|
@@ -4657,14 +4682,12 @@ var SqliteDatabase = class {
|
|
|
4657
4682
|
const projected = yield* stepMap(groupedRows, function* (g, rowIdx) {
|
|
4658
4683
|
const repCtx = { ...g.representative };
|
|
4659
4684
|
const values = yield* stepMap(selectTargets, function* (st) {
|
|
4660
|
-
const val = yield* this.
|
|
4685
|
+
const val = yield* this.evalExprSteps(
|
|
4661
4686
|
st.expr,
|
|
4662
4687
|
repCtx,
|
|
4663
|
-
g.group,
|
|
4664
|
-
rowIdx,
|
|
4665
|
-
windowResults,
|
|
4666
4688
|
positionalParams,
|
|
4667
|
-
cteScope
|
|
4689
|
+
cteScope,
|
|
4690
|
+
{ group: g.group, window: { rowIdx, results: windowResults } }
|
|
4668
4691
|
);
|
|
4669
4692
|
if (!(st.alias in repCtx)) {
|
|
4670
4693
|
repCtx[st.alias] = val;
|
|
@@ -4720,20 +4743,8 @@ var SqliteDatabase = class {
|
|
|
4720
4743
|
vA = a.values[colIdx] ?? null;
|
|
4721
4744
|
vB = b.values[colIdx] ?? null;
|
|
4722
4745
|
} else {
|
|
4723
|
-
vA = yield* this.
|
|
4724
|
-
|
|
4725
|
-
a.ctx,
|
|
4726
|
-
a.group,
|
|
4727
|
-
positionalParams,
|
|
4728
|
-
cteScope
|
|
4729
|
-
);
|
|
4730
|
-
vB = yield* this.evalExprWithAgg(
|
|
4731
|
-
spec.expr,
|
|
4732
|
-
b.ctx,
|
|
4733
|
-
b.group,
|
|
4734
|
-
positionalParams,
|
|
4735
|
-
cteScope
|
|
4736
|
-
);
|
|
4746
|
+
vA = yield* this.evalExprSteps(spec.expr, a.ctx, positionalParams, cteScope, { group: a.group });
|
|
4747
|
+
vB = yield* this.evalExprSteps(spec.expr, b.ctx, positionalParams, cteScope, { group: b.group });
|
|
4737
4748
|
}
|
|
4738
4749
|
if (vA === null && vB === null) {
|
|
4739
4750
|
continue;
|
|
@@ -5509,85 +5520,17 @@ var SqliteDatabase = class {
|
|
|
5509
5520
|
return { expr, alias };
|
|
5510
5521
|
}
|
|
5511
5522
|
containsAggregate(expr) {
|
|
5512
|
-
if (expr.kind === "func")
|
|
5513
|
-
|
|
5514
|
-
return false;
|
|
5515
|
-
}
|
|
5516
|
-
const u = expr.name.toUpperCase();
|
|
5517
|
-
if ([
|
|
5518
|
-
"COUNT",
|
|
5519
|
-
"SUM",
|
|
5520
|
-
"TOTAL",
|
|
5521
|
-
"AVG",
|
|
5522
|
-
"MIN",
|
|
5523
|
-
"MAX",
|
|
5524
|
-
"GROUP_CONCAT",
|
|
5525
|
-
"STRING_AGG",
|
|
5526
|
-
"JSON_GROUP_ARRAY",
|
|
5527
|
-
"JSON_GROUP_OBJECT"
|
|
5528
|
-
].includes(u)) {
|
|
5529
|
-
if ((u === "MIN" || u === "MAX") && expr.args.length > 1) {
|
|
5530
|
-
return expr.args.some((a) => this.containsAggregate(a));
|
|
5531
|
-
}
|
|
5532
|
-
return true;
|
|
5533
|
-
}
|
|
5534
|
-
return expr.args.some((a) => this.containsAggregate(a));
|
|
5535
|
-
}
|
|
5536
|
-
if (expr.kind === "unary") {
|
|
5537
|
-
return this.containsAggregate(expr.expr);
|
|
5538
|
-
}
|
|
5539
|
-
if (expr.kind === "binary") {
|
|
5540
|
-
return this.containsAggregate(expr.left) || this.containsAggregate(expr.right);
|
|
5541
|
-
}
|
|
5542
|
-
if (expr.kind === "case") {
|
|
5543
|
-
return (expr.base ? this.containsAggregate(expr.base) : false) || expr.branches.some((b) => this.containsAggregate(b.when) || this.containsAggregate(b.then)) || (expr.elseExpr ? this.containsAggregate(expr.elseExpr) : false);
|
|
5544
|
-
}
|
|
5545
|
-
if (expr.kind === "cast") {
|
|
5546
|
-
return this.containsAggregate(expr.expr);
|
|
5547
|
-
}
|
|
5548
|
-
return false;
|
|
5523
|
+
if (expr.kind === "func" && expr.over) return false;
|
|
5524
|
+
return isAggregateFunction(expr) || expressionChildren(expr).some((child) => this.containsAggregate(child));
|
|
5549
5525
|
}
|
|
5550
5526
|
*collectWindowExprs(expr, groupedRows, positionalParams, cteScope, out) {
|
|
5551
5527
|
if (expr.kind === "func" && expr.over) {
|
|
5552
|
-
|
|
5553
|
-
expr,
|
|
5554
|
-
groupedRows,
|
|
5555
|
-
positionalParams,
|
|
5556
|
-
cteScope
|
|
5557
|
-
);
|
|
5558
|
-
out.set(expr, values);
|
|
5528
|
+
out.set(expr, yield* this.evaluateWindowFunc(expr, groupedRows, positionalParams, cteScope));
|
|
5559
5529
|
return;
|
|
5560
5530
|
}
|
|
5561
|
-
|
|
5562
|
-
yield
|
|
5563
|
-
|
|
5564
|
-
yield* this.collectWindowExprs(expr.left, groupedRows, positionalParams, cteScope, out);
|
|
5565
|
-
yield* this.collectWindowExprs(expr.right, groupedRows, positionalParams, cteScope, out);
|
|
5566
|
-
} else if (expr.kind === "func") {
|
|
5567
|
-
for (const a of expr.args) {
|
|
5568
|
-
yield;
|
|
5569
|
-
yield* this.collectWindowExprs(a, groupedRows, positionalParams, cteScope, out);
|
|
5570
|
-
}
|
|
5571
|
-
} else if (expr.kind === "case") {
|
|
5572
|
-
if (expr.base) {
|
|
5573
|
-
yield* this.collectWindowExprs(expr.base, groupedRows, positionalParams, cteScope, out);
|
|
5574
|
-
}
|
|
5575
|
-
for (const b of expr.branches) {
|
|
5576
|
-
yield;
|
|
5577
|
-
yield* this.collectWindowExprs(b.when, groupedRows, positionalParams, cteScope, out);
|
|
5578
|
-
yield* this.collectWindowExprs(b.then, groupedRows, positionalParams, cteScope, out);
|
|
5579
|
-
}
|
|
5580
|
-
if (expr.elseExpr) {
|
|
5581
|
-
yield* this.collectWindowExprs(
|
|
5582
|
-
expr.elseExpr,
|
|
5583
|
-
groupedRows,
|
|
5584
|
-
positionalParams,
|
|
5585
|
-
cteScope,
|
|
5586
|
-
out
|
|
5587
|
-
);
|
|
5588
|
-
}
|
|
5589
|
-
} else if (expr.kind === "cast") {
|
|
5590
|
-
yield* this.collectWindowExprs(expr.expr, groupedRows, positionalParams, cteScope, out);
|
|
5531
|
+
for (const child of expressionChildren(expr)) {
|
|
5532
|
+
yield;
|
|
5533
|
+
yield* this.collectWindowExprs(child, groupedRows, positionalParams, cteScope, out);
|
|
5591
5534
|
}
|
|
5592
5535
|
}
|
|
5593
5536
|
*evaluateWindowFunc(fnExpr, groupedRows, positionalParams, cteScope) {
|
|
@@ -5599,13 +5542,7 @@ var SqliteDatabase = class {
|
|
|
5599
5542
|
const g = groupedRows[i];
|
|
5600
5543
|
const pKey = serializeSqlJson(
|
|
5601
5544
|
yield* stepMap(over.partitionBy, function* (pe) {
|
|
5602
|
-
return yield* this.
|
|
5603
|
-
pe,
|
|
5604
|
-
g.representative,
|
|
5605
|
-
g.group,
|
|
5606
|
-
positionalParams,
|
|
5607
|
-
cteScope
|
|
5608
|
-
);
|
|
5545
|
+
return yield* this.evalExprSteps(pe, g.representative, positionalParams, cteScope, { group: g.group });
|
|
5609
5546
|
}, this),
|
|
5610
5547
|
false
|
|
5611
5548
|
);
|
|
@@ -5625,20 +5562,8 @@ var SqliteDatabase = class {
|
|
|
5625
5562
|
const gB = groupedRows[iB];
|
|
5626
5563
|
for (const ob of over.orderBy) {
|
|
5627
5564
|
yield;
|
|
5628
|
-
const vA = yield* this.
|
|
5629
|
-
|
|
5630
|
-
gA.representative,
|
|
5631
|
-
gA.group,
|
|
5632
|
-
positionalParams,
|
|
5633
|
-
cteScope
|
|
5634
|
-
);
|
|
5635
|
-
const vB = yield* this.evalExprWithAgg(
|
|
5636
|
-
ob.expr,
|
|
5637
|
-
gB.representative,
|
|
5638
|
-
gB.group,
|
|
5639
|
-
positionalParams,
|
|
5640
|
-
cteScope
|
|
5641
|
-
);
|
|
5565
|
+
const vA = yield* this.evalExprSteps(ob.expr, gA.representative, positionalParams, cteScope, { group: gA.group });
|
|
5566
|
+
const vB = yield* this.evalExprSteps(ob.expr, gB.representative, positionalParams, cteScope, { group: gB.group });
|
|
5642
5567
|
const cmp = compareSqlValues(vA, vB);
|
|
5643
5568
|
if (cmp !== 0) {
|
|
5644
5569
|
return ob.desc ? -cmp : cmp;
|
|
@@ -5651,13 +5576,7 @@ var SqliteDatabase = class {
|
|
|
5651
5576
|
const g = groupedRows[idx];
|
|
5652
5577
|
return serializeSqlJson(
|
|
5653
5578
|
yield* stepMap(over.orderBy, function* (ob) {
|
|
5654
|
-
return yield* this.
|
|
5655
|
-
ob.expr,
|
|
5656
|
-
g.representative,
|
|
5657
|
-
g.group,
|
|
5658
|
-
positionalParams,
|
|
5659
|
-
cteScope
|
|
5660
|
-
);
|
|
5579
|
+
return yield* this.evalExprSteps(ob.expr, g.representative, positionalParams, cteScope, { group: g.group });
|
|
5661
5580
|
}, this),
|
|
5662
5581
|
false
|
|
5663
5582
|
);
|
|
@@ -5683,13 +5602,7 @@ var SqliteDatabase = class {
|
|
|
5683
5602
|
1,
|
|
5684
5603
|
Math.trunc(
|
|
5685
5604
|
toSqlNumber(
|
|
5686
|
-
yield* this.
|
|
5687
|
-
fnExpr.args[0],
|
|
5688
|
-
g.representative,
|
|
5689
|
-
g.group,
|
|
5690
|
-
positionalParams,
|
|
5691
|
-
cteScope
|
|
5692
|
-
)
|
|
5605
|
+
yield* this.evalExprSteps(fnExpr.args[0], g.representative, positionalParams, cteScope, { group: g.group })
|
|
5693
5606
|
)
|
|
5694
5607
|
)
|
|
5695
5608
|
);
|
|
@@ -5706,44 +5619,20 @@ var SqliteDatabase = class {
|
|
|
5706
5619
|
} else if (fnUpper === "LAG" || fnUpper === "LEAD") {
|
|
5707
5620
|
const offset = fnExpr.args[1] ? Math.trunc(
|
|
5708
5621
|
toSqlNumber(
|
|
5709
|
-
yield* this.
|
|
5710
|
-
fnExpr.args[1],
|
|
5711
|
-
g.representative,
|
|
5712
|
-
g.group,
|
|
5713
|
-
positionalParams,
|
|
5714
|
-
cteScope
|
|
5715
|
-
)
|
|
5622
|
+
yield* this.evalExprSteps(fnExpr.args[1], g.representative, positionalParams, cteScope, { group: g.group })
|
|
5716
5623
|
)
|
|
5717
5624
|
) : 1;
|
|
5718
|
-
const defVal = fnExpr.args[2] ? yield* this.
|
|
5719
|
-
fnExpr.args[2],
|
|
5720
|
-
g.representative,
|
|
5721
|
-
g.group,
|
|
5722
|
-
positionalParams,
|
|
5723
|
-
cteScope
|
|
5724
|
-
) : null;
|
|
5625
|
+
const defVal = fnExpr.args[2] ? yield* this.evalExprSteps(fnExpr.args[2], g.representative, positionalParams, cteScope, { group: g.group }) : null;
|
|
5725
5626
|
const targetPos = fnUpper === "LAG" ? pPos - offset : pPos + offset;
|
|
5726
5627
|
if (targetPos < 0 || targetPos >= indices.length) {
|
|
5727
5628
|
result[rowIdx] = defVal;
|
|
5728
5629
|
} else {
|
|
5729
5630
|
const targetG = groupedRows[indices[targetPos]];
|
|
5730
|
-
result[rowIdx] = yield* this.
|
|
5731
|
-
fnExpr.args[0],
|
|
5732
|
-
targetG.representative,
|
|
5733
|
-
targetG.group,
|
|
5734
|
-
positionalParams,
|
|
5735
|
-
cteScope
|
|
5736
|
-
);
|
|
5631
|
+
result[rowIdx] = yield* this.evalExprSteps(fnExpr.args[0], targetG.representative, positionalParams, cteScope, { group: targetG.group });
|
|
5737
5632
|
}
|
|
5738
5633
|
} else if (fnUpper === "FIRST_VALUE") {
|
|
5739
5634
|
const firstG = groupedRows[indices[0]];
|
|
5740
|
-
result[rowIdx] = yield* this.
|
|
5741
|
-
fnExpr.args[0],
|
|
5742
|
-
firstG.representative,
|
|
5743
|
-
firstG.group,
|
|
5744
|
-
positionalParams,
|
|
5745
|
-
cteScope
|
|
5746
|
-
);
|
|
5635
|
+
result[rowIdx] = yield* this.evalExprSteps(fnExpr.args[0], firstG.representative, positionalParams, cteScope, { group: firstG.group });
|
|
5747
5636
|
} else if (fnUpper === "LAST_VALUE") {
|
|
5748
5637
|
let peerEnd = over.orderBy.length > 0 ? pPos : indices.length - 1;
|
|
5749
5638
|
while (over.orderBy.length > 0 && peerEnd + 1 < indices.length && orderPeerKeys[peerEnd + 1] === orderPeerKeys[pPos]) {
|
|
@@ -5751,34 +5640,16 @@ var SqliteDatabase = class {
|
|
|
5751
5640
|
peerEnd += 1;
|
|
5752
5641
|
}
|
|
5753
5642
|
const lastG = groupedRows[indices[peerEnd]];
|
|
5754
|
-
result[rowIdx] = yield* this.
|
|
5755
|
-
fnExpr.args[0],
|
|
5756
|
-
lastG.representative,
|
|
5757
|
-
lastG.group,
|
|
5758
|
-
positionalParams,
|
|
5759
|
-
cteScope
|
|
5760
|
-
);
|
|
5643
|
+
result[rowIdx] = yield* this.evalExprSteps(fnExpr.args[0], lastG.representative, positionalParams, cteScope, { group: lastG.group });
|
|
5761
5644
|
} else if (fnUpper === "NTH_VALUE") {
|
|
5762
5645
|
const n = Math.trunc(
|
|
5763
5646
|
toSqlNumber(
|
|
5764
|
-
yield* this.
|
|
5765
|
-
fnExpr.args[1],
|
|
5766
|
-
g.representative,
|
|
5767
|
-
g.group,
|
|
5768
|
-
positionalParams,
|
|
5769
|
-
cteScope
|
|
5770
|
-
)
|
|
5647
|
+
yield* this.evalExprSteps(fnExpr.args[1], g.representative, positionalParams, cteScope, { group: g.group })
|
|
5771
5648
|
)
|
|
5772
5649
|
);
|
|
5773
5650
|
if (n >= 1 && n <= indices.length) {
|
|
5774
5651
|
const nthG = groupedRows[indices[n - 1]];
|
|
5775
|
-
result[rowIdx] = yield* this.
|
|
5776
|
-
fnExpr.args[0],
|
|
5777
|
-
nthG.representative,
|
|
5778
|
-
nthG.group,
|
|
5779
|
-
positionalParams,
|
|
5780
|
-
cteScope
|
|
5781
|
-
);
|
|
5652
|
+
result[rowIdx] = yield* this.evalExprSteps(fnExpr.args[0], nthG.representative, positionalParams, cteScope, { group: nthG.group });
|
|
5782
5653
|
} else {
|
|
5783
5654
|
result[rowIdx] = null;
|
|
5784
5655
|
}
|
|
@@ -5804,150 +5675,6 @@ var SqliteDatabase = class {
|
|
|
5804
5675
|
}
|
|
5805
5676
|
return result;
|
|
5806
5677
|
}
|
|
5807
|
-
*evalExprWithAggAndWindow(expr, rep, group, rowIdx, windowResults, positionalParams, cteScope) {
|
|
5808
|
-
if (windowResults.has(expr)) {
|
|
5809
|
-
return windowResults.get(expr)[rowIdx] ?? null;
|
|
5810
|
-
}
|
|
5811
|
-
if (expr.kind === "unary") {
|
|
5812
|
-
const v = yield* this.evalExprWithAggAndWindow(
|
|
5813
|
-
expr.expr,
|
|
5814
|
-
rep,
|
|
5815
|
-
group,
|
|
5816
|
-
rowIdx,
|
|
5817
|
-
windowResults,
|
|
5818
|
-
positionalParams,
|
|
5819
|
-
cteScope
|
|
5820
|
-
);
|
|
5821
|
-
return this.applyUnary(expr.op, v);
|
|
5822
|
-
}
|
|
5823
|
-
if (expr.kind === "binary") {
|
|
5824
|
-
const l = yield* this.evalExprWithAggAndWindow(
|
|
5825
|
-
expr.left,
|
|
5826
|
-
rep,
|
|
5827
|
-
group,
|
|
5828
|
-
rowIdx,
|
|
5829
|
-
windowResults,
|
|
5830
|
-
positionalParams,
|
|
5831
|
-
cteScope
|
|
5832
|
-
);
|
|
5833
|
-
const r = yield* this.evalExprWithAggAndWindow(
|
|
5834
|
-
expr.right,
|
|
5835
|
-
rep,
|
|
5836
|
-
group,
|
|
5837
|
-
rowIdx,
|
|
5838
|
-
windowResults,
|
|
5839
|
-
positionalParams,
|
|
5840
|
-
cteScope
|
|
5841
|
-
);
|
|
5842
|
-
return this.applyBinary(expr.op, l, r);
|
|
5843
|
-
}
|
|
5844
|
-
if (expr.kind === "func" && !this.containsAggregate(expr) && !expr.over) {
|
|
5845
|
-
const args = yield* stepMap(expr.args, function* (a) {
|
|
5846
|
-
return yield* this.evalExprWithAggAndWindow(
|
|
5847
|
-
a,
|
|
5848
|
-
rep,
|
|
5849
|
-
group,
|
|
5850
|
-
rowIdx,
|
|
5851
|
-
windowResults,
|
|
5852
|
-
positionalParams,
|
|
5853
|
-
cteScope
|
|
5854
|
-
);
|
|
5855
|
-
}, this);
|
|
5856
|
-
return yield* this.evalScalarFunction(expr.name, args);
|
|
5857
|
-
}
|
|
5858
|
-
return yield* this.evalExprWithAgg(expr, rep, group, positionalParams, cteScope);
|
|
5859
|
-
}
|
|
5860
|
-
*evalExprWithAgg(expr, rep, group, positionalParams, cteScope) {
|
|
5861
|
-
if (expr.kind === "func") {
|
|
5862
|
-
const u = expr.name.toUpperCase();
|
|
5863
|
-
if ([
|
|
5864
|
-
"COUNT",
|
|
5865
|
-
"SUM",
|
|
5866
|
-
"TOTAL",
|
|
5867
|
-
"AVG",
|
|
5868
|
-
"MIN",
|
|
5869
|
-
"MAX",
|
|
5870
|
-
"GROUP_CONCAT",
|
|
5871
|
-
"STRING_AGG",
|
|
5872
|
-
"JSON_GROUP_ARRAY",
|
|
5873
|
-
"JSON_GROUP_OBJECT"
|
|
5874
|
-
].includes(u) && !((u === "MIN" || u === "MAX") && expr.args.length > 1)) {
|
|
5875
|
-
return yield* this.evalAggregateFunction(expr, group, positionalParams, cteScope);
|
|
5876
|
-
}
|
|
5877
|
-
if (u === "COALESCE" || u === "IFNULL") {
|
|
5878
|
-
for (const a of expr.args) {
|
|
5879
|
-
yield;
|
|
5880
|
-
const v = yield* this.evalExprWithAgg(a, rep, group, positionalParams, cteScope);
|
|
5881
|
-
if (v !== null && v !== void 0) {
|
|
5882
|
-
return v;
|
|
5883
|
-
}
|
|
5884
|
-
}
|
|
5885
|
-
return null;
|
|
5886
|
-
}
|
|
5887
|
-
if (u === "IIF") {
|
|
5888
|
-
const cond = yield* this.evalExprWithAgg(
|
|
5889
|
-
expr.args[0],
|
|
5890
|
-
rep,
|
|
5891
|
-
group,
|
|
5892
|
-
positionalParams,
|
|
5893
|
-
cteScope
|
|
5894
|
-
);
|
|
5895
|
-
return isTruthy(cond) ? yield* this.evalExprWithAgg(expr.args[1], rep, group, positionalParams, cteScope) : expr.args[2] ? yield* this.evalExprWithAgg(expr.args[2], rep, group, positionalParams, cteScope) : null;
|
|
5896
|
-
}
|
|
5897
|
-
const args = yield* stepMap(expr.args, function* (a) {
|
|
5898
|
-
return yield* this.evalExprWithAgg(a, rep, group, positionalParams, cteScope);
|
|
5899
|
-
}, this);
|
|
5900
|
-
return yield* this.evalScalarFunction(expr.name, args);
|
|
5901
|
-
}
|
|
5902
|
-
if (expr.kind === "unary") {
|
|
5903
|
-
return this.applyUnary(
|
|
5904
|
-
expr.op,
|
|
5905
|
-
yield* this.evalExprWithAgg(expr.expr, rep, group, positionalParams, cteScope)
|
|
5906
|
-
);
|
|
5907
|
-
}
|
|
5908
|
-
if (expr.kind === "binary") {
|
|
5909
|
-
const l = yield* this.evalExprWithAgg(expr.left, rep, group, positionalParams, cteScope);
|
|
5910
|
-
const r = yield* this.evalExprWithAgg(expr.right, rep, group, positionalParams, cteScope);
|
|
5911
|
-
return this.applyBinary(expr.op, l, r);
|
|
5912
|
-
}
|
|
5913
|
-
if (expr.kind === "is_null") {
|
|
5914
|
-
const v = yield* this.evalExprWithAgg(expr.expr, rep, group, positionalParams, cteScope);
|
|
5915
|
-
return (expr.not ? v !== null : v === null) ? 1 : 0;
|
|
5916
|
-
}
|
|
5917
|
-
if (expr.kind === "between") {
|
|
5918
|
-
const v = yield* this.evalExprWithAgg(expr.expr, rep, group, positionalParams, cteScope);
|
|
5919
|
-
const lo = yield* this.evalExprWithAgg(expr.low, rep, group, positionalParams, cteScope);
|
|
5920
|
-
const hi = yield* this.evalExprWithAgg(expr.high, rep, group, positionalParams, cteScope);
|
|
5921
|
-
if (v === null || lo === null || hi === null) {
|
|
5922
|
-
return null;
|
|
5923
|
-
}
|
|
5924
|
-
const inside = compareSqlValues(v, lo) >= 0 && compareSqlValues(v, hi) <= 0;
|
|
5925
|
-
return (expr.not ? !inside : inside) ? 1 : 0;
|
|
5926
|
-
}
|
|
5927
|
-
if (expr.kind === "case") {
|
|
5928
|
-
const baseVal = expr.base ? yield* this.evalExprWithAgg(expr.base, rep, group, positionalParams, cteScope) : void 0;
|
|
5929
|
-
for (const b of expr.branches) {
|
|
5930
|
-
yield;
|
|
5931
|
-
const wVal = yield* this.evalExprWithAgg(
|
|
5932
|
-
b.when,
|
|
5933
|
-
rep,
|
|
5934
|
-
group,
|
|
5935
|
-
positionalParams,
|
|
5936
|
-
cteScope
|
|
5937
|
-
);
|
|
5938
|
-
const matched = expr.base ? sqlEquals(baseVal ?? null, wVal) === true : isTruthy(wVal);
|
|
5939
|
-
if (matched) {
|
|
5940
|
-
return yield* this.evalExprWithAgg(b.then, rep, group, positionalParams, cteScope);
|
|
5941
|
-
}
|
|
5942
|
-
}
|
|
5943
|
-
return expr.elseExpr ? yield* this.evalExprWithAgg(expr.elseExpr, rep, group, positionalParams, cteScope) : null;
|
|
5944
|
-
}
|
|
5945
|
-
if (expr.kind === "cast") {
|
|
5946
|
-
const v = yield* this.evalExprWithAgg(expr.expr, rep, group, positionalParams, cteScope);
|
|
5947
|
-
return this.applyCast(v, expr.targetType);
|
|
5948
|
-
}
|
|
5949
|
-
return yield* this.evalExprSteps(expr, rep, positionalParams, cteScope);
|
|
5950
|
-
}
|
|
5951
5678
|
*evalAggregateFunction(expr, group, positionalParams, cteScope) {
|
|
5952
5679
|
const u = expr.name.toUpperCase();
|
|
5953
5680
|
let filteredGroup = group;
|
|
@@ -6188,7 +5915,10 @@ var SqliteDatabase = class {
|
|
|
6188
5915
|
evalExpr(expr, row, positionalParams, cteScope = /* @__PURE__ */ new Map()) {
|
|
6189
5916
|
return runSynchronously(this.evalExprSteps(expr, row, positionalParams, cteScope));
|
|
6190
5917
|
}
|
|
6191
|
-
*evalExprSteps(expr, row, positionalParams, cteScope = /* @__PURE__ */ new Map()) {
|
|
5918
|
+
*evalExprSteps(expr, row, positionalParams, cteScope = /* @__PURE__ */ new Map(), evaluation) {
|
|
5919
|
+
if (evaluation?.window?.results.has(expr)) {
|
|
5920
|
+
return evaluation.window.results.get(expr)[evaluation.window.rowIdx] ?? null;
|
|
5921
|
+
}
|
|
6192
5922
|
switch (expr.kind) {
|
|
6193
5923
|
case "literal":
|
|
6194
5924
|
return expr.value;
|
|
@@ -6207,19 +5937,19 @@ var SqliteDatabase = class {
|
|
|
6207
5937
|
return this.parameters.get(expr.name) ?? this.parameters.get(expr.name.slice(1)) ?? positionalParams[expr.index - 1] ?? null;
|
|
6208
5938
|
}
|
|
6209
5939
|
case "collate":
|
|
6210
|
-
return yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope);
|
|
5940
|
+
return yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope, evaluation);
|
|
6211
5941
|
case "unary":
|
|
6212
5942
|
return this.applyUnary(
|
|
6213
5943
|
expr.op,
|
|
6214
|
-
yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope)
|
|
5944
|
+
yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope, evaluation)
|
|
6215
5945
|
);
|
|
6216
5946
|
case "binary": {
|
|
6217
5947
|
if (expr.op === "AND") {
|
|
6218
|
-
const l2 = yield* this.evalExprSteps(expr.left, row, positionalParams, cteScope);
|
|
5948
|
+
const l2 = yield* this.evalExprSteps(expr.left, row, positionalParams, cteScope, evaluation);
|
|
6219
5949
|
if (l2 !== null && !isTruthy(l2)) {
|
|
6220
5950
|
return 0;
|
|
6221
5951
|
}
|
|
6222
|
-
const r2 = yield* this.evalExprSteps(expr.right, row, positionalParams, cteScope);
|
|
5952
|
+
const r2 = yield* this.evalExprSteps(expr.right, row, positionalParams, cteScope, evaluation);
|
|
6223
5953
|
if (r2 !== null && !isTruthy(r2)) {
|
|
6224
5954
|
return 0;
|
|
6225
5955
|
}
|
|
@@ -6229,11 +5959,11 @@ var SqliteDatabase = class {
|
|
|
6229
5959
|
return 1;
|
|
6230
5960
|
}
|
|
6231
5961
|
if (expr.op === "OR") {
|
|
6232
|
-
const l2 = yield* this.evalExprSteps(expr.left, row, positionalParams, cteScope);
|
|
5962
|
+
const l2 = yield* this.evalExprSteps(expr.left, row, positionalParams, cteScope, evaluation);
|
|
6233
5963
|
if (l2 !== null && isTruthy(l2)) {
|
|
6234
5964
|
return 1;
|
|
6235
5965
|
}
|
|
6236
|
-
const r2 = yield* this.evalExprSteps(expr.right, row, positionalParams, cteScope);
|
|
5966
|
+
const r2 = yield* this.evalExprSteps(expr.right, row, positionalParams, cteScope, evaluation);
|
|
6237
5967
|
if (r2 !== null && isTruthy(r2)) {
|
|
6238
5968
|
return 1;
|
|
6239
5969
|
}
|
|
@@ -6243,47 +5973,48 @@ var SqliteDatabase = class {
|
|
|
6243
5973
|
return 0;
|
|
6244
5974
|
}
|
|
6245
5975
|
const collation = expr.left.kind === "collate" ? expr.left.collation : expr.right.kind === "collate" ? expr.right.collation : "BINARY";
|
|
6246
|
-
const l = yield* this.evalExprSteps(expr.left, row, positionalParams, cteScope);
|
|
5976
|
+
const l = yield* this.evalExprSteps(expr.left, row, positionalParams, cteScope, evaluation);
|
|
6247
5977
|
if ((expr.op === "LIKE" || expr.op === "GLOB") && expr.right.kind === "func" && expr.right.name === "__like_escape__") {
|
|
6248
5978
|
const pat = yield* this.evalExprSteps(
|
|
6249
5979
|
expr.right.args[0],
|
|
6250
5980
|
row,
|
|
6251
5981
|
positionalParams,
|
|
6252
|
-
cteScope
|
|
5982
|
+
cteScope,
|
|
5983
|
+
evaluation
|
|
6253
5984
|
);
|
|
6254
5985
|
const esc = yield* this.evalExprSteps(
|
|
6255
5986
|
expr.right.args[1],
|
|
6256
5987
|
row,
|
|
6257
5988
|
positionalParams,
|
|
6258
|
-
cteScope
|
|
5989
|
+
cteScope,
|
|
5990
|
+
evaluation
|
|
6259
5991
|
);
|
|
6260
5992
|
if (l === null || pat === null || esc === null) {
|
|
6261
5993
|
return null;
|
|
6262
5994
|
}
|
|
6263
5995
|
return matchLike(toSqlString(l), toSqlString(pat), expr.op === "LIKE", toSqlString(esc)) ? 1 : 0;
|
|
6264
5996
|
}
|
|
6265
|
-
const r = yield* this.evalExprSteps(expr.right, row, positionalParams, cteScope);
|
|
5997
|
+
const r = yield* this.evalExprSteps(expr.right, row, positionalParams, cteScope, evaluation);
|
|
6266
5998
|
return this.applyBinary(expr.op, l, r, collation);
|
|
6267
5999
|
}
|
|
6268
6000
|
case "between": {
|
|
6269
|
-
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope);
|
|
6270
|
-
const lo = yield* this.evalExprSteps(expr.low, row, positionalParams, cteScope);
|
|
6271
|
-
const hi = yield* this.evalExprSteps(expr.high, row, positionalParams, cteScope);
|
|
6272
|
-
|
|
6273
|
-
|
|
6274
|
-
|
|
6275
|
-
|
|
6276
|
-
return (expr.not ? !inside : inside) ? 1 : 0;
|
|
6001
|
+
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope, evaluation);
|
|
6002
|
+
const lo = yield* this.evalExprSteps(expr.low, row, positionalParams, cteScope, evaluation);
|
|
6003
|
+
const hi = yield* this.evalExprSteps(expr.high, row, positionalParams, cteScope, evaluation);
|
|
6004
|
+
const lower = v === null || lo === null ? null : compareSqlValues(v, lo) >= 0;
|
|
6005
|
+
const upper = v === null || hi === null ? null : compareSqlValues(v, hi) <= 0;
|
|
6006
|
+
const inside = lower === false || upper === false ? false : lower === null || upper === null ? null : true;
|
|
6007
|
+
return inside === null ? null : (expr.not ? !inside : inside) ? 1 : 0;
|
|
6277
6008
|
}
|
|
6278
6009
|
case "in_list": {
|
|
6279
|
-
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope);
|
|
6010
|
+
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope, evaluation);
|
|
6280
6011
|
if (v === null) {
|
|
6281
6012
|
return expr.list.length === 0 ? expr.not ? 1 : 0 : null;
|
|
6282
6013
|
}
|
|
6283
6014
|
let sawNull = false;
|
|
6284
6015
|
for (const item of expr.list) {
|
|
6285
6016
|
yield;
|
|
6286
|
-
const iv = yield* this.evalExprSteps(item, row, positionalParams, cteScope);
|
|
6017
|
+
const iv = yield* this.evalExprSteps(item, row, positionalParams, cteScope, evaluation);
|
|
6287
6018
|
if (iv === null) {
|
|
6288
6019
|
sawNull = true;
|
|
6289
6020
|
} else if (sqlEquals(v, iv) === true) {
|
|
@@ -6296,7 +6027,7 @@ var SqliteDatabase = class {
|
|
|
6296
6027
|
return expr.not ? 1 : 0;
|
|
6297
6028
|
}
|
|
6298
6029
|
case "in_subquery": {
|
|
6299
|
-
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope);
|
|
6030
|
+
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope, evaluation);
|
|
6300
6031
|
this.outerRows.push(row);
|
|
6301
6032
|
let res;
|
|
6302
6033
|
try {
|
|
@@ -6329,23 +6060,23 @@ var SqliteDatabase = class {
|
|
|
6329
6060
|
return expr.not ? 1 : 0;
|
|
6330
6061
|
}
|
|
6331
6062
|
case "is_null": {
|
|
6332
|
-
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope);
|
|
6063
|
+
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope, evaluation);
|
|
6333
6064
|
return (expr.not ? v !== null : v === null) ? 1 : 0;
|
|
6334
6065
|
}
|
|
6335
6066
|
case "case": {
|
|
6336
|
-
const baseVal = expr.base ? yield* this.evalExprSteps(expr.base, row, positionalParams, cteScope) : void 0;
|
|
6067
|
+
const baseVal = expr.base ? yield* this.evalExprSteps(expr.base, row, positionalParams, cteScope, evaluation) : void 0;
|
|
6337
6068
|
for (const b of expr.branches) {
|
|
6338
6069
|
yield;
|
|
6339
|
-
const wVal = yield* this.evalExprSteps(b.when, row, positionalParams, cteScope);
|
|
6070
|
+
const wVal = yield* this.evalExprSteps(b.when, row, positionalParams, cteScope, evaluation);
|
|
6340
6071
|
const matched = expr.base ? sqlEquals(baseVal ?? null, wVal) === true : isTruthy(wVal);
|
|
6341
6072
|
if (matched) {
|
|
6342
|
-
return yield* this.evalExprSteps(b.then, row, positionalParams, cteScope);
|
|
6073
|
+
return yield* this.evalExprSteps(b.then, row, positionalParams, cteScope, evaluation);
|
|
6343
6074
|
}
|
|
6344
6075
|
}
|
|
6345
|
-
return expr.elseExpr ? yield* this.evalExprSteps(expr.elseExpr, row, positionalParams, cteScope) : null;
|
|
6076
|
+
return expr.elseExpr ? yield* this.evalExprSteps(expr.elseExpr, row, positionalParams, cteScope, evaluation) : null;
|
|
6346
6077
|
}
|
|
6347
6078
|
case "cast": {
|
|
6348
|
-
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope);
|
|
6079
|
+
const v = yield* this.evalExprSteps(expr.expr, row, positionalParams, cteScope, evaluation);
|
|
6349
6080
|
return this.applyCast(v, expr.targetType);
|
|
6350
6081
|
}
|
|
6351
6082
|
case "subquery": {
|
|
@@ -6368,11 +6099,14 @@ var SqliteDatabase = class {
|
|
|
6368
6099
|
return res.rows[0]?.[0] ?? null;
|
|
6369
6100
|
}
|
|
6370
6101
|
case "func": {
|
|
6102
|
+
if (evaluation && isAggregateFunction(expr)) {
|
|
6103
|
+
return yield* this.evalAggregateFunction(expr, evaluation.group, positionalParams, cteScope);
|
|
6104
|
+
}
|
|
6371
6105
|
const u = expr.name.toUpperCase();
|
|
6372
6106
|
if (u === "COALESCE" || u === "IFNULL") {
|
|
6373
6107
|
for (const a of expr.args) {
|
|
6374
6108
|
yield;
|
|
6375
|
-
const v = yield* this.evalExprSteps(a, row, positionalParams, cteScope);
|
|
6109
|
+
const v = yield* this.evalExprSteps(a, row, positionalParams, cteScope, evaluation);
|
|
6376
6110
|
if (v !== null && v !== void 0) {
|
|
6377
6111
|
return v;
|
|
6378
6112
|
}
|
|
@@ -6384,12 +6118,13 @@ var SqliteDatabase = class {
|
|
|
6384
6118
|
expr.args[0],
|
|
6385
6119
|
row,
|
|
6386
6120
|
positionalParams,
|
|
6387
|
-
cteScope
|
|
6121
|
+
cteScope,
|
|
6122
|
+
evaluation
|
|
6388
6123
|
);
|
|
6389
|
-
return isTruthy(cond) ? yield* this.evalExprSteps(expr.args[1], row, positionalParams, cteScope) : expr.args[2] ? yield* this.evalExprSteps(expr.args[2], row, positionalParams, cteScope) : null;
|
|
6124
|
+
return isTruthy(cond) ? yield* this.evalExprSteps(expr.args[1], row, positionalParams, cteScope, evaluation) : expr.args[2] ? yield* this.evalExprSteps(expr.args[2], row, positionalParams, cteScope, evaluation) : null;
|
|
6390
6125
|
}
|
|
6391
6126
|
const args = yield* stepMap(expr.args, function* (a) {
|
|
6392
|
-
return yield* this.evalExprSteps(a, row, positionalParams, cteScope);
|
|
6127
|
+
return yield* this.evalExprSteps(a, row, positionalParams, cteScope, evaluation);
|
|
6393
6128
|
}, this);
|
|
6394
6129
|
return yield* this.evalScalarFunction(expr.name, args);
|
|
6395
6130
|
}
|
|
@@ -6541,18 +6276,6 @@ var SqliteDatabase = class {
|
|
|
6541
6276
|
switch (u) {
|
|
6542
6277
|
case "NULLIF":
|
|
6543
6278
|
return sqlEquals(a0, a1) === true ? null : a0;
|
|
6544
|
-
case "COALESCE":
|
|
6545
|
-
case "IFNULL": {
|
|
6546
|
-
for (const a of args) {
|
|
6547
|
-
yield;
|
|
6548
|
-
if (a !== null && a !== void 0) {
|
|
6549
|
-
return a;
|
|
6550
|
-
}
|
|
6551
|
-
}
|
|
6552
|
-
return null;
|
|
6553
|
-
}
|
|
6554
|
-
case "IIF":
|
|
6555
|
-
return isTruthy(a0) ? a1 ?? null : args[2] ?? null;
|
|
6556
6279
|
case "TYPEOF":
|
|
6557
6280
|
if (a0 === null || a0 === void 0) {
|
|
6558
6281
|
return "null";
|
|
@@ -6623,7 +6346,7 @@ var SqliteDatabase = class {
|
|
|
6623
6346
|
const s = toSqlString(a0);
|
|
6624
6347
|
const chars = Array.from(s);
|
|
6625
6348
|
const pos = Math.trunc(toSqlNumber(a1));
|
|
6626
|
-
|
|
6349
|
+
let len = args[2] !== void 0 && args[2] !== null ? Math.trunc(toSqlNumber(args[2])) : chars.length;
|
|
6627
6350
|
let startIdx;
|
|
6628
6351
|
if (pos > 0) {
|
|
6629
6352
|
startIdx = pos - 1;
|
|
@@ -6631,6 +6354,7 @@ var SqliteDatabase = class {
|
|
|
6631
6354
|
startIdx = chars.length + pos;
|
|
6632
6355
|
} else {
|
|
6633
6356
|
startIdx = 0;
|
|
6357
|
+
if (args[2] !== void 0 && args[2] !== null && len > 0) len -= 1;
|
|
6634
6358
|
}
|
|
6635
6359
|
if (len < 0) {
|
|
6636
6360
|
const endIdx = Math.max(0, startIdx);
|
|
@@ -7059,6 +6783,45 @@ var SqliteDatabase = class {
|
|
|
7059
6783
|
};
|
|
7060
6784
|
|
|
7061
6785
|
// packages/safe-bash-command-sqlite3/src/index.ts
|
|
6786
|
+
function setOutputMode(state, mode, argument) {
|
|
6787
|
+
if (!["list", "csv", "column", "line", "json", "tabs", "html", "markdown", "box", "table", "quote", "ascii", "insert"].includes(mode)) {
|
|
6788
|
+
return;
|
|
6789
|
+
}
|
|
6790
|
+
state.mode = mode;
|
|
6791
|
+
switch (mode) {
|
|
6792
|
+
case "list":
|
|
6793
|
+
state.colSeparator = "|";
|
|
6794
|
+
state.rowSeparator = "\n";
|
|
6795
|
+
break;
|
|
6796
|
+
case "csv":
|
|
6797
|
+
state.colSeparator = ",";
|
|
6798
|
+
state.rowSeparator = "\r\n";
|
|
6799
|
+
break;
|
|
6800
|
+
case "tabs":
|
|
6801
|
+
state.colSeparator = " ";
|
|
6802
|
+
break;
|
|
6803
|
+
case "ascii":
|
|
6804
|
+
state.colSeparator = "";
|
|
6805
|
+
state.rowSeparator = "";
|
|
6806
|
+
break;
|
|
6807
|
+
case "quote":
|
|
6808
|
+
state.colSeparator = ",";
|
|
6809
|
+
state.rowSeparator = "\n";
|
|
6810
|
+
break;
|
|
6811
|
+
case "line":
|
|
6812
|
+
case "column":
|
|
6813
|
+
state.rowSeparator = "\n";
|
|
6814
|
+
break;
|
|
6815
|
+
case "insert":
|
|
6816
|
+
if (argument) state.insertTable = argument;
|
|
6817
|
+
break;
|
|
6818
|
+
case "table":
|
|
6819
|
+
case "box":
|
|
6820
|
+
case "markdown":
|
|
6821
|
+
if (argument === void 0) state.showHeaders = true;
|
|
6822
|
+
break;
|
|
6823
|
+
}
|
|
6824
|
+
}
|
|
7062
6825
|
var textEncoder3 = new TextEncoder();
|
|
7063
6826
|
var textDecoder3 = new TextDecoder("utf-8", { fatal: false });
|
|
7064
6827
|
async function vfsExists(fs, path) {
|
|
@@ -7223,6 +6986,8 @@ function formatQueryResult(res, state) {
|
|
|
7223
6986
|
return "";
|
|
7224
6987
|
}
|
|
7225
6988
|
switch (state.mode) {
|
|
6989
|
+
case "tabs":
|
|
6990
|
+
case "ascii":
|
|
7226
6991
|
case "list": {
|
|
7227
6992
|
if (!state.showHeaders && rows.length === 0) {
|
|
7228
6993
|
return "";
|
|
@@ -7236,40 +7001,11 @@ function formatQueryResult(res, state) {
|
|
|
7236
7001
|
}
|
|
7237
7002
|
return lines.map((l) => `${l}${state.rowSeparator}`).join("");
|
|
7238
7003
|
}
|
|
7239
|
-
case "tabs": {
|
|
7240
|
-
if (!state.showHeaders && rows.length === 0) {
|
|
7241
|
-
return "";
|
|
7242
|
-
}
|
|
7243
|
-
const lines = [];
|
|
7244
|
-
if (state.showHeaders) {
|
|
7245
|
-
lines.push(columns.join(" "));
|
|
7246
|
-
}
|
|
7247
|
-
for (const r of rows) {
|
|
7248
|
-
lines.push(r.map((v) => formatCellValue(v, state.nullValue)).join(" "));
|
|
7249
|
-
}
|
|
7250
|
-
return `${lines.join("\n")}
|
|
7251
|
-
`;
|
|
7252
|
-
}
|
|
7253
|
-
case "ascii": {
|
|
7254
|
-
if (!state.showHeaders && rows.length === 0) {
|
|
7255
|
-
return "";
|
|
7256
|
-
}
|
|
7257
|
-
const cSep = "";
|
|
7258
|
-
const rSep = "";
|
|
7259
|
-
let out = "";
|
|
7260
|
-
if (state.showHeaders) {
|
|
7261
|
-
out += columns.join(cSep) + rSep;
|
|
7262
|
-
}
|
|
7263
|
-
for (const r of rows) {
|
|
7264
|
-
out += r.map((v) => formatCellValue(v, state.nullValue)).join(cSep) + rSep;
|
|
7265
|
-
}
|
|
7266
|
-
return out;
|
|
7267
|
-
}
|
|
7268
7004
|
case "csv": {
|
|
7269
7005
|
if (!state.showHeaders && rows.length === 0) {
|
|
7270
7006
|
return "";
|
|
7271
7007
|
}
|
|
7272
|
-
const sep = state.colSeparator
|
|
7008
|
+
const sep = state.colSeparator;
|
|
7273
7009
|
const lines = [];
|
|
7274
7010
|
if (state.showHeaders) {
|
|
7275
7011
|
lines.push(columns.map((c) => formatCsvCell(c, sep)).join(sep));
|
|
@@ -7662,10 +7398,13 @@ Options:
|
|
|
7662
7398
|
state.mode = "quote";
|
|
7663
7399
|
} else if (arg === "-tabs" || arg === "--tabs") {
|
|
7664
7400
|
state.mode = "tabs";
|
|
7401
|
+
state.colSeparator = " ";
|
|
7665
7402
|
} else if (arg === "-html" || arg === "--html") {
|
|
7666
7403
|
state.mode = "html";
|
|
7667
7404
|
} else if (arg === "-ascii" || arg === "--ascii") {
|
|
7668
7405
|
state.mode = "ascii";
|
|
7406
|
+
state.colSeparator = "";
|
|
7407
|
+
state.rowSeparator = "";
|
|
7669
7408
|
} else if (arg === "-header" || arg === "--header") {
|
|
7670
7409
|
state.showHeaders = true;
|
|
7671
7410
|
} else if (arg === "-noheader" || arg === "--noheader") {
|
|
@@ -7864,37 +7603,7 @@ Options:
|
|
|
7864
7603
|
return;
|
|
7865
7604
|
}
|
|
7866
7605
|
if (cmd === ".mode") {
|
|
7867
|
-
|
|
7868
|
-
if ([
|
|
7869
|
-
"list",
|
|
7870
|
-
"csv",
|
|
7871
|
-
"column",
|
|
7872
|
-
"line",
|
|
7873
|
-
"json",
|
|
7874
|
-
"tabs",
|
|
7875
|
-
"html",
|
|
7876
|
-
"markdown",
|
|
7877
|
-
"box",
|
|
7878
|
-
"table",
|
|
7879
|
-
"quote",
|
|
7880
|
-
"ascii",
|
|
7881
|
-
"insert"
|
|
7882
|
-
].includes(newMode)) {
|
|
7883
|
-
state.mode = newMode;
|
|
7884
|
-
if (newMode === "list") {
|
|
7885
|
-
state.colSeparator = "|";
|
|
7886
|
-
state.rowSeparator = "\n";
|
|
7887
|
-
} else if (newMode === "csv") {
|
|
7888
|
-
state.colSeparator = ",";
|
|
7889
|
-
state.rowSeparator = "\r\n";
|
|
7890
|
-
} else if (newMode === "tabs") {
|
|
7891
|
-
state.colSeparator = " ";
|
|
7892
|
-
} else if (newMode === "insert" && parts[2]) {
|
|
7893
|
-
state.insertTable = parts[2];
|
|
7894
|
-
} else if (["table", "box", "markdown"].includes(newMode) && parts[2] === void 0) {
|
|
7895
|
-
state.showHeaders = true;
|
|
7896
|
-
}
|
|
7897
|
-
}
|
|
7606
|
+
setOutputMode(state, (parts[1] ?? "list").toLowerCase(), parts[2]);
|
|
7898
7607
|
return;
|
|
7899
7608
|
}
|
|
7900
7609
|
if (cmd === ".headers" || cmd === ".header") {
|
|
@@ -7975,9 +7684,7 @@ Options:
|
|
|
7975
7684
|
const res = await execSingleStmt("SELECT name FROM sqlite_master WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%' ORDER BY name;");
|
|
7976
7685
|
names = (res?.rows ?? []).map((r) => String(r[0] ?? ""));
|
|
7977
7686
|
}
|
|
7978
|
-
const filtered = pattern ? names.filter(
|
|
7979
|
-
(n) => pattern.includes("%") || pattern.includes("_") ? new RegExp(`^${pattern.replace(/%/g, ".*").replace(/_/g, ".")}$`, "i").test(n) : matchGlob(n.toLowerCase(), pattern.toLowerCase()) || n.toLowerCase().includes(pattern.toLowerCase())
|
|
7980
|
-
) : names;
|
|
7687
|
+
const filtered = pattern ? names.filter((n) => matchLike(n, pattern, true)) : names;
|
|
7981
7688
|
if (filtered.length > 0) {
|
|
7982
7689
|
const maxLen = Math.max(...filtered.map((s) => s.length));
|
|
7983
7690
|
const nCol = Math.max(1, Math.floor(79 / (maxLen + 2)));
|
|
@@ -8142,7 +7849,7 @@ Options:
|
|
|
8142
7849
|
const tableArg = parts[pIdx + 1] ?? "";
|
|
8143
7850
|
const filePath = resolveVfsPath(context.cwd, fileArg);
|
|
8144
7851
|
const content = textDecoder3.decode(await readInputFile(filePath));
|
|
8145
|
-
const sep = csvOverride
|
|
7852
|
+
const sep = csvOverride ? "," : state.colSeparator;
|
|
8146
7853
|
const parsedRows = parseCsvContent(content, sep).slice(skipRows);
|
|
8147
7854
|
if (parsedRows.length === 0) {
|
|
8148
7855
|
return;
|
|
@@ -8512,10 +8219,13 @@ Options:
|
|
|
8512
8219
|
state.mode = "quote";
|
|
8513
8220
|
} else if (arg === "-tabs" || arg === "--tabs") {
|
|
8514
8221
|
state.mode = "tabs";
|
|
8222
|
+
state.colSeparator = " ";
|
|
8515
8223
|
} else if (arg === "-html" || arg === "--html") {
|
|
8516
8224
|
state.mode = "html";
|
|
8517
8225
|
} else if (arg === "-ascii" || arg === "--ascii") {
|
|
8518
8226
|
state.mode = "ascii";
|
|
8227
|
+
state.colSeparator = "";
|
|
8228
|
+
state.rowSeparator = "";
|
|
8519
8229
|
} else if (arg === "-header" || arg === "--header") {
|
|
8520
8230
|
state.showHeaders = true;
|
|
8521
8231
|
} else if (arg === "-noheader" || arg === "--noheader") {
|
|
@@ -8582,15 +8292,7 @@ Options:
|
|
|
8582
8292
|
return state.exitCode === 0;
|
|
8583
8293
|
}
|
|
8584
8294
|
if (cmd === ".mode") {
|
|
8585
|
-
|
|
8586
|
-
if (["list", "csv", "column", "line", "json", "tabs", "html", "markdown", "box", "table", "quote", "ascii", "insert"].includes(newMode)) {
|
|
8587
|
-
state.mode = newMode;
|
|
8588
|
-
if (newMode === "list") state.colSeparator = "|";
|
|
8589
|
-
else if (newMode === "csv") state.colSeparator = ",";
|
|
8590
|
-
else if (newMode === "tabs") state.colSeparator = " ";
|
|
8591
|
-
else if (newMode === "insert" && parts[2]) state.insertTable = parts[2];
|
|
8592
|
-
else if (["table", "box", "markdown"].includes(newMode) && parts[2] === void 0) state.showHeaders = true;
|
|
8593
|
-
}
|
|
8295
|
+
setOutputMode(state, (parts[1] ?? "list").toLowerCase(), parts[2]);
|
|
8594
8296
|
return true;
|
|
8595
8297
|
}
|
|
8596
8298
|
if (cmd === ".headers" || cmd === ".header") {
|
|
@@ -8648,9 +8350,7 @@ Options:
|
|
|
8648
8350
|
if (cmd === ".tables") {
|
|
8649
8351
|
const pattern = parts[1];
|
|
8650
8352
|
const names = [...db.tables.keys(), ...db.views.keys()].filter((n) => !n.toLowerCase().startsWith("sqlite_")).sort((a, b) => a < b ? -1 : a > b ? 1 : 0);
|
|
8651
|
-
const filtered = pattern ? names.filter(
|
|
8652
|
-
(n) => pattern.includes("%") || pattern.includes("_") ? new RegExp(`^${pattern.replace(/%/g, ".*").replace(/_/g, ".")}$`, "i").test(n) : matchGlob(n.toLowerCase(), pattern.toLowerCase()) || n.toLowerCase().includes(pattern.toLowerCase())
|
|
8653
|
-
) : names;
|
|
8353
|
+
const filtered = pattern ? names.filter((n) => matchLike(n, pattern, true)) : names;
|
|
8654
8354
|
if (filtered.length > 0) {
|
|
8655
8355
|
const maxLen = Math.max(...filtered.map((s) => s.length));
|
|
8656
8356
|
const nCol = Math.max(1, Math.floor(79 / (maxLen + 2)));
|
|
@@ -8767,7 +8467,7 @@ Options:
|
|
|
8767
8467
|
const fileBytes = readFileSync(fileArg);
|
|
8768
8468
|
if (!fileBytes || fileBytes.byteLength > 65536) return false;
|
|
8769
8469
|
const content = textDecoder3.decode(fileBytes);
|
|
8770
|
-
const sep = csvOverride
|
|
8470
|
+
const sep = csvOverride ? "," : state.colSeparator;
|
|
8771
8471
|
const parsedRows = parseCsvContent(content, sep).slice(skipRows);
|
|
8772
8472
|
if (parsedRows.length === 0) return true;
|
|
8773
8473
|
let tbl = db.findTable(tableArg);
|