@marimo-team/frontend 0.13.7-dev4 → 0.13.7-dev40
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/dist/assets/ConnectedDataExplorerComponent-DitZV915.js +19 -0
- package/dist/assets/VegaLite-CyMkw5mT.js +189 -0
- package/dist/assets/_baseEach-BHxFGjHn.js +1 -0
- package/dist/assets/_baseMap-CYny-jsC.js +1 -0
- package/dist/assets/_baseUniq-BvRyuEBi.js +1 -0
- package/dist/assets/_createAggregator-YXL_ohbQ.js +1 -0
- package/dist/assets/{any-language-editor-CvayEMT-.js → any-language-editor-DRk8Nv_E.js} +3 -1
- package/dist/assets/apl-CXdQSnD-.js +1 -1
- package/dist/assets/arc-Cuwikxov.js +1 -1
- package/dist/assets/architectureDiagram-IEHRJDOE-1HVXFYlA.js +36 -0
- package/dist/assets/asciiarmor-D5V0T9Cu.js +1 -1
- package/dist/assets/asn1-DWPaVWf6.js +1 -1
- package/dist/assets/asterisk-B46aRdXb.js +1 -1
- package/dist/assets/blockDiagram-JOT3LUYC-h_ITwFSr.js +121 -0
- package/dist/assets/brainfuck-CtZaYBKt.js +1 -1
- package/dist/assets/c4Diagram-VJAJSXHY-Boop0PiK.js +10 -0
- package/dist/assets/channel-BU4cmCtw.js +1 -0
- package/dist/assets/chunk-4BMEZGHF-BZJ_R74h.js +1 -0
- package/dist/assets/chunk-A2AXSNBT-D4_Td4nw.js +164 -0
- package/dist/assets/chunk-AEK57VVT-CVuN-VFk.js +220 -0
- package/dist/assets/chunk-D6G4REZN-CBQa4ZSo.js +1 -0
- package/dist/assets/chunk-RZ5BOZE2-CciOZN_x.js +1 -0
- package/dist/assets/chunk-XZIHB7SX-DH_nhKM-.js +1 -0
- package/dist/assets/{circle-play-jjMzEKbf.js → circle-play-0wo_D4hL.js} +1 -2
- package/dist/assets/classDiagram-GIVACNV2-yfcdIQW4.js +1 -0
- package/dist/assets/classDiagram-v2-COTLJTTW-yfcdIQW4.js +1 -0
- package/dist/assets/clike-BgBwzOhw.js +1 -1
- package/dist/assets/clojure-DR_hEDJv.js +1 -1
- package/dist/assets/clone-DQp2i25Y.js +1 -0
- package/dist/assets/cmake-DXn5xaP-.js +1 -1
- package/dist/assets/cobol-stawOqaz.js +1 -1
- package/dist/assets/coffeescript-BTDxI-eT.js +1 -1
- package/dist/assets/colors-bszWmPJw.js +1 -1
- package/dist/assets/commonlisp-vq6DHwts.js +1 -1
- package/dist/assets/compile-BERwWmDn.js +10 -0
- package/dist/assets/crystal-CRzZ78HM.js +1 -1
- package/dist/assets/css-ZjFoif2m.js +1 -1
- package/dist/assets/cypher-gJDei3ni.js +1 -1
- package/dist/assets/cytoscape.esm-C5gjFiAL.js +10 -0
- package/dist/assets/d-BShv7fp-.js +1 -1
- package/dist/assets/dagre-OKDRZEBW-Cz3-cNDE.js +4 -0
- package/dist/assets/data-editor-3xICsu3E.js +142 -0
- package/dist/assets/diagram-SSKATNLV-DEXXgyjk.js +43 -0
- package/dist/assets/diagram-VNBRO52H-DRIVuL5r.js +24 -0
- package/dist/assets/diff-UJJ5BM9S.js +1 -1
- package/dist/assets/dockerfile-knGOOxt4.js +1 -1
- package/dist/assets/dtd-DI9Herc-.js +1 -1
- package/dist/assets/dylan-CHJ5qNM_.js +1 -1
- package/dist/assets/ebnf-B-Df8AvO.js +1 -1
- package/dist/assets/ecl-DPFc0Uaf.js +1 -1
- package/dist/assets/edit-page-hbtlL7Lg.js +134 -0
- package/dist/assets/eiffel-DR5c0IrL.js +1 -1
- package/dist/assets/elm-D7xaZ7Da.js +1 -1
- package/dist/assets/erDiagram-Q7BY3M3F-BH0Oa2r0.js +60 -0
- package/dist/assets/erlang-BuqgqA5h.js +1 -1
- package/dist/assets/fcl-CVaBTCzQ.js +1 -1
- package/dist/assets/flowDiagram-4HSFHLVR-CKS73LC7.js +161 -0
- package/dist/assets/forth-Dri_5nFc.js +1 -1
- package/dist/assets/fortran-DL7KluxX.js +1 -1
- package/dist/assets/ganttDiagram-APWFNJXF-Cv8wji_H.js +257 -0
- package/dist/assets/gas-5kEe4nk0.js +1 -1
- package/dist/assets/gherkin-B6X1vGSW.js +1 -1
- package/dist/assets/gitGraphDiagram-7IBYFJ6S-DkcQxvBy.js +65 -0
- package/dist/assets/graph-Bko0d97M.js +1 -0
- package/dist/assets/groovy-DnIzCrpZ.js +1 -1
- package/dist/assets/haskell-CmdsSjFB.js +1 -1
- package/dist/assets/haxe-D25e-2l-.js +1 -1
- package/dist/assets/home-page-D832iGMU.js +9 -0
- package/dist/assets/http-BKJkqRj4.js +1 -1
- package/dist/assets/idl-pcmmZuaN.js +1 -1
- package/dist/assets/index-8J1484E7.js +7 -0
- package/dist/assets/index-B6iTZJCy.js +1 -0
- package/dist/assets/index-BJcc61I9.js +1 -0
- package/dist/assets/index-BT2D5Kh3.js +476 -0
- package/dist/assets/index-C13hJdUs.js +1 -0
- package/dist/assets/index-CJJb8nrt.js +1 -0
- package/dist/assets/index-CZoFNto9.js +1 -0
- package/dist/assets/index-CwDkYzH5.js +1 -0
- package/dist/assets/index-D06uCJV3.js +1 -0
- package/dist/assets/index-D6cDKbm2.js +1 -0
- package/dist/assets/index-DKPnCnoa.js +19 -0
- package/dist/assets/index-DMUPkki0.css +1 -0
- package/dist/assets/index-DcJeXd87.js +1 -0
- package/dist/assets/index-EOfUy6In.js +1 -0
- package/dist/assets/index-KmxuDZRt.js +1 -0
- package/dist/assets/index-TlhNIFoS.js +1 -0
- package/dist/assets/index-aATRtiB6.js +1 -0
- package/dist/assets/index-ndjaWLEu.js +1 -0
- package/dist/assets/index-oq2mmpGs.js +1 -0
- package/dist/assets/index-sw4a-uGY.js +1 -0
- package/dist/assets/infoDiagram-PH2N3AL5-BJlnJwM9.js +2 -0
- package/dist/assets/init-DLRA0X12.js +1 -1
- package/dist/assets/javascript-D48wDJXV.js +1 -1
- package/dist/assets/jinja2-DhgKlfW7.js +1 -1
- package/dist/assets/journeyDiagram-U35MCT3I-aeMHYkXG.js +138 -0
- package/dist/assets/julia-DjdwvFuI.js +1 -1
- package/dist/assets/kanban-definition-NDS4AKOZ-155efCjK.js +88 -0
- package/dist/assets/katex-BsnJiHtx.js +261 -0
- package/dist/assets/layout-DLmcevZJ.js +1 -0
- package/dist/assets/linear-DmR_fw_i.js +1 -0
- package/dist/assets/livescript-HO6ttBFx.js +1 -1
- package/dist/assets/loro_wasm_bg-DHBNbovs.wasm +0 -0
- package/dist/assets/lua-8DXOpKDz.js +1 -1
- package/dist/assets/mathematica-IIbmv7SK.js +1 -1
- package/dist/assets/mbox-z_N2Mo3d.js +1 -0
- package/dist/assets/mermaid-BWIx1JLS.js +152 -0
- package/dist/assets/mhchem-C_nT2J_7.js +1 -0
- package/dist/assets/min-C1h4RdZs.js +1 -0
- package/dist/assets/mindmap-definition-ALO5MXBD-A2Ipw8gz.js +95 -0
- package/dist/assets/mirc-DkvFAiy5.js +1 -1
- package/dist/assets/mllike-3c2dg9RT.js +1 -1
- package/dist/assets/modelica-DSrSSXCg.js +1 -1
- package/dist/assets/mscgen-B2igx18G.js +1 -1
- package/dist/assets/mumps-zvxmGV4l.js +1 -1
- package/dist/assets/nginx-B4hAVlXN.js +1 -1
- package/dist/assets/ntriples-FFvkTduk.js +1 -1
- package/dist/assets/octave-C4hdQ5Hf.js +1 -1
- package/dist/assets/ordinal-DDUp3AbE.js +1 -1
- package/dist/assets/oz-qQq7irPq.js +1 -1
- package/dist/assets/pascal-CafrKXZF.js +1 -1
- package/dist/assets/perl-tdMlh9QA.js +1 -1
- package/dist/assets/pieDiagram-IB7DONF6-Sq9rWZdC.js +30 -0
- package/dist/assets/pig-CwGJVRC4.js +1 -1
- package/dist/assets/powershell-D1ly3AHC.js +1 -1
- package/dist/assets/properties-_nPj978X.js +1 -1
- package/dist/assets/protobuf-B4y9do6W.js +1 -1
- package/dist/assets/pug-_kJOm_E2.js +1 -1
- package/dist/assets/puppet-Bc-yJKzi.js +1 -1
- package/dist/assets/python-DD-Q2bae.js +1 -1
- package/dist/assets/q-B0kTJ4cI.js +1 -1
- package/dist/assets/quadrantDiagram-7GDLP6J5-DXCtQw02.js +7 -0
- package/dist/assets/r-BA4EbLKE.js +1 -1
- package/dist/assets/radar-MK3ICKWK-Cq34BeW5.js +126 -0
- package/dist/assets/range-CtcPcB_L.js +1 -1
- package/dist/assets/react-plotly-BinWDR5O.js +4074 -0
- package/dist/assets/requirementDiagram-KVF5MWMF-3pKChIvp.js +64 -0
- package/dist/assets/rpm-DI_rRufH.js +1 -1
- package/dist/assets/ruby-CR-u2WLS.js +1 -1
- package/dist/assets/run-page-CrgK4Rlf.js +1 -0
- package/dist/assets/sankeyDiagram-QLVOVGJD-vNRVDAW6.js +10 -0
- package/dist/assets/sas-Bqaci40L.js +1 -1
- package/dist/assets/save-worker-D7xNPs7e.js +1 -0
- package/dist/assets/scheme-qjP0V5Ag.js +1 -1
- package/dist/assets/sequenceDiagram-X6HHIX6F-DWiVNDJf.js +122 -0
- package/dist/assets/shell-BLav31RL.js +1 -1
- package/dist/assets/sieve-r025o_jW.js +1 -1
- package/dist/assets/simple-mode-C3vEBAcb.js +1 -1
- package/dist/assets/slides-component-mfQMptmj.js +1 -0
- package/dist/assets/smalltalk-C7J3IyEP.js +1 -1
- package/dist/assets/solr-78MBEUkU.js +1 -1
- package/dist/assets/sortBy-BHiIWp3-.js +1 -0
- package/dist/assets/sparql-BRLJFz69.js +1 -1
- package/dist/assets/spreadsheet-CGlWr0eM.js +1 -1
- package/dist/assets/sql-B3SPsWL6.js +1 -1
- package/dist/assets/stateDiagram-DGXRK772-BYk6v-j7.js +1 -0
- package/dist/assets/stateDiagram-v2-YXO3MK2T-D4vZtdjn.js +1 -0
- package/dist/assets/step-BwsUM5iJ.js +1 -1
- package/dist/assets/stylus-OdhglgkO.js +1 -1
- package/dist/assets/swift-B_XXVlXX.js +1 -1
- package/dist/assets/tcl-B2fODqDH.js +1 -1
- package/dist/assets/terminal-WqMRJt5Z.css +1 -0
- package/dist/assets/terminal-i5dUsc3X.js +9 -0
- package/dist/assets/textile-BuVhTOzU.js +1 -1
- package/dist/assets/tiddlywiki-BgR6AEZu.js +1 -1
- package/dist/assets/tiki-CI-ztowC.js +1 -1
- package/dist/assets/time-BUN_Mgk5.js +1 -0
- package/dist/assets/timeline-definition-BDJGKUSR-DaruHy2o.js +61 -0
- package/dist/assets/timer-DFzT7np-.js +1 -1
- package/dist/assets/toml-BQXy8elZ.js +1 -1
- package/dist/assets/tracing-QRDkN0bC.js +2 -0
- package/dist/assets/transform-Cyp0GDF-.js +1 -0
- package/dist/assets/tree-CO9Ev0F3.js +17 -0
- package/dist/assets/troff-Ce85hlLp.js +1 -1
- package/dist/assets/ttcn-BxnYHtq8.js +1 -1
- package/dist/assets/ttcn-cfg-CKJxb-l2.js +1 -1
- package/dist/assets/turtle-BkSuIpt-.js +1 -1
- package/dist/assets/useMarimoWebSocket-dfmeW0YP.js +27 -0
- package/dist/assets/vb-BHgjm0DN.js +1 -1
- package/dist/assets/vbscript-Dawdd5GZ.js +1 -1
- package/dist/assets/vega-component-Aj2Zq01k.js +1 -0
- package/dist/assets/velocity-BdD_26Jv.js +1 -1
- package/dist/assets/verilog-B4LBqg_1.js +1 -1
- package/dist/assets/vhdl-CWWH2SUo.js +1 -1
- package/dist/assets/web-vitals-Buym0gfC.js +1 -0
- package/dist/assets/webidl-CGwyPRYs.js +1 -1
- package/dist/assets/worker-BWN2kUSa.js +1 -0
- package/dist/assets/worker-D-UG5-wL.js +1 -0
- package/dist/assets/xquery-CVDBqZPY.js +1 -1
- package/dist/assets/xychartDiagram-VJFVF3MP-mZV_rpra.js +7 -0
- package/dist/assets/yacas-I8QjZlxf.js +1 -1
- package/dist/assets/z80-D8p3gKXp.js +1 -1
- package/dist/assets/zoom-COrs4lFh.js +1 -1
- package/dist/index.html +2 -2
- package/package.json +5 -4
- package/dist/assets/ConnectedDataExplorerComponent-fkwjF_oq.js +0 -22
- package/dist/assets/VegaLite-Dr9nVXts.js +0 -11
- package/dist/assets/_baseEach-P3p1hw0O.js +0 -1
- package/dist/assets/_baseMap-CMvHKsR9.js +0 -1
- package/dist/assets/_baseUniq-Bkm0IZrS.js +0 -1
- package/dist/assets/_createAggregator-vC-2tf4_.js +0 -1
- package/dist/assets/architectureDiagram-IEHRJDOE-CcWyZkO2.js +0 -1
- package/dist/assets/blockDiagram-JOT3LUYC-DF26tlqR.js +0 -1
- package/dist/assets/c4Diagram-VJAJSXHY-YroCHEVd.js +0 -1
- package/dist/assets/channel-B_K3wJTl.js +0 -1
- package/dist/assets/chunk-4BMEZGHF-5v6PGvPH.js +0 -1
- package/dist/assets/chunk-A2AXSNBT-BVeZ640P.js +0 -1
- package/dist/assets/chunk-AEK57VVT-C9hDEWIM.js +0 -1
- package/dist/assets/chunk-D6G4REZN-Bj40BtC7.js +0 -1
- package/dist/assets/chunk-RZ5BOZE2-DXUIS5Ng.js +0 -1
- package/dist/assets/chunk-XZIHB7SX-lDI7m6aZ.js +0 -1
- package/dist/assets/classDiagram-GIVACNV2-BHTxHW71.js +0 -1
- package/dist/assets/classDiagram-v2-COTLJTTW-BHTxHW71.js +0 -1
- package/dist/assets/clone-B-op5z9A.js +0 -1
- package/dist/assets/compile-Db91qzUb.js +0 -1
- package/dist/assets/cytoscape.esm-bH-fs5wT.js +0 -9
- package/dist/assets/dagre-OKDRZEBW-BwkFTbNR.js +0 -1
- package/dist/assets/data-editor-CFVtUBgQ.js +0 -1
- package/dist/assets/diagram-SSKATNLV-Cv8jpHzQ.js +0 -1
- package/dist/assets/diagram-VNBRO52H-DCHaCQor.js +0 -1
- package/dist/assets/edit-page-BzUvShyW.js +0 -8
- package/dist/assets/erDiagram-Q7BY3M3F-CMOTNFiD.js +0 -1
- package/dist/assets/flowDiagram-4HSFHLVR-CQFWSy_k.js +0 -1
- package/dist/assets/ganttDiagram-APWFNJXF-BsgVXsqF.js +0 -1
- package/dist/assets/gitGraphDiagram-7IBYFJ6S-B560jito.js +0 -1
- package/dist/assets/graph-AeMIzpf1.js +0 -1
- package/dist/assets/home-page-KqDpdERR.js +0 -7
- package/dist/assets/index-4L2BV8NY.js +0 -1
- package/dist/assets/index-B3D-uA1N.js +0 -1
- package/dist/assets/index-BI7QpmL3.js +0 -1
- package/dist/assets/index-C-lM9c3Z.css +0 -1
- package/dist/assets/index-C5ELXaxf.js +0 -1
- package/dist/assets/index-CCTBp10h.js +0 -1
- package/dist/assets/index-CDBNCwx6.js +0 -1
- package/dist/assets/index-CIDvop30.js +0 -1
- package/dist/assets/index-C_SvR4xD.js +0 -1
- package/dist/assets/index-CnBJX8vR.js +0 -87
- package/dist/assets/index-Cw-UPnI9.js +0 -1
- package/dist/assets/index-D0Os4d0x.js +0 -1
- package/dist/assets/index-DDwZR-UT.js +0 -1
- package/dist/assets/index-Dbr_qElY.js +0 -1
- package/dist/assets/index-DdGbxLnb.js +0 -1
- package/dist/assets/index-DekJljTx.js +0 -1
- package/dist/assets/index-FrTjQQ-n.js +0 -1
- package/dist/assets/index-O9MVf66F.js +0 -1
- package/dist/assets/index-kGs5nYlG.js +0 -1
- package/dist/assets/index-r181vTuW.js +0 -1
- package/dist/assets/infoDiagram-PH2N3AL5-BXPvmR81.js +0 -1
- package/dist/assets/journeyDiagram-U35MCT3I-B0S_SgVK.js +0 -1
- package/dist/assets/kanban-definition-NDS4AKOZ-UUQ6q8Vg.js +0 -1
- package/dist/assets/katex-Blph-pX_.js +0 -1
- package/dist/assets/layout-B6OElfH3.js +0 -1
- package/dist/assets/linear-71qVJqzE.js +0 -1
- package/dist/assets/mbox-DoeuZPxA.js +0 -1
- package/dist/assets/mermaid-BKvupWB0.js +0 -7
- package/dist/assets/mhchem-9pkdwevO.js +0 -1
- package/dist/assets/min-o9PQCIYY.js +0 -1
- package/dist/assets/mindmap-definition-ALO5MXBD-r9NCPgW2.js +0 -1
- package/dist/assets/pieDiagram-IB7DONF6-Dmq3_UTw.js +0 -1
- package/dist/assets/quadrantDiagram-7GDLP6J5-D3XIPN3p.js +0 -1
- package/dist/assets/radar-MK3ICKWK-DMsqSlzj.js +0 -1
- package/dist/assets/react-plotly-D0H8qIDi.js +0 -71
- package/dist/assets/requirementDiagram-KVF5MWMF-nMbD5UXj.js +0 -1
- package/dist/assets/run-page-DqwwqtBw.js +0 -1
- package/dist/assets/sankeyDiagram-QLVOVGJD-CHcwi6do.js +0 -1
- package/dist/assets/save-worker-CQvBUha3.js +0 -1
- package/dist/assets/sequenceDiagram-X6HHIX6F-D_Tk-O8S.js +0 -1
- package/dist/assets/slides-component-BKNzEggW.js +0 -1
- package/dist/assets/sortBy-Cxz_qN5n.js +0 -1
- package/dist/assets/stateDiagram-DGXRK772-B6F0-yMC.js +0 -1
- package/dist/assets/stateDiagram-v2-YXO3MK2T-DEYCyNdv.js +0 -1
- package/dist/assets/terminal-DVzybcfs.css +0 -1
- package/dist/assets/terminal-DgvuopHs.js +0 -1
- package/dist/assets/time-DVhNtfw7.js +0 -1
- package/dist/assets/timeline-definition-BDJGKUSR-wZ6E2B7F.js +0 -1
- package/dist/assets/tracing-Qs-WYY01.js +0 -8
- package/dist/assets/transform-DjHZbYKP.js +0 -1
- package/dist/assets/tree-BRrL0gYK.js +0 -8
- package/dist/assets/useMarimoWebSocket-DhxiOkxx.js +0 -15
- package/dist/assets/vega-component-BAwXbAnn.js +0 -1
- package/dist/assets/web-vitals-rCWRSGQR.js +0 -1
- package/dist/assets/worker-DMKWnagd.js +0 -1
- package/dist/assets/worker-DXe6aoib.js +0 -1
- package/dist/assets/xychartDiagram-VJFVF3MP-mbHTJRBl.js +0 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import{y as Oe}from"./index-BT2D5Kh3.js";const C=s=>s.flatMap(ye),ye=s=>w(de(s)).map(Le),Le=s=>s.replace(/ +/g," ").trim(),de=s=>({type:"mandatory_block",items:F(s,0)[0]}),F=(s,e,t)=>{const r=[];for(;s[e];){const[_,l]=Ce(s,e);if(r.push(_),s[e=l]!=="|"){if(s[e]==="}"||s[e]==="]"){if(t!==s[e])throw new Error(`Unbalanced parenthesis in: ${s}`);return[r,++e]}if(e===s.length){if(t)throw new Error(`Unbalanced parenthesis in: ${s}`);return[r,e]}throw new Error(`Unexpected "${s[e]}"`)}e++}return[r,e]},Ce=(s,e)=>{const t=[];for(;;){const[r,_]=fe(s,e);if(!r)break;t.push(r),e=_}return t.length===1?[t[0],e]:[{type:"concatenation",items:t},e]},fe=(s,e)=>{if(s[e]==="{")return De(s,e+1);if(s[e]==="[")return Pe(s,e+1);{let t="";for(;s[e]&&/[A-Za-z0-9_ ]/.test(s[e]);)t+=s[e],e++;return[t,e]}},De=(s,e)=>{const[t,r]=F(s,e,"}");return[{type:"mandatory_block",items:t},r]},Pe=(s,e)=>{const[t,r]=F(s,e,"]");return[{type:"optional_block",items:t},r]},w=s=>{if(typeof s=="string")return[s];if(s.type==="concatenation")return s.items.map(w).reduce(be,[""]);if(s.type==="mandatory_block")return s.items.flatMap(w);if(s.type==="optional_block")return["",...s.items.flatMap(w)];throw new Error(`Unknown node type: ${s}`)},be=(s,e)=>{const t=[];for(const r of s)for(const _ of e)t.push(r+_);return t};var i;(function(s){s.QUOTED_IDENTIFIER="QUOTED_IDENTIFIER",s.IDENTIFIER="IDENTIFIER",s.STRING="STRING",s.VARIABLE="VARIABLE",s.RESERVED_DATA_TYPE="RESERVED_DATA_TYPE",s.RESERVED_PARAMETERIZED_DATA_TYPE="RESERVED_PARAMETERIZED_DATA_TYPE",s.RESERVED_KEYWORD="RESERVED_KEYWORD",s.RESERVED_FUNCTION_NAME="RESERVED_FUNCTION_NAME",s.RESERVED_PHRASE="RESERVED_PHRASE",s.RESERVED_SET_OPERATION="RESERVED_SET_OPERATION",s.RESERVED_CLAUSE="RESERVED_CLAUSE",s.RESERVED_SELECT="RESERVED_SELECT",s.RESERVED_JOIN="RESERVED_JOIN",s.ARRAY_IDENTIFIER="ARRAY_IDENTIFIER",s.ARRAY_KEYWORD="ARRAY_KEYWORD",s.CASE="CASE",s.END="END",s.WHEN="WHEN",s.ELSE="ELSE",s.THEN="THEN",s.LIMIT="LIMIT",s.BETWEEN="BETWEEN",s.AND="AND",s.OR="OR",s.XOR="XOR",s.OPERATOR="OPERATOR",s.COMMA="COMMA",s.ASTERISK="ASTERISK",s.PROPERTY_ACCESS_OPERATOR="PROPERTY_ACCESS_OPERATOR",s.OPEN_PAREN="OPEN_PAREN",s.CLOSE_PAREN="CLOSE_PAREN",s.LINE_COMMENT="LINE_COMMENT",s.BLOCK_COMMENT="BLOCK_COMMENT",s.DISABLE_COMMENT="DISABLE_COMMENT",s.NUMBER="NUMBER",s.NAMED_PARAMETER="NAMED_PARAMETER",s.QUOTED_PARAMETER="QUOTED_PARAMETER",s.NUMBERED_PARAMETER="NUMBERED_PARAMETER",s.POSITIONAL_PARAMETER="POSITIONAL_PARAMETER",s.CUSTOM_PARAMETER="CUSTOM_PARAMETER",s.DELIMITER="DELIMITER",s.EOF="EOF"})(i=i||(i={}));const j=s=>({type:i.EOF,raw:"\xABEOF\xBB",text:"\xABEOF\xBB",start:s});j(1/0);const b=s=>e=>e.type===s.type&&e.text===s.text;b({text:"ARRAY",type:i.RESERVED_DATA_TYPE}),b({text:"BY",type:i.RESERVED_KEYWORD}),b({text:"SET",type:i.RESERVED_CLAUSE}),b({text:"STRUCT",type:i.RESERVED_DATA_TYPE}),b({text:"WINDOW",type:i.RESERVED_CLAUSE}),b({text:"VALUES",type:i.RESERVED_CLAUSE});const xe=C(["SELECT [ALL | DISTINCT]"]),Me=C(["WITH [RECURSIVE]","FROM","WHERE","GROUP BY [ALL]","HAVING","WINDOW","PARTITION BY","ORDER BY [ALL]","LIMIT","OFFSET","USING SAMPLE","QUALIFY","INSERT [OR REPLACE] INTO","VALUES","DEFAULT VALUES","SET","RETURNING"]),Q=C(["CREATE [OR REPLACE] [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]),V=C(["UPDATE","ON CONFLICT","DELETE FROM","DROP TABLE [IF EXISTS]","TRUNCATE","ALTER TABLE","ADD [COLUMN] [IF NOT EXISTS]","ADD PRIMARY KEY","DROP [COLUMN] [IF EXISTS]","ALTER [COLUMN]","RENAME [COLUMN]","RENAME TO","SET [DATA] TYPE","{SET | DROP} DEFAULT","{SET | DROP} NOT NULL","CREATE [OR REPLACE] [TEMPORARY | TEMP] {MACRO | FUNCTION}","DROP MACRO [TABLE] [IF EXISTS]","DROP FUNCTION [IF EXISTS]","CREATE [UNIQUE] INDEX [IF NOT EXISTS]","DROP INDEX [IF EXISTS]","CREATE [OR REPLACE] SCHEMA [IF NOT EXISTS]","DROP SCHEMA [IF EXISTS]","CREATE [OR REPLACE] [PERSISTENT | TEMPORARY] SECRET [IF NOT EXISTS]","DROP [PERSISTENT | TEMPORARY] SECRET [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] SEQUENCE","DROP SEQUENCE [IF EXISTS]","CREATE [OR REPLACE] [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]","DROP VIEW [IF EXISTS]","ALTER VIEW","CREATE TYPE","DROP TYPE [IF EXISTS]","ANALYZE","ATTACH [DATABASE] [IF NOT EXISTS]","DETACH [DATABASE] [IF EXISTS]","CALL","[FORCE] CHECKPOINT","COMMENT ON [TABLE | COLUMN | VIEW | INDEX | SEQUENCE | TYPE | MACRO | MACRO TABLE]","COPY [FROM DATABASE]","DESCRIBE","EXPORT DATABASE","IMPORT DATABASE","INSTALL","LOAD","PIVOT","PIVOT_WIDER","UNPIVOT","EXPLAIN [ANALYZE]","SET {LOCAL | SESSION | GLOBAL}","RESET [LOCAL | SESSION | GLOBAL]","{SET | RESET} VARIABLE","SUMMARIZE","BEGIN TRANSACTION","ROLLBACK","COMMIT","ABORT","USE","VACUUM [ANALYZE]","PREPARE","EXECUTE","DEALLOCATE [PREPARE]"]),$e=C(["UNION [ALL | BY NAME]","EXCEPT [ALL]","INTERSECT [ALL]"]),ge=C(["JOIN","{LEFT | RIGHT | FULL} [OUTER] JOIN","{INNER | CROSS} JOIN","{NATURAL | ASOF} [INNER] JOIN","{NATURAL | ASOF} {LEFT | RIGHT | FULL} [OUTER] JOIN","POSITIONAL JOIN","ANTI JOIN","SEMI JOIN"]),Ue=C(["{ROWS | RANGE | GROUPS} BETWEEN","SIMILAR TO","IS [NOT] DISTINCT FROM","TIMESTAMP WITH TIME ZONE"]),we={name:"duckdb",tokenizerOptions:{reservedSelect:xe,reservedClauses:[...Me,...Q,...V],reservedSetOperations:$e,reservedJoins:ge,reservedPhrases:Ue,supportsXor:!0,reservedKeywords:["ALL","ANALYSE","ANALYZE","AND","ANY","AS","ASC","ATTACH","ASYMMETRIC","BOTH","CASE","CAST","CHECK","COLLATE","COLUMN","CONSTRAINT","CREATE","DEFAULT","DEFERRABLE","DESC","DESCRIBE","DETACH","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FROM","GRANT","GROUP","HAVING","IN","INITIALLY","INTERSECT","INTO","LATERAL","LEADING","LIMIT","NOT","NULL","OFFSET","ON","ONLY","OR","ORDER","PIVOT","PIVOT_LONGER","PIVOT_WIDER","PLACING","PRIMARY","REFERENCES","RETURNING","SELECT","SHOW","SOME","SUMMARIZE","SYMMETRIC","TABLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","UNPIVOT","USING","VARIADIC","WHEN","WHERE","WINDOW","WITH"],reservedDataTypes:["ARRAY","BIGINT","BINARY","BIT","BITSTRING","BLOB","BOOL","BOOLEAN","BPCHAR","BYTEA","CHAR","DATE","DATETIME","DEC","DECIMAL","DOUBLE","ENUM","FLOAT","FLOAT4","FLOAT8","GUID","HUGEINT","INET","INT","INT1","INT128","INT16","INT2","INT32","INT4","INT64","INT8","INTEGER","INTEGRAL","INTERVAL","JSON","LIST","LOGICAL","LONG","MAP","NUMERIC","NVARCHAR","OID","REAL","ROW","SHORT","SIGNED","SMALLINT","STRING","STRUCT","TEXT","TIME","TIMESTAMP_MS","TIMESTAMP_NS","TIMESTAMP_S","TIMESTAMP_US","TIMESTAMP","TIMESTAMPTZ","TIMETZ","TINYINT","UBIGINT","UHUGEINT","UINT128","UINT16","UINT32","UINT64","UINT8","UINTEGER","UNION","USMALLINT","UTINYINT","UUID","VARBINARY","VARCHAR"],reservedFunctionNames:["ABS","ACOS","ADD","ADD_PARQUET_KEY","AGE","AGGREGATE","ALIAS","ALL_PROFILING_OUTPUT","ANY_VALUE","APPLY","APPROX_COUNT_DISTINCT","APPROX_QUANTILE","ARBITRARY","ARGMAX","ARGMIN","ARG_MAX","ARG_MAX_NULL","ARG_MIN","ARG_MIN_NULL","ARRAY_AGG","ARRAY_AGGR","ARRAY_AGGREGATE","ARRAY_APPEND","ARRAY_APPLY","ARRAY_CAT","ARRAY_CONCAT","ARRAY_CONTAINS","ARRAY_COSINE_SIMILARITY","ARRAY_CROSS_PRODUCT","ARRAY_DISTANCE","ARRAY_DISTINCT","ARRAY_DOT_PRODUCT","ARRAY_EXTRACT","ARRAY_FILTER","ARRAY_GRADE_UP","ARRAY_HAS","ARRAY_HAS_ALL","ARRAY_HAS_ANY","ARRAY_INDEXOF","ARRAY_INNER_PRODUCT","ARRAY_INTERSECT","ARRAY_LENGTH","ARRAY_POP_BACK","ARRAY_POP_FRONT","ARRAY_POSITION","ARRAY_PREPEND","ARRAY_PUSH_BACK","ARRAY_PUSH_FRONT","ARRAY_REDUCE","ARRAY_RESIZE","ARRAY_REVERSE","ARRAY_REVERSE_SORT","ARRAY_SELECT","ARRAY_SLICE","ARRAY_SORT","ARRAY_TO_JSON","ARRAY_TO_STRING","ARRAY_TRANSFORM","ARRAY_UNIQUE","ARRAY_VALUE","ARRAY_WHERE","ARRAY_ZIP","ARROW_SCAN","ARROW_SCAN_DUMB","ASCII","ASIN","ATAN","ATAN2","AVG","BASE64","BIN","BITSTRING","BITSTRING_AGG","BIT_AND","BIT_COUNT","BIT_LENGTH","BIT_OR","BIT_POSITION","BIT_XOR","BOOL_AND","BOOL_OR","CARDINALITY","CBRT","CEIL","CEILING","CENTURY","CHECKPOINT","CHR","COLLATIONS","COL_DESCRIPTION","COMBINE","CONCAT","CONCAT_WS","CONSTANT_OR_NULL","CONTAINS","COPY_DATABASE","CORR","COS","COT","COUNT","COUNT_IF","COUNT_STAR","COVAR_POP","COVAR_SAMP","CREATE_SORT_KEY","CURRENT_CATALOG","CURRENT_DATABASE","CURRENT_DATE","CURRENT_LOCALTIME","CURRENT_LOCALTIMESTAMP","CURRENT_QUERY","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_SCHEMAS","CURRENT_SETTING","CURRENT_USER","CURRVAL","DAMERAU_LEVENSHTEIN","DATABASE_LIST","DATABASE_SIZE","DATEDIFF","DATEPART","DATESUB","DATETRUNC","DATE_ADD","DATE_DIFF","DATE_PART","DATE_SUB","DATE_TRUNC","DAY","DAYNAME","DAYOFMONTH","DAYOFWEEK","DAYOFYEAR","DECADE","DECODE","DEGREES","DISABLE_CHECKPOINT_ON_SHUTDOWN","DISABLE_OBJECT_CACHE","DISABLE_OPTIMIZER","DISABLE_PRINT_PROGRESS_BAR","DISABLE_PROFILE","DISABLE_PROFILING","DISABLE_PROGRESS_BAR","DISABLE_VERIFICATION","DISABLE_VERIFY_EXTERNAL","DISABLE_VERIFY_FETCH_ROW","DISABLE_VERIFY_PARALLELISM","DISABLE_VERIFY_SERIALIZER","DIVIDE","DUCKDB_COLUMNS","DUCKDB_CONSTRAINTS","DUCKDB_DATABASES","DUCKDB_DEPENDENCIES","DUCKDB_EXTENSIONS","DUCKDB_FUNCTIONS","DUCKDB_INDEXES","DUCKDB_KEYWORDS","DUCKDB_MEMORY","DUCKDB_OPTIMIZERS","DUCKDB_SCHEMAS","DUCKDB_SECRETS","DUCKDB_SEQUENCES","DUCKDB_SETTINGS","DUCKDB_TABLES","DUCKDB_TEMPORARY_FILES","DUCKDB_TYPES","DUCKDB_VIEWS","EDIT","EDITDIST3","ELEMENT_AT","ENABLE_CHECKPOINT_ON_SHUTDOWN","ENABLE_OBJECT_CACHE","ENABLE_OPTIMIZER","ENABLE_PRINT_PROGRESS_BAR","ENABLE_PROFILE","ENABLE_PROFILING","ENABLE_PROGRESS_BAR","ENABLE_VERIFICATION","ENCODE","ENDS_WITH","ENTROPY","ENUM_CODE","ENUM_FIRST","ENUM_LAST","ENUM_RANGE","ENUM_RANGE_BOUNDARY","EPOCH","EPOCH_MS","EPOCH_NS","EPOCH_US","ERA","ERROR","EVEN","EXP","FACTORIAL","FAVG","FDIV","FILTER","FINALIZE","FIRST","FLATTEN","FLOOR","FMOD","FORCE_CHECKPOINT","FORMAT","FORMATREADABLEDECIMALSIZE","FORMATREADABLESIZE","FORMAT_BYTES","FORMAT_PG_TYPE","FORMAT_TYPE","FROM_BASE64","FROM_BINARY","FROM_HEX","FROM_JSON","FROM_JSON_STRICT","FSUM","FUNCTIONS","GAMMA","GCD","GENERATE_SERIES","GENERATE_SUBSCRIPTS","GEN_RANDOM_UUID","GEOMEAN","GEOMETRIC_MEAN","GETENV","GET_BIT","GET_BLOCK_SIZE","GET_CURRENT_TIME","GET_CURRENT_TIMESTAMP","GLOB","GRADE_UP","GREATEST","GREATEST_COMMON_DIVISOR","GROUP_CONCAT","HAMMING","HASH","HAS_ANY_COLUMN_PRIVILEGE","HAS_COLUMN_PRIVILEGE","HAS_DATABASE_PRIVILEGE","HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE","HAS_FUNCTION_PRIVILEGE","HAS_LANGUAGE_PRIVILEGE","HAS_SCHEMA_PRIVILEGE","HAS_SEQUENCE_PRIVILEGE","HAS_SERVER_PRIVILEGE","HAS_TABLESPACE_PRIVILEGE","HAS_TABLE_PRIVILEGE","HEX","HISTOGRAM","HOUR","ICU_CALENDAR_NAMES","ICU_SORT_KEY","ILIKE_ESCAPE","IMPORT_DATABASE","INDEX_SCAN","INET_CLIENT_ADDR","INET_CLIENT_PORT","INET_SERVER_ADDR","INET_SERVER_PORT","INSTR","IN_SEARCH_PATH","ISFINITE","ISINF","ISNAN","ISODOW","ISOYEAR","JACCARD","JARO_SIMILARITY","JARO_WINKLER_SIMILARITY","JSON_ARRAY","JSON_ARRAY_LENGTH","JSON_CONTAINS","JSON_DESERIALIZE_SQL","JSON_EXECUTE_SERIALIZED_SQL","JSON_EXTRACT","JSON_EXTRACT_PATH","JSON_EXTRACT_PATH_TEXT","JSON_EXTRACT_STRING","JSON_GROUP_ARRAY","JSON_GROUP_OBJECT","JSON_GROUP_STRUCTURE","JSON_KEYS","JSON_MERGE_PATCH","JSON_OBJECT","JSON_QUOTE","JSON_SERIALIZE_PLAN","JSON_SERIALIZE_SQL","JSON_STRUCTURE","JSON_TRANSFORM","JSON_TRANSFORM_STRICT","JSON_TYPE","JSON_VALID","JULIAN","KAHAN_SUM","KURTOSIS","KURTOSIS_POP","LAST","LAST_DAY","LCASE","LCM","LEAST","LEAST_COMMON_MULTIPLE","LEFT","LEFT_GRAPHEME","LEN","LENGTH","LENGTH_GRAPHEME","LEVENSHTEIN","LGAMMA","LIKE_ESCAPE","LIST","LISTAGG","LIST_AGGR","LIST_AGGREGATE","LIST_ANY_VALUE","LIST_APPEND","LIST_APPLY","LIST_APPROX_COUNT_DISTINCT","LIST_AVG","LIST_BIT_AND","LIST_BIT_OR","LIST_BIT_XOR","LIST_BOOL_AND","LIST_BOOL_OR","LIST_CAT","LIST_CONCAT","LIST_CONTAINS","LIST_COSINE_SIMILARITY","LIST_COUNT","LIST_DISTANCE","LIST_DISTINCT","LIST_DOT_PRODUCT","LIST_ELEMENT","LIST_ENTROPY","LIST_EXTRACT","LIST_FILTER","LIST_FIRST","LIST_GRADE_UP","LIST_HAS","LIST_HAS_ALL","LIST_HAS_ANY","LIST_HISTOGRAM","LIST_INDEXOF","LIST_INNER_PRODUCT","LIST_INTERSECT","LIST_KURTOSIS","LIST_KURTOSIS_POP","LIST_LAST","LIST_MAD","LIST_MAX","LIST_MEDIAN","LIST_MIN","LIST_MODE","LIST_PACK","LIST_POSITION","LIST_PREPEND","LIST_PRODUCT","LIST_REDUCE","LIST_RESIZE","LIST_REVERSE","LIST_REVERSE_SORT","LIST_SELECT","LIST_SEM","LIST_SKEWNESS","LIST_SLICE","LIST_SORT","LIST_STDDEV_POP","LIST_STDDEV_SAMP","LIST_STRING_AGG","LIST_SUM","LIST_TRANSFORM","LIST_UNIQUE","LIST_VALUE","LIST_VAR_POP","LIST_VAR_SAMP","LIST_WHERE","LIST_ZIP","LN","LOG","LOG10","LOG2","LOWER","LPAD","LSMODE","LTRIM","MAD","MAKE_DATE","MAKE_TIME","MAKE_TIMESTAMP","MAKE_TIMESTAMPTZ","MAP","MAP_CONCAT","MAP_ENTRIES","MAP_EXTRACT","MAP_FROM_ENTRIES","MAP_KEYS","MAP_VALUES","MAX","MAX_BY","MD5","MD5_NUMBER","MD5_NUMBER_LOWER","MD5_NUMBER_UPPER","MEAN","MEDIAN","METADATA_INFO","MICROSECOND","MILLENNIUM","MILLISECOND","MIN","MINUTE","MIN_BY","MISMATCHES","MOD","MODE","MONTH","MONTHNAME","MULTIPLY","NEXTAFTER","NEXTVAL","NFC_NORMALIZE","NOT_ILIKE_ESCAPE","NOT_LIKE_ESCAPE","NOW","NULLIF","OBJ_DESCRIPTION","OCTET_LENGTH","ORD","PARQUET_FILE_METADATA","PARQUET_KV_METADATA","PARQUET_METADATA","PARQUET_SCAN","PARQUET_SCHEMA","PARSE_DIRNAME","PARSE_DIRPATH","PARSE_FILENAME","PARSE_PATH","PG_COLLATION_IS_VISIBLE","PG_CONF_LOAD_TIME","PG_CONVERSION_IS_VISIBLE","PG_FUNCTION_IS_VISIBLE","PG_GET_CONSTRAINTDEF","PG_GET_EXPR","PG_GET_VIEWDEF","PG_HAS_ROLE","PG_IS_OTHER_TEMP_SCHEMA","PG_MY_TEMP_SCHEMA","PG_OPCLASS_IS_VISIBLE","PG_OPERATOR_IS_VISIBLE","PG_OPFAMILY_IS_VISIBLE","PG_POSTMASTER_START_TIME","PG_SIZE_PRETTY","PG_TABLE_IS_VISIBLE","PG_TIMEZONE_NAMES","PG_TS_CONFIG_IS_VISIBLE","PG_TS_DICT_IS_VISIBLE","PG_TS_PARSER_IS_VISIBLE","PG_TS_TEMPLATE_IS_VISIBLE","PG_TYPEOF","PG_TYPE_IS_VISIBLE","PI","PLATFORM","POSITION","POW","POWER","PRAGMA_COLLATIONS","PRAGMA_DATABASE_SIZE","PRAGMA_METADATA_INFO","PRAGMA_PLATFORM","PRAGMA_SHOW","PRAGMA_STORAGE_INFO","PRAGMA_TABLE_INFO","PRAGMA_USER_AGENT","PRAGMA_VERSION","PREFIX","PRINTF","PRODUCT","QUANTILE","QUANTILE_CONT","QUANTILE_DISC","QUARTER","RADIANS","RANDOM","RANGE","READFILE","READ_BLOB","READ_CSV","READ_CSV_AUTO","READ_JSON","READ_JSON_AUTO","READ_JSON_OBJECTS","READ_JSON_OBJECTS_AUTO","READ_NDJSON","READ_NDJSON_AUTO","READ_NDJSON_OBJECTS","READ_PARQUET","READ_TEXT","REDUCE","REGEXP_ESCAPE","REGEXP_EXTRACT","REGEXP_EXTRACT_ALL","REGEXP_FULL_MATCH","REGEXP_MATCHES","REGEXP_REPLACE","REGEXP_SPLIT_TO_ARRAY","REGEXP_SPLIT_TO_TABLE","REGR_AVGX","REGR_AVGY","REGR_COUNT","REGR_INTERCEPT","REGR_R2","REGR_SLOPE","REGR_SXX","REGR_SXY","REGR_SYY","REPEAT","REPEAT_ROW","REPLACE","RESERVOIR_QUANTILE","REVERSE","RIGHT","RIGHT_GRAPHEME","ROUND","ROUNDBANKERS","ROUND_EVEN","ROW","ROW_TO_JSON","RPAD","RTRIM","SECOND","SEM","SEQ_SCAN","SESSION_USER","SETSEED","SET_BIT","SHA256","SHA3","SHELL_ADD_SCHEMA","SHELL_ESCAPE_CRNL","SHELL_IDQUOTE","SHELL_MODULE_SCHEMA","SHELL_PUTSNL","SHOBJ_DESCRIPTION","SHOW","SHOW_DATABASES","SHOW_TABLES","SHOW_TABLES_EXPANDED","SIGN","SIGNBIT","SIN","SKEWNESS","SNIFF_CSV","SPLIT","SPLIT_PART","SQL_AUTO_COMPLETE","SQRT","STARTS_WITH","STATS","STDDEV","STDDEV_POP","STDDEV_SAMP","STORAGE_INFO","STRFTIME","STRING_AGG","STRING_SPLIT","STRING_SPLIT_REGEX","STRING_TO_ARRAY","STRIP_ACCENTS","STRLEN","STRPOS","STRPTIME","STRUCT_EXTRACT","STRUCT_INSERT","STRUCT_PACK","STR_SPLIT","STR_SPLIT_REGEX","SUBSTR","SUBSTRING","SUBSTRING_GRAPHEME","SUBTRACT","SUFFIX","SUM","SUMKAHAN","SUMMARY","SUM_NO_OVERFLOW","TABLE_INFO","TAN","TEST_ALL_TYPES","TEST_VECTOR_TYPES","TIMEZONE","TIMEZONE_HOUR","TIMEZONE_MINUTE","TIME_BUCKET","TODAY","TO_BASE","TO_BASE64","TO_BINARY","TO_CENTURIES","TO_DAYS","TO_DECADES","TO_HEX","TO_HOURS","TO_JSON","TO_MICROSECONDS","TO_MILLENNIA","TO_MILLISECONDS","TO_MINUTES","TO_MONTHS","TO_SECONDS","TO_TIMESTAMP","TO_WEEKS","TO_YEARS","TRANSACTION_TIMESTAMP","TRANSLATE","TRIM","TRUNC","TRY_STRPTIME","TXID_CURRENT","TYPEOF","UCASE","UNBIN","UNHEX","UNICODE","UNION_EXTRACT","UNION_TAG","UNION_VALUE","UNNEST","UNPIVOT_LIST","UPPER","USER","USER_AGENT","UUID","VARIANCE","VAR_POP","VAR_SAMP","VECTOR_TYPE","VERIFY_EXTERNAL","VERIFY_FETCH_ROW","VERIFY_PARALLELISM","VERIFY_SERIALIZER","VERSION","WEEK","WEEKDAY","WEEKOFYEAR","WHICH_SECRET","WRITEFILE","XOR","YEAR","YEARWEEK","CAST","COALESCE","NULL","RANK","ROW_NUMBER"],nestedBlockComments:!0,extraParens:["[]","{}"],stringTypes:["$$","''-qq",{quote:"''-qq-bs",prefixes:["E"],requirePrefix:!0},{quote:"''-raw",prefixes:["B","X"],requirePrefix:!0}],identTypes:['""-qq'],identChars:{rest:"$"},paramTypes:{positional:!0,numbered:["$"],quoted:["$"]},operators:["//","%","**","^","!","&","|","~","<<",">>","::","==","->",":",":=","=>","~~","!~~","~~*","!~~*","~~~","~","!~","~*","!~*","^@","||",">>=","<<="]},formatOptions:{alwaysDenseOperators:["::"],onelineClauses:[...Q,...V],tabularOnelineClauses:V}},U=s=>s[s.length-1],Z=s=>s.sort((e,t)=>t.length-e.length||e.localeCompare(t)),B=s=>s.replace(/\s+/gu," "),W=s=>/\n/.test(s),y=s=>s.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),z=/\s+/uy,D=s=>new RegExp(`(?:${s})`,"uy"),Be=s=>s.split("").map(e=>/ /gu.test(e)?"\\s+":`[${e.toUpperCase()}${e.toLowerCase()}]`).join(""),ee=(s,e=[])=>{const t=s==="open"?0:1,r=["()",...e].map(_=>_[t]);return D(r.map(y).join("|"))},se=s=>D(`${Z(s).map(y).join("|")}`),f=(s,e={})=>{if(s.length===0)return/^\b$/u;const t=(({rest:_,dashes:l})=>_||l?`(?![${_||""}${l?"-":""}])`:"")(e),r=Z(s).map(y).join("|").replace(/ /gu,"\\s+");return new RegExp(`(?:${r})${t}\\b`,"iuy")},v=(s,e)=>{if(!s.length)return;const t=s.map(y).join("|");return D(`(?:${t})(?:${e})`)},te={"``":"(?:`[^`]*`)+","[]":String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,'""-qq':String.raw`(?:"[^"]*")+`,'""-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")`,'""-qq-bs':String.raw`(?:"[^"\\]*(?:\\.[^"\\]*)*")+`,'""-raw':String.raw`(?:"[^"]*")`,"''-qq":String.raw`(?:'[^']*')+`,"''-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')`,"''-qq-bs":String.raw`(?:'[^'\\]*(?:\\.[^'\\]*)*')+`,"''-raw":String.raw`(?:'[^']*')`,$$:String.raw`(?<tag>\$\w*\$)[\s\S]*?\k<tag>`,"'''..'''":String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,'""".."""':String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,"{}":String.raw`(?:\{[^\}]*\})`,"q''":(()=>{const s={"<":">","[":"]","(":")","{":"}"},e=Object.entries(s).map(([r,_])=>"{left}(?:(?!{right}').)*?{right}".replace(/{left}/g,y(r)).replace(/{right}/g,y(_))),t=y(Object.keys(s).join(""));return`[Qq]'(?:${String.raw`(?<tag>[^\s${t}])(?:(?!\k<tag>').)*?\k<tag>`}|${e.join("|")})'`})()},re=s=>typeof s=="string"?te[s]:"regex"in s?s.regex:(({prefixes:e,requirePrefix:t})=>`(?:${e.map(Be).join("|")}${t?"":"|"})`)(s)+te[s.quote],ne=s=>s.map(re).join("|"),Ee=s=>D(ne(s)),Ge=(s={})=>D(ae(s)),ae=({first:s,rest:e,dashes:t,allowFirstCharNumber:r}={})=>{const _="\\p{Alphabetic}\\p{Mark}_",l="\\p{Decimal_Number}",N=y(s??""),a=y(e??""),E=r?`[${_}${l}${N}][${_}${l}${a}]*`:`[${_}${N}][${_}${l}${a}]*`;return t?(o=>o+"(?:-"+o+")*")(E):E};function ie(s,e){const t=s.slice(0,e).split(/\n/);return{line:t.length,col:t[t.length-1].length+1}}class Ye{constructor(e,t){this.rules=e,this.dialectName=t,this.input="",this.index=0}tokenize(e){this.input=e,this.index=0;const t=[];let r;for(;this.index<this.input.length;){const _=this.getWhitespace();if(this.index<this.input.length){if(r=this.getNextToken(),!r)throw this.createParseError();t.push(Object.assign(Object.assign({},r),{precedingWhitespace:_}))}}return t}createParseError(){const e=this.input.slice(this.index,this.index+10),{line:t,col:r}=ie(this.input,this.index);return new Error(`Parse error: Unexpected "${e}" at line ${t} column ${r}.
|
|
2
|
+
${this.dialectInfo()}`)}dialectInfo(){return this.dialectName==="sql"?`This likely happens because you're using the default "sql" dialect.
|
|
3
|
+
If possible, please select a more specific dialect (like sqlite, postgresql, etc).`:`SQL dialect used: "${this.dialectName}".`}getWhitespace(){z.lastIndex=this.index;const e=z.exec(this.input);if(e)return this.index+=e[0].length,e[0]}getNextToken(){for(const e of this.rules){const t=this.match(e);if(t)return t}}match(e){e.regex.lastIndex=this.index;const t=e.regex.exec(this.input);if(t){const r=t[0],_={type:e.type,raw:r,text:e.text?e.text(r):r,start:this.index};return e.key&&(_.key=e.key(r)),this.index+=r.length,_}}}const oe=/\/\*/uy,Fe=/[\s\S]/uy,Ve=/\*\//uy;class We{constructor(){this.lastIndex=0}exec(e){let t,r="",_=0;if(!(t=this.matchSection(oe,e)))return null;for(r+=t,_++;_>0;)if(t=this.matchSection(oe,e))r+=t,_++;else if(t=this.matchSection(Ve,e))r+=t,_--;else{if(!(t=this.matchSection(Fe,e)))return null;r+=t}return[r]}matchSection(e,t){e.lastIndex=this.lastIndex;const r=e.exec(t);return r&&(this.lastIndex+=r[0].length),r?r[0]:null}}class ve{constructor(e,t){this.cfg=e,this.dialectName=t,this.rulesBeforeParams=this.buildRulesBeforeParams(e),this.rulesAfterParams=this.buildRulesAfterParams(e)}tokenize(e,t){const r=[...this.rulesBeforeParams,...this.buildParamRules(this.cfg,t),...this.rulesAfterParams],_=new Ye(r,this.dialectName).tokenize(e);return this.cfg.postProcess?this.cfg.postProcess(_):_}buildRulesBeforeParams(e){var t,r,_;return this.validRules([{type:i.BLOCK_COMMENT,regex:/(\/\* *sql-formatter-disable *\*\/[\s\S]*?(?:\/\* *sql-formatter-enable *\*\/|$))/uy},{type:i.BLOCK_COMMENT,regex:e.nestedBlockComments?new We:/(\/\*[^]*?\*\/)/uy},{type:i.LINE_COMMENT,regex:(_=(t=e.lineCommentTypes)!==null&&t!==void 0?t:["--"],new RegExp(`(?:${_.map(y).join("|")}).*?(?=\r
|
|
4
|
+
|\r|
|
|
5
|
+
|$)`,"uy"))},{type:i.QUOTED_IDENTIFIER,regex:Ee(e.identTypes)},{type:i.NUMBER,regex:/(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\s*)?(?:[0-9]*\.[0-9]+|[0-9]+(?:\.[0-9]*)?)(?:[eE][-+]?[0-9]+(?:\.[0-9]+)?)?)(?![\w\p{Alphabetic}])/uy},{type:i.RESERVED_PHRASE,regex:f((r=e.reservedPhrases)!==null&&r!==void 0?r:[],e.identChars),text:m},{type:i.CASE,regex:/CASE\b/iuy,text:m},{type:i.END,regex:/END\b/iuy,text:m},{type:i.BETWEEN,regex:/BETWEEN\b/iuy,text:m},{type:i.LIMIT,regex:e.reservedClauses.includes("LIMIT")?/LIMIT\b/iuy:void 0,text:m},{type:i.RESERVED_CLAUSE,regex:f(e.reservedClauses,e.identChars),text:m},{type:i.RESERVED_SELECT,regex:f(e.reservedSelect,e.identChars),text:m},{type:i.RESERVED_SET_OPERATION,regex:f(e.reservedSetOperations,e.identChars),text:m},{type:i.WHEN,regex:/WHEN\b/iuy,text:m},{type:i.ELSE,regex:/ELSE\b/iuy,text:m},{type:i.THEN,regex:/THEN\b/iuy,text:m},{type:i.RESERVED_JOIN,regex:f(e.reservedJoins,e.identChars),text:m},{type:i.AND,regex:/AND\b/iuy,text:m},{type:i.OR,regex:/OR\b/iuy,text:m},{type:i.XOR,regex:e.supportsXor?/XOR\b/iuy:void 0,text:m},...e.operatorKeyword?[{type:i.OPERATOR,regex:/OPERATOR *\([^)]+\)/iuy}]:[],{type:i.RESERVED_FUNCTION_NAME,regex:f(e.reservedFunctionNames,e.identChars),text:m},{type:i.RESERVED_DATA_TYPE,regex:f(e.reservedDataTypes,e.identChars),text:m},{type:i.RESERVED_KEYWORD,regex:f(e.reservedKeywords,e.identChars),text:m}])}buildRulesAfterParams(e){var t,r,_;return this.validRules([{type:i.VARIABLE,regex:e.variableTypes?(_=e.variableTypes,D(_.map(l=>"regex"in l?l.regex:re(l)).join("|"))):void 0},{type:i.STRING,regex:Ee(e.stringTypes)},{type:i.IDENTIFIER,regex:Ge(e.identChars)},{type:i.DELIMITER,regex:/[;]/uy},{type:i.COMMA,regex:/[,]/y},{type:i.OPEN_PAREN,regex:ee("open",e.extraParens)},{type:i.CLOSE_PAREN,regex:ee("close",e.extraParens)},{type:i.OPERATOR,regex:se(["+","-","/",">","<","=","<>","<=",">=","!=",...(t=e.operators)!==null&&t!==void 0?t:[]])},{type:i.ASTERISK,regex:/[*]/uy},{type:i.PROPERTY_ACCESS_OPERATOR,regex:se([".",...(r=e.propertyAccessOperators)!==null&&r!==void 0?r:[]])}])}buildParamRules(e,t){var r,_,l,N,a;const E={named:(t==null?void 0:t.named)||((r=e.paramTypes)===null||r===void 0?void 0:r.named)||[],quoted:(t==null?void 0:t.quoted)||((_=e.paramTypes)===null||_===void 0?void 0:_.quoted)||[],numbered:(t==null?void 0:t.numbered)||((l=e.paramTypes)===null||l===void 0?void 0:l.numbered)||[],positional:typeof(t==null?void 0:t.positional)=="boolean"?t.positional:(N=e.paramTypes)===null||N===void 0?void 0:N.positional,custom:(t==null?void 0:t.custom)||((a=e.paramTypes)===null||a===void 0?void 0:a.custom)||[]};return this.validRules([{type:i.NAMED_PARAMETER,regex:v(E.named,ae(e.paramChars||e.identChars)),key:o=>o.slice(1)},{type:i.QUOTED_PARAMETER,regex:v(E.quoted,ne(e.identTypes)),key:o=>(({tokenKey:R,quoteChar:p})=>R.replace(new RegExp(y("\\"+p),"gu"),p))({tokenKey:o.slice(2,-1),quoteChar:o.slice(-1)})},{type:i.NUMBERED_PARAMETER,regex:v(E.numbered,"[0-9]+"),key:o=>o.slice(1)},{type:i.POSITIONAL_PARAMETER,regex:E.positional?/[?]/y:void 0},...E.custom.map(o=>{var R;return{type:i.CUSTOM_PARAMETER,regex:D(o.regex),key:(R=o.key)!==null&&R!==void 0?R:p=>p}})])}validRules(e){return e.filter(t=>!!t.regex)}}const m=s=>B(s.toUpperCase()),_e=new Map,He=s=>({tokenizer:new ve(s.tokenizerOptions,s.name),formatOptions:ke(s.formatOptions)}),ke=s=>{var e;return{alwaysDenseOperators:s.alwaysDenseOperators||[],onelineClauses:Object.fromEntries(s.onelineClauses.map(t=>[t,!0])),tabularOnelineClauses:Object.fromEntries(((e=s.tabularOnelineClauses)!==null&&e!==void 0?e:s.onelineClauses).map(t=>[t,!0]))}};function x(s){return s.indentStyle==="tabularLeft"||s.indentStyle==="tabularRight"}class Ke{constructor(e){this.params=e,this.index=0}get({key:e,text:t}){return this.params?e?this.params[e]:this.params[this.index++]:t}getPositionalParameterIndex(){return this.index}setPositionalParameterIndex(e){this.index=e}}var Te,H={exports:{}},le,Re,k,Xe=(Te||(Te=1,Re=H.exports,k=function(){function s(a,E,o){return this.id=++s.highestId,this.name=a,this.symbols=E,this.postprocess=o,this}function e(a,E,o,R){this.rule=a,this.dot=E,this.reference=o,this.data=[],this.wantedBy=R,this.isComplete=this.dot===a.symbols.length}function t(a,E){this.grammar=a,this.index=E,this.states=[],this.wants={},this.scannable=[],this.completed={}}function r(a,E){this.rules=a,this.start=E||this.rules[0].name;var o=this.byName={};this.rules.forEach(function(R){o.hasOwnProperty(R.name)||(o[R.name]=[]),o[R.name].push(R)})}function _(){this.reset("")}function l(a,E,o){if(a instanceof r){var R=a;o=E}else R=r.fromCompiled(a,E);for(var p in this.grammar=R,this.options={keepHistory:!1,lexer:R.lexer||new _},o||{})this.options[p]=o[p];this.lexer=this.options.lexer,this.lexerState=void 0;var S=new t(R,0);this.table=[S],S.wants[R.start]=[],S.predict(R.start),S.process(),this.current=0}function N(a){var E=typeof a;if(E==="string")return a;if(E==="object"){if(a.literal)return JSON.stringify(a.literal);if(a instanceof RegExp)return a.toString();if(a.type)return"%"+a.type;if(a.test)return"<"+String(a.test)+">";throw new Error("Unknown symbol type: "+a)}}return s.highestId=0,s.prototype.toString=function(a){var E=a===void 0?this.symbols.map(N).join(" "):this.symbols.slice(0,a).map(N).join(" ")+" \u25CF "+this.symbols.slice(a).map(N).join(" ");return this.name+" \u2192 "+E},e.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},e.prototype.nextState=function(a){var E=new e(this.rule,this.dot+1,this.reference,this.wantedBy);return E.left=this,E.right=a,E.isComplete&&(E.data=E.build(),E.right=void 0),E},e.prototype.build=function(){var a=[],E=this;do a.push(E.right.data),E=E.left;while(E.left);return a.reverse(),a},e.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,l.fail))},t.prototype.process=function(a){for(var E=this.states,o=this.wants,R=this.completed,p=0;p<E.length;p++){var S=E[p];if(S.isComplete){if(S.finish(),S.data!==l.fail){for(var I=S.wantedBy,O=I.length;O--;){var L=I[O];this.complete(L,S)}if(S.reference===this.index){var c=S.rule.name;(this.completed[c]=this.completed[c]||[]).push(S)}}}else{if(typeof(c=S.rule.symbols[S.dot])!="string"){this.scannable.push(S);continue}if(o[c]){if(o[c].push(S),R.hasOwnProperty(c)){var d=R[c];for(O=0;O<d.length;O++){var $=d[O];this.complete(S,$)}}}else o[c]=[S],this.predict(c)}}},t.prototype.predict=function(a){for(var E=this.grammar.byName[a]||[],o=0;o<E.length;o++){var R=E[o],p=this.wants[a],S=new e(R,0,this.index,p);this.states.push(S)}},t.prototype.complete=function(a,E){var o=a.nextState(E);this.states.push(o)},r.fromCompiled=function(a,E){var o=a.Lexer;a.ParserStart&&(E=a.ParserStart,a=a.ParserRules);var R=new r(a=a.map(function(p){return new s(p.name,p.symbols,p.postprocess)}),E);return R.lexer=o,R},_.prototype.reset=function(a,E){this.buffer=a,this.index=0,this.line=E?E.line:1,this.lastLineBreak=E?-E.col:0},_.prototype.next=function(){if(this.index<this.buffer.length){var a=this.buffer[this.index++];return a===`
|
|
6
|
+
`&&(this.line+=1,this.lastLineBreak=this.index),{value:a}}},_.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},_.prototype.formatError=function(a,E){var o=this.buffer;if(typeof o=="string"){var R=o.split(`
|
|
7
|
+
`).slice(Math.max(0,this.line-5),this.line),p=o.indexOf(`
|
|
8
|
+
`,this.index);p===-1&&(p=o.length);var S=this.index-this.lastLineBreak,I=String(this.line).length;return E+=" at line "+this.line+" col "+S+`:
|
|
9
|
+
|
|
10
|
+
`,E+=R.map(function(L,c){return O(this.line-R.length+c+1,I)+" "+L},this).join(`
|
|
11
|
+
`),E+=`
|
|
12
|
+
`+O("",I+S)+`^
|
|
13
|
+
`}return E+" at index "+(this.index-1);function O(L,c){var d=String(L);return Array(c-d.length+1).join(" ")+d}},l.fail={},l.prototype.feed=function(a){var E,o=this.lexer;for(o.reset(a,this.lexerState);;){try{if(!(E=o.next()))break}catch(q){var R=new t(this.grammar,this.current+1);throw this.table.push(R),(I=new Error(this.reportLexerError(q))).offset=this.current,I.token=q.token,I}var p=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var S=this.current+1;R=new t(this.grammar,S),this.table.push(R);for(var I,O=E.text!==void 0?E.text:E.value,L=o.constructor===_?E.value:E,c=p.scannable,d=c.length;d--;){var $=c[d],g=$.rule.symbols[$.dot];if(g.test?g.test(L):g.type?g.type===E.type:g.literal===O){var ue=$.nextState({data:L,token:E,isToken:!0,reference:S-1});R.states.push(ue)}}if(R.process(),R.states.length===0)throw(I=new Error(this.reportError(E))).offset=this.current,I.token=E,I;this.options.keepHistory&&(p.lexerState=o.save()),this.current++}return p&&(this.lexerState=o.save()),this.results=this.finish(),this},l.prototype.reportLexerError=function(a){var E,o,R=a.token;return R?(E="input "+JSON.stringify(R.text[0])+" (lexer error)",o=this.lexer.formatError(R,"Syntax error")):(E="input (lexer error)",o=a.message),this.reportErrorCommon(o,E)},l.prototype.reportError=function(a){var E=(a.type?a.type+" token: ":"")+JSON.stringify(a.value!==void 0?a.value:a),o=this.lexer.formatError(a,"Syntax error");return this.reportErrorCommon(o,E)},l.prototype.reportErrorCommon=function(a,E){var o=[];o.push(a);var R=this.table.length-2,p=this.table[R],S=p.states.filter(function(I){var O=I.rule.symbols[I.dot];return O&&typeof O!="string"});return S.length===0?(o.push("Unexpected "+E+`. I did not expect any more input. Here is the state of my parse table:
|
|
14
|
+
`),this.displayStateStack(p.states,o)):(o.push("Unexpected "+E+`. Instead, I was expecting to see one of the following:
|
|
15
|
+
`),S.map(function(I){return this.buildFirstStateStack(I,[])||[I]},this).forEach(function(I){var O=I[0],L=O.rule.symbols[O.dot],c=this.getSymbolDisplay(L);o.push("A "+c+" based on:"),this.displayStateStack(I,o)},this)),o.push(""),o.join(`
|
|
16
|
+
`)},l.prototype.displayStateStack=function(a,E){for(var o,R=0,p=0;p<a.length;p++){var S=a[p],I=S.rule.toString(S.dot);I===o?R++:(R>0&&E.push(" ^ "+R+" more lines identical to this"),R=0,E.push(" "+I)),o=I}},l.prototype.getSymbolDisplay=function(a){return function(E){var o=typeof E;if(o==="string")return E;if(o==="object"){if(E.literal)return JSON.stringify(E.literal);if(E instanceof RegExp)return"character matching "+E;if(E.type)return E.type+" token";if(E.test)return"token matching "+String(E.test);throw new Error("Unknown symbol type: "+E)}}(a)},l.prototype.buildFirstStateStack=function(a,E){if(E.indexOf(a)!==-1)return null;if(a.wantedBy.length===0)return[a];var o=a.wantedBy[0],R=[a].concat(E),p=this.buildFirstStateStack(o,R);return p===null?null:[a].concat(p)},l.prototype.save=function(){var a=this.table[this.current];return a.lexerState=this.lexerState,a},l.prototype.restore=function(a){var E=a.index;this.current=E,this.table[E]=a,this.table.splice(E+1),this.lexerState=a.lexerState,this.results=this.finish()},l.prototype.rewind=function(a){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[a])},l.prototype.finish=function(){var a=[],E=this.grammar.start;return this.table[this.table.length-1].states.forEach(function(o){o.rule.name===E&&o.dot===o.rule.symbols.length&&o.reference===0&&o.data!==l.fail&&a.push(o)}),a.map(function(o){return o.data})},{Parser:l,Grammar:r,Rule:s}},(le=H).exports?le.exports=k():Re.nearley=k()),H.exports);const Je=Oe(Xe),qe=(s,e,t)=>{if((r=s.type)===i.RESERVED_DATA_TYPE||r===i.RESERVED_KEYWORD||r===i.RESERVED_FUNCTION_NAME||r===i.RESERVED_PHRASE||r===i.RESERVED_CLAUSE||r===i.RESERVED_SELECT||r===i.RESERVED_SET_OPERATION||r===i.RESERVED_JOIN||r===i.ARRAY_KEYWORD||r===i.CASE||r===i.END||r===i.WHEN||r===i.ELSE||r===i.THEN||r===i.LIMIT||r===i.BETWEEN||r===i.AND||r===i.OR||r===i.XOR){const _=es(t,e);if(_&&_.type===i.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},s),{type:i.IDENTIFIER,text:s.raw});const l=M(t,e);if(l&&l.type===i.PROPERTY_ACCESS_OPERATOR)return Object.assign(Object.assign({},s),{type:i.IDENTIFIER,text:s.raw})}var r;return s},je=(s,e,t)=>{if(s.type===i.RESERVED_FUNCTION_NAME){const r=M(t,e);if(!r||!Ae(r))return Object.assign(Object.assign({},s),{type:i.IDENTIFIER,text:s.raw})}return s},Qe=(s,e,t)=>{if(s.type===i.RESERVED_DATA_TYPE){const r=M(t,e);if(r&&Ae(r))return Object.assign(Object.assign({},s),{type:i.RESERVED_PARAMETERIZED_DATA_TYPE})}return s},Ze=(s,e,t)=>{if(s.type===i.IDENTIFIER){const r=M(t,e);if(r&&pe(r))return Object.assign(Object.assign({},s),{type:i.ARRAY_IDENTIFIER})}return s},ze=(s,e,t)=>{if(s.type===i.RESERVED_DATA_TYPE){const r=M(t,e);if(r&&pe(r))return Object.assign(Object.assign({},s),{type:i.ARRAY_KEYWORD})}return s},es=(s,e)=>M(s,e,-1),M=(s,e,t=1)=>{let r=1;for(;s[e+r*t]&&ss(s[e+r*t]);)r++;return s[e+r*t]},Ae=s=>s.type===i.OPEN_PAREN&&s.text==="(",pe=s=>s.type===i.OPEN_PAREN&&s.text==="[",ss=s=>s.type===i.BLOCK_COMMENT||s.type===i.LINE_COMMENT;class Se{constructor(e){this.tokenize=e,this.index=0,this.tokens=[],this.input=""}reset(e,t){this.input=e,this.index=0,this.tokens=this.tokenize(e)}next(){return this.tokens[this.index++]}save(){}formatError(e){const{line:t,col:r}=ie(this.input,e.start);return`Parse error at token: ${e.text} at line ${t} column ${r}`}has(e){return e in i}}var T;function K(s){return s[0]}(function(s){s.statement="statement",s.clause="clause",s.set_operation="set_operation",s.function_call="function_call",s.parameterized_data_type="parameterized_data_type",s.array_subscript="array_subscript",s.property_access="property_access",s.parenthesis="parenthesis",s.between_predicate="between_predicate",s.case_expression="case_expression",s.case_when="case_when",s.case_else="case_else",s.limit_clause="limit_clause",s.all_columns_asterisk="all_columns_asterisk",s.literal="literal",s.identifier="identifier",s.keyword="keyword",s.data_type="data_type",s.parameter="parameter",s.operator="operator",s.comma="comma",s.line_comment="line_comment",s.block_comment="block_comment",s.disable_comment="disable_comment"})(T=T||(T={}));const A=new Se(s=>[]),P=([[s]])=>s,h=s=>({type:T.keyword,tokenType:s.type,text:s.text,raw:s.raw}),Ie=s=>({type:T.data_type,text:s.text,raw:s.raw}),u=(s,{leading:e,trailing:t})=>(e!=null&&e.length&&(s=Object.assign(Object.assign({},s),{leadingComments:e})),t!=null&&t.length&&(s=Object.assign(Object.assign({},s),{trailingComments:t})),s),ts=(s,{leading:e,trailing:t})=>{if(e!=null&&e.length){const[r,..._]=s;s=[u(r,{leading:e}),..._]}if(t!=null&&t.length){const r=s.slice(0,-1),_=s[s.length-1];s=[...r,u(_,{trailing:t})]}return s},rs={Lexer:A,ParserRules:[{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement"],postprocess:s=>s[0].concat([s[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([s])=>{const e=s[s.length-1];return e&&!e.hasSemicolon?e.children.length>0?s:s.slice(0,-1):s}},{name:"statement$subexpression$1",symbols:[A.has("DELIMITER")?{type:"DELIMITER"}:DELIMITER]},{name:"statement$subexpression$1",symbols:[A.has("EOF")?{type:"EOF"}:EOF]},{name:"statement",symbols:["expressions_or_clauses","statement$subexpression$1"],postprocess:([s,[e]])=>({type:T.statement,children:s,hasSemicolon:e.type===i.DELIMITER})},{name:"expressions_or_clauses$ebnf$1",symbols:[]},{name:"expressions_or_clauses$ebnf$1",symbols:["expressions_or_clauses$ebnf$1","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"expressions_or_clauses$ebnf$2",symbols:[]},{name:"expressions_or_clauses$ebnf$2",symbols:["expressions_or_clauses$ebnf$2","clause"],postprocess:s=>s[0].concat([s[1]])},{name:"expressions_or_clauses",symbols:["expressions_or_clauses$ebnf$1","expressions_or_clauses$ebnf$2"],postprocess:([s,e])=>[...s,...e]},{name:"clause$subexpression$1",symbols:["limit_clause"]},{name:"clause$subexpression$1",symbols:["select_clause"]},{name:"clause$subexpression$1",symbols:["other_clause"]},{name:"clause$subexpression$1",symbols:["set_operation"]},{name:"clause",symbols:["clause$subexpression$1"],postprocess:P},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["free_form_sql"]},{name:"limit_clause$ebnf$1$subexpression$1$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1$ebnf$1","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"limit_clause$ebnf$1$subexpression$1",symbols:[A.has("COMMA")?{type:"COMMA"}:COMMA,"limit_clause$ebnf$1$subexpression$1$ebnf$1"]},{name:"limit_clause$ebnf$1",symbols:["limit_clause$ebnf$1$subexpression$1"],postprocess:K},{name:"limit_clause$ebnf$1",symbols:[],postprocess:()=>null},{name:"limit_clause",symbols:[A.has("LIMIT")?{type:"LIMIT"}:LIMIT,"_","expression_chain_","limit_clause$ebnf$1"],postprocess:([s,e,t,r])=>{if(r){const[_,l]=r;return{type:T.limit_clause,limitKw:u(h(s),{trailing:e}),offset:t,count:l}}return{type:T.limit_clause,limitKw:u(h(s),{trailing:e}),count:t}}},{name:"select_clause$subexpression$1$ebnf$1",symbols:[]},{name:"select_clause$subexpression$1$ebnf$1",symbols:["select_clause$subexpression$1$ebnf$1","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"select_clause$subexpression$1",symbols:["all_columns_asterisk","select_clause$subexpression$1$ebnf$1"]},{name:"select_clause$subexpression$1$ebnf$2",symbols:[]},{name:"select_clause$subexpression$1$ebnf$2",symbols:["select_clause$subexpression$1$ebnf$2","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"select_clause$subexpression$1",symbols:["asteriskless_free_form_sql","select_clause$subexpression$1$ebnf$2"]},{name:"select_clause",symbols:[A.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT,"select_clause$subexpression$1"],postprocess:([s,[e,t]])=>({type:T.clause,nameKw:h(s),children:[e,...t]})},{name:"select_clause",symbols:[A.has("RESERVED_SELECT")?{type:"RESERVED_SELECT"}:RESERVED_SELECT],postprocess:([s])=>({type:T.clause,nameKw:h(s),children:[]})},{name:"all_columns_asterisk",symbols:[A.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK],postprocess:()=>({type:T.all_columns_asterisk})},{name:"other_clause$ebnf$1",symbols:[]},{name:"other_clause$ebnf$1",symbols:["other_clause$ebnf$1","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"other_clause",symbols:[A.has("RESERVED_CLAUSE")?{type:"RESERVED_CLAUSE"}:RESERVED_CLAUSE,"other_clause$ebnf$1"],postprocess:([s,e])=>({type:T.clause,nameKw:h(s),children:e})},{name:"set_operation$ebnf$1",symbols:[]},{name:"set_operation$ebnf$1",symbols:["set_operation$ebnf$1","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"set_operation",symbols:[A.has("RESERVED_SET_OPERATION")?{type:"RESERVED_SET_OPERATION"}:RESERVED_SET_OPERATION,"set_operation$ebnf$1"],postprocess:([s,e])=>({type:T.set_operation,nameKw:h(s),children:e})},{name:"expression_chain_$ebnf$1",symbols:["expression_with_comments_"]},{name:"expression_chain_$ebnf$1",symbols:["expression_chain_$ebnf$1","expression_with_comments_"],postprocess:s=>s[0].concat([s[1]])},{name:"expression_chain_",symbols:["expression_chain_$ebnf$1"],postprocess:K},{name:"expression_chain$ebnf$1",symbols:[]},{name:"expression_chain$ebnf$1",symbols:["expression_chain$ebnf$1","_expression_with_comments"],postprocess:s=>s[0].concat([s[1]])},{name:"expression_chain",symbols:["expression","expression_chain$ebnf$1"],postprocess:([s,e])=>[s,...e]},{name:"andless_expression_chain$ebnf$1",symbols:[]},{name:"andless_expression_chain$ebnf$1",symbols:["andless_expression_chain$ebnf$1","_andless_expression_with_comments"],postprocess:s=>s[0].concat([s[1]])},{name:"andless_expression_chain",symbols:["andless_expression","andless_expression_chain$ebnf$1"],postprocess:([s,e])=>[s,...e]},{name:"expression_with_comments_",symbols:["expression","_"],postprocess:([s,e])=>u(s,{trailing:e})},{name:"_expression_with_comments",symbols:["_","expression"],postprocess:([s,e])=>u(e,{leading:s})},{name:"_andless_expression_with_comments",symbols:["_","andless_expression"],postprocess:([s,e])=>u(e,{leading:s})},{name:"free_form_sql$subexpression$1",symbols:["asteriskless_free_form_sql"]},{name:"free_form_sql$subexpression$1",symbols:["asterisk"]},{name:"free_form_sql",symbols:["free_form_sql$subexpression$1"],postprocess:P},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["logic_operator"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comma"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["comment"]},{name:"asteriskless_free_form_sql$subexpression$1",symbols:["other_keyword"]},{name:"asteriskless_free_form_sql",symbols:["asteriskless_free_form_sql$subexpression$1"],postprocess:P},{name:"expression$subexpression$1",symbols:["andless_expression"]},{name:"expression$subexpression$1",symbols:["logic_operator"]},{name:"expression",symbols:["expression$subexpression$1"],postprocess:P},{name:"andless_expression$subexpression$1",symbols:["asteriskless_andless_expression"]},{name:"andless_expression$subexpression$1",symbols:["asterisk"]},{name:"andless_expression",symbols:["andless_expression$subexpression$1"],postprocess:P},{name:"asteriskless_andless_expression$subexpression$1",symbols:["atomic_expression"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["between_predicate"]},{name:"asteriskless_andless_expression$subexpression$1",symbols:["case_expression"]},{name:"asteriskless_andless_expression",symbols:["asteriskless_andless_expression$subexpression$1"],postprocess:P},{name:"atomic_expression$subexpression$1",symbols:["array_subscript"]},{name:"atomic_expression$subexpression$1",symbols:["function_call"]},{name:"atomic_expression$subexpression$1",symbols:["property_access"]},{name:"atomic_expression$subexpression$1",symbols:["parenthesis"]},{name:"atomic_expression$subexpression$1",symbols:["curly_braces"]},{name:"atomic_expression$subexpression$1",symbols:["square_brackets"]},{name:"atomic_expression$subexpression$1",symbols:["operator"]},{name:"atomic_expression$subexpression$1",symbols:["identifier"]},{name:"atomic_expression$subexpression$1",symbols:["parameter"]},{name:"atomic_expression$subexpression$1",symbols:["literal"]},{name:"atomic_expression$subexpression$1",symbols:["data_type"]},{name:"atomic_expression$subexpression$1",symbols:["keyword"]},{name:"atomic_expression",symbols:["atomic_expression$subexpression$1"],postprocess:P},{name:"array_subscript",symbols:[A.has("ARRAY_IDENTIFIER")?{type:"ARRAY_IDENTIFIER"}:ARRAY_IDENTIFIER,"_","square_brackets"],postprocess:([s,e,t])=>({type:T.array_subscript,array:u({type:T.identifier,quoted:!1,text:s.text},{trailing:e}),parenthesis:t})},{name:"array_subscript",symbols:[A.has("ARRAY_KEYWORD")?{type:"ARRAY_KEYWORD"}:ARRAY_KEYWORD,"_","square_brackets"],postprocess:([s,e,t])=>({type:T.array_subscript,array:u(h(s),{trailing:e}),parenthesis:t})},{name:"function_call",symbols:[A.has("RESERVED_FUNCTION_NAME")?{type:"RESERVED_FUNCTION_NAME"}:RESERVED_FUNCTION_NAME,"_","parenthesis"],postprocess:([s,e,t])=>({type:T.function_call,nameKw:u(h(s),{trailing:e}),parenthesis:t})},{name:"parenthesis",symbols:[{literal:"("},"expressions_or_clauses",{literal:")"}],postprocess:([s,e,t])=>({type:T.parenthesis,children:e,openParen:"(",closeParen:")"})},{name:"curly_braces$ebnf$1",symbols:[]},{name:"curly_braces$ebnf$1",symbols:["curly_braces$ebnf$1","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"curly_braces",symbols:[{literal:"{"},"curly_braces$ebnf$1",{literal:"}"}],postprocess:([s,e,t])=>({type:T.parenthesis,children:e,openParen:"{",closeParen:"}"})},{name:"square_brackets$ebnf$1",symbols:[]},{name:"square_brackets$ebnf$1",symbols:["square_brackets$ebnf$1","free_form_sql"],postprocess:s=>s[0].concat([s[1]])},{name:"square_brackets",symbols:[{literal:"["},"square_brackets$ebnf$1",{literal:"]"}],postprocess:([s,e,t])=>({type:T.parenthesis,children:e,openParen:"[",closeParen:"]"})},{name:"property_access$subexpression$1",symbols:["identifier"]},{name:"property_access$subexpression$1",symbols:["array_subscript"]},{name:"property_access$subexpression$1",symbols:["all_columns_asterisk"]},{name:"property_access$subexpression$1",symbols:["parameter"]},{name:"property_access",symbols:["atomic_expression","_",A.has("PROPERTY_ACCESS_OPERATOR")?{type:"PROPERTY_ACCESS_OPERATOR"}:PROPERTY_ACCESS_OPERATOR,"_","property_access$subexpression$1"],postprocess:([s,e,t,r,[_]])=>({type:T.property_access,object:u(s,{trailing:e}),operator:t.text,property:u(_,{leading:r})})},{name:"between_predicate",symbols:[A.has("BETWEEN")?{type:"BETWEEN"}:BETWEEN,"_","andless_expression_chain","_",A.has("AND")?{type:"AND"}:AND,"_","andless_expression"],postprocess:([s,e,t,r,_,l,N])=>({type:T.between_predicate,betweenKw:h(s),expr1:ts(t,{leading:e,trailing:r}),andKw:h(_),expr2:[u(N,{leading:l})]})},{name:"case_expression$ebnf$1",symbols:["expression_chain_"],postprocess:K},{name:"case_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"case_expression$ebnf$2",symbols:[]},{name:"case_expression$ebnf$2",symbols:["case_expression$ebnf$2","case_clause"],postprocess:s=>s[0].concat([s[1]])},{name:"case_expression",symbols:[A.has("CASE")?{type:"CASE"}:CASE,"_","case_expression$ebnf$1","case_expression$ebnf$2",A.has("END")?{type:"END"}:END],postprocess:([s,e,t,r,_])=>({type:T.case_expression,caseKw:u(h(s),{trailing:e}),endKw:h(_),expr:t||[],clauses:r})},{name:"case_clause",symbols:[A.has("WHEN")?{type:"WHEN"}:WHEN,"_","expression_chain_",A.has("THEN")?{type:"THEN"}:THEN,"_","expression_chain_"],postprocess:([s,e,t,r,_,l])=>({type:T.case_when,whenKw:u(h(s),{trailing:e}),thenKw:u(h(r),{trailing:_}),condition:t,result:l})},{name:"case_clause",symbols:[A.has("ELSE")?{type:"ELSE"}:ELSE,"_","expression_chain_"],postprocess:([s,e,t])=>({type:T.case_else,elseKw:u(h(s),{trailing:e}),result:t})},{name:"comma$subexpression$1",symbols:[A.has("COMMA")?{type:"COMMA"}:COMMA]},{name:"comma",symbols:["comma$subexpression$1"],postprocess:([[s]])=>({type:T.comma})},{name:"asterisk$subexpression$1",symbols:[A.has("ASTERISK")?{type:"ASTERISK"}:ASTERISK]},{name:"asterisk",symbols:["asterisk$subexpression$1"],postprocess:([[s]])=>({type:T.operator,text:s.text})},{name:"operator$subexpression$1",symbols:[A.has("OPERATOR")?{type:"OPERATOR"}:OPERATOR]},{name:"operator",symbols:["operator$subexpression$1"],postprocess:([[s]])=>({type:T.operator,text:s.text})},{name:"identifier$subexpression$1",symbols:[A.has("IDENTIFIER")?{type:"IDENTIFIER"}:IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[A.has("QUOTED_IDENTIFIER")?{type:"QUOTED_IDENTIFIER"}:QUOTED_IDENTIFIER]},{name:"identifier$subexpression$1",symbols:[A.has("VARIABLE")?{type:"VARIABLE"}:VARIABLE]},{name:"identifier",symbols:["identifier$subexpression$1"],postprocess:([[s]])=>({type:T.identifier,quoted:s.type!=="IDENTIFIER",text:s.text})},{name:"parameter$subexpression$1",symbols:[A.has("NAMED_PARAMETER")?{type:"NAMED_PARAMETER"}:NAMED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[A.has("QUOTED_PARAMETER")?{type:"QUOTED_PARAMETER"}:QUOTED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[A.has("NUMBERED_PARAMETER")?{type:"NUMBERED_PARAMETER"}:NUMBERED_PARAMETER]},{name:"parameter$subexpression$1",symbols:[A.has("POSITIONAL_PARAMETER")?{type:"POSITIONAL_PARAMETER"}:POSITIONAL_PARAMETER]},{name:"parameter$subexpression$1",symbols:[A.has("CUSTOM_PARAMETER")?{type:"CUSTOM_PARAMETER"}:CUSTOM_PARAMETER]},{name:"parameter",symbols:["parameter$subexpression$1"],postprocess:([[s]])=>({type:T.parameter,key:s.key,text:s.text})},{name:"literal$subexpression$1",symbols:[A.has("NUMBER")?{type:"NUMBER"}:NUMBER]},{name:"literal$subexpression$1",symbols:[A.has("STRING")?{type:"STRING"}:STRING]},{name:"literal",symbols:["literal$subexpression$1"],postprocess:([[s]])=>({type:T.literal,text:s.text})},{name:"keyword$subexpression$1",symbols:[A.has("RESERVED_KEYWORD")?{type:"RESERVED_KEYWORD"}:RESERVED_KEYWORD]},{name:"keyword$subexpression$1",symbols:[A.has("RESERVED_PHRASE")?{type:"RESERVED_PHRASE"}:RESERVED_PHRASE]},{name:"keyword$subexpression$1",symbols:[A.has("RESERVED_JOIN")?{type:"RESERVED_JOIN"}:RESERVED_JOIN]},{name:"keyword",symbols:["keyword$subexpression$1"],postprocess:([[s]])=>h(s)},{name:"data_type$subexpression$1",symbols:[A.has("RESERVED_DATA_TYPE")?{type:"RESERVED_DATA_TYPE"}:RESERVED_DATA_TYPE]},{name:"data_type",symbols:["data_type$subexpression$1"],postprocess:([[s]])=>Ie(s)},{name:"data_type",symbols:[A.has("RESERVED_PARAMETERIZED_DATA_TYPE")?{type:"RESERVED_PARAMETERIZED_DATA_TYPE"}:RESERVED_PARAMETERIZED_DATA_TYPE,"_","parenthesis"],postprocess:([s,e,t])=>({type:T.parameterized_data_type,dataType:u(Ie(s),{trailing:e}),parenthesis:t})},{name:"logic_operator$subexpression$1",symbols:[A.has("AND")?{type:"AND"}:AND]},{name:"logic_operator$subexpression$1",symbols:[A.has("OR")?{type:"OR"}:OR]},{name:"logic_operator$subexpression$1",symbols:[A.has("XOR")?{type:"XOR"}:XOR]},{name:"logic_operator",symbols:["logic_operator$subexpression$1"],postprocess:([[s]])=>h(s)},{name:"other_keyword$subexpression$1",symbols:[A.has("WHEN")?{type:"WHEN"}:WHEN]},{name:"other_keyword$subexpression$1",symbols:[A.has("THEN")?{type:"THEN"}:THEN]},{name:"other_keyword$subexpression$1",symbols:[A.has("ELSE")?{type:"ELSE"}:ELSE]},{name:"other_keyword$subexpression$1",symbols:[A.has("END")?{type:"END"}:END]},{name:"other_keyword",symbols:["other_keyword$subexpression$1"],postprocess:([[s]])=>h(s)},{name:"_$ebnf$1",symbols:[]},{name:"_$ebnf$1",symbols:["_$ebnf$1","comment"],postprocess:s=>s[0].concat([s[1]])},{name:"_",symbols:["_$ebnf$1"],postprocess:([s])=>s},{name:"comment",symbols:[A.has("LINE_COMMENT")?{type:"LINE_COMMENT"}:LINE_COMMENT],postprocess:([s])=>({type:T.line_comment,text:s.text,precedingWhitespace:s.precedingWhitespace})},{name:"comment",symbols:[A.has("BLOCK_COMMENT")?{type:"BLOCK_COMMENT"}:BLOCK_COMMENT],postprocess:([s])=>({type:T.block_comment,text:s.text,precedingWhitespace:s.precedingWhitespace})},{name:"comment",symbols:[A.has("DISABLE_COMMENT")?{type:"DISABLE_COMMENT"}:DISABLE_COMMENT],postprocess:([s])=>({type:T.disable_comment,text:s.text,precedingWhitespace:s.precedingWhitespace})}],ParserStart:"main"},{Parser:ns,Grammar:Es}=Je;var n;(function(s){s[s.SPACE=0]="SPACE",s[s.NO_SPACE=1]="NO_SPACE",s[s.NO_NEWLINE=2]="NO_NEWLINE",s[s.NEWLINE=3]="NEWLINE",s[s.MANDATORY_NEWLINE=4]="MANDATORY_NEWLINE",s[s.INDENT=5]="INDENT",s[s.SINGLE_INDENT=6]="SINGLE_INDENT"})(n=n||(n={}));class Ne{constructor(e){this.indentation=e,this.items=[]}add(...e){for(const t of e)switch(t){case n.SPACE:this.items.push(n.SPACE);break;case n.NO_SPACE:this.trimHorizontalWhitespace();break;case n.NO_NEWLINE:this.trimWhitespace();break;case n.NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(n.NEWLINE);break;case n.MANDATORY_NEWLINE:this.trimHorizontalWhitespace(),this.addNewline(n.MANDATORY_NEWLINE);break;case n.INDENT:this.addIndentation();break;case n.SINGLE_INDENT:this.items.push(n.SINGLE_INDENT);break;default:this.items.push(t)}}trimHorizontalWhitespace(){for(;as(U(this.items));)this.items.pop()}trimWhitespace(){for(;is(U(this.items));)this.items.pop()}addNewline(e){if(this.items.length>0)switch(U(this.items)){case n.NEWLINE:this.items.pop(),this.items.push(e);break;case n.MANDATORY_NEWLINE:break;default:this.items.push(e)}}addIndentation(){for(let e=0;e<this.indentation.getLevel();e++)this.items.push(n.SINGLE_INDENT)}toString(){return this.items.map(e=>this.itemToString(e)).join("")}getLayoutItems(){return this.items}itemToString(e){switch(e){case n.SPACE:return" ";case n.NEWLINE:case n.MANDATORY_NEWLINE:return`
|
|
17
|
+
`;case n.SINGLE_INDENT:return this.indentation.getSingleIndent();default:return e}}}const as=s=>s===n.SPACE||s===n.SINGLE_INDENT,is=s=>s===n.SPACE||s===n.SINGLE_INDENT||s===n.NEWLINE;function ce(s,e){if(e==="standard")return s;let t=[];return s.length>=10&&s.includes(" ")&&([s,...t]=s.split(" ")),(s=e==="tabularLeft"?s.padEnd(9," "):s.padStart(9," "))+["",...t].join(" ")}function me(s){return(e=>e===i.AND||e===i.OR||e===i.XOR)(s)||s===i.RESERVED_CLAUSE||s===i.RESERVED_SELECT||s===i.RESERVED_SET_OPERATION||s===i.RESERVED_JOIN||s===i.LIMIT}const X="top-level";class he{constructor(e){this.indent=e,this.indentTypes=[]}getSingleIndent(){return this.indent}getLevel(){return this.indentTypes.length}increaseTopLevel(){this.indentTypes.push(X)}increaseBlockLevel(){this.indentTypes.push("block-level")}decreaseTopLevel(){this.indentTypes.length>0&&U(this.indentTypes)===X&&this.indentTypes.pop()}decreaseBlockLevel(){for(;this.indentTypes.length>0&&this.indentTypes.pop()===X;);}}class os extends Ne{constructor(e){super(new he("")),this.expressionWidth=e,this.length=0,this.trailingSpace=!1}add(...e){if(e.forEach(t=>this.addToLength(t)),this.length>this.expressionWidth)throw new J;super.add(...e)}addToLength(e){if(typeof e=="string")this.length+=e.length,this.trailingSpace=!1;else{if(e===n.MANDATORY_NEWLINE||e===n.NEWLINE)throw new J;e===n.INDENT||e===n.SINGLE_INDENT||e===n.SPACE?this.trailingSpace||(this.length++,this.trailingSpace=!0):e!==n.NO_NEWLINE&&e!==n.NO_SPACE||this.trailingSpace&&(this.trailingSpace=!1,this.length--)}}}class J extends Error{}class Y{constructor({cfg:e,dialectCfg:t,params:r,layout:_,inline:l=!1}){this.inline=!1,this.nodes=[],this.index=-1,this.cfg=e,this.dialectCfg=t,this.inline=l,this.params=r,this.layout=_}format(e){for(this.nodes=e,this.index=0;this.index<this.nodes.length;this.index++)this.formatNode(this.nodes[this.index]);return this.layout}formatNode(e){this.formatComments(e.leadingComments),this.formatNodeWithoutComments(e),this.formatComments(e.trailingComments)}formatNodeWithoutComments(e){switch(e.type){case T.function_call:return this.formatFunctionCall(e);case T.parameterized_data_type:return this.formatParameterizedDataType(e);case T.array_subscript:return this.formatArraySubscript(e);case T.property_access:return this.formatPropertyAccess(e);case T.parenthesis:return this.formatParenthesis(e);case T.between_predicate:return this.formatBetweenPredicate(e);case T.case_expression:return this.formatCaseExpression(e);case T.case_when:return this.formatCaseWhen(e);case T.case_else:return this.formatCaseElse(e);case T.clause:return this.formatClause(e);case T.set_operation:return this.formatSetOperation(e);case T.limit_clause:return this.formatLimitClause(e);case T.all_columns_asterisk:return this.formatAllColumnsAsterisk(e);case T.literal:return this.formatLiteral(e);case T.identifier:return this.formatIdentifier(e);case T.parameter:return this.formatParameter(e);case T.operator:return this.formatOperator(e);case T.comma:return this.formatComma(e);case T.line_comment:return this.formatLineComment(e);case T.block_comment:case T.disable_comment:return this.formatBlockComment(e);case T.data_type:return this.formatDataType(e);case T.keyword:return this.formatKeywordNode(e)}}formatFunctionCall(e){this.withComments(e.nameKw,()=>{this.layout.add(this.showFunctionKw(e.nameKw))}),this.formatNode(e.parenthesis)}formatParameterizedDataType(e){this.withComments(e.dataType,()=>{this.layout.add(this.showDataType(e.dataType))}),this.formatNode(e.parenthesis)}formatArraySubscript(e){let t;switch(e.array.type){case T.data_type:t=this.showDataType(e.array);break;case T.keyword:t=this.showKw(e.array);break;default:t=this.showIdentifier(e.array)}this.withComments(e.array,()=>{this.layout.add(t)}),this.formatNode(e.parenthesis)}formatPropertyAccess(e){this.formatNode(e.object),this.layout.add(n.NO_SPACE,e.operator),this.formatNode(e.property)}formatParenthesis(e){const t=this.formatInlineExpression(e.children);t?(this.layout.add(e.openParen),this.layout.add(...t.getLayoutItems()),this.layout.add(n.NO_SPACE,e.closeParen,n.SPACE)):(this.layout.add(e.openParen,n.NEWLINE),x(this.cfg)?(this.layout.add(n.INDENT),this.layout=this.formatSubExpression(e.children)):(this.layout.indentation.increaseBlockLevel(),this.layout.add(n.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseBlockLevel()),this.layout.add(n.NEWLINE,n.INDENT,e.closeParen,n.SPACE))}formatBetweenPredicate(e){this.layout.add(this.showKw(e.betweenKw),n.SPACE),this.layout=this.formatSubExpression(e.expr1),this.layout.add(n.NO_SPACE,n.SPACE,this.showNonTabularKw(e.andKw),n.SPACE),this.layout=this.formatSubExpression(e.expr2),this.layout.add(n.SPACE)}formatCaseExpression(e){this.formatNode(e.caseKw),this.layout.indentation.increaseBlockLevel(),this.layout=this.formatSubExpression(e.expr),this.layout=this.formatSubExpression(e.clauses),this.layout.indentation.decreaseBlockLevel(),this.layout.add(n.NEWLINE,n.INDENT),this.formatNode(e.endKw)}formatCaseWhen(e){this.layout.add(n.NEWLINE,n.INDENT),this.formatNode(e.whenKw),this.layout=this.formatSubExpression(e.condition),this.formatNode(e.thenKw),this.layout=this.formatSubExpression(e.result)}formatCaseElse(e){this.layout.add(n.NEWLINE,n.INDENT),this.formatNode(e.elseKw),this.layout=this.formatSubExpression(e.result)}formatClause(e){this.isOnelineClause(e)?this.formatClauseInOnelineStyle(e):x(this.cfg)?this.formatClauseInTabularStyle(e):this.formatClauseInIndentedStyle(e)}isOnelineClause(e){return x(this.cfg)?this.dialectCfg.tabularOnelineClauses[e.nameKw.text]:this.dialectCfg.onelineClauses[e.nameKw.text]}formatClauseInIndentedStyle(e){this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e.nameKw),n.NEWLINE),this.layout.indentation.increaseTopLevel(),this.layout.add(n.INDENT),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatClauseInOnelineStyle(e){this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e.nameKw),n.SPACE),this.layout=this.formatSubExpression(e.children)}formatClauseInTabularStyle(e){this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e.nameKw),n.SPACE),this.layout.indentation.increaseTopLevel(),this.layout=this.formatSubExpression(e.children),this.layout.indentation.decreaseTopLevel()}formatSetOperation(e){this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e.nameKw),n.NEWLINE),this.layout.add(n.INDENT),this.layout=this.formatSubExpression(e.children)}formatLimitClause(e){this.withComments(e.limitKw,()=>{this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e.limitKw))}),this.layout.indentation.increaseTopLevel(),x(this.cfg)?this.layout.add(n.SPACE):this.layout.add(n.NEWLINE,n.INDENT),e.offset?(this.layout=this.formatSubExpression(e.offset),this.layout.add(n.NO_SPACE,",",n.SPACE),this.layout=this.formatSubExpression(e.count)):this.layout=this.formatSubExpression(e.count),this.layout.indentation.decreaseTopLevel()}formatAllColumnsAsterisk(e){this.layout.add("*",n.SPACE)}formatLiteral(e){this.layout.add(e.text,n.SPACE)}formatIdentifier(e){this.layout.add(this.showIdentifier(e),n.SPACE)}formatParameter(e){this.layout.add(this.params.get(e),n.SPACE)}formatOperator({text:e}){this.cfg.denseOperators||this.dialectCfg.alwaysDenseOperators.includes(e)?this.layout.add(n.NO_SPACE,e):e===":"?this.layout.add(n.NO_SPACE,e,n.SPACE):this.layout.add(e,n.SPACE)}formatComma(e){this.inline?this.layout.add(n.NO_SPACE,",",n.SPACE):this.layout.add(n.NO_SPACE,",",n.NEWLINE,n.INDENT)}withComments(e,t){this.formatComments(e.leadingComments),t(),this.formatComments(e.trailingComments)}formatComments(e){e&&e.forEach(t=>{t.type===T.line_comment?this.formatLineComment(t):this.formatBlockComment(t)})}formatLineComment(e){W(e.precedingWhitespace||"")?this.layout.add(n.NEWLINE,n.INDENT,e.text,n.MANDATORY_NEWLINE,n.INDENT):this.layout.getLayoutItems().length>0?this.layout.add(n.NO_NEWLINE,n.SPACE,e.text,n.MANDATORY_NEWLINE,n.INDENT):this.layout.add(e.text,n.MANDATORY_NEWLINE,n.INDENT)}formatBlockComment(e){e.type===T.block_comment&&this.isMultilineBlockComment(e)?(this.splitBlockComment(e.text).forEach(t=>{this.layout.add(n.NEWLINE,n.INDENT,t)}),this.layout.add(n.NEWLINE,n.INDENT)):this.layout.add(e.text,n.SPACE)}isMultilineBlockComment(e){return W(e.text)||W(e.precedingWhitespace||"")}isDocComment(e){const t=e.split(/\n/);return/^\/\*\*?$/.test(t[0])&&t.slice(1,t.length-1).every(r=>/^\s*\*/.test(r))&&/^\s*\*\/$/.test(U(t))}splitBlockComment(e){return this.isDocComment(e)?e.split(/\n/).map(t=>/^\s*\*/.test(t)?" "+t.replace(/^\s*/,""):t):e.split(/\n/).map(t=>t.replace(/^\s*/,""))}formatSubExpression(e){return new Y({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:this.layout,inline:this.inline}).format(e)}formatInlineExpression(e){const t=this.params.getPositionalParameterIndex();try{return new Y({cfg:this.cfg,dialectCfg:this.dialectCfg,params:this.params,layout:new os(this.cfg.expressionWidth),inline:!0}).format(e)}catch(r){if(r instanceof J)return void this.params.setPositionalParameterIndex(t);throw r}}formatKeywordNode(e){switch(e.tokenType){case i.RESERVED_JOIN:return this.formatJoin(e);case i.AND:case i.OR:case i.XOR:return this.formatLogicalOperator(e);default:return this.formatKeyword(e)}}formatJoin(e){x(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e),n.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e),n.SPACE)}formatKeyword(e){this.layout.add(this.showKw(e),n.SPACE)}formatLogicalOperator(e){this.cfg.logicalOperatorNewline==="before"?x(this.cfg)?(this.layout.indentation.decreaseTopLevel(),this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e),n.SPACE),this.layout.indentation.increaseTopLevel()):this.layout.add(n.NEWLINE,n.INDENT,this.showKw(e),n.SPACE):this.layout.add(this.showKw(e),n.NEWLINE,n.INDENT)}formatDataType(e){this.layout.add(this.showDataType(e),n.SPACE)}showKw(e){return me(e.tokenType)?ce(this.showNonTabularKw(e),this.cfg.indentStyle):this.showNonTabularKw(e)}showNonTabularKw(e){switch(this.cfg.keywordCase){case"preserve":return B(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showFunctionKw(e){return me(e.tokenType)?ce(this.showNonTabularFunctionKw(e),this.cfg.indentStyle):this.showNonTabularFunctionKw(e)}showNonTabularFunctionKw(e){switch(this.cfg.functionCase){case"preserve":return B(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}showIdentifier(e){if(e.quoted)return e.text;switch(this.cfg.identifierCase){case"preserve":return e.text;case"upper":return e.text.toUpperCase();case"lower":return e.text.toLowerCase()}}showDataType(e){switch(this.cfg.dataTypeCase){case"preserve":return B(e.raw);case"upper":return e.text;case"lower":return e.text.toLowerCase()}}}class _s{constructor(e,t){this.dialect=e,this.cfg=t,this.params=new Ke(this.cfg.params)}format(e){const t=this.parse(e);return this.formatAst(t).trimEnd()}parse(e){return function(t){let r={};const _=new Se(N=>{return[...(a=t.tokenize(N,r),a.map(qe).map(je).map(Qe).map(Ze).map(ze)),j(N.length)];var a}),l=new ns(Es.fromCompiled(rs),{lexer:_});return{parse:(N,a)=>{r=a;const{results:E}=l.feed(N);if(E.length===1)return E[0];throw E.length===0?new Error("Parse error: Invalid SQL"):new Error(`Parse error: Ambiguous grammar
|
|
18
|
+
${JSON.stringify(E,void 0,2)}`)}}}(this.dialect.tokenizer).parse(e,this.cfg.paramTypes||{})}formatAst(e){return e.map(t=>this.formatStatement(t)).join(`
|
|
19
|
+
`.repeat(this.cfg.linesBetweenQueries+1))}formatStatement(e){const t=new Y({cfg:this.cfg,dialectCfg:this.dialect.formatOptions,params:this.params,layout:new Ne(new he((r=this.cfg,r.indentStyle==="tabularLeft"||r.indentStyle==="tabularRight"?" ".repeat(10):r.useTabs?" ":" ".repeat(r.tabWidth))))}).format(e.children);var r;return e.hasSemicolon&&(this.cfg.newlineBeforeSemicolon?t.add(n.NEWLINE,";"):t.add(n.NO_NEWLINE,";")),t.toString()}}class G extends Error{}function Ts(s){const e=["multilineLists","newlineBeforeOpenParen","newlineBeforeCloseParen","aliasAs","commaPosition","tabulateAlias"];for(const r of e)if(r in s)throw new G(`${r} config is no more supported.`);if(s.expressionWidth<=0)throw new G(`expressionWidth config must be positive number. Received ${s.expressionWidth} instead.`);var t;if(s.params&&!((t=s.params)instanceof Array?t:Object.values(t)).every(r=>typeof r=="string")&&console.warn('WARNING: All "params" option values should be strings.'),s.paramTypes&&!function(r){return r.custom&&Array.isArray(r.custom)?r.custom.every(_=>_.regex!==""):!0}(s.paramTypes))throw new G("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");return s}var ls=function(s,e){var t={};for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&e.indexOf(r)<0&&(t[r]=s[r]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function"){var _=0;for(r=Object.getOwnPropertySymbols(s);_<r.length;_++)e.indexOf(r[_])<0&&Object.prototype.propertyIsEnumerable.call(s,r[_])&&(t[r[_]]=s[r[_]])}return t};const Rs={tabWidth:2,useTabs:!1,keywordCase:"preserve",identifierCase:"preserve",dataTypeCase:"preserve",functionCase:"preserve",indentStyle:"standard",logicalOperatorNewline:"before",expressionWidth:50,linesBetweenQueries:1,denseOperators:!1,newlineBeforeSemicolon:!1},As=(s,e)=>{var{dialect:t}=e,r=ls(e,["dialect"]);if(typeof s!="string")throw new Error("Invalid query argument. Expected string, instead got "+typeof s);const _=Ts(Object.assign(Object.assign({},Rs),r));return new _s((l=>{let N=_e.get(l);return N||(N=He(l),_e.set(l,N)),N})(t),_).format(s)};export{G as ConfigError,we as duckdb,C as expandPhrases,As as formatDialect};
|