@das-org/dascode 0.0.31
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/BunHttpServer-YBQwrNiq.mjs +407 -0
- package/dist/BunPtyAdapter--Swo7U5P.mjs +120 -0
- package/dist/BunServices-RIDbItx-.mjs +115 -0
- package/dist/Cache-DyGeujxI.mjs +605 -0
- package/dist/Config-DcF-IZjO.mjs +1274 -0
- package/dist/FetchHttpClient-BmjpVs1I.mjs +5976 -0
- package/dist/NodePtyAdapter-H8kyf9St.mjs +115 -0
- package/dist/NodeServices-D8d9bE2V.mjs +152 -0
- package/dist/NodeSqliteClient-CmuXRT3w.mjs +178 -0
- package/dist/NodeTerminal-C6yhrF1E.mjs +1813 -0
- package/dist/Path-BB53LP8h.mjs +9050 -0
- package/dist/PtyAdapter-mAqTlv3d.mjs +60 -0
- package/dist/Schema-DuQUv9rO.mjs +33744 -0
- package/dist/SqlClient-Dp5XVCmr.mjs +922 -0
- package/dist/SqlError-D49f1UD-.mjs +409 -0
- package/dist/SqliteClient-DEcJdONi.mjs +147 -0
- package/dist/bin.mjs +201961 -0
- package/dist/client/assets/ChatView-HZc6-lKr.js +60 -0
- package/dist/client/assets/ClientOnly-FoswohdZ.js +2 -0
- package/dist/client/assets/CompositeRoot-Yff66Zmm.js +2 -0
- package/dist/client/assets/ConnectCliAuthSurface-BLD0XNSi.js +2 -0
- package/dist/client/assets/DiffDisplayControls-DsQS9IDw.js +1403 -0
- package/dist/client/assets/DiffPanel-DnIRg_Qy.js +98 -0
- package/dist/client/assets/DiffWorkerPoolProvider-DZJfC5kN.js +2 -0
- package/dist/client/assets/FieldControl-CuSMRkbi.js +2 -0
- package/dist/client/assets/FieldItemContext-Ba7ZZoDN.js +2 -0
- package/dist/client/assets/FilePreviewPanel-D3bq1Own.js +2220 -0
- package/dist/client/assets/KeybindingsSettings.logic-BQBQ8pFk.js +2 -0
- package/dist/client/assets/LocalAnnotatableCodeView-BS3qlDRM.js +2 -0
- package/dist/client/assets/PreviewPanel-C41OCDV3.js +2 -0
- package/dist/client/assets/ProviderModelPicker-BcQ3CMKb.js +2 -0
- package/dist/client/assets/PullRequestMarkdown-D5bDuXWN.js +2 -0
- package/dist/client/assets/RedactedSensitiveText-C3lDjv-5.js +2 -0
- package/dist/client/assets/ReviewActionsPanel-7rqPggzL.js +2 -0
- package/dist/client/assets/ReviewDiffWorkerPoolBoundary-CpqNaHWe.js +2 -0
- package/dist/client/assets/ReviewDiffWorkerSurface-fGPW1-P9.js +2 -0
- package/dist/client/assets/ReviewPatchView-Dt3GW4pP.js +4 -0
- package/dist/client/assets/Schema-DzLI5hMK.js +16 -0
- package/dist/client/assets/ServerUpdateAction-N9rNsTaN.js +2 -0
- package/dist/client/assets/SettingsPanels-DgK9Gy4R.js +3 -0
- package/dist/client/assets/SymbolsNerdFontMono-Regular-aK5vsLov.woff2 +0 -0
- package/dist/client/assets/WorkerPoolContext-BG9CEDyi.js +15 -0
- package/dist/client/assets/_chat-CDYErsvF.js +2 -0
- package/dist/client/assets/_chat._environmentId._threadId-Dn7yzuy5.js +2 -0
- package/dist/client/assets/_chat.draft._draftId-CKnp5OeX.js +2 -0
- package/dist/client/assets/_chat.index-CSOaDOiG.js +2 -0
- package/dist/client/assets/abap-CLvhMVsD.js +2 -0
- package/dist/client/assets/actionscript-3--17pq3dv.js +2 -0
- package/dist/client/assets/ada-C5qYipkI.js +2 -0
- package/dist/client/assets/alert-dialog-0GbcUK1u.js +2 -0
- package/dist/client/assets/andromeeda-WkhI09AS.js +2 -0
- package/dist/client/assets/andromeeda-vGVdxbeo.js +2 -0
- package/dist/client/assets/angular-html-BmcYSFCP.js +2 -0
- package/dist/client/assets/angular-ts-Ab3z1XOh.js +2 -0
- package/dist/client/assets/apache-U0d_L8uA.js +2 -0
- package/dist/client/assets/apex-VAyPSnFM.js +2 -0
- package/dist/client/assets/apl-DdAjc1Is.js +2 -0
- package/dist/client/assets/applescript-CCn79oCD.js +2 -0
- package/dist/client/assets/ara-4CJ0cIlV.js +2 -0
- package/dist/client/assets/asciidoc-DE70LPWp.js +2 -0
- package/dist/client/assets/asm-Cmm7eHzH.js +2 -0
- package/dist/client/assets/astro-jyGOnYUN.js +2 -0
- package/dist/client/assets/aurora-x-C7CFqhAd.js +2 -0
- package/dist/client/assets/aurora-x-CDeNXAV0.js +2 -0
- package/dist/client/assets/awk-BWXHIvNe.js +2 -0
- package/dist/client/assets/ayu-dark-CRu61w6_.js +2 -0
- package/dist/client/assets/ayu-dark-DluEY0Gj.js +2 -0
- package/dist/client/assets/ayu-light-C3h-C4tm.js +2 -0
- package/dist/client/assets/ayu-light-Dn6O_aYR.js +2 -0
- package/dist/client/assets/ayu-mirage-Bqwy1Gya.js +2 -0
- package/dist/client/assets/ayu-mirage-CTjYAbs-.js +2 -0
- package/dist/client/assets/ballerina-B7ZEbQpA.js +2 -0
- package/dist/client/assets/bat-Bo4NYOV-.js +2 -0
- package/dist/client/assets/beancount-D-usSTwE.js +2 -0
- package/dist/client/assets/berry-DKpUyyne.js +2 -0
- package/dist/client/assets/bibtex-Ci_nEsc7.js +2 -0
- package/dist/client/assets/bicep-CUHmPFLl.js +2 -0
- package/dist/client/assets/bird2-C6vDhewU.js +2 -0
- package/dist/client/assets/blade-C4dPlbVG.js +2 -0
- package/dist/client/assets/branding-DWKqECp7.js +2 -0
- package/dist/client/assets/bsl-BkkzgIyY.js +2 -0
- package/dist/client/assets/c-DtlEA5ZX.js +2 -0
- package/dist/client/assets/c3-BFHwR3_K.js +2 -0
- package/dist/client/assets/cadence-CQ2zXKGN.js +2 -0
- package/dist/client/assets/cairo-DLTphjLi.js +2 -0
- package/dist/client/assets/catppuccin-frappe-3VR1Za6u.js +2 -0
- package/dist/client/assets/catppuccin-frappe-DFlFW5gh.js +2 -0
- package/dist/client/assets/catppuccin-latte-CpxdcXpJ.js +2 -0
- package/dist/client/assets/catppuccin-latte-DwIHMF0Q.js +2 -0
- package/dist/client/assets/catppuccin-macchiato-DIdIQ04K.js +2 -0
- package/dist/client/assets/catppuccin-macchiato-DYnBP6_5.js +2 -0
- package/dist/client/assets/catppuccin-mocha-Co3Xjl64.js +2 -0
- package/dist/client/assets/catppuccin-mocha-DYhrFGRu.js +2 -0
- package/dist/client/assets/checkbox-Cuif7tF0.js +2 -0
- package/dist/client/assets/circle-x-F0441fqg.js +2 -0
- package/dist/client/assets/clarity-SemFz856.js +2 -0
- package/dist/client/assets/clojure-DqKBuwfJ.js +2 -0
- package/dist/client/assets/cmake-Bj61d0ZC.js +2 -0
- package/dist/client/assets/cobol-X9aU3UsG.js +2 -0
- package/dist/client/assets/codeowners-C8r90Shi.js +2 -0
- package/dist/client/assets/codeql-oeQT6MSM.js +2 -0
- package/dist/client/assets/coffee-BluyIHgc.js +2 -0
- package/dist/client/assets/combobox-D0sqVdtm.js +2 -0
- package/dist/client/assets/common-lisp-Cv5bFMCO.js +2 -0
- package/dist/client/assets/compiler-runtime-CUwoe8mk.js +2 -0
- package/dist/client/assets/connect-CshPrK5J.js +2 -0
- package/dist/client/assets/connect_.callback-1fxfJdnn.js +2 -0
- package/dist/client/assets/coq-BrsZFFmf.js +2 -0
- package/dist/client/assets/cpp-BAWTDsD2.js +2 -0
- package/dist/client/assets/crystal-DEAezpUc.js +2 -0
- package/dist/client/assets/csharp-oqKa8noW.js +2 -0
- package/dist/client/assets/css-ZG5tpaE7.js +2 -0
- package/dist/client/assets/csv-Dx-8-gkx.js +2 -0
- package/dist/client/assets/cue-CE9AQfxI.js +2 -0
- package/dist/client/assets/cypher-ClKdZ_lG.js +2 -0
- package/dist/client/assets/d-qD-0Kul2.js +2 -0
- package/dist/client/assets/dark-plus-Cs2F2srj.js +2 -0
- package/dist/client/assets/dark-plus-GAt2ZgX8.js +2 -0
- package/dist/client/assets/dart-CnvKMtbv.js +2 -0
- package/dist/client/assets/dax-BkyTk9wS.js +2 -0
- package/dist/client/assets/desktop-Dlh5hvp9.js +2 -0
- package/dist/client/assets/diff-woXpYk--.js +2 -0
- package/dist/client/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2 +0 -0
- package/dist/client/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2 +0 -0
- package/dist/client/assets/docker-IyjqRm3v.js +2 -0
- package/dist/client/assets/dotenv-_5a1GRtc.js +2 -0
- package/dist/client/assets/dracula-BHWKrbxM.js +2 -0
- package/dist/client/assets/dracula-C2uKkzgK.js +2 -0
- package/dist/client/assets/dracula-soft-5eyTD99u.js +2 -0
- package/dist/client/assets/dracula-soft-D1bVjxWZ.js +2 -0
- package/dist/client/assets/dream-maker-DW3nJb8Q.js +2 -0
- package/dist/client/assets/edge-BUUilOUR.js +2 -0
- package/dist/client/assets/elixir-amUSnRCT.js +2 -0
- package/dist/client/assets/elm-BjxEHjzr.js +2 -0
- package/dist/client/assets/emacs-lisp-B4R74twV.js +2 -0
- package/dist/client/assets/entities-EGZcO-rg.js +2 -0
- package/dist/client/assets/environments-DPUVdQJp.js +2 -0
- package/dist/client/assets/erb-t1kck8M-.js +2 -0
- package/dist/client/assets/erlang-Cphh6RMH.js +2 -0
- package/dist/client/assets/everforest-dark-D-DlICQR.js +2 -0
- package/dist/client/assets/everforest-dark-sB-x3p7T.js +2 -0
- package/dist/client/assets/everforest-light-CeVdGHYG.js +2 -0
- package/dist/client/assets/everforest-light-Df2xbC6M.js +2 -0
- package/dist/client/assets/eye-TogxKhHZ.js +2 -0
- package/dist/client/assets/fennel-DQxkIbk2.js +2 -0
- package/dist/client/assets/fileCommentAnnotations-uFcaPOph.js +2 -0
- package/dist/client/assets/fish-BJitypiv.js +2 -0
- package/dist/client/assets/fluent-C03EYrpw.js +2 -0
- package/dist/client/assets/fortran-fixed-form-DEKoE2YW.js +2 -0
- package/dist/client/assets/fortran-free-form-CYNrtFtB.js +2 -0
- package/dist/client/assets/fsharp-D13ZGOAj.js +2 -0
- package/dist/client/assets/gauge-DXknpyA8.js +2 -0
- package/dist/client/assets/gdresource-C0sCabJj.js +2 -0
- package/dist/client/assets/gdscript-Cp2uCuqX.js +2 -0
- package/dist/client/assets/gdshader-CBce3t8t.js +2 -0
- package/dist/client/assets/genie-CV2tkWYe.js +2 -0
- package/dist/client/assets/gherkin-DExj1W_8.js +2 -0
- package/dist/client/assets/ghostty-vt-DdA0Zryv.wasm +0 -0
- package/dist/client/assets/ghostty-write-pty-hgyAvVbe.wasm +0 -0
- package/dist/client/assets/git-commit-BSykSTBG.js +2 -0
- package/dist/client/assets/git-rebase-Cq4_6JTl.js +2 -0
- package/dist/client/assets/github-dark-C-LZuMrd.js +2 -0
- package/dist/client/assets/github-dark-DwbbXv51.js +2 -0
- package/dist/client/assets/github-dark-default-CxjRwzl6.js +2 -0
- package/dist/client/assets/github-dark-default-DXG-b-1a.js +2 -0
- package/dist/client/assets/github-dark-dimmed-Bx1FflLF.js +2 -0
- package/dist/client/assets/github-dark-dimmed-Cr1oaoul.js +2 -0
- package/dist/client/assets/github-dark-high-contrast-B4qJZLZa.js +2 -0
- package/dist/client/assets/github-dark-high-contrast-B_tTalzw.js +2 -0
- package/dist/client/assets/github-light-CsVXhIlR.js +2 -0
- package/dist/client/assets/github-light-EUqPIrTm.js +2 -0
- package/dist/client/assets/github-light-default-BXViO-2h.js +2 -0
- package/dist/client/assets/github-light-default-DB_IwZa6.js +2 -0
- package/dist/client/assets/github-light-high-contrast-B68TUdTA.js +2 -0
- package/dist/client/assets/github-light-high-contrast-DLgVeSB-.js +2 -0
- package/dist/client/assets/gleam-CSRkHgEL.js +2 -0
- package/dist/client/assets/glimmer-js-u4EGJ0zO.js +2 -0
- package/dist/client/assets/glimmer-ts-Gurbt52H.js +2 -0
- package/dist/client/assets/glsl-30pqDoZO.js +2 -0
- package/dist/client/assets/gn-ilITqXS6.js +2 -0
- package/dist/client/assets/gnuplot-7GGW24-e.js +2 -0
- package/dist/client/assets/go-rLFTqkRN.js +2 -0
- package/dist/client/assets/graphql-Bs5G1kBK.js +2 -0
- package/dist/client/assets/groovy-CacY0gHj.js +2 -0
- package/dist/client/assets/group-BUXx2pDS.js +2 -0
- package/dist/client/assets/gruvbox-dark-hard-C820rvS2.js +2 -0
- package/dist/client/assets/gruvbox-dark-hard-DXm60lX3.js +2 -0
- package/dist/client/assets/gruvbox-dark-medium-BPjhmG05.js +2 -0
- package/dist/client/assets/gruvbox-dark-medium-GE2thSmD.js +2 -0
- package/dist/client/assets/gruvbox-dark-soft-04Cj-4VZ.js +2 -0
- package/dist/client/assets/gruvbox-dark-soft-MrdJrrXF.js +2 -0
- package/dist/client/assets/gruvbox-light-hard-BC_s9l72.js +2 -0
- package/dist/client/assets/gruvbox-light-hard-K6wSn29D.js +2 -0
- package/dist/client/assets/gruvbox-light-medium-BAWPOn9u.js +2 -0
- package/dist/client/assets/gruvbox-light-medium-CVy3aSlc.js +2 -0
- package/dist/client/assets/gruvbox-light-soft-BSMLrYjP.js +2 -0
- package/dist/client/assets/gruvbox-light-soft-DNgJjaY0.js +2 -0
- package/dist/client/assets/hack-Cko6MX06.js +2 -0
- package/dist/client/assets/haml-Doizmjk4.js +2 -0
- package/dist/client/assets/handlebars-b-YSlzII.js +2 -0
- package/dist/client/assets/haskell-D8IpX4py.js +2 -0
- package/dist/client/assets/haxe-OTjmBuCE.js +2 -0
- package/dist/client/assets/hcl-Dh228itO.js +2 -0
- package/dist/client/assets/hex-color-picker-DfLvGsRa.js +2 -0
- package/dist/client/assets/history-D05vcMtj.js +2 -0
- package/dist/client/assets/hjson-CxZEssPk.js +2 -0
- package/dist/client/assets/hlsl-Cvrh5tZx.js +2 -0
- package/dist/client/assets/horizon-0-RkHfro.js +2 -0
- package/dist/client/assets/horizon-CE9ld1lL.js +2 -0
- package/dist/client/assets/horizon-bright-BgL2X9oq.js +2 -0
- package/dist/client/assets/horizon-bright-DSNQnXHK.js +2 -0
- package/dist/client/assets/hostedPairing-nVVe5x4p.js +2 -0
- package/dist/client/assets/houston-CsvMBhTu.js +2 -0
- package/dist/client/assets/houston-KyjWKfuY.js +2 -0
- package/dist/client/assets/html-FzejeGn1.js +2 -0
- package/dist/client/assets/html-derivative-CnAooqTz.js +2 -0
- package/dist/client/assets/http-BxFImlHF.js +2 -0
- package/dist/client/assets/hurl-qINZb_eJ.js +2 -0
- package/dist/client/assets/hxml-B0Qn7Nwc.js +2 -0
- package/dist/client/assets/hy-CZbG8q4J.js +2 -0
- package/dist/client/assets/imba-DsUTQ-LC.js +2 -0
- package/dist/client/assets/index-DCOpJfCm.js +475 -0
- package/dist/client/assets/index-zJhfLl9C.css +1 -0
- package/dist/client/assets/ini-B5eOa1yu.js +2 -0
- package/dist/client/assets/input-group-DTqnJGXS.js +2 -0
- package/dist/client/assets/java-dMRc_cVD.js +2 -0
- package/dist/client/assets/javascript-BWMpBhVQ.js +2 -0
- package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
- package/dist/client/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff +0 -0
- package/dist/client/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
- package/dist/client/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff +0 -0
- package/dist/client/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
- package/dist/client/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff +0 -0
- package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
- package/dist/client/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2 +0 -0
- package/dist/client/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff +0 -0
- package/dist/client/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
- package/dist/client/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff +0 -0
- package/dist/client/assets/jinja-VDH3C9Ij.js +2 -0
- package/dist/client/assets/jison-BB0XuJyA.js +2 -0
- package/dist/client/assets/json-BjGzD-SE.js +2 -0
- package/dist/client/assets/json5-BR5RXkoi.js +2 -0
- package/dist/client/assets/jsonc-CYpm1nAK.js +2 -0
- package/dist/client/assets/jsonl-CmCQp5Yx.js +2 -0
- package/dist/client/assets/jsonnet-CJTPZ8u_.js +2 -0
- package/dist/client/assets/jssm-DXw9l8Rf.js +2 -0
- package/dist/client/assets/jsx-DzJWGKks.js +2 -0
- package/dist/client/assets/julia-BgCkjxqD.js +2 -0
- package/dist/client/assets/just-CVxSIAWS.js +2 -0
- package/dist/client/assets/kanagawa-dragon-7TqgsUPC.js +2 -0
- package/dist/client/assets/kanagawa-dragon-CXtmUGW6.js +2 -0
- package/dist/client/assets/kanagawa-lotus-BN08jTvb.js +2 -0
- package/dist/client/assets/kanagawa-lotus-CqxMQulh.js +2 -0
- package/dist/client/assets/kanagawa-wave-CTweb8Dz.js +2 -0
- package/dist/client/assets/kanagawa-wave-D8CNn6T_.js +2 -0
- package/dist/client/assets/kdl-CsD5j6eV.js +2 -0
- package/dist/client/assets/kotlin-DhhofPvG.js +2 -0
- package/dist/client/assets/kusto-C7mF5XQf.js +2 -0
- package/dist/client/assets/laserwave-CQkdhozh.js +2 -0
- package/dist/client/assets/laserwave-C_8bwKvT.js +2 -0
- package/dist/client/assets/latex-D7_rfK40.js +2 -0
- package/dist/client/assets/lean-CewbzKMR.js +2 -0
- package/dist/client/assets/less-DVTAwKKz.js +2 -0
- package/dist/client/assets/lib-b9zyleUn.js +30 -0
- package/dist/client/assets/light-plus-CNQ8_7Y0.js +2 -0
- package/dist/client/assets/light-plus-DVQuIRkW.js +2 -0
- package/dist/client/assets/link-BL3GZ_rH.js +2 -0
- package/dist/client/assets/liquid-C5PsA06M.js +2 -0
- package/dist/client/assets/llvm-Cm23YOpf.js +2 -0
- package/dist/client/assets/localApi-5K0gg1WP.js +3 -0
- package/dist/client/assets/log-BNLmms1o.js +2 -0
- package/dist/client/assets/logo-Cluzi2Zq.js +2 -0
- package/dist/client/assets/lua-Bq1DnbZG.js +2 -0
- package/dist/client/assets/luau-FMPmPwt6.js +2 -0
- package/dist/client/assets/make-Dixweg8N.js +2 -0
- package/dist/client/assets/markdown-BYOwaDjH.js +2 -0
- package/dist/client/assets/marko-C7zk2YT1.js +2 -0
- package/dist/client/assets/matchContext-C4X6O3hW.js +2 -0
- package/dist/client/assets/material-theme-Bm3Qr25_.js +2 -0
- package/dist/client/assets/material-theme-CAtLaHa3.js +2 -0
- package/dist/client/assets/material-theme-darker-2IIEA8gg.js +2 -0
- package/dist/client/assets/material-theme-darker-k-s5Bc6K.js +2 -0
- package/dist/client/assets/material-theme-lighter-CD6a-c4d.js +2 -0
- package/dist/client/assets/material-theme-lighter-uhdI0v04.js +2 -0
- package/dist/client/assets/material-theme-ocean-B3mraInd.js +2 -0
- package/dist/client/assets/material-theme-ocean-CHQ94UKr.js +2 -0
- package/dist/client/assets/material-theme-palenight-B5W6OYN7.js +2 -0
- package/dist/client/assets/material-theme-palenight-DEhAARHw.js +2 -0
- package/dist/client/assets/matlab-D7qyCx1q.js +2 -0
- package/dist/client/assets/mdc-JKnKthIF.js +2 -0
- package/dist/client/assets/mdx-DQZ5AkYe.js +2 -0
- package/dist/client/assets/mermaid-Bk4SNUv9.js +2 -0
- package/dist/client/assets/min-dark-BFqTAwCr.js +2 -0
- package/dist/client/assets/min-dark-BSWPekZh.js +2 -0
- package/dist/client/assets/min-light-DDpmG2fV.js +2 -0
- package/dist/client/assets/min-light-O7UdaaxX.js +2 -0
- package/dist/client/assets/mipsasm-BMqwQI7S.js +2 -0
- package/dist/client/assets/mojo-BgCJLMeH.js +2 -0
- package/dist/client/assets/monokai-C0p7Qecz.js +2 -0
- package/dist/client/assets/monokai-CdkpiU2Y.js +2 -0
- package/dist/client/assets/moonbit-CaWjb8XO.js +2 -0
- package/dist/client/assets/move-B1IS1UjX.js +2 -0
- package/dist/client/assets/narrat-_X_XdTYD.js +2 -0
- package/dist/client/assets/nextflow-BJtWHP5T.js +2 -0
- package/dist/client/assets/nextflow-groovy-DJMQeKeT.js +2 -0
- package/dist/client/assets/nginx-DXZZx9Fe.js +2 -0
- package/dist/client/assets/night-owl-BsnCLAKc.js +2 -0
- package/dist/client/assets/night-owl-DhmEMT88.js +2 -0
- package/dist/client/assets/night-owl-light-BODRhcTU.js +2 -0
- package/dist/client/assets/night-owl-light-eJ-hLW7d.js +2 -0
- package/dist/client/assets/nim-CkvLrvYM.js +2 -0
- package/dist/client/assets/nix-IvuFDN5E.js +2 -0
- package/dist/client/assets/nord-Cb4Vim4T.js +2 -0
- package/dist/client/assets/nord-Cd-F4txO.js +2 -0
- package/dist/client/assets/nushell-DcLAeLz5.js +2 -0
- package/dist/client/assets/objective-c-D1A_Heim.js +2 -0
- package/dist/client/assets/objective-cpp-BsSzOQcm.js +2 -0
- package/dist/client/assets/ocaml-O90oeIOV.js +2 -0
- package/dist/client/assets/odin-B1RWQWA5.js +2 -0
- package/dist/client/assets/one-dark-pro-CLwyXe_n.js +2 -0
- package/dist/client/assets/one-dark-pro-DUS_IGRK.js +2 -0
- package/dist/client/assets/one-light-CVUd7yD5.js +2 -0
- package/dist/client/assets/one-light-D7Lr4KcI.js +2 -0
- package/dist/client/assets/openscad-BUDT5pXO.js +2 -0
- package/dist/client/assets/pair-D_sKBvJj.js +2 -0
- package/dist/client/assets/pascal-4ZHwLPI5.js +2 -0
- package/dist/client/assets/perl-DKUKw9CE.js +2 -0
- package/dist/client/assets/php-GHQk7Jua.js +2 -0
- package/dist/client/assets/pierre-dark-CpLgRqie.js +2 -0
- package/dist/client/assets/pierre-dark-protanopia-deuteranopia-B35FxJx-.js +2 -0
- package/dist/client/assets/pierre-dark-soft-kZQmAZld.js +2 -0
- package/dist/client/assets/pierre-dark-tritanopia-CpjhbsIL.js +2 -0
- package/dist/client/assets/pierre-dark-vibrant-CpQYzh95.js +2 -0
- package/dist/client/assets/pierre-light-CoaEpmwp.js +2 -0
- package/dist/client/assets/pierre-light-protanopia-deuteranopia-0fSaH845.js +2 -0
- package/dist/client/assets/pierre-light-soft-lWLdNTOI.js +2 -0
- package/dist/client/assets/pierre-light-tritanopia-CEbqgOJL.js +2 -0
- package/dist/client/assets/pierre-light-vibrant-D80Fkn33.js +2 -0
- package/dist/client/assets/pkl-ot-7Btpt.js +2 -0
- package/dist/client/assets/plastic-CF8VZTnn.js +2 -0
- package/dist/client/assets/plastic-DQwYfKfQ.js +2 -0
- package/dist/client/assets/plsql-DGHpHOYJ.js +2 -0
- package/dist/client/assets/po-BiJDBrnU.js +2 -0
- package/dist/client/assets/poimandres-BX2TyY6j.js +2 -0
- package/dist/client/assets/poimandres-DRFjx7u4.js +2 -0
- package/dist/client/assets/polar-C7UOKdEL.js +2 -0
- package/dist/client/assets/postcss-BXeXVLqQ.js +2 -0
- package/dist/client/assets/powerquery-DNMTfnFr.js +2 -0
- package/dist/client/assets/powershell-DshXNtvi.js +2 -0
- package/dist/client/assets/preload-helper-D2XUqLHy.js +1 -0
- package/dist/client/assets/previewActionBus-B2LYye0P.js +2 -0
- package/dist/client/assets/prisma-BsRQq5mF.js +2 -0
- package/dist/client/assets/projects-D9v9VLJo.js +2 -0
- package/dist/client/assets/prolog-iXnhIJG7.js +2 -0
- package/dist/client/assets/proto-DB4EqR-F.js +2 -0
- package/dist/client/assets/pug-DxCMAzbD.js +2 -0
- package/dist/client/assets/puppet-CDv2pdJW.js +2 -0
- package/dist/client/assets/purescript-9MfHhQsQ.js +2 -0
- package/dist/client/assets/python-gzcpVVnB.js +2 -0
- package/dist/client/assets/qml-D3IL06-0.js +2 -0
- package/dist/client/assets/qmldir-DCQb3MpD.js +2 -0
- package/dist/client/assets/qss-Fe1Jh2GI.js +2 -0
- package/dist/client/assets/query-BTlH8ppa.js +2 -0
- package/dist/client/assets/r-D2Zb3-aq.js +2 -0
- package/dist/client/assets/racket-DcIDlBhZ.js +2 -0
- package/dist/client/assets/radio-group-VXzWvOzu.js +2 -0
- package/dist/client/assets/raku-B3gFvitq.js +2 -0
- package/dist/client/assets/razor-BfPqrQiz.js +2 -0
- package/dist/client/assets/red-7ga_dcKu.js +2 -0
- package/dist/client/assets/red-CJ3rzSJv.js +2 -0
- package/dist/client/assets/redirect-CTDpd8-N.js +2 -0
- package/dist/client/assets/reg-CRGYupPL.js +2 -0
- package/dist/client/assets/regexp-BtCnpNi-.js +2 -0
- package/dist/client/assets/rel-BtDbiS_P.js +2 -0
- package/dist/client/assets/reviewPatchParser.worker-Bx0aLcXI.js +13 -0
- package/dist/client/assets/reviews-DqcOSrtz.js +2 -0
- package/dist/client/assets/reviews._environmentId._host._owner._repository._pullRequestNumber-QICycRVU.js +11 -0
- package/dist/client/assets/reviews.index-Dw9KYVnt.js +2 -0
- package/dist/client/assets/riscv-Ckw8ddFX.js +2 -0
- package/dist/client/assets/ron-VUp2lXgN.js +2 -0
- package/dist/client/assets/rose-pine-BthvhNj6.js +2 -0
- package/dist/client/assets/rose-pine-dawn-DSuRaP6u.js +2 -0
- package/dist/client/assets/rose-pine-dawn-Dg85fqjY.js +2 -0
- package/dist/client/assets/rose-pine-moon-DdHjCvFQ.js +2 -0
- package/dist/client/assets/rose-pine-moon-hon4tzzS.js +2 -0
- package/dist/client/assets/rose-pine-rh6ipraJ.js +2 -0
- package/dist/client/assets/rosmsg-CAekHB0j.js +2 -0
- package/dist/client/assets/rotate-ccw-BuHf9qmb.js +2 -0
- package/dist/client/assets/rst-DgVsEgbv.js +2 -0
- package/dist/client/assets/ruby-DM9zEDxk.js +2 -0
- package/dist/client/assets/rust-Cfkwpbl8.js +2 -0
- package/dist/client/assets/safeLog-NeXgoMPF.js +3 -0
- package/dist/client/assets/sas-DlL3ue79.js +2 -0
- package/dist/client/assets/sass-DXrisJhu.js +2 -0
- package/dist/client/assets/scala-DKOlJaKm.js +2 -0
- package/dist/client/assets/scheduler-8SgDf5Nb.js +2 -0
- package/dist/client/assets/scheme-DQCgrYNe.js +2 -0
- package/dist/client/assets/scss-LGD8fUVB.js +2 -0
- package/dist/client/assets/sdbl-bTVj8UrX.js +2 -0
- package/dist/client/assets/settings-D4XOj85b.js +2 -0
- package/dist/client/assets/settings.appearance-CZvAeZCN.js +42 -0
- package/dist/client/assets/settings.archived-Y06GoG0S.js +2 -0
- package/dist/client/assets/settings.beta-Bd5UrFtG.js +2 -0
- package/dist/client/assets/settings.connections-YjuBg0cD.js +2 -0
- package/dist/client/assets/settings.diagnostics-DujS7DMW.js +3 -0
- package/dist/client/assets/settings.general-sQSJC3Rq.js +2 -0
- package/dist/client/assets/settings.keybindings-C6b2im1-.js +2 -0
- package/dist/client/assets/settings.providers-CzhQRSvU.js +2 -0
- package/dist/client/assets/settings.source-control-Ocoxm1T5.js +2 -0
- package/dist/client/assets/shaderlab-TOUzSsQk.js +2 -0
- package/dist/client/assets/shell-BfrxrAzH.js +2 -0
- package/dist/client/assets/shellscript-CYVg9JP5.js +2 -0
- package/dist/client/assets/shellsession-Cn2QQjIy.js +2 -0
- package/dist/client/assets/slack-dark-DYvUXyrP.js +2 -0
- package/dist/client/assets/slack-dark-DnToyrRv.js +2 -0
- package/dist/client/assets/slack-ochin-B2OO5cIa.js +2 -0
- package/dist/client/assets/slack-ochin-bqtMVDfH.js +2 -0
- package/dist/client/assets/smalltalk-B16xEiuN.js +2 -0
- package/dist/client/assets/snazzy-light-4G7pJPwS.js +2 -0
- package/dist/client/assets/snazzy-light-D8dzFmq5.js +2 -0
- package/dist/client/assets/solarized-dark-BQwPDzxK.js +2 -0
- package/dist/client/assets/solarized-dark-DV17i1UV.js +2 -0
- package/dist/client/assets/solarized-light-BLaijb3X.js +2 -0
- package/dist/client/assets/solarized-light-DSh2HLQt.js +2 -0
- package/dist/client/assets/solidity-CKzVLygQ.js +2 -0
- package/dist/client/assets/soy-BNUH7AWp.js +2 -0
- package/dist/client/assets/sparql-D_iOobhT.js +2 -0
- package/dist/client/assets/splunk-BC2Px7Mm.js +2 -0
- package/dist/client/assets/sql-BLrhh1Yv.js +2 -0
- package/dist/client/assets/ssh-config-BgfXC-Er.js +2 -0
- package/dist/client/assets/stata-CbTJOr_m.js +2 -0
- package/dist/client/assets/stylus-B6D30XZt.js +2 -0
- package/dist/client/assets/surrealql-Bp6i6018.js +2 -0
- package/dist/client/assets/svelte-CuQ8bF4c.js +2 -0
- package/dist/client/assets/swift-DonLKvLd.js +2 -0
- package/dist/client/assets/switch-rJ-jJPhK.js +2 -0
- package/dist/client/assets/synthwave-84-CIknw8y7.js +2 -0
- package/dist/client/assets/synthwave-84-nFMaYfgc.js +2 -0
- package/dist/client/assets/system-verilog-DJ5XKQeo.js +2 -0
- package/dist/client/assets/systemd-BxMlprV5.js +2 -0
- package/dist/client/assets/talonscript-CohzipZa.js +2 -0
- package/dist/client/assets/tasl-DMoTqEGO.js +2 -0
- package/dist/client/assets/tcl-CZd0xW_V.js +2 -0
- package/dist/client/assets/templ-Bo-nf_t1.js +2 -0
- package/dist/client/assets/terminalAppearance-BqQ_2bv1.js +2 -0
- package/dist/client/assets/terraform-DswuEJGm.js +2 -0
- package/dist/client/assets/tex-BgvSMBks.js +2 -0
- package/dist/client/assets/textarea-XNVgJSPU.js +2 -0
- package/dist/client/assets/toggle-QDWstdFN.js +2 -0
- package/dist/client/assets/tokyo-night-iIspnLcq.js +2 -0
- package/dist/client/assets/tokyo-night-oM2G3aXe.js +2 -0
- package/dist/client/assets/toml-CcmNWLt0.js +2 -0
- package/dist/client/assets/ts-tags-Bm95_vpn.js +2 -0
- package/dist/client/assets/tsv-sltzmVWM.js +2 -0
- package/dist/client/assets/tsx-ToB8-PkG.js +2 -0
- package/dist/client/assets/turtle-ByJddavk.js +2 -0
- package/dist/client/assets/twig-D5eIhwLo.js +2 -0
- package/dist/client/assets/typescript-55S1t3b3.js +2 -0
- package/dist/client/assets/typespec-BRdr0IET.js +2 -0
- package/dist/client/assets/typst-DI99ib-x.js +2 -0
- package/dist/client/assets/uiStateStore-DKTfup26.js +2 -0
- package/dist/client/assets/use-atom-command-CbJ8L7ju.js +4 -0
- package/dist/client/assets/useAriaLabelledBy-DcnsWgtX.js +2 -0
- package/dist/client/assets/useParams-Iww6IHUG.js +2 -0
- package/dist/client/assets/useReviewMergeAction-BgjVNuJP.js +2 -0
- package/dist/client/assets/useSettings-CGh4Xw67.js +2 -0
- package/dist/client/assets/useStore-Bv9Rrp6F.js +2 -0
- package/dist/client/assets/utils-SYwD9hoF.js +2 -0
- package/dist/client/assets/utils-Yidpy5tB.js +30 -0
- package/dist/client/assets/v-DETTlOr0.js +2 -0
- package/dist/client/assets/vala-zf12oZj6.js +2 -0
- package/dist/client/assets/vb-Djn5o6TS.js +2 -0
- package/dist/client/assets/vcsRefInvalidation-CMdkUDtM.js +2 -0
- package/dist/client/assets/verilog-CiiDBU1e.js +2 -0
- package/dist/client/assets/vesper-BIFK_oDq.js +2 -0
- package/dist/client/assets/vesper-DdrHHSXu.js +2 -0
- package/dist/client/assets/vhdl-BroJfC0k.js +2 -0
- package/dist/client/assets/viml-DvXPmvsu.js +2 -0
- package/dist/client/assets/vitesse-black-D082JcaE.js +2 -0
- package/dist/client/assets/vitesse-black-fwtXNY1n.js +2 -0
- package/dist/client/assets/vitesse-dark-BZCL-v6S.js +2 -0
- package/dist/client/assets/vitesse-dark-z-nr_5O8.js +2 -0
- package/dist/client/assets/vitesse-light-VbXTXTou.js +2 -0
- package/dist/client/assets/vitesse-light-ojz42ZLy.js +2 -0
- package/dist/client/assets/vue-BWR1mbne.js +2 -0
- package/dist/client/assets/vue-html-DGrJOwF8.js +2 -0
- package/dist/client/assets/vue-vine-SedHajQj.js +2 -0
- package/dist/client/assets/vyper-CgoNMtux.js +2 -0
- package/dist/client/assets/wasm-BnjxR4X6.js +2 -0
- package/dist/client/assets/wasm-ByWQv1Qj.js +2 -0
- package/dist/client/assets/wenyan-C8pVoKbM.js +2 -0
- package/dist/client/assets/wgsl-BsKzXJz4.js +2 -0
- package/dist/client/assets/wikitext-ClFFjSW2.js +2 -0
- package/dist/client/assets/wit-DdvCle-K.js +2 -0
- package/dist/client/assets/with-selector-C3poe37J.js +2 -0
- package/dist/client/assets/wolfram-DLL8P-h_.js +2 -0
- package/dist/client/assets/worker-CIcqvLjo.js +159 -0
- package/dist/client/assets/workspaceTitlebar-CrNTdVrF.js +2 -0
- package/dist/client/assets/xml-BB6ezbMQ.js +2 -0
- package/dist/client/assets/xsl-DygAj9pT.js +2 -0
- package/dist/client/assets/yaml-CIJj2T9S.js +2 -0
- package/dist/client/assets/zenscript-BnlCZFoB.js +2 -0
- package/dist/client/assets/zig-CMLA9XwU.js +2 -0
- package/dist/client/index.html +327 -0
- package/dist/client/mockServiceWorker.js +349 -0
- package/dist/service-launcher.mjs +461 -0
- package/package.json +54 -0
|
@@ -0,0 +1,922 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { Ai as onExit, Bo as make$3, Cu as match, Ea as withFiber, Fc as ParentSpan, Fu as Prototype, Gr as flatMap, Ho as provide, Io as close, Jl as add, Ki as runForkWith, Kl as Reference, Ko as TracerTimingEnabled, Lr as ensuring, Mr as contextWith, No as Scope, Pi as orDie, Po as addFinalizer, Ri as provideContext, Rr as exit, Sa as void_, Sd as flow, Wu as assignProperty, Xl as get, Yr as fnUntraced, Zi as scoped, Zl as getOption, aa as suspend, ad as hasProperty, ea as serviceOption, ii as gen, iu as mutate, jr as context, na as succeed, nc as endSpan, oa as sync, ps as isSuccess, ql as Service, sa as tap, so as Clock, td as hash, vc as makeSpanUnsafe, vd as constUndefined, vi as makeSpanScoped, vo as effect, xa as useSpan, ya as uninterruptibleMask, yi as map, zi as provideService } from "./Schema-DuQUv9rO.mjs";
|
|
4
|
+
import { Qt as make$4, Sn as runIn, Zt as failCauseUnsafe, j as fromQueue, mt as unwrap, tn as offerUnsafe } from "./Path-BB53LP8h.mjs";
|
|
5
|
+
//#region ../../node_modules/.pnpm/effect@4.0.0-beta.102_patch_10dcca2e28a1e6c67a3825e6da1ff253/node_modules/effect/dist/unstable/reactivity/Reactivity.js
|
|
6
|
+
/**
|
|
7
|
+
* Process-local invalidation for connecting writes to dependent reads.
|
|
8
|
+
*
|
|
9
|
+
* This module does not cache values itself. It lets callers register handlers
|
|
10
|
+
* for keys, invalidate those keys, wrap successful mutations so they invalidate
|
|
11
|
+
* keys, and expose effects as queues or streams that rerun when matching keys
|
|
12
|
+
* change. The service can also batch invalidations so handlers run after the
|
|
13
|
+
* batch completes.
|
|
14
|
+
*
|
|
15
|
+
* @since 4.0.0
|
|
16
|
+
*/
|
|
17
|
+
/**
|
|
18
|
+
* Service for key-based reactive invalidation.
|
|
19
|
+
*
|
|
20
|
+
* **When to use**
|
|
21
|
+
*
|
|
22
|
+
* Use to provide the invalidation service that refreshes queries, streams, and
|
|
23
|
+
* atoms when application keys change.
|
|
24
|
+
*
|
|
25
|
+
* **Details**
|
|
26
|
+
*
|
|
27
|
+
* The service can register handlers for keys, invalidate those keys, wrap
|
|
28
|
+
* mutations so successful effects invalidate keys, and turn query effects into
|
|
29
|
+
* queues or streams that rerun when keys are invalidated.
|
|
30
|
+
*
|
|
31
|
+
* @category services
|
|
32
|
+
* @since 4.0.0
|
|
33
|
+
*/
|
|
34
|
+
var Reactivity = class extends Service()("effect/reactivity/Reactivity") {};
|
|
35
|
+
/**
|
|
36
|
+
* Creates an in-memory `Reactivity` service.
|
|
37
|
+
*
|
|
38
|
+
* **Details**
|
|
39
|
+
*
|
|
40
|
+
* The service tracks handlers by hashed keys and runs the registered handlers when
|
|
41
|
+
* matching keys are invalidated.
|
|
42
|
+
*
|
|
43
|
+
* @category constructors
|
|
44
|
+
* @since 4.0.0
|
|
45
|
+
*/
|
|
46
|
+
const make$2 = /*#__PURE__*/ sync(() => {
|
|
47
|
+
const handlers = /* @__PURE__ */ new Map();
|
|
48
|
+
const invalidateUnsafe = (keys) => {
|
|
49
|
+
keysToHashes(keys, (hash) => {
|
|
50
|
+
const set = handlers.get(hash);
|
|
51
|
+
if (set === void 0) return;
|
|
52
|
+
set.forEach((run) => run());
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
const invalidate = (keys) => contextWith((services) => {
|
|
56
|
+
const pending = services.mapUnsafe.get(PendingInvalidation.key);
|
|
57
|
+
if (pending) keysToHashes(keys, (hash) => {
|
|
58
|
+
pending.add(hash);
|
|
59
|
+
});
|
|
60
|
+
else invalidateUnsafe(keys);
|
|
61
|
+
return void_;
|
|
62
|
+
});
|
|
63
|
+
const mutation = (keys, effect) => tap(effect, invalidate(keys));
|
|
64
|
+
const registerUnsafe = (keys, handler) => {
|
|
65
|
+
const resolvedKeys = [];
|
|
66
|
+
keysToHashes(keys, (hash) => {
|
|
67
|
+
resolvedKeys.push(hash);
|
|
68
|
+
let set = handlers.get(hash);
|
|
69
|
+
if (set === void 0) {
|
|
70
|
+
set = /* @__PURE__ */ new Set();
|
|
71
|
+
handlers.set(hash, set);
|
|
72
|
+
}
|
|
73
|
+
set.add(handler);
|
|
74
|
+
});
|
|
75
|
+
return () => {
|
|
76
|
+
for (let i = 0; i < resolvedKeys.length; i++) {
|
|
77
|
+
const set = handlers.get(resolvedKeys[i]);
|
|
78
|
+
set.delete(handler);
|
|
79
|
+
if (set.size === 0) handlers.delete(resolvedKeys[i]);
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
const query = (keys, effect) => gen(function* () {
|
|
84
|
+
const services = yield* context();
|
|
85
|
+
const scope = get(services, Scope);
|
|
86
|
+
const results = yield* make$4();
|
|
87
|
+
const runFork = flow(runForkWith(services), runIn(scope));
|
|
88
|
+
let running = false;
|
|
89
|
+
let pending = false;
|
|
90
|
+
const handleExit = (exit) => {
|
|
91
|
+
if (exit._tag === "Failure") failCauseUnsafe(results, exit.cause);
|
|
92
|
+
else offerUnsafe(results, exit.value);
|
|
93
|
+
if (pending) {
|
|
94
|
+
pending = false;
|
|
95
|
+
runFork(effect).addObserver(handleExit);
|
|
96
|
+
} else running = false;
|
|
97
|
+
};
|
|
98
|
+
function run() {
|
|
99
|
+
if (running) {
|
|
100
|
+
pending = true;
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
running = true;
|
|
104
|
+
runFork(effect).addObserver(handleExit);
|
|
105
|
+
}
|
|
106
|
+
yield* addFinalizer(scope, sync(registerUnsafe(keys, run)));
|
|
107
|
+
run();
|
|
108
|
+
return results;
|
|
109
|
+
});
|
|
110
|
+
const stream = (tables, effect) => query(tables, effect).pipe(map(fromQueue), unwrap);
|
|
111
|
+
const withBatch = (effect) => suspend(() => {
|
|
112
|
+
const pending = /* @__PURE__ */ new Set();
|
|
113
|
+
return effect.pipe(provideService(PendingInvalidation, pending), onExit((_) => sync(() => {
|
|
114
|
+
pending.forEach((hash) => {
|
|
115
|
+
const set = handlers.get(hash);
|
|
116
|
+
if (set === void 0) return;
|
|
117
|
+
set.forEach((run) => run());
|
|
118
|
+
});
|
|
119
|
+
})));
|
|
120
|
+
});
|
|
121
|
+
return Reactivity.of({
|
|
122
|
+
mutation,
|
|
123
|
+
query,
|
|
124
|
+
stream,
|
|
125
|
+
invalidateUnsafe,
|
|
126
|
+
invalidate,
|
|
127
|
+
registerUnsafe,
|
|
128
|
+
withBatch
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
var PendingInvalidation = class extends Service()("effect/reactivity/Reactivity/PendingInvalidation") {};
|
|
132
|
+
/**
|
|
133
|
+
* The default layer that provides an in-memory `Reactivity` service.
|
|
134
|
+
*
|
|
135
|
+
* @category layers
|
|
136
|
+
* @since 4.0.0
|
|
137
|
+
*/
|
|
138
|
+
const layer = /*#__PURE__*/ effect(Reactivity)(make$2);
|
|
139
|
+
function stringOrHash(u) {
|
|
140
|
+
switch (typeof u) {
|
|
141
|
+
case "string":
|
|
142
|
+
case "number":
|
|
143
|
+
case "bigint":
|
|
144
|
+
case "boolean": return String(u);
|
|
145
|
+
default: return hash(u);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
const keysToHashes = (keys, f) => {
|
|
149
|
+
if (Array.isArray(keys)) {
|
|
150
|
+
for (let i = 0; i < keys.length; i++) f(stringOrHash(keys[i]));
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
for (const key in keys) {
|
|
154
|
+
f(key);
|
|
155
|
+
const ids = keys[key];
|
|
156
|
+
for (let i = 0; i < ids.length; i++) f(`${key}:${stringOrHash(ids[i])}`);
|
|
157
|
+
}
|
|
158
|
+
};
|
|
159
|
+
//#endregion
|
|
160
|
+
//#region ../../node_modules/.pnpm/effect@4.0.0-beta.102_patch_10dcca2e28a1e6c67a3825e6da1ff253/node_modules/effect/dist/unstable/sql/Statement.js
|
|
161
|
+
/**
|
|
162
|
+
* Low-level SQL statement and fragment primitives.
|
|
163
|
+
*
|
|
164
|
+
* `SqlClient` uses this module to build executable, parameterized SQL from
|
|
165
|
+
* reusable fragments. A statement can be executed, streamed, run without row
|
|
166
|
+
* transformation, or compiled to SQL text and parameters for a specific
|
|
167
|
+
* dialect. The module also contains helpers for identifiers, parameters,
|
|
168
|
+
* inserts, updates, custom dialect fragments, statement compilation, and row
|
|
169
|
+
* transformation.
|
|
170
|
+
*
|
|
171
|
+
* @since 4.0.0
|
|
172
|
+
*/
|
|
173
|
+
const FragmentTypeId = "~effect/sql/Fragment";
|
|
174
|
+
/**
|
|
175
|
+
* Constructs a SQL `Fragment` from low-level statement segments.
|
|
176
|
+
*
|
|
177
|
+
* @category constructors
|
|
178
|
+
* @since 4.0.0
|
|
179
|
+
*/
|
|
180
|
+
const fragment = (segments) => ({
|
|
181
|
+
[FragmentTypeId]: FragmentTypeId,
|
|
182
|
+
segments
|
|
183
|
+
});
|
|
184
|
+
/**
|
|
185
|
+
* Context reference for an optional current SQL statement transformer applied
|
|
186
|
+
* before statement execution.
|
|
187
|
+
*
|
|
188
|
+
* @category transformer
|
|
189
|
+
* @since 4.0.0
|
|
190
|
+
*/
|
|
191
|
+
const CurrentTransformer = /*#__PURE__*/ Reference("effect/sql/CurrentTransformer", { defaultValue: constUndefined });
|
|
192
|
+
/**
|
|
193
|
+
* Returns `true` when a value is a SQL `Fragment`.
|
|
194
|
+
*
|
|
195
|
+
* @category guards
|
|
196
|
+
* @since 4.0.0
|
|
197
|
+
*/
|
|
198
|
+
const isFragment = (u) => hasProperty(u, FragmentTypeId);
|
|
199
|
+
/**
|
|
200
|
+
* Constructs a raw SQL literal segment. The literal text is not escaped, so use
|
|
201
|
+
* bound parameters for untrusted values.
|
|
202
|
+
*
|
|
203
|
+
* @category constructors
|
|
204
|
+
* @since 4.0.0
|
|
205
|
+
*/
|
|
206
|
+
const literal = (value, params) => ({
|
|
207
|
+
_tag: "Literal",
|
|
208
|
+
value,
|
|
209
|
+
params
|
|
210
|
+
});
|
|
211
|
+
/**
|
|
212
|
+
* Constructs a SQL identifier segment that will be escaped by the active
|
|
213
|
+
* compiler.
|
|
214
|
+
*
|
|
215
|
+
* @category constructors
|
|
216
|
+
* @since 4.0.0
|
|
217
|
+
*/
|
|
218
|
+
const identifier = (value) => ({
|
|
219
|
+
_tag: "Identifier",
|
|
220
|
+
value
|
|
221
|
+
});
|
|
222
|
+
/**
|
|
223
|
+
* Constructs a bound parameter segment for a statement value.
|
|
224
|
+
*
|
|
225
|
+
* @category constructors
|
|
226
|
+
* @since 4.0.0
|
|
227
|
+
*/
|
|
228
|
+
const parameter = (value) => ({
|
|
229
|
+
_tag: "Parameter",
|
|
230
|
+
value
|
|
231
|
+
});
|
|
232
|
+
/**
|
|
233
|
+
* Constructs an `ArrayHelper` segment for an array of values or fragments.
|
|
234
|
+
*
|
|
235
|
+
* @category constructors
|
|
236
|
+
* @since 4.0.0
|
|
237
|
+
*/
|
|
238
|
+
const arrayHelper = (value) => ({
|
|
239
|
+
_tag: "ArrayHelper",
|
|
240
|
+
value
|
|
241
|
+
});
|
|
242
|
+
const RecordInsertHelperProto = {
|
|
243
|
+
_tag: "RecordInsertHelper",
|
|
244
|
+
returning(sql) {
|
|
245
|
+
const self = Object.create(Object.getPrototypeOf(this));
|
|
246
|
+
Object.assign(self, this, { returningIdentifier: sql });
|
|
247
|
+
return self;
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
/**
|
|
251
|
+
* Constructs a `RecordInsertHelper` from one or more row objects.
|
|
252
|
+
*
|
|
253
|
+
* @category constructors
|
|
254
|
+
* @since 4.0.0
|
|
255
|
+
*/
|
|
256
|
+
const recordInsertHelper = (value) => Object.assign(Object.create(RecordInsertHelperProto), {
|
|
257
|
+
value,
|
|
258
|
+
returningIdentifier: void 0
|
|
259
|
+
});
|
|
260
|
+
const RecordUpdateHelperProto = {
|
|
261
|
+
...RecordInsertHelperProto,
|
|
262
|
+
_tag: "RecordUpdateHelper"
|
|
263
|
+
};
|
|
264
|
+
/**
|
|
265
|
+
* Constructs a `RecordUpdateHelper` for multi-row update compilation using the
|
|
266
|
+
* provided alias.
|
|
267
|
+
*
|
|
268
|
+
* @category constructors
|
|
269
|
+
* @since 4.0.0
|
|
270
|
+
*/
|
|
271
|
+
const recordUpdateHelper = (value, alias) => Object.assign(Object.create(RecordUpdateHelperProto), {
|
|
272
|
+
value,
|
|
273
|
+
alias,
|
|
274
|
+
returningIdentifier: void 0
|
|
275
|
+
});
|
|
276
|
+
const RecordUpdateHelperSingleProto = {
|
|
277
|
+
...RecordInsertHelperProto,
|
|
278
|
+
_tag: "RecordUpdateHelperSingle"
|
|
279
|
+
};
|
|
280
|
+
/**
|
|
281
|
+
* Constructs a `RecordUpdateHelperSingle` from a record and a list of columns
|
|
282
|
+
* to omit from the update.
|
|
283
|
+
*
|
|
284
|
+
* @category constructors
|
|
285
|
+
* @since 4.0.0
|
|
286
|
+
*/
|
|
287
|
+
const recordUpdateHelperSingle = (value, omit) => Object.assign(Object.create(RecordUpdateHelperSingleProto), {
|
|
288
|
+
value,
|
|
289
|
+
omit,
|
|
290
|
+
returningIdentifier: void 0
|
|
291
|
+
});
|
|
292
|
+
/**
|
|
293
|
+
* Creates a cached SQL statement constructor from a connection acquirer,
|
|
294
|
+
* compiler, tracing attributes, and optional row transformation function.
|
|
295
|
+
*
|
|
296
|
+
* @category constructors
|
|
297
|
+
* @since 4.0.0
|
|
298
|
+
*/
|
|
299
|
+
const make$1 = (acquirer, compiler, spanAttributes, transformRows) => {
|
|
300
|
+
const cache = transformRows === void 0 ? constructorCache.noTransforms : constructorCache.transforms;
|
|
301
|
+
if (cache.has(acquirer)) return cache.get(acquirer);
|
|
302
|
+
const self = Object.assign(function sql(strings, ...args) {
|
|
303
|
+
if (typeof strings === "string") return identifier(strings);
|
|
304
|
+
else if (Array.isArray(strings) && "raw" in strings) return statement(acquirer, compiler, strings, args, spanAttributes, transformRows);
|
|
305
|
+
throw "absurd";
|
|
306
|
+
}, {
|
|
307
|
+
unsafe(sql, params) {
|
|
308
|
+
return makeUnsafe([literal(sql, params)], acquirer, compiler, spanAttributes, transformRows);
|
|
309
|
+
},
|
|
310
|
+
literal(sql) {
|
|
311
|
+
return fragment([literal(sql)]);
|
|
312
|
+
},
|
|
313
|
+
in: in_,
|
|
314
|
+
insert(value) {
|
|
315
|
+
return recordInsertHelper(Array.isArray(value) ? value : [value]);
|
|
316
|
+
},
|
|
317
|
+
update(value, omit) {
|
|
318
|
+
return recordUpdateHelperSingle(value, omit ?? []);
|
|
319
|
+
},
|
|
320
|
+
updateValues(value, alias) {
|
|
321
|
+
return recordUpdateHelper(value, alias);
|
|
322
|
+
},
|
|
323
|
+
and,
|
|
324
|
+
or,
|
|
325
|
+
csv,
|
|
326
|
+
join,
|
|
327
|
+
onDialect(options) {
|
|
328
|
+
return options[compiler.dialect]();
|
|
329
|
+
},
|
|
330
|
+
onDialectOrElse(options) {
|
|
331
|
+
return options[compiler.dialect] !== void 0 ? options[compiler.dialect]() : options.orElse();
|
|
332
|
+
}
|
|
333
|
+
});
|
|
334
|
+
cache.set(acquirer, self);
|
|
335
|
+
return self;
|
|
336
|
+
};
|
|
337
|
+
const constructorCache = {
|
|
338
|
+
transforms: /*#__PURE__*/ new WeakMap(),
|
|
339
|
+
noTransforms: /*#__PURE__*/ new WeakMap()
|
|
340
|
+
};
|
|
341
|
+
/**
|
|
342
|
+
* Builds a `Statement` from template strings and arguments, preserving
|
|
343
|
+
* fragments and helper segments while converting ordinary interpolated values
|
|
344
|
+
* into bound parameters.
|
|
345
|
+
*
|
|
346
|
+
* @category constructors
|
|
347
|
+
* @since 4.0.0
|
|
348
|
+
*/
|
|
349
|
+
const statement = (acquirer, compiler, strings, args, spanAttributes, transformRows) => {
|
|
350
|
+
const segments = strings[0].length > 0 ? [literal(strings[0])] : [];
|
|
351
|
+
for (let i = 0; i < args.length; i++) {
|
|
352
|
+
const arg = args[i];
|
|
353
|
+
if (isFragment(arg)) segments.push(...arg.segments);
|
|
354
|
+
else if (isSegment(arg)) segments.push(arg);
|
|
355
|
+
else segments.push(parameter(arg));
|
|
356
|
+
if (strings[i + 1].length > 0) segments.push(literal(strings[i + 1]));
|
|
357
|
+
}
|
|
358
|
+
return makeUnsafe(segments, acquirer, compiler, spanAttributes, transformRows);
|
|
359
|
+
};
|
|
360
|
+
/**
|
|
361
|
+
* Creates a helper that joins SQL clauses with a literal separator, optionally
|
|
362
|
+
* wrapping multiple clauses in parentheses and using a fallback for an empty
|
|
363
|
+
* list.
|
|
364
|
+
*
|
|
365
|
+
* @category constructors
|
|
366
|
+
* @since 4.0.0
|
|
367
|
+
*/
|
|
368
|
+
function join(lit, addParens = true, fallback = "") {
|
|
369
|
+
const literalStatement = literal(lit);
|
|
370
|
+
const fallbackFragment = fragment([literal(fallback)]);
|
|
371
|
+
return (clauses) => {
|
|
372
|
+
if (clauses.length === 0) return fallbackFragment;
|
|
373
|
+
else if (clauses.length === 1) return fragment(convertLiteralOrFragment(clauses[0]));
|
|
374
|
+
const segments = [];
|
|
375
|
+
if (addParens) segments.push(literal("("));
|
|
376
|
+
segments.push.apply(segments, convertLiteralOrFragment(clauses[0]));
|
|
377
|
+
for (let i = 1; i < clauses.length; i++) {
|
|
378
|
+
segments.push(literalStatement);
|
|
379
|
+
segments.push.apply(segments, convertLiteralOrFragment(clauses[i]));
|
|
380
|
+
}
|
|
381
|
+
if (addParens) segments.push(literal(")"));
|
|
382
|
+
return fragment(segments);
|
|
383
|
+
};
|
|
384
|
+
}
|
|
385
|
+
/**
|
|
386
|
+
* Combines clauses with `AND`, parenthesizing multiple clauses and returning
|
|
387
|
+
* `1=1` when the list is empty.
|
|
388
|
+
*
|
|
389
|
+
* @category constructors
|
|
390
|
+
* @since 4.0.0
|
|
391
|
+
*/
|
|
392
|
+
const and = /*#__PURE__*/ join(" AND ", true, "1=1");
|
|
393
|
+
/**
|
|
394
|
+
* Combines clauses with `OR`, parenthesizing multiple clauses and returning
|
|
395
|
+
* `1=1` when the list is empty.
|
|
396
|
+
*
|
|
397
|
+
* @category constructors
|
|
398
|
+
* @since 4.0.0
|
|
399
|
+
*/
|
|
400
|
+
const or = /*#__PURE__*/ join(" OR ", true, "1=1");
|
|
401
|
+
/**
|
|
402
|
+
* Creates a comma-separated SQL fragment from values, optionally adding a
|
|
403
|
+
* prefix, and returns an empty fragment when no values are provided.
|
|
404
|
+
*
|
|
405
|
+
* @category constructors
|
|
406
|
+
* @since 4.0.0
|
|
407
|
+
*/
|
|
408
|
+
const csv = function(...args) {
|
|
409
|
+
if (args[args.length - 1].length === 0) return emptyFragment;
|
|
410
|
+
if (args.length === 1) return csvRaw(args[0]);
|
|
411
|
+
return fragment([literal(`${args[0]} `), ...csvRaw(args[1]).segments]);
|
|
412
|
+
};
|
|
413
|
+
const csvRaw = /*#__PURE__*/ join(",", false);
|
|
414
|
+
const emptyFragment = /*#__PURE__*/ fragment([/*#__PURE__*/ literal("")]);
|
|
415
|
+
/**
|
|
416
|
+
* Creates a dialect-specific SQL `Compiler` from rendering callbacks.
|
|
417
|
+
*
|
|
418
|
+
* @category compiler
|
|
419
|
+
* @since 4.0.0
|
|
420
|
+
*/
|
|
421
|
+
const makeCompiler = (options) => {
|
|
422
|
+
const self = Object.create(CompilerProto);
|
|
423
|
+
self.options = options;
|
|
424
|
+
self.dialect = options.dialect;
|
|
425
|
+
self.disableTransforms = false;
|
|
426
|
+
return self;
|
|
427
|
+
};
|
|
428
|
+
const statementCacheSymbol = /*#__PURE__*/ Symbol.for("effect/unstable/sql/Statement/statementCache");
|
|
429
|
+
const statementCacheNoTransformSymbol = /*#__PURE__*/ Symbol.for("effect/unstable/sql/Statement/statementCacheNoTransform");
|
|
430
|
+
const CompilerProto = {
|
|
431
|
+
compile(statement, withoutTransform = false, placeholderOverride) {
|
|
432
|
+
const opts = this.options;
|
|
433
|
+
withoutTransform = withoutTransform || this.disableTransforms;
|
|
434
|
+
const cacheSymbol = withoutTransform ? statementCacheNoTransformSymbol : statementCacheSymbol;
|
|
435
|
+
if (cacheSymbol in statement) return statement[cacheSymbol];
|
|
436
|
+
const segments = statement.segments;
|
|
437
|
+
const len = segments.length;
|
|
438
|
+
let sql = "";
|
|
439
|
+
const binds = [];
|
|
440
|
+
let placeholderCount = 0;
|
|
441
|
+
const placeholder = placeholderOverride ?? ((u) => opts.placeholder(++placeholderCount, u));
|
|
442
|
+
const placeholderNoIncrement = (u) => opts.placeholder(placeholderCount, u);
|
|
443
|
+
const placeholders = makePlaceholdersArray(placeholder);
|
|
444
|
+
for (let i = 0; i < len; i++) {
|
|
445
|
+
const segment = segments[i];
|
|
446
|
+
switch (segment._tag) {
|
|
447
|
+
case "Literal":
|
|
448
|
+
sql += segment.value;
|
|
449
|
+
if (segment.params) binds.push.apply(binds, segment.params);
|
|
450
|
+
break;
|
|
451
|
+
case "Identifier":
|
|
452
|
+
sql += opts.onIdentifier(segment.value, withoutTransform);
|
|
453
|
+
break;
|
|
454
|
+
case "Parameter":
|
|
455
|
+
sql += placeholder(segment.value);
|
|
456
|
+
binds.push(segment.value);
|
|
457
|
+
break;
|
|
458
|
+
case "ArrayHelper":
|
|
459
|
+
sql += `(${placeholders(segment.value)})`;
|
|
460
|
+
binds.push.apply(binds, segment.value);
|
|
461
|
+
break;
|
|
462
|
+
case "RecordInsertHelper": {
|
|
463
|
+
const keys = Object.keys(segment.value[0]);
|
|
464
|
+
if (opts.onInsert) {
|
|
465
|
+
const values = new Array(segment.value.length);
|
|
466
|
+
let placeholders = "";
|
|
467
|
+
for (let i = 0; i < segment.value.length; i++) {
|
|
468
|
+
const row = new Array(keys.length);
|
|
469
|
+
values[i] = row;
|
|
470
|
+
placeholders += i === 0 ? "(" : ",(";
|
|
471
|
+
for (let j = 0; j < keys.length; j++) {
|
|
472
|
+
const key = keys[j];
|
|
473
|
+
const value = segment.value[i][key];
|
|
474
|
+
row[j] = extractPrimitive(value, opts.onCustom, placeholderNoIncrement, withoutTransform);
|
|
475
|
+
placeholders += j === 0 ? placeholder(value) : `,${placeholder(value)}`;
|
|
476
|
+
}
|
|
477
|
+
placeholders += ")";
|
|
478
|
+
}
|
|
479
|
+
const [s, b] = opts.onInsert(keys.map((_) => opts.onIdentifier(_, withoutTransform)), placeholders, values, typeof segment.returningIdentifier === "string" ? [segment.returningIdentifier, []] : segment.returningIdentifier ? this.compile(segment.returningIdentifier, withoutTransform, placeholder) : void 0);
|
|
480
|
+
sql += s;
|
|
481
|
+
binds.push.apply(binds, b);
|
|
482
|
+
} else {
|
|
483
|
+
let placeholders = "";
|
|
484
|
+
for (let i = 0; i < segment.value.length; i++) {
|
|
485
|
+
placeholders += i === 0 ? "(" : ",(";
|
|
486
|
+
for (let j = 0; j < keys.length; j++) {
|
|
487
|
+
const value = segment.value[i][keys[j]];
|
|
488
|
+
const primitive = extractPrimitive(value, opts.onCustom, placeholderNoIncrement, withoutTransform);
|
|
489
|
+
binds.push(primitive);
|
|
490
|
+
placeholders += j === 0 ? placeholder(value) : `,${placeholder(value)}`;
|
|
491
|
+
}
|
|
492
|
+
placeholders += ")";
|
|
493
|
+
}
|
|
494
|
+
sql += `${generateColumns(keys, opts.onIdentifier, withoutTransform)} VALUES ${placeholders}`;
|
|
495
|
+
if (typeof segment.returningIdentifier === "string") sql += ` RETURNING ${segment.returningIdentifier}`;
|
|
496
|
+
else if (segment.returningIdentifier) {
|
|
497
|
+
sql += " RETURNING ";
|
|
498
|
+
const [s, b] = this.compile(segment.returningIdentifier, withoutTransform, placeholder);
|
|
499
|
+
sql += s;
|
|
500
|
+
binds.push.apply(binds, b);
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
break;
|
|
504
|
+
}
|
|
505
|
+
case "RecordUpdateHelperSingle": {
|
|
506
|
+
let keys = Object.keys(segment.value);
|
|
507
|
+
if (segment.omit.length > 0) keys = keys.filter((key) => !segment.omit.includes(key));
|
|
508
|
+
if (opts.onRecordUpdateSingle) {
|
|
509
|
+
const [s, b] = opts.onRecordUpdateSingle(keys.map((_) => opts.onIdentifier(_, withoutTransform)), keys.map((key) => extractPrimitive(segment.value[key], opts.onCustom, placeholderNoIncrement, withoutTransform)), typeof segment.returningIdentifier === "string" ? [segment.returningIdentifier, []] : segment.returningIdentifier ? this.compile(segment.returningIdentifier, withoutTransform, placeholder) : void 0);
|
|
510
|
+
sql += s;
|
|
511
|
+
binds.push.apply(binds, b);
|
|
512
|
+
} else {
|
|
513
|
+
for (let i = 0, len = keys.length; i < len; i++) {
|
|
514
|
+
const column = opts.onIdentifier(keys[i], withoutTransform);
|
|
515
|
+
if (i === 0) sql += `${column} = ${placeholder(segment.value[keys[i]])}`;
|
|
516
|
+
else sql += `, ${column} = ${placeholder(segment.value[keys[i]])}`;
|
|
517
|
+
binds.push(extractPrimitive(segment.value[keys[i]], opts.onCustom, placeholderNoIncrement, withoutTransform));
|
|
518
|
+
}
|
|
519
|
+
if (typeof segment.returningIdentifier === "string") if (this.dialect === "mssql") sql += ` OUTPUT ${segment.returningIdentifier === "*" ? "INSERTED.*" : segment.returningIdentifier}`;
|
|
520
|
+
else sql += ` RETURNING ${segment.returningIdentifier}`;
|
|
521
|
+
else if (segment.returningIdentifier) {
|
|
522
|
+
sql += this.dialect === "mssql" ? " OUTPUT " : " RETURNING ";
|
|
523
|
+
const [s, b] = this.compile(segment.returningIdentifier, withoutTransform, placeholder);
|
|
524
|
+
sql += s;
|
|
525
|
+
binds.push.apply(binds, b);
|
|
526
|
+
}
|
|
527
|
+
}
|
|
528
|
+
break;
|
|
529
|
+
}
|
|
530
|
+
case "RecordUpdateHelper": {
|
|
531
|
+
const keys = Object.keys(segment.value[0]);
|
|
532
|
+
const values = new Array(segment.value.length);
|
|
533
|
+
let placeholders = "";
|
|
534
|
+
for (let i = 0; i < segment.value.length; i++) {
|
|
535
|
+
const row = new Array(keys.length);
|
|
536
|
+
values[i] = row;
|
|
537
|
+
placeholders += i === 0 ? "(" : ",(";
|
|
538
|
+
for (let j = 0; j < keys.length; j++) {
|
|
539
|
+
const key = keys[j];
|
|
540
|
+
const value = segment.value[i][key];
|
|
541
|
+
row[j] = extractPrimitive(value, opts.onCustom, placeholderNoIncrement, withoutTransform);
|
|
542
|
+
placeholders += j === 0 ? placeholder(value) : `,${placeholder(value)}`;
|
|
543
|
+
}
|
|
544
|
+
placeholders += ")";
|
|
545
|
+
}
|
|
546
|
+
const [s, b] = opts.onRecordUpdate(placeholders, segment.alias, generateColumns(keys, opts.onIdentifier, withoutTransform), values, typeof segment.returningIdentifier === "string" ? [segment.returningIdentifier, []] : segment.returningIdentifier ? this.compile(segment.returningIdentifier, withoutTransform, placeholder) : void 0);
|
|
547
|
+
sql += s;
|
|
548
|
+
binds.push.apply(binds, b);
|
|
549
|
+
break;
|
|
550
|
+
}
|
|
551
|
+
case "Custom": {
|
|
552
|
+
const [s, b] = opts.onCustom(segment, placeholder, withoutTransform);
|
|
553
|
+
sql += s;
|
|
554
|
+
binds.push.apply(binds, b);
|
|
555
|
+
break;
|
|
556
|
+
}
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
const result = [sql, binds];
|
|
560
|
+
if (placeholderOverride !== void 0) return result;
|
|
561
|
+
return statement[cacheSymbol] = result;
|
|
562
|
+
},
|
|
563
|
+
get withoutTransform() {
|
|
564
|
+
const self = Object.create(CompilerProto);
|
|
565
|
+
Object.assign(self, this, { disableTransforms: true });
|
|
566
|
+
return self;
|
|
567
|
+
}
|
|
568
|
+
};
|
|
569
|
+
/**
|
|
570
|
+
* Creates a SQLite compiler that uses `?` placeholders and quoted identifiers,
|
|
571
|
+
* optionally transforming identifier names before escaping.
|
|
572
|
+
*
|
|
573
|
+
* @category compiler
|
|
574
|
+
* @since 4.0.0
|
|
575
|
+
*/
|
|
576
|
+
const makeCompilerSqlite = (transform) => makeCompiler({
|
|
577
|
+
dialect: "sqlite",
|
|
578
|
+
placeholder(_) {
|
|
579
|
+
return "?";
|
|
580
|
+
},
|
|
581
|
+
onIdentifier: transform ? function(value, withoutTransform) {
|
|
582
|
+
return withoutTransform ? escapeSqlite(value) : escapeSqlite(transform(value));
|
|
583
|
+
} : escapeSqlite,
|
|
584
|
+
onRecordUpdate() {
|
|
585
|
+
return ["", []];
|
|
586
|
+
},
|
|
587
|
+
onCustom() {
|
|
588
|
+
return ["", []];
|
|
589
|
+
}
|
|
590
|
+
});
|
|
591
|
+
/**
|
|
592
|
+
* Creates an identifier escaping function that wraps names in the given
|
|
593
|
+
* delimiter, doubles delimiter characters, and escapes dots between identifier
|
|
594
|
+
* parts.
|
|
595
|
+
*
|
|
596
|
+
* @category constructors
|
|
597
|
+
* @since 4.0.0
|
|
598
|
+
*/
|
|
599
|
+
function defaultEscape(c) {
|
|
600
|
+
const re = new RegExp(c, "g");
|
|
601
|
+
const double = c + c;
|
|
602
|
+
const dot = c + "." + c;
|
|
603
|
+
return function(str) {
|
|
604
|
+
return c + str.replace(re, double).replace(/\./g, dot) + c;
|
|
605
|
+
};
|
|
606
|
+
}
|
|
607
|
+
/**
|
|
608
|
+
* Builds value, object, and row-array transformers that rename object keys with
|
|
609
|
+
* the supplied function and optionally recurse into nested object arrays.
|
|
610
|
+
*
|
|
611
|
+
* @category transforming
|
|
612
|
+
* @since 4.0.0
|
|
613
|
+
*/
|
|
614
|
+
const defaultTransforms = (transformer, nested = true) => {
|
|
615
|
+
const transformValue = (value) => {
|
|
616
|
+
if (Array.isArray(value)) {
|
|
617
|
+
if (value.length === 0 || value[0].constructor !== Object) return value;
|
|
618
|
+
return array(value);
|
|
619
|
+
} else if (value?.constructor === Object) return transformObject(value);
|
|
620
|
+
return value;
|
|
621
|
+
};
|
|
622
|
+
const transformObject = (obj) => {
|
|
623
|
+
const newObj = {};
|
|
624
|
+
for (const key of Object.keys(obj)) assignProperty(newObj, transformer(key), transformValue(obj[key]));
|
|
625
|
+
return newObj;
|
|
626
|
+
};
|
|
627
|
+
const transformArrayNested = (rows) => {
|
|
628
|
+
const newRows = new Array(rows.length);
|
|
629
|
+
for (let i = 0, len = rows.length; i < len; i++) {
|
|
630
|
+
const row = rows[i];
|
|
631
|
+
if (Array.isArray(row)) newRows[i] = transformArrayNested(row);
|
|
632
|
+
else {
|
|
633
|
+
const obj = {};
|
|
634
|
+
for (const [key, value] of Object.entries(row)) assignProperty(obj, transformer(key), transformValue(value));
|
|
635
|
+
newRows[i] = obj;
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
return newRows;
|
|
639
|
+
};
|
|
640
|
+
const transformArray = (rows) => {
|
|
641
|
+
const newRows = new Array(rows.length);
|
|
642
|
+
for (let i = 0, len = rows.length; i < len; i++) {
|
|
643
|
+
const row = rows[i];
|
|
644
|
+
if (Array.isArray(row)) newRows[i] = transformArray(row);
|
|
645
|
+
else {
|
|
646
|
+
const obj = {};
|
|
647
|
+
for (const [key, value] of Object.entries(row)) assignProperty(obj, transformer(key), value);
|
|
648
|
+
newRows[i] = obj;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
return newRows;
|
|
652
|
+
};
|
|
653
|
+
const array = nested ? transformArrayNested : transformArray;
|
|
654
|
+
return {
|
|
655
|
+
value: transformValue,
|
|
656
|
+
object: transformObject,
|
|
657
|
+
array
|
|
658
|
+
};
|
|
659
|
+
};
|
|
660
|
+
const ATTR_DB_OPERATION_NAME = "db.operation.name";
|
|
661
|
+
const ATTR_DB_QUERY_TEXT = "db.query.text";
|
|
662
|
+
const makeUnsafe = (segments, acquirer, compiler, spanAttributes, transformRows) => {
|
|
663
|
+
const self = Object.create(StatementProto);
|
|
664
|
+
self.segments = segments;
|
|
665
|
+
self.acquirer = acquirer;
|
|
666
|
+
self.compiler = compiler;
|
|
667
|
+
self.spanAttributes = spanAttributes;
|
|
668
|
+
self.transformRows = transformRows;
|
|
669
|
+
return self;
|
|
670
|
+
};
|
|
671
|
+
const StatementProto = {
|
|
672
|
+
.../*#__PURE__*/ Prototype({
|
|
673
|
+
label: "Statement",
|
|
674
|
+
evaluate(fiber) {
|
|
675
|
+
const span = makeSpanUnsafe(fiber, "sql.execute", { kind: "client" });
|
|
676
|
+
const clock = fiber.getRef(Clock);
|
|
677
|
+
const timingEnabled = fiber.getRef(TracerTimingEnabled);
|
|
678
|
+
return onExit(this.withConnectionSpan("execute", (connection, sql, params) => connection.execute(sql, params, this.transformRows), false, span), (exit) => endSpan(span, exit, clock, timingEnabled));
|
|
679
|
+
}
|
|
680
|
+
}),
|
|
681
|
+
[FragmentTypeId]: FragmentTypeId,
|
|
682
|
+
withConnection(operation, f, withoutTransform = false) {
|
|
683
|
+
return useSpan("sql.execute", { kind: "client" }, (span) => this.withConnectionSpan(operation, f, withoutTransform, span));
|
|
684
|
+
},
|
|
685
|
+
withConnectionSpan(operation, f, withoutTransform, span) {
|
|
686
|
+
return withStatement(this, span, (statement) => {
|
|
687
|
+
const [sql, params] = statement.compile(withoutTransform);
|
|
688
|
+
for (const [key, value] of this.spanAttributes) span.attribute(key, value);
|
|
689
|
+
span.attribute(ATTR_DB_OPERATION_NAME, operation);
|
|
690
|
+
span.attribute(ATTR_DB_QUERY_TEXT, sql);
|
|
691
|
+
return scoped(flatMap(this.acquirer, (_) => f(_, sql, params)));
|
|
692
|
+
});
|
|
693
|
+
},
|
|
694
|
+
get withoutTransform() {
|
|
695
|
+
return this.withConnection("executeWithoutTransform", (connection, sql, params) => connection.execute(sql, params, void 0), true);
|
|
696
|
+
},
|
|
697
|
+
get raw() {
|
|
698
|
+
return this.withConnection("executeRaw", (connection, sql, params) => connection.executeRaw(sql, params), true);
|
|
699
|
+
},
|
|
700
|
+
get stream() {
|
|
701
|
+
const self = this;
|
|
702
|
+
return unwrap(flatMap(makeSpanScoped("sql.execute", { kind: "client" }), (span) => withStatement(self, span, (statement) => {
|
|
703
|
+
const [sql, params] = statement.compile();
|
|
704
|
+
for (const [key, value] of self.spanAttributes) span.attribute(key, value);
|
|
705
|
+
span.attribute(ATTR_DB_OPERATION_NAME, "executeStream");
|
|
706
|
+
span.attribute(ATTR_DB_QUERY_TEXT, sql);
|
|
707
|
+
return map(self.acquirer, (_) => _.executeStream(sql, params, self.transformRows));
|
|
708
|
+
})));
|
|
709
|
+
},
|
|
710
|
+
get values() {
|
|
711
|
+
return this.withConnection("executeValues", (connection, sql, params) => connection.executeValues(sql, params));
|
|
712
|
+
},
|
|
713
|
+
get valuesUnprepared() {
|
|
714
|
+
return this.withConnection("executeValuesUnprepared", (connection, sql, params) => connection.executeValuesUnprepared(sql, params));
|
|
715
|
+
},
|
|
716
|
+
get unprepared() {
|
|
717
|
+
const self = this;
|
|
718
|
+
return self.withConnection("executeUnprepared", (connection, sql, params) => connection.executeUnprepared(sql, params, self.transformRows));
|
|
719
|
+
},
|
|
720
|
+
compile(withoutTransform) {
|
|
721
|
+
return this.compiler.compile(this, withoutTransform ?? false);
|
|
722
|
+
},
|
|
723
|
+
toJSON() {
|
|
724
|
+
const [sql, params] = this.compile();
|
|
725
|
+
return {
|
|
726
|
+
_id: "Statement",
|
|
727
|
+
segments: this.segments,
|
|
728
|
+
sql,
|
|
729
|
+
params
|
|
730
|
+
};
|
|
731
|
+
}
|
|
732
|
+
};
|
|
733
|
+
const withStatement = (self, span, f) => withFiber((fiber) => {
|
|
734
|
+
const transform = fiber.getRef(CurrentTransformer);
|
|
735
|
+
if (transform === void 0) return f(self);
|
|
736
|
+
return flatMap(transform(self, make$1(self.acquirer, self.compiler, self.spanAttributes, self.transformRows), fiber, span), f);
|
|
737
|
+
});
|
|
738
|
+
const isSegment = (u) => {
|
|
739
|
+
if (!hasProperty(u, "_tag")) return false;
|
|
740
|
+
switch (u._tag) {
|
|
741
|
+
case "Literal":
|
|
742
|
+
case "Parameter":
|
|
743
|
+
case "ArrayHelper":
|
|
744
|
+
case "RecordInsertHelper":
|
|
745
|
+
case "RecordUpdateHelper":
|
|
746
|
+
case "RecordUpdateHelperSingle":
|
|
747
|
+
case "Identifier":
|
|
748
|
+
case "Custom": return true;
|
|
749
|
+
default: return false;
|
|
750
|
+
}
|
|
751
|
+
};
|
|
752
|
+
function convertLiteralOrFragment(clause) {
|
|
753
|
+
if (typeof clause === "string") return [literal(clause)];
|
|
754
|
+
return clause.segments;
|
|
755
|
+
}
|
|
756
|
+
const makePlaceholdersArray = (evaluate) => (values) => {
|
|
757
|
+
if (values.length === 0) return "";
|
|
758
|
+
let result = evaluate(values[0]);
|
|
759
|
+
for (let i = 1; i < values.length; i++) result += `,${evaluate(values[i])}`;
|
|
760
|
+
return result;
|
|
761
|
+
};
|
|
762
|
+
const generateColumns = (keys, escape, withoutTransform) => {
|
|
763
|
+
if (keys.length === 0) return "()";
|
|
764
|
+
let str = `(${escape(keys[0], withoutTransform)}`;
|
|
765
|
+
for (let i = 1; i < keys.length; i++) str += `,${escape(keys[i], withoutTransform)}`;
|
|
766
|
+
return str + ")";
|
|
767
|
+
};
|
|
768
|
+
const extractPrimitive = (value, onCustom, placeholder, withoutTransform) => {
|
|
769
|
+
if (value === void 0) return null;
|
|
770
|
+
else if (isFragment(value)) {
|
|
771
|
+
const head = value.segments[0];
|
|
772
|
+
if (head._tag === "Custom") return onCustom(head, placeholder, withoutTransform)[1][0] ?? null;
|
|
773
|
+
else if (head._tag === "Parameter") return head.value;
|
|
774
|
+
return null;
|
|
775
|
+
}
|
|
776
|
+
return value;
|
|
777
|
+
};
|
|
778
|
+
const escapeSqlite = /*#__PURE__*/ defaultEscape("\"");
|
|
779
|
+
function in_() {
|
|
780
|
+
if (arguments.length === 1) return arrayHelper(arguments[0]);
|
|
781
|
+
const column = arguments[0];
|
|
782
|
+
const values = arguments[1];
|
|
783
|
+
return values.length === 0 ? neverFragment : fragment([
|
|
784
|
+
identifier(column),
|
|
785
|
+
literal(" IN "),
|
|
786
|
+
arrayHelper(values)
|
|
787
|
+
]);
|
|
788
|
+
}
|
|
789
|
+
const neverFragment = /*#__PURE__*/ fragment([/*#__PURE__*/ literal("1=0")]);
|
|
790
|
+
//#endregion
|
|
791
|
+
//#region ../../node_modules/.pnpm/effect@4.0.0-beta.102_patch_10dcca2e28a1e6c67a3825e6da1ff253/node_modules/effect/dist/unstable/sql/SqlClient.js
|
|
792
|
+
/**
|
|
793
|
+
* Main SQL client service for tagged-template queries.
|
|
794
|
+
*
|
|
795
|
+
* `SqlClient` combines the tagged-template statement constructor with
|
|
796
|
+
* connection acquisition, dialect compilation, transactions, row transforms,
|
|
797
|
+
* tracing, and reactive query helpers. Driver integrations build this service
|
|
798
|
+
* from their connection and compiler pieces.
|
|
799
|
+
*
|
|
800
|
+
* @since 4.0.0
|
|
801
|
+
*/
|
|
802
|
+
const TypeId = "~effect/sql/SqlClient";
|
|
803
|
+
/**
|
|
804
|
+
* Service tag for the active SQL client service.
|
|
805
|
+
*
|
|
806
|
+
* **When to use**
|
|
807
|
+
*
|
|
808
|
+
* Use to access or provide the SQL client used to build statements, stream
|
|
809
|
+
* rows, reserve connections, and run transactions.
|
|
810
|
+
*
|
|
811
|
+
* @category services
|
|
812
|
+
* @since 4.0.0
|
|
813
|
+
*/
|
|
814
|
+
const SqlClient = /*#__PURE__*/ Service("effect/sql/SqlClient");
|
|
815
|
+
let clientIdCounter = 0;
|
|
816
|
+
/**
|
|
817
|
+
* Constructs a `SqlClient` from connection acquirers, a compiler, transaction
|
|
818
|
+
* commands, tracing attributes, optional row transforms, and reactive query
|
|
819
|
+
* integration.
|
|
820
|
+
*
|
|
821
|
+
* @category constructors
|
|
822
|
+
* @since 4.0.0
|
|
823
|
+
*/
|
|
824
|
+
const make = /*#__PURE__*/ fnUntraced(function* (options) {
|
|
825
|
+
const transactionService = options.transactionService ?? TransactionConnection(clientIdCounter++);
|
|
826
|
+
const getConnection = flatMap(serviceOption(transactionService), match({
|
|
827
|
+
onNone: () => options.acquirer,
|
|
828
|
+
onSome: ([conn]) => succeed(conn)
|
|
829
|
+
}));
|
|
830
|
+
const beginTransaction = options.beginTransaction ?? "BEGIN";
|
|
831
|
+
const commit = options.commit ?? "COMMIT";
|
|
832
|
+
const savepoint = options.savepoint ?? ((name) => `SAVEPOINT ${name}`);
|
|
833
|
+
const rollback = options.rollback ?? "ROLLBACK";
|
|
834
|
+
const rollbackSavepoint = options.rollbackSavepoint ?? ((name) => `ROLLBACK TO SAVEPOINT ${name}`);
|
|
835
|
+
const transactionAcquirer = options.transactionAcquirer ?? options.acquirer;
|
|
836
|
+
const withTransaction = makeWithTransaction({
|
|
837
|
+
transactionService,
|
|
838
|
+
spanAttributes: options.spanAttributes,
|
|
839
|
+
acquireConnection: flatMap(make$3(), (scope) => map(provide(transactionAcquirer, scope), (conn) => [scope, conn])),
|
|
840
|
+
begin: (conn) => conn.executeUnprepared(beginTransaction, [], void 0),
|
|
841
|
+
savepoint: (conn, id) => conn.executeUnprepared(savepoint(`effect_sql_${id}`), [], void 0),
|
|
842
|
+
commit: (conn) => conn.executeUnprepared(commit, [], void 0),
|
|
843
|
+
rollback: (conn) => conn.executeUnprepared(rollback, [], void 0),
|
|
844
|
+
rollbackSavepoint: (conn, id) => conn.executeUnprepared(rollbackSavepoint(`effect_sql_${id}`), [], void 0)
|
|
845
|
+
});
|
|
846
|
+
const reactivity = yield* Reactivity;
|
|
847
|
+
const client = Object.assign(make$1(getConnection, options.compiler, options.spanAttributes, options.transformRows), {
|
|
848
|
+
[TypeId]: TypeId,
|
|
849
|
+
safe: void 0,
|
|
850
|
+
withTransaction,
|
|
851
|
+
transactionService,
|
|
852
|
+
reserve: transactionAcquirer,
|
|
853
|
+
withoutTransforms() {
|
|
854
|
+
if (options.transformRows === void 0) return this;
|
|
855
|
+
const statement = make$1(getConnection, options.compiler.withoutTransform, options.spanAttributes, void 0);
|
|
856
|
+
const client = Object.assign(statement, {
|
|
857
|
+
...this,
|
|
858
|
+
...statement
|
|
859
|
+
});
|
|
860
|
+
client.safe = client;
|
|
861
|
+
client.withoutTransforms = () => client;
|
|
862
|
+
return client;
|
|
863
|
+
},
|
|
864
|
+
reactive: options.reactiveQueue ? (keys, effect) => options.reactiveQueue(keys, effect).pipe(map(fromQueue), unwrap) : reactivity.stream,
|
|
865
|
+
reactiveMailbox: options.reactiveQueue ?? reactivity.query
|
|
866
|
+
});
|
|
867
|
+
client.safe = client;
|
|
868
|
+
return client;
|
|
869
|
+
});
|
|
870
|
+
/**
|
|
871
|
+
* Builds a transaction wrapper that begins top-level transactions, uses
|
|
872
|
+
* savepoints for nested transactions, commits on success, and rolls back on
|
|
873
|
+
* failure or interruption.
|
|
874
|
+
*
|
|
875
|
+
* @category transactions
|
|
876
|
+
* @since 4.0.0
|
|
877
|
+
*/
|
|
878
|
+
const makeWithTransaction = (options) => (effect) => {
|
|
879
|
+
return uninterruptibleMask((restore) => useSpan("sql.transaction", { kind: "client" }, (span) => withFiber((fiber) => {
|
|
880
|
+
for (const [key, value] of options.spanAttributes) span.attribute(key, value);
|
|
881
|
+
const services = fiber.context;
|
|
882
|
+
const clock = fiber.getRef(Clock);
|
|
883
|
+
const connOption = getOption(services, options.transactionService);
|
|
884
|
+
const conn = connOption._tag === "Some" ? succeed([void 0, connOption.value[0]]) : options.acquireConnection;
|
|
885
|
+
const id = connOption._tag === "Some" ? connOption.value[1] + 1 : 0;
|
|
886
|
+
return flatMap(conn, ([scope, conn]) => (id === 0 ? options.begin(conn) : options.savepoint(conn, id)).pipe(flatMap(() => provideContext(restore(effect), mutate(services, (services) => services.pipe(add(options.transactionService, [conn, id]), add(ParentSpan, span))))), exit, flatMap((exit) => {
|
|
887
|
+
let effect;
|
|
888
|
+
if (isSuccess(exit)) if (id === 0) {
|
|
889
|
+
span.event("db.transaction.commit", clock.currentTimeNanosUnsafe());
|
|
890
|
+
effect = orDie(options.commit(conn));
|
|
891
|
+
} else {
|
|
892
|
+
span.event("db.transaction.savepoint", clock.currentTimeNanosUnsafe());
|
|
893
|
+
effect = void_;
|
|
894
|
+
}
|
|
895
|
+
else {
|
|
896
|
+
span.event("db.transaction.rollback", clock.currentTimeNanosUnsafe());
|
|
897
|
+
effect = orDie(id > 0 ? options.rollbackSavepoint(conn, id) : options.rollback(conn));
|
|
898
|
+
}
|
|
899
|
+
return flatMap(scope !== void 0 ? ensuring(effect, close(scope, exit)) : effect, () => exit);
|
|
900
|
+
})));
|
|
901
|
+
})));
|
|
902
|
+
};
|
|
903
|
+
/**
|
|
904
|
+
* Creates a unique context service tag for the active transaction connection of
|
|
905
|
+
* a specific SQL client.
|
|
906
|
+
*
|
|
907
|
+
* @category services
|
|
908
|
+
* @since 4.0.0
|
|
909
|
+
*/
|
|
910
|
+
const TransactionConnection = (clientId) => Service(`effect/sql/SqlClient/TransactionConnection/${clientId}`);
|
|
911
|
+
/**
|
|
912
|
+
* Context reference used by SQL integrations to opt in to safe integer
|
|
913
|
+
* handling; defaults to `false`.
|
|
914
|
+
*
|
|
915
|
+
* @category references
|
|
916
|
+
* @since 4.0.0
|
|
917
|
+
*/
|
|
918
|
+
const SafeIntegers = /*#__PURE__*/ Reference("effect/sql/SqlClient/SafeIntegers", { defaultValue: () => false });
|
|
919
|
+
//#endregion
|
|
920
|
+
export { makeCompilerSqlite as a, defaultTransforms as i, SqlClient as n, layer as o, make as r, SafeIntegers as t };
|
|
921
|
+
|
|
922
|
+
//# sourceMappingURL=SqlClient-Dp5XVCmr.mjs.map
|