planche 0.8.3 → 0.8.5
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/app/assets/1E6FYbv2.js +1 -0
- package/app/assets/{postgresql-erqhE-5Q.js → 5E2RYjEs.js} +1 -1
- package/app/assets/B-Mrqvrb.css +2 -0
- package/app/assets/B3LyCSVJ.js +1 -0
- package/app/assets/{DownloadToCSVDialog-Bc0PDZHm.js → B3uI9Ppb.js} +2 -2
- package/app/assets/B5OocgEJ.js +1 -0
- package/app/assets/B8xQ2o-X.js +1 -0
- package/app/assets/BBSxV90W.js +1 -0
- package/app/assets/BGOnv2_O.js +1 -0
- package/app/assets/BIjF9ulh.js +1 -0
- package/app/assets/BM5G_YA7.js +1 -0
- package/app/assets/{ja-C7vEFXh8.js → BXX-BtBa.js} +1 -1
- package/app/assets/{tunneling-B7lL9I14.js → BdPEUnLq.js} +1 -1
- package/app/assets/Bpg8LzYe.js +2 -0
- package/app/assets/BunrDTHn.js +1 -0
- package/app/assets/{ko-1oXH_x0o.js → BziT-o8V.js} +1 -1
- package/app/assets/{dbms-BwnatOMe.js → C1RY7wUM.js} +13 -13
- package/app/assets/C3bMAsUp.js +1 -0
- package/app/assets/C4il2fft.js +1 -0
- package/app/assets/CChaTOPr.js +1 -0
- package/app/assets/CKOS5Y-e.js +1 -0
- package/app/assets/{storage-worker-DEIYmjYK.js → CM41Cs80.js} +3 -3
- package/app/assets/COIa4uoZ.js +1 -0
- package/app/assets/{de-EBRzfz-s.js → CWY0kZPK.js} +1 -1
- package/app/assets/CZQ1r4zz.js +41 -0
- package/app/assets/{error-hints-BsG7qe62.js → CfsL8_WC.js} +3 -3
- package/app/assets/CkgLFvM5.js +1 -0
- package/app/assets/ClyAuDY9.js +2 -0
- package/app/assets/CmJ3siBN.js +1 -0
- package/app/assets/Cw_LYT6k.js +1 -0
- package/app/assets/Cx_chT_j.js +1 -0
- package/app/assets/D-RWduy5.js +1 -0
- package/app/assets/{index-Tw24-4of.js → D7Ze5md9.js} +176 -176
- package/app/assets/{zh-B-LYJHDx.js → D8nrOvmh.js} +1 -1
- package/app/assets/DAFA-E1-.js +1 -0
- package/app/assets/{dist-Roudme38.js → DD58tsa9.js} +2 -2
- package/app/assets/DFNc4ghA.js +1 -0
- package/app/assets/DGD5v9rw.js +1 -0
- package/app/assets/{mariadb-BT1adDMU.js → DOeLCbYG.js} +1 -1
- package/app/assets/DTxGpkJp.js +1 -0
- package/app/assets/DZH-tLW-.js +1 -0
- package/app/assets/D_2UqK4k.js +1 -0
- package/app/assets/DbRMSZEW.js +1 -0
- package/app/assets/Dd9Cr3e8.js +1 -0
- package/app/assets/DeB5sJfy.js +1 -0
- package/app/assets/Dh3YJ3G1.js +1 -0
- package/app/assets/DiaA_DOW.js +1 -0
- package/app/assets/DlKZCiMg.js +2 -0
- package/app/assets/{sqlite3-worker1-CVKz6JuG.js → DlWwFXlb.js} +1 -1
- package/app/assets/DmejZTwI.js +1 -0
- package/app/assets/{SchemaDiffDialog-DjuZiSux.js → DnjY8W6t.js} +1 -1
- package/app/assets/DxuXBECK.js +1 -0
- package/app/assets/FnB_uI57.js +1 -0
- package/app/assets/IzH8qyLi.js +1 -0
- package/app/assets/NY_tAtcY.js +1 -0
- package/app/assets/QBd1UkiI.js +1 -0
- package/app/assets/{mysql-BEg8tI_S.js → R93pYE1w.js} +1 -1
- package/app/assets/RIOwEE7M.js +1 -0
- package/app/assets/S4Oofhu9.js +1 -0
- package/app/assets/XzPc-eVf.js +1 -0
- package/app/assets/cc05Z2oj.js +1 -0
- package/app/assets/dxLVUFtU.js +1 -0
- package/app/assets/eFSiW0Lh.js +1 -0
- package/app/assets/{transactsql-BVCsopZt.js → eRZ39OKr.js} +1 -1
- package/app/assets/fCzQKDqY.js +1 -0
- package/app/assets/{SchemaToHTMLDialog-NzNj1jXs.js → og5dTmtH.js} +1 -1
- package/app/assets/{RowFormDialog-pQYmxMrm.js → qbvehL2h.js} +1 -1
- package/app/assets/rcI4Fmt0.js +1 -0
- package/app/assets/{fr-DERxGVO3.js → u80owQsI.js} +1 -1
- package/app/index.html +22 -22
- package/dist/chunk-2Z2E3JGN.js +3733 -0
- package/dist/embed.js +21 -0
- package/dist/index.js +210 -3920
- package/package.json +4 -1
- package/app/assets/AboutDialog-DuqxA9a9.js +0 -1
- package/app/assets/AiSettingsDialog-CgGNd3Oc.js +0 -1
- package/app/assets/BigInteger-BlV0QR66.js +0 -1
- package/app/assets/ConnectDialog-H3vlQRP_.js +0 -1
- package/app/assets/CopyDatabaseDialog-CVoYRBig.js +0 -1
- package/app/assets/CopyTableDialog-DC1kxjD2.js +0 -1
- package/app/assets/CreateDatabaseDialog-BYwKAc5-.js +0 -1
- package/app/assets/CreateSchemaDialog-BhPRvUT-.js +0 -1
- package/app/assets/DataDiffDialog-CXMnUq1B.js +0 -1
- package/app/assets/EditSchemaDialog-B4h1xWEz.js +0 -2
- package/app/assets/FindReplaceDialog-BkDPXuox.js +0 -1
- package/app/assets/FlushDialog-BlPJ6BTk.js +0 -1
- package/app/assets/GeneralSettingsDialog-ByNvtugk.js +0 -1
- package/app/assets/GroupByDialog-B593U6zZ.js +0 -1
- package/app/assets/LicenseDialog-3TWjXiJM.js +0 -1
- package/app/assets/LinkColumnDialog-D3ygO1ut.js +0 -1
- package/app/assets/LocalHistoryDialog-DPgqYYkG.js +0 -1
- package/app/assets/McpSetupDialog-DOS0fPHQ.js +0 -1
- package/app/assets/ProcessListDialog-DNqFCxy7.js +0 -1
- package/app/assets/QuerySettingsDialog-BjD8gLmZ.js +0 -1
- package/app/assets/QuickCommandPalette-06i8D2JM.js +0 -1
- package/app/assets/SafetySettingsDialog-a0Y03qEt.js +0 -1
- package/app/assets/StatusDialog-DVKcDDpl.js +0 -1
- package/app/assets/SyncDialog-CTyRxpKa.js +0 -1
- package/app/assets/TermsDialog-oo1J6DXC.js +0 -1
- package/app/assets/UserAddDialog-CtZpkft3.js +0 -1
- package/app/assets/UserManagerDialog-Dk1mzBsu.js +0 -1
- package/app/assets/VariablesDialog-Blu74K9P.js +0 -1
- package/app/assets/app-storage-C_1RLCyI.js +0 -1
- package/app/assets/button-B2EsmMJs.js +0 -1
- package/app/assets/chevron-up-CBnVjNE1.js +0 -1
- package/app/assets/connection-store-B85kbJpB.js +0 -1
- package/app/assets/database-BSXLJRzV.js +0 -1
- package/app/assets/dialog-FBpgH0QJ.js +0 -1
- package/app/assets/dist-BYhFWvmC.js +0 -41
- package/app/assets/editor-registry-ukUyoekH.js +0 -1
- package/app/assets/engine-DjP-Sw-S.js +0 -1
- package/app/assets/i18n-C0aLwQ_k.js +0 -2
- package/app/assets/index-dwv2QL4R.css +0 -2
- package/app/assets/pro-upsell-DhbKIX46.js +0 -1
- package/app/assets/pro-usage-BxwRZwtM.js +0 -1
- package/app/assets/query-execution-BeDEQ-3M.js +0 -2
- package/app/assets/query-store-BqBiylGA.js +0 -1
- package/app/assets/schema-nodes-MgIiKfpG.js +0 -1
- package/app/assets/select-DEqoX1sU.js +0 -1
- package/app/assets/settings-controls-BepR6gzL.js +0 -1
- package/app/assets/settings-store-DzQ3BP5e.js +0 -1
- package/app/assets/ui-store-5IssrgmG.js +0 -1
- package/app/assets/user-store-DOy2VMsT.js +0 -1
- /package/app/assets/{sqlite3-BVKGSWc-.wasm → BVKGSWc-.wasm} +0 -0
- /package/app/assets/{editor.worker-BboMRUer.js → BboMRUer.js} +0 -0
- /package/app/assets/{hmr-singleton-Bit0Kfog.js → Bit0Kfog.js} +0 -0
- /package/app/assets/{table-definition-Bs5VSn0X.js → Bs5VSn0X.js} +0 -0
- /package/app/assets/{file-name-CnYBZPf9.js → CnYBZPf9.js} +0 -0
- /package/app/assets/{sqlite3-opfs-async-proxy-D_xnb1D8.js → D_xnb1D8.js} +0 -0
- /package/app/assets/{sql-NEE52Syq.js → NEE52Syq.js} +0 -0
- /package/app/assets/{rolldown-runtime-hePW80VL.js → hePW80VL.js} +0 -0
- /package/app/assets/{contract-neLPq0_M.js → neLPq0_M.js} +0 -0
- /package/app/assets/{codicon-ngg6Pgfi.ttf → ngg6Pgfi.ttf} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
var
|
|
2
|
-
`)};`;case`none`:return null}},dropColumn(t,n,r){return`ALTER TABLE ${i(t,n)} DROP COLUMN ${e(r)};`},renameColumn(
|
|
1
|
+
import{_ as e}from"./DTxGpkJp.js";var t=/^(?:-?\d+(?:\.\d+)?|null|true|false|current_(?:timestamp|date|time)(?:\(\d*\))?|now\(\)|b'[01]+'|x'[0-9a-f]*')$/i;function n(e,n){let r=e.trim();return r===``?n(``):t.test(r)||/^'.*'$/s.test(r)||/^".*"$/s.test(r)||r.includes(`(`)||r.includes(`::`)?r:n(r)}function r(e,t,r){let i=t.upperCaseTypes?e.type.toUpperCase():e.type;return e.nullable?t.modify===`mssql`&&(i+=` NULL`):i+=` NOT NULL`,e.defaultValue!==null&&!/auto_increment|identity/i.test(e.extra)&&(i+=` DEFAULT ${n(e.defaultValue,r)}`),t.mysqlAttributes&&(/auto_increment/i.test(e.extra)&&(i+=` AUTO_INCREMENT`),e.comment&&(i+=` COMMENT ${r(e.comment)}`)),i}function i({quoteIdentifier:e,quoteLiteral:t,qualify:i},a){let o=e=>r(e,a,t),s=(t,n)=>a.qualifiedIndexNames?i(t,n):e(n);return{addColumn(t,n,r){let s=`${e(r.name)} ${o(r)}`;return a.addColumn===`ADD (`?`ALTER TABLE ${i(t,n)} ADD (${s});`:`ALTER TABLE ${i(t,n)} ${a.addColumn} ${s};`},alterColumn(r,s,c){let l=i(r,s),u=e(c.name);switch(a.modify){case`mysql`:return`ALTER TABLE ${l} MODIFY COLUMN ${u} ${o(c)};`;case`oracle`:return`ALTER TABLE ${l} MODIFY (${u} ${o(c)});`;case`mssql`:return`ALTER TABLE ${l} ALTER COLUMN ${u} ${c.type}${c.nullable?` NULL`:` NOT NULL`};`;case`postgres`:return`ALTER TABLE ${l}\n ${[`ALTER COLUMN ${u} TYPE ${c.type}`,c.nullable?`ALTER COLUMN ${u} DROP NOT NULL`:`ALTER COLUMN ${u} SET NOT NULL`,c.defaultValue===null||/auto_increment|identity/i.test(c.extra)?`ALTER COLUMN ${u} DROP DEFAULT`:`ALTER COLUMN ${u} SET DEFAULT ${n(c.defaultValue,t)}`].join(`,
|
|
2
|
+
`)};`;case`none`:return null}},dropColumn(t,n,r){return`ALTER TABLE ${i(t,n)} DROP COLUMN ${e(r)};`},renameColumn(n,r,o,s){return a.renameColumn===`sp_rename`?`EXEC sp_rename ${t(`${n}.${r}.${o}`)}, ${t(s)}, 'COLUMN';`:`ALTER TABLE ${i(n,r)} RENAME COLUMN ${e(o)} TO ${e(s)};`},createIndex(t,n,r){let o=r.columns.map(e).join(`, `);if(r.type===`PRIMARY`)return`ALTER TABLE ${i(t,n)} ADD PRIMARY KEY (${o});`;let c=r.type===`UNIQUE`?`UNIQUE `:r.type===`FULLTEXT`&&a.fulltext?`FULLTEXT `:``,l=a.unqualifiedIndexTarget?e(n):i(t,n);return`CREATE ${c}INDEX ${s(t,r.name)} ON ${l} (${o});`},dropIndex(t,n,r){return a.dropIndexOnTable?`DROP INDEX ${e(r)} ON ${i(t,n)};`:`DROP INDEX ${s(t,r)};`},insertRows(n,r,o,s){let c=i(n,r),l=o.map(e).join(`, `),u=s.map(e=>`(${e.map(t).join(`, `)})`);return a.multiRowInsert?`INSERT INTO ${c} (${l}) VALUES\n${u.join(`,
|
|
3
3
|
`)};`:`INSERT ALL\n${u.map(e=>` INTO ${c} (${l}) VALUES ${e}`).join(`
|
|
4
|
-
`)}\nSELECT 1 FROM DUAL;`}}}var i={DATABASE:`database`,SCHEMA:`schema`,TABLE:`table`,VIEW:`view`,COLUMN:`column`,INDEX:`index`,PROCEDURE:`procedure`,FUNCTION:`function`,TRIGGER:`trigger`,EVENT:`event`,FOLDER:`folder`,USER:`user`};function a(e,t,n){let r=`${t}:${n.replaceAll(`/`,`⁄`)}`;return e?`${e}/${r}`:r}function o(e,t,n,r,i){return{id:a(e,t,n),type:t,text:n,isLeaf:r,isExpanded:!1,isLoading:!1,children:[],metadata:i}}var s=[{text:`Tables`,type:`TABLE`},{text:`Views`,type:`VIEW`},{text:`Procedures`,type:`PROCEDURE`,capability:`procedures`},{text:`Functions`,type:`FUNCTION`,capability:`functions`},{text:`Triggers`,type:`TRIGGER`,capability:`triggers`},{text:`Events`,type:`EVENT`,capability:`events`}],c=[`Columns`,`Indexes`],l={TABLE:i.TABLE,VIEW:i.VIEW,PROCEDURE:i.PROCEDURE,FUNCTION:i.FUNCTION,TRIGGER:i.TRIGGER,EVENT:i.EVENT};function u(e){return s.find(t=>t.type===e).text}function d(e){return s.filter(t=>!t.capability||e.capabilities[t.capability]).map(e=>e.text)}function f(e,t,n){return d(e).map(e=>o(t,i.FOLDER,e,!1,{...n,countable:!0}))}async function ee({engine:e,run:t},n){let{introspect:r}=e,a=n.metadata?.database??``,s={database:a,catalog:n.metadata?.catalog},c=(e,t,r)=>o(n.id,l[e],t,!0,{...s,...r});switch(n.text){case`Tables`:return(await r.listTables(t,a)).map(e=>o(n.id,i.TABLE,e.name,!1,{...s,table:e.name}));case`Views`:return(await r.listViews(t,a)).map(e=>c(`VIEW`,e));case`Procedures`:return(await r.listProcedures(t,a)).map(e=>c(`PROCEDURE`,e));case`Functions`:return(await r.listFunctions(t,a)).map(e=>c(`FUNCTION`,e));case`Triggers`:return r.listTriggerDetails?(await r.listTriggerDetails(t,a)).map(e=>c(`TRIGGER`,e.name,{table:e.table})):(await r.listTriggers(t,a)).map(e=>c(`TRIGGER`,e));case`Events`:return(await r.listEvents(t,a)).map(e=>c(`EVENT`,e));default:return[]}}function te(e){let t={database:e.metadata?.database,catalog:e.metadata?.catalog,table:e.text};return c.map(n=>o(e.id,i.FOLDER,n,!1,t))}async function p({engine:e,run:t},n){let r=n.metadata?.database??``,a=n.metadata?.table;if(!a)return null;let s={database:r,catalog:n.metadata?.catalog,table:a};switch(n.text){case`Columns`:return(await e.introspect.listColumns(t,r,a)).map(e=>{let t=e.extra?` [${e.extra}]`:``;return o(n.id,i.COLUMN,`${e.name} ${e.type}${t}`,!0,{...s,column:e.name,key:e.key})});case`Indexes`:return(await e.introspect.listIndexes(t,r,a)).map(e=>o(n.id,i.INDEX,`${e.name} (${e.columns.join(`, `)})`,!0,{...s,index:e.name}));default:return null}}async function m(e,t){switch(t.type){case i.FOLDER:return await p(e,t)??ee(e,t);case i.TABLE:return te(t);default:return null}}function h(e,t,n){let r=a(e,i.FOLDER,u(t));return[e,r,a(r,l[t],n)]}var ne={async loadRoot({engine:e,run:t}){return(await e.introspect.listDatabases(t)).map(e=>o(null,i.DATABASE,e,!1,{database:e}))},async loadChildren(e,t){return t.type===i.DATABASE?f(e.engine,t.id,{database:t.text}):await m(e,t)??[]},objectPath(e,t,n){return h(a(null,i.DATABASE,e),t,n)},namespacePath(e){return[a(null,i.DATABASE,e)]}},re=class extends Error{constructor(e,t){super(`${e} does not support ${t}`),this.name=`UnsupportedQueryError`}};function ie(e,t,...n){let r=t.identifierQuote,i=t.identifierQuoteClose??r;return e.replace(/(.?)\{(\d+)\}(.?)/gs,(e,a,o,s)=>{let c=parseInt(o,10);if(c>=n.length)return e;let l=n[c];return a===r&&s===i?`${a}${l.replaceAll(i,i+i)}${s}`:a&&a===s&&t.stringQuotes.includes(a)?`${a}${ae(l,a,t.backslashEscapes)}${s}`:`${a}${l}${s}`})}function ae(e,t,n){let r=n?e.replaceAll(`\\`,`\\\\`):e;return r=r.replaceAll(t,t+t),r}function g(e){return String(e).padStart(2,`0`)}function oe(e){return`${e.getFullYear()}-${g(e.getMonth()+1)}-${g(e.getDate())} ${g(e.getHours())}:${g(e.getMinutes())}:${g(e.getSeconds())}`}var se=/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})/,ce=e=>Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``),le=e=>`X'${e}'`;function ue(e,t,n=!1,r=le){if(e==null)return`NULL`;if(e instanceof Uint8Array)return r(ce(e));if(typeof e==`number`)return Number.isFinite(e)?String(e):`NULL`;if(typeof e==`bigint`)return e.toString();if(typeof e==`boolean`)return n?e?`TRUE`:`FALSE`:e?`1`:`0`;if(e instanceof Date)return`'${oe(e)}'`;let i;if(typeof e==`object`)try{i=JSON.stringify(e)}catch{i=String(e)}else{i=String(e);let t=i.match(se);t&&(i=`${t[1]} ${t[2]}`)}return`'${ae(i,`'`,t)}'`}function _(e){let t=e.fields.map(e=>e.name);return e.records.map(e=>{let n={};return t.forEach((t,r)=>{n[t]=e[r]}),n})}function v(e,t=``){return e==null?t:String(e)}function y(e){return e==null?null:String(e)}function b(e){if(e==null||e===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function x(e,t){return e.trim()||t}function S(e){let t=e.identifierQuote,n=e.identifierQuoteClose??t,r=e=>`${t}${e.replaceAll(n,n+n)}${n}`,i=t=>ue(t,e.syntax.backslashEscapes,e.booleanKeywords??!1,e.binaryLiteral),a=(e,t)=>e?`${r(e)}.${r(t)}`:r(t),o={identifierQuote:t,identifierQuoteClose:n,stringQuotes:e.syntax.doubleQuoteIsIdentifier?[`'`]:[`'`,`"`],backslashEscapes:e.syntax.backslashEscapes};return{id:e.id,label:e.label,capabilities:e.capabilities,introspect:e.introspect,explain:e.explain,tree:e.tree??ne,defaultPort:e.defaultPort,syntax:e.syntax,limitClause:(t,n=0)=>e.syntax.limitStyle===`top`?`OFFSET ${n} ROWS FETCH NEXT ${t} ROWS ONLY`:e.syntax.limitStyle===`fetch`?n>0?`OFFSET ${n} ROWS FETCH NEXT ${t} ROWS ONLY`:`FETCH FIRST ${t} ROWS ONLY`:n>0?`LIMIT ${t} OFFSET ${n}`:`LIMIT ${t}`,quoteIdentifier:r,quoteLiteral:i,qualify:a,ddl:e.ddl({quoteIdentifier:r,quoteLiteral:i,qualify:a}),rowIdExpression:e.rowIdExpression,hasQuery(t){return e.queries[t]!==void 0},getQuery(t,...n){let r=e.queries[t];if(r===void 0)throw new re(e.label,t);return ie(r,o,...n)},getDataTypes:()=>e.dataTypes,getDataTypesToJSON:()=>e.dataTypes.map(e=>[e,e]),getFunctions:()=>e.functions,getReservedWords:()=>e.reservedWords}}var de=0,fe=()=>`p${++de}`;function C(e,t={}){return{id:fe(),label:e,rows:null,actualRows:null,cost:null,timeMs:null,details:[],warnings:[],children:[],...t}}function w(e){if(e==null||e===``)return null;let t=typeof e==`number`?e:Number(String(e).replace(/,/g,``));return Number.isFinite(t)?t:null}function T(e){return e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function E(e){let t=e.replace(/[_-]+/g,` `).trim();return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}var pe=10;function D(e,t){return e===null||t===null||Math.max(e,t)<100?[]:(e===0||t===0?Math.max(e,t):Math.max(e/t,t/e))>pe?[`estimate-off`]:[]}function me(e,t){let n=new Map,r=new Map,i=[],a=[];for(let o of e){let e=t(o);if(e){if(e.id===null){a.push(e.node);continue}n.set(e.id,e.node),r.set(e.id,e.parent),i.push(e.id)}}for(let e of i){let t=n.get(e),i=r.get(e),o=i==null?void 0:n.get(i);o&&o!==t?o.children.push(t):a.push(t)}return a}var he=new Set([`Node Type`,`Plans`,`Plan Rows`,`Total Cost`,`Actual Rows`,`Actual Total Time`,`Relation Name`,`Index Name`,`Actual Loops`,`Startup Cost`,`Actual Startup Time`]);function ge(e){let t=T(e[`Node Type`])||`Node`,n=T(e.Strategy??e[`Join Type`]??e[`Partial Mode`]),r=T(e[`Relation Name`]??e[`Index Name`])||void 0,i=w(e[`Actual Loops`])??1,a=w(e[`Actual Rows`]),o=w(e[`Actual Total Time`]),s=w(e[`Plan Rows`]),c=[];t===`Seq Scan`&&c.push(`full-scan`),T(e[`Sort Method`]).toLowerCase().includes(`external`)&&c.push(`filesort`),c.push(...D(s,a));let l=Object.entries(e).filter(([e,t])=>!he.has(e)&&t!=null&&t!==``).map(([e,t])=>({label:e,value:T(t)})),u=Array.isArray(e.Plans)?e.Plans.map(ge):[];return C(n?`${t} (${n})`:t,{object:r,rows:s,actualRows:a===null?null:a*i,cost:w(e[`Total Cost`]),timeMs:o===null?null:o*i,details:l,warnings:c,children:u})}function O(e){return e.records[0]?.[0]}function _e(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return null}}var ve={supportsAnalyze:!0,statements:(e,t)=>({statement:`EXPLAIN (${t?`ANALYZE, BUFFERS, `:``}FORMAT JSON) ${e}`}),parse:e=>{let t=O(e),n=typeof t==`string`?t:JSON.stringify(t,null,2),r=_e(t),i=Array.isArray(r)?r:r?[r]:[],a=[];for(let e of i){let t=e?.Plan;if(!t||typeof t!=`object`)continue;let n=ge(t),r=w(e[`Planning Time`]),i=w(e[`Execution Time`]);r!==null&&n.details.push({label:`Planning Time`,value:`${r} ms`}),i!==null&&n.details.push({label:`Execution Time`,value:`${i} ms`}),a.push(n)}return{roots:a,raw:n}}},ye=new Set([`table_name`,`access_type`,`key`,`rows_examined_per_scan`,`rows`,`r_rows`,`r_total_time_ms`,`query_cost`,`select_id`,`cost_info`]),be=new Set([`query_block`,`nested_loop`,`ordering_operation`,`grouping_operation`,`duplicates_removal`,`materialized_from_subquery`,`union_result`,`query_specifications`,`attached_subqueries`,`subqueries`,`optimized_away_subqueries`,`select_list_subqueries`,`having_subqueries`,`update_value_subqueries`,`block-nl-join`,`buffer_result`,`filesort`,`temporary_table`,`read_sorted_file`,`range-checked-for-each-record`,`insert_from`,`having_subquery`,`table`]);function k(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xe(e){let t=T(e.table_name)||`table`,n=T(e.access_type),r=T(e.key),i=w(e.rows_examined_per_scan??e.rows),a=w(e.r_rows),o=[];n===`ALL`&&o.push(`full-scan`),!r&&e.possible_keys==null&&n!==`system`&&n!==`const`&&o.push(`no-index`),e.using_filesort===!0&&o.push(`filesort`),e.using_temporary_table===!0&&o.push(`temporary`),o.push(...D(i,a));let s=[],c=[];for(let[t,n]of Object.entries(e))be.has(t)?c.push(...A(t,n)):!ye.has(t)&&n!=null&&n!==``&&s.push({label:E(t),value:T(n)});let l=k(e.cost_info)?w(e.cost_info.prefix_cost??e.cost_info.read_cost):null;return C(n?`${n.toUpperCase()} ${t}`:t,{object:t,rows:i,actualRows:a,cost:l,timeMs:w(e.r_total_time_ms),details:s,warnings:o,children:c})}function A(e,t){if(Array.isArray(t))return t.flatMap(t=>A(e,t));if(!k(t))return[];if(e===`table`||`table_name`in t)return[xe(t)];let n=[],r=[];for(let[e,i]of Object.entries(t))ye.has(e)||(be.has(e)||Array.isArray(i)||k(i)?r.push(...A(e,i)):i!=null&&i!==``&&n.push({label:E(e),value:T(i)}));let i=[];(e===`filesort`||t.using_filesort===!0)&&i.push(`filesort`),(e===`temporary_table`||t.using_temporary_table===!0)&&i.push(`temporary`);let a=w(t.select_id),o=e===`query_block`&&a!==null?`Query block #${a}`:E(e),s=k(t.cost_info)?w(t.cost_info.query_cost):null;return e===`nested_loop`?r:[C(o,{rows:w(t.rows),cost:s,details:n,warnings:i,children:r})]}var Se=/^(\s*)->\s*(.*)$/,Ce=/\s*\(cost=([\d.e+-]+)(?:\.\.[\d.e+-]+)? rows=([\d.e+-]+)\)/,we=/\s*\(actual time=([\d.e+-]+)\.\.([\d.e+-]+) rows=([\d.e+-]+) loops=(\d+)\)/,Te=/\s*\(never executed\)/;function Ee(e){let t=/\bon\s+`?([A-Za-z0-9_$]+)`?/.exec(e),n=/\busing\s+`?([A-Za-z0-9_$]+)`?/.exec(e);return{object:t?.[1],index:n?.[1]}}function De(e,t,n){let r=[];return/^Table scan on /.test(e)&&r.push(`full-scan`),/^Sort[: ]/.test(e)&&r.push(`filesort`),/^(Materialize|Temporary table)/.test(e)&&r.push(`temporary`),r.push(...D(t,n)),r}function Oe(e){let t=[],n=[];for(let r of e.split(`
|
|
4
|
+
`)}\nSELECT 1 FROM DUAL;`}}}function a(e,t,n){let r=`${t}:${n.replaceAll(`/`,`⁄`)}`;return e?`${e}/${r}`:r}function o(e,t,n,r,i){return{id:a(e,t,n),type:t,text:n,isLeaf:r,isExpanded:!1,isLoading:!1,children:[],metadata:i}}var s=[{text:`Tables`,type:`TABLE`},{text:`Views`,type:`VIEW`},{text:`Procedures`,type:`PROCEDURE`,capability:`procedures`},{text:`Functions`,type:`FUNCTION`,capability:`functions`},{text:`Triggers`,type:`TRIGGER`,capability:`triggers`},{text:`Events`,type:`EVENT`,capability:`events`}],c=[`Columns`,`Indexes`],l={TABLE:e.TABLE,VIEW:e.VIEW,PROCEDURE:e.PROCEDURE,FUNCTION:e.FUNCTION,TRIGGER:e.TRIGGER,EVENT:e.EVENT};function u(e){return s.find(t=>t.type===e).text}function d(e){return s.filter(t=>!t.capability||e.capabilities[t.capability]).map(e=>e.text)}function f(t,n,r){return d(t).map(t=>o(n,e.FOLDER,t,!1,{...r,countable:!0}))}async function ee({engine:t,run:n},r){let{introspect:i}=t,a=r.metadata?.database??``,s={database:a,catalog:r.metadata?.catalog},c=(e,t,n)=>o(r.id,l[e],t,!0,{...s,...n});switch(r.text){case`Tables`:return(await i.listTables(n,a)).map(t=>o(r.id,e.TABLE,t.name,!1,{...s,table:t.name}));case`Views`:return(await i.listViews(n,a)).map(e=>c(`VIEW`,e));case`Procedures`:return(await i.listProcedures(n,a)).map(e=>c(`PROCEDURE`,e));case`Functions`:return(await i.listFunctions(n,a)).map(e=>c(`FUNCTION`,e));case`Triggers`:return i.listTriggerDetails?(await i.listTriggerDetails(n,a)).map(e=>c(`TRIGGER`,e.name,{table:e.table})):(await i.listTriggers(n,a)).map(e=>c(`TRIGGER`,e));case`Events`:return(await i.listEvents(n,a)).map(e=>c(`EVENT`,e));default:return[]}}function te(t){let n={database:t.metadata?.database,catalog:t.metadata?.catalog,table:t.text};return c.map(r=>o(t.id,e.FOLDER,r,!1,n))}async function p({engine:t,run:n},r){let i=r.metadata?.database??``,a=r.metadata?.table;if(!a)return null;let s={database:i,catalog:r.metadata?.catalog,table:a};switch(r.text){case`Columns`:return(await t.introspect.listColumns(n,i,a)).map(t=>{let n=t.extra?` [${t.extra}]`:``;return o(r.id,e.COLUMN,`${t.name} ${t.type}${n}`,!0,{...s,column:t.name,key:t.key})});case`Indexes`:return(await t.introspect.listIndexes(n,i,a)).map(t=>o(r.id,e.INDEX,`${t.name} (${t.columns.join(`, `)})`,!0,{...s,index:t.name}));default:return null}}async function m(t,n){switch(n.type){case e.FOLDER:return await p(t,n)??ee(t,n);case e.TABLE:return te(n);default:return null}}function h(t,n,r){let i=a(t,e.FOLDER,u(n));return[t,i,a(i,l[n],r)]}var ne={async loadRoot({engine:t,run:n}){return(await t.introspect.listDatabases(n)).map(t=>o(null,e.DATABASE,t,!1,{database:t}))},async loadChildren(t,n){return n.type===e.DATABASE?f(t.engine,n.id,{database:n.text}):await m(t,n)??[]},objectPath(t,n,r){return h(a(null,e.DATABASE,t),n,r)},namespacePath(t){return[a(null,e.DATABASE,t)]}},re=class extends Error{constructor(e,t){super(`${e} does not support ${t}`),this.name=`UnsupportedQueryError`}};function ie(e,t,...n){let r=t.identifierQuote,i=t.identifierQuoteClose??r;return e.replace(/(.?)\{(\d+)\}(.?)/gs,(e,a,o,s)=>{let c=parseInt(o,10);if(c>=n.length)return e;let l=n[c];return a===r&&s===i?`${a}${l.replaceAll(i,i+i)}${s}`:a&&a===s&&t.stringQuotes.includes(a)?`${a}${ae(l,a,t.backslashEscapes)}${s}`:`${a}${l}${s}`})}function ae(e,t,n){let r=n?e.replaceAll(`\\`,`\\\\`):e;return r=r.replaceAll(t,t+t),r}function g(e){return String(e).padStart(2,`0`)}function oe(e){return`${e.getFullYear()}-${g(e.getMonth()+1)}-${g(e.getDate())} ${g(e.getHours())}:${g(e.getMinutes())}:${g(e.getSeconds())}`}var se=/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2}:\d{2})/,ce=e=>Array.from(e,e=>e.toString(16).padStart(2,`0`)).join(``),le=e=>`X'${e}'`;function ue(e,t,n=!1,r=le){if(e==null)return`NULL`;if(e instanceof Uint8Array)return r(ce(e));if(typeof e==`number`)return Number.isFinite(e)?String(e):`NULL`;if(typeof e==`bigint`)return e.toString();if(typeof e==`boolean`)return n?e?`TRUE`:`FALSE`:e?`1`:`0`;if(e instanceof Date)return`'${oe(e)}'`;let i;if(typeof e==`object`)try{i=JSON.stringify(e)}catch{i=String(e)}else{i=String(e);let t=i.match(se);t&&(i=`${t[1]} ${t[2]}`)}return`'${ae(i,`'`,t)}'`}function _(e){let t=e.fields.map(e=>e.name);return e.records.map(e=>{let n={};return t.forEach((t,r)=>{n[t]=e[r]}),n})}function v(e,t=``){return e==null?t:String(e)}function y(e){return e==null?null:String(e)}function b(e){if(e==null||e===``)return null;let t=Number(e);return Number.isFinite(t)?t:null}function x(e,t){return e.trim()||t}function S(e){let t=e.identifierQuote,n=e.identifierQuoteClose??t,r=e=>`${t}${e.replaceAll(n,n+n)}${n}`,i=t=>ue(t,e.syntax.backslashEscapes,e.booleanKeywords??!1,e.binaryLiteral),a=(e,t)=>e?`${r(e)}.${r(t)}`:r(t),o={identifierQuote:t,identifierQuoteClose:n,stringQuotes:e.syntax.doubleQuoteIsIdentifier?[`'`]:[`'`,`"`],backslashEscapes:e.syntax.backslashEscapes};return{id:e.id,label:e.label,capabilities:e.capabilities,introspect:e.introspect,explain:e.explain,tree:e.tree??ne,defaultPort:e.defaultPort,syntax:e.syntax,limitClause:(t,n=0)=>e.syntax.limitStyle===`top`?`OFFSET ${n} ROWS FETCH NEXT ${t} ROWS ONLY`:e.syntax.limitStyle===`fetch`?n>0?`OFFSET ${n} ROWS FETCH NEXT ${t} ROWS ONLY`:`FETCH FIRST ${t} ROWS ONLY`:n>0?`LIMIT ${t} OFFSET ${n}`:`LIMIT ${t}`,quoteIdentifier:r,quoteLiteral:i,qualify:a,ddl:e.ddl({quoteIdentifier:r,quoteLiteral:i,qualify:a}),rowIdExpression:e.rowIdExpression,hasQuery(t){return e.queries[t]!==void 0},getQuery(t,...n){let r=e.queries[t];if(r===void 0)throw new re(e.label,t);return ie(r,o,...n)},getDataTypes:()=>e.dataTypes,getDataTypesToJSON:()=>e.dataTypes.map(e=>[e,e]),getFunctions:()=>e.functions,getReservedWords:()=>e.reservedWords}}var de=0,fe=()=>`p${++de}`;function C(e,t={}){return{id:fe(),label:e,rows:null,actualRows:null,cost:null,timeMs:null,details:[],warnings:[],children:[],...t}}function w(e){if(e==null||e===``)return null;let t=typeof e==`number`?e:Number(String(e).replace(/,/g,``));return Number.isFinite(t)?t:null}function T(e){return e==null?``:typeof e==`object`?JSON.stringify(e):String(e)}function E(e){let t=e.replace(/[_-]+/g,` `).trim();return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}var pe=10;function D(e,t){return e===null||t===null||Math.max(e,t)<100?[]:(e===0||t===0?Math.max(e,t):Math.max(e/t,t/e))>pe?[`estimate-off`]:[]}function me(e,t){let n=new Map,r=new Map,i=[],a=[];for(let o of e){let e=t(o);if(e){if(e.id===null){a.push(e.node);continue}n.set(e.id,e.node),r.set(e.id,e.parent),i.push(e.id)}}for(let e of i){let t=n.get(e),i=r.get(e),o=i==null?void 0:n.get(i);o&&o!==t?o.children.push(t):a.push(t)}return a}var he=new Set([`Node Type`,`Plans`,`Plan Rows`,`Total Cost`,`Actual Rows`,`Actual Total Time`,`Relation Name`,`Index Name`,`Actual Loops`,`Startup Cost`,`Actual Startup Time`]);function ge(e){let t=T(e[`Node Type`])||`Node`,n=T(e.Strategy??e[`Join Type`]??e[`Partial Mode`]),r=T(e[`Relation Name`]??e[`Index Name`])||void 0,i=w(e[`Actual Loops`])??1,a=w(e[`Actual Rows`]),o=w(e[`Actual Total Time`]),s=w(e[`Plan Rows`]),c=[];t===`Seq Scan`&&c.push(`full-scan`),T(e[`Sort Method`]).toLowerCase().includes(`external`)&&c.push(`filesort`),c.push(...D(s,a));let l=Object.entries(e).filter(([e,t])=>!he.has(e)&&t!=null&&t!==``).map(([e,t])=>({label:e,value:T(t)})),u=Array.isArray(e.Plans)?e.Plans.map(ge):[];return C(n?`${t} (${n})`:t,{object:r,rows:s,actualRows:a===null?null:a*i,cost:w(e[`Total Cost`]),timeMs:o===null?null:o*i,details:l,warnings:c,children:u})}function O(e){return e.records[0]?.[0]}function _e(e){if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return null}}var ve={supportsAnalyze:!0,statements:(e,t)=>({statement:`EXPLAIN (${t?`ANALYZE, BUFFERS, `:``}FORMAT JSON) ${e}`}),parse:e=>{let t=O(e),n=typeof t==`string`?t:JSON.stringify(t,null,2),r=_e(t),i=Array.isArray(r)?r:r?[r]:[],a=[];for(let e of i){let t=e?.Plan;if(!t||typeof t!=`object`)continue;let n=ge(t),r=w(e[`Planning Time`]),i=w(e[`Execution Time`]);r!==null&&n.details.push({label:`Planning Time`,value:`${r} ms`}),i!==null&&n.details.push({label:`Execution Time`,value:`${i} ms`}),a.push(n)}return{roots:a,raw:n}}},ye=new Set([`table_name`,`access_type`,`key`,`rows_examined_per_scan`,`rows`,`r_rows`,`r_total_time_ms`,`query_cost`,`select_id`,`cost_info`]),be=new Set([`query_block`,`nested_loop`,`ordering_operation`,`grouping_operation`,`duplicates_removal`,`materialized_from_subquery`,`union_result`,`query_specifications`,`attached_subqueries`,`subqueries`,`optimized_away_subqueries`,`select_list_subqueries`,`having_subqueries`,`update_value_subqueries`,`block-nl-join`,`buffer_result`,`filesort`,`temporary_table`,`read_sorted_file`,`range-checked-for-each-record`,`insert_from`,`having_subquery`,`table`]);function k(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function xe(e){let t=T(e.table_name)||`table`,n=T(e.access_type),r=T(e.key),i=w(e.rows_examined_per_scan??e.rows),a=w(e.r_rows),o=[];n===`ALL`&&o.push(`full-scan`),!r&&e.possible_keys==null&&n!==`system`&&n!==`const`&&o.push(`no-index`),e.using_filesort===!0&&o.push(`filesort`),e.using_temporary_table===!0&&o.push(`temporary`),o.push(...D(i,a));let s=[],c=[];for(let[t,n]of Object.entries(e))be.has(t)?c.push(...A(t,n)):!ye.has(t)&&n!=null&&n!==``&&s.push({label:E(t),value:T(n)});let l=k(e.cost_info)?w(e.cost_info.prefix_cost??e.cost_info.read_cost):null;return C(n?`${n.toUpperCase()} ${t}`:t,{object:t,rows:i,actualRows:a,cost:l,timeMs:w(e.r_total_time_ms),details:s,warnings:o,children:c})}function A(e,t){if(Array.isArray(t))return t.flatMap(t=>A(e,t));if(!k(t))return[];if(e===`table`||`table_name`in t)return[xe(t)];let n=[],r=[];for(let[e,i]of Object.entries(t))ye.has(e)||(be.has(e)||Array.isArray(i)||k(i)?r.push(...A(e,i)):i!=null&&i!==``&&n.push({label:E(e),value:T(i)}));let i=[];(e===`filesort`||t.using_filesort===!0)&&i.push(`filesort`),(e===`temporary_table`||t.using_temporary_table===!0)&&i.push(`temporary`);let a=w(t.select_id),o=e===`query_block`&&a!==null?`Query block #${a}`:E(e),s=k(t.cost_info)?w(t.cost_info.query_cost):null;return e===`nested_loop`?r:[C(o,{rows:w(t.rows),cost:s,details:n,warnings:i,children:r})]}var Se=/^(\s*)->\s*(.*)$/,Ce=/\s*\(cost=([\d.e+-]+)(?:\.\.[\d.e+-]+)? rows=([\d.e+-]+)\)/,we=/\s*\(actual time=([\d.e+-]+)\.\.([\d.e+-]+) rows=([\d.e+-]+) loops=(\d+)\)/,Te=/\s*\(never executed\)/;function Ee(e){let t=/\bon\s+`?([A-Za-z0-9_$]+)`?/.exec(e),n=/\busing\s+`?([A-Za-z0-9_$]+)`?/.exec(e);return{object:t?.[1],index:n?.[1]}}function De(e,t,n){let r=[];return/^Table scan on /.test(e)&&r.push(`full-scan`),/^Sort[: ]/.test(e)&&r.push(`filesort`),/^(Materialize|Temporary table)/.test(e)&&r.push(`temporary`),r.push(...D(t,n)),r}function Oe(e){let t=[],n=[];for(let r of e.split(`
|
|
5
5
|
`)){let e=Se.exec(r);if(!e)continue;let i=e[1].length,a=e[2],o=Ce.exec(a),s=we.exec(a),c=Te.test(a);a=a.replace(Ce,``).replace(we,``).replace(Te,``).trim();let l=o?w(o[2]):null,u=s?w(s[4])??1:1,d=s?w(s[3]):null,f=d===null?null:d*u,ee=s?(w(s[2])??0)*u:null,{object:te,index:p}=Ee(a),m=[];p&&m.push({label:`Index`,value:p}),u>1&&m.push({label:`Loops`,value:String(u)}),c&&m.push({label:`Executed`,value:`never`});let h=C(a||`Node`,{object:te,rows:l,actualRows:c?0:f,cost:o?w(o[1]):null,timeMs:c?0:ee,details:m,warnings:De(a,l,c?0:d)});for(;n.length>0&&n[n.length-1].indent>=i;)n.pop();let ne=n[n.length-1];ne?ne.node.children.push(h):t.push(h),n.push({indent:i,node:h})}return t}function ke(e){return t=>({statement:`${e?`ANALYZE`:`EXPLAIN`} FORMAT=JSON ${t}`})}function Ae(e,t){if(!t)return je(e);let n=T(O(e));return{roots:Oe(n),raw:n}}function je(e){let t=O(e),n=typeof t==`string`?t:JSON.stringify(t,null,2),r=_e(t);return k(r)?{roots:Object.entries(r).flatMap(([e,t])=>A(e,t)),raw:n}:{roots:[],raw:n}}var Me={supportsAnalyze:!0,statements:(e,t)=>({statement:t?`EXPLAIN ANALYZE ${e}`:`EXPLAIN FORMAT=JSON ${e}`}),parse:Ae},Ne={supportsAnalyze:!0,statements:(e,t)=>ke(t)(e),parse:e=>je(e)};function Pe(e){let t=[],n=e.toUpperCase();return n.startsWith(`SCAN`)&&!n.includes(`USING`)&&t.push(`full-scan`),n.includes(`USE TEMP B-TREE`)&&t.push(n.includes(`ORDER BY`)?`filesort`:`temporary`),t}function Fe(e){return/^(?:SCAN|SEARCH)\s+(?:TABLE\s+)?([^\s(]+)/i.exec(e)?.[1]}var Ie={supportsAnalyze:!1,statements:e=>({statement:`EXPLAIN QUERY PLAN ${e}`}),parse:e=>{let t=_(e),n=t.map(e=>`${e.id}|${e.parent}|${T(e.detail)}`).join(`
|
|
6
6
|
`);return{roots:me(t,e=>{let t=T(e.detail);if(!t)return null;let n=w(e.parent);return{id:w(e.id),parent:n===0?null:n,node:C(t,{object:Fe(t),warnings:Pe(t)})}}),raw:n}}};function Le(e){let t=/OBJECT:\(([^)]*)\)/i.exec(e);if(!t)return;let n=t[1].replace(/\s+AS\s+\[[^\]]*\]\s*$/i,``).trim(),r=[...n.matchAll(/\[([^\]]*)\]/g)].map(e=>e[1]).filter(Boolean);return r.length===0?n||void 0:r.slice(2).join(`.`)||r.join(`.`)}var Re={supportsAnalyze:!0,statements:(e,t)=>({before:[t?`SET STATISTICS PROFILE ON`:`SET SHOWPLAN_ALL ON`],statement:e,after:[t?`SET STATISTICS PROFILE OFF`:`SET SHOWPLAN_ALL OFF`]}),parse:e=>{let t=_(e),n=t.map(e=>T(e.StmtText)).join(``);return{roots:me(t,e=>{let t=T(e.PhysicalOp),n=T(e.LogicalOp),r=T(e.Argument),i=t||T(e.StmtText).trim().replace(/\s+/g,` `).slice(0,120);if(!i)return null;let a=[];/Table Scan|Clustered Index Scan|Index Scan/i.test(t)&&a.push(`full-scan`),T(e.Warnings)&&a.push(`no-index`),/Sort/i.test(t)&&a.push(`filesort`);let o=[];n&&n!==t&&o.push({label:`Logical operation`,value:n}),r&&o.push({label:`Argument`,value:r});for(let t of[`EstimateIO`,`EstimateCPU`,`AvgRowSize`,`EstimateExecutions`,`Parallel`,`OutputList`]){let n=T(e[t]);n&&o.push({label:E(t),value:n})}let s=w(e.EstimateRows),c=`Rows`in e?w(e.Rows):null,l=w(e.Executes);l!==null&&o.push({label:`Executes`,value:String(l)});let u=c!==null&&l!==null&&l>0?c/l:null;a.push(...D(s,u));let d=w(e.NodeId),f=w(e.Parent);return{id:d,parent:f===0?null:f,node:C(i,{object:t?Le(r):void 0,rows:s,actualRows:c,cost:w(e.TotalSubtreeCost),details:o,warnings:a})}}),raw:n}}},j=`PLANCHE_PLAN`,ze=`sql_id = (SELECT prev_sql_id FROM v$session WHERE sid = SYS_CONTEXT('USERENV','SID')) AND child_number = (SELECT prev_child_number FROM v$session WHERE sid = SYS_CONTEXT('USERENV','SID'))`,Be={supportsAnalyze:!0,statements:(e,t)=>t?{before:[`ALTER SESSION SET STATISTICS_LEVEL = ALL`,e],statement:`SELECT id, parent_id, operation, options, object_name, cardinality, cost, bytes, last_output_rows, last_elapsed_time, last_starts, access_predicates, filter_predicates FROM v$sql_plan_statistics_all WHERE ${ze} ORDER BY id`,after:[`ALTER SESSION SET STATISTICS_LEVEL = TYPICAL`]}:{before:[`DELETE FROM plan_table WHERE statement_id = '${j}'`,`EXPLAIN PLAN SET STATEMENT_ID = '${j}' FOR ${e}`],statement:`SELECT id, parent_id, operation, options, object_name, cardinality, cost, bytes, access_predicates, filter_predicates FROM plan_table WHERE statement_id = '${j}' ORDER BY id`,after:[`DELETE FROM plan_table WHERE statement_id = '${j}'`]},parse:e=>{let t=_(e),n=t.map(e=>`${e.ID}|${e.PARENT_ID}|${T(e.OPERATION)} ${T(e.OPTIONS)} ${T(e.OBJECT_NAME)}`.trim()).join(`
|
|
7
7
|
`);return{roots:me(t,e=>{let t=T(e.OPERATION??e.operation);if(!t)return null;let n=T(e.OPTIONS??e.options),r=T(e.OBJECT_NAME??e.object_name)||void 0,i=[];t===`TABLE ACCESS`&&n===`FULL`&&i.push(`full-scan`),t===`SORT`&&n!==`AGGREGATE`&&i.push(`filesort`);let a=[];for(let[t,n]of[[`BYTES`,`Bytes`],[`ACCESS_PREDICATES`,`Access predicates`],[`FILTER_PREDICATES`,`Filter predicates`]]){let r=T(e[t]??e[t.toLowerCase()]);r&&a.push({label:n,value:r})}let o=w(e.CARDINALITY??e.cardinality),s=w(e.LAST_OUTPUT_ROWS??e.last_output_rows),c=w(e.LAST_ELAPSED_TIME??e.last_elapsed_time),l=w(e.LAST_STARTS??e.last_starts);l!==null&&a.push({label:`Starts`,value:String(l)});let u=s!==null&&l!==null&&l>0?s/l:null;return i.push(...D(o,u)),{id:w(e.ID??e.id),parent:w(e.PARENT_ID??e.parent_id),node:C(n?`${t} ${n}`:t,{object:r,rows:o,actualRows:s,cost:w(e.COST??e.cost),timeMs:c===null?null:c/1e3,details:a,warnings:i})}}),raw:n}}},M=e=>`\`${e.replaceAll("`","``")}\``,N=(e,t)=>`${M(e)}.${M(t)}`,P=e=>`'${e.replace(/\\/g,`\\\\`).replace(/'/g,`''`)}'`;function Ve(e){let t=v(e).toUpperCase();return t===`PRI`||t===`UNI`||t===`MUL`?t:``}function He(e,t,n){if(e===`PRIMARY`)return`PRIMARY`;let r=v(n).toUpperCase();return r===`FULLTEXT`?`FULLTEXT`:r===`SPATIAL`?`SPATIAL`:Number(t)===0?`UNIQUE`:`INDEX`}function Ue(e){return{name:v(e.Name??e.TABLE_NAME),engine:y(e.Engine??e.ENGINE),rows:b(e.Rows??e.TABLE_ROWS),collation:y(e.Collation??e.TABLE_COLLATION),autoIncrement:y(e.Auto_increment??e.AUTO_INCREMENT),comment:v(e.Comment??e.TABLE_COMMENT),createTime:y(e.Create_time??e.CREATE_TIME),updateTime:y(e.Update_time??e.UPDATE_TIME),dataLength:b(e.Data_length??e.DATA_LENGTH)}}function We(e){return{name:v(e.Field??e.COLUMN_NAME),type:v(e.Type??e.COLUMN_TYPE),nullable:v(e.Null??e.IS_NULLABLE).toUpperCase()===`YES`,key:Ve(e.Key??e.COLUMN_KEY),defaultValue:y(e.Default??e.COLUMN_DEFAULT),extra:v(e.Extra??e.EXTRA),comment:v(e.Comment??e.COLUMN_COMMENT),collation:y(e.Collation??e.COLLATION_NAME)}}function Ge(e){let t=new Map;for(let n of e){let e=v(n.Table??n.TABLE_NAME),r=v(n.Key_name??n.INDEX_NAME),i=v(n.Column_name??n.COLUMN_NAME),a=t.get(e);a||(a=new Map,t.set(e,a));let o=a.get(r);o?o.columns.push(i):a.set(r,{name:r,type:He(r,n.Non_unique??n.NON_UNIQUE,n.Index_type??n.INDEX_TYPE),columns:[i]})}return new Map(Array.from(t,([e,t])=>[e,Array.from(t.values())]))}var Ke={TABLE:`TABLE`,VIEW:`VIEW`,PROCEDURE:`PROCEDURE`,FUNCTION:`FUNCTION`,TRIGGER:`TRIGGER`,EVENT:`EVENT`},qe={async listDatabases(e){return(await e(`SHOW DATABASES`)).records.map(e=>v(e[0]))},async listTables(e,t){return _(await e(`SHOW TABLE STATUS FROM ${M(t)} WHERE ENGINE IS NOT NULL`,t)).map(Ue)},async listViews(e,t){return(await e(`SELECT TABLE_NAME FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_SCHEMA = ${P(t)} ORDER BY TABLE_NAME`,t)).records.map(e=>v(e[0]))},async listProcedures(e,t){return _(await e(`SHOW PROCEDURE STATUS WHERE DB = ${P(t)}`,t)).map(e=>v(e.Name))},async listFunctions(e,t){return _(await e(`SHOW FUNCTION STATUS WHERE DB = ${P(t)}`,t)).map(e=>v(e.Name))},async listTriggers(e,t){return _(await e(`SHOW TRIGGERS FROM ${M(t)}`,t)).map(e=>v(e.Trigger))},async listEvents(e,t){return(await e(`SELECT EVENT_NAME FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA = ${P(t)} ORDER BY EVENT_NAME`,t)).records.map(e=>v(e[0]))},async listColumns(e,t,n){return _(await e(`SHOW FULL COLUMNS FROM ${N(t,n)}`,t)).map(We)},async listIndexes(e,t,n){return Ge(_(await e(`SHOW INDEX FROM ${N(t,n)}`,t))).get(n)??[]},async listAllColumns(e,t){let n=await e(`SELECT TABLE_NAME, COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_KEY, COLUMN_DEFAULT,
|
|
@@ -101,7 +101,7 @@ DELIMITER;`,ALTER_EVENT:`DELIMITER $$
|
|
|
101
101
|
USE \`{0}\`$$
|
|
102
102
|
DROP EVENT IF EXISTS \`{1}\`$$
|
|
103
103
|
{2}$$
|
|
104
|
-
DELIMITER;`,SHOW_PROCESS_LIST:`SHOW FULL PROCESSLIST`,SHOW_VARIABLES:`SHOW VARIABLES`,SHOW_STATUS:`SHOW STATUS`,SHOW_GLOBAL_STATUS:`SHOW GLOBAL STATUS`,SHOW_SESSION_STATUS:`SHOW SESSION STATUS`,CREATE_DATABASE:"CREATE DATABASE `{0}` CHARACTER SET {1} COLLATE {2}",ALTER_DATABASE:"ALTER DATABASE `{0}` CHARACTER SET {1} COLLATE {2}",DROP_DATABASE:"DROP DATABASE `{0}`",CREATE_SCHEMA:"CREATE SCHEMA `{0}`",DROP_SCHEMA:"DROP SCHEMA `{0}`",SHOW_CHARSET:`SHOW CHARSET`,SHOW_COLLATION:`SHOW COLLATION`,SHOW_COLUMNS:"SHOW FULL COLUMNS FROM `{0}`.`{1}`",CHARSET_DATABASE:`SHOW VARIABLES LIKE 'character_set_database'`,COLLATION_DATABASE:`SHOW VARIABLES LIKE 'collation_database'`,KILL_QUERY:`KILL {0}`,SHOW_DATABASES:`SHOW DATABASES`,COPY_TABLE_STRUCTURE:"CREATE TABLE `{2}`.`{3}` LIKE `{0}`.`{1}`",COPY_TABLE_DATA:"INSERT `{2}`.`{3}` SELECT * FROM `{0}`.`{1}`",UPDATE_TABLE_SINGLE:"UPDATE `{0}`.`{1}` SET {2} WHERE {3} LIMIT 1",START_TRANSACTION:`START TRANSACTION`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,SHOW_GLOBAL_VARIABLES:`SHOW GLOBAL VARIABLES`,SHOW_SESSION_VARIABLES:`SHOW SESSION VARIABLES`,DISABLE_FK_CHECKS:`SET FOREIGN_KEY_CHECKS = 0`,ENABLE_FK_CHECKS:`SET FOREIGN_KEY_CHECKS = 1`},Ye=`ASCII.BIN.BIT_LENGTH.CHAR.CHAR_LENGTH.CHARACTER_LENGTH.CONCAT.CONCAT_WS.ELT.EXPORT_SET.FIELD.FIND_IN_SET.FORMAT.FROM_BASE64.HEX.INSERT.INSTR.LCASE.LEFT.LENGTH.LOAD_FILE.LOCATE.LOWER.LPAD.LTRIM.MAKE_SET.MID.OCT.OCTET_LENGTH.ORD.POSITION.QUOTE.REGEXP_INSTR.REGEXP_LIKE.REGEXP_REPLACE.REGEXP_SUBSTR.REPEAT.REPLACE.REVERSE.RIGHT.RPAD.RTRIM.SOUNDEX.SPACE.STRCMP.SUBSTR.SUBSTRING.SUBSTRING_INDEX.TO_BASE64.TRIM.UCASE.UNHEX.UPPER.WEIGHT_STRING.ABS.ACOS.ASIN.ATAN.ATAN2.CEIL.CEILING.CONV.COS.COT.CRC32.DEGREES.EXP.FLOOR.LN.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.RAND.ROUND.SIGN.SIN.SQRT.TAN.TRUNCATE.ADDDATE.ADDTIME.CONVERT_TZ.CURDATE.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURTIME.DATE.DATE_ADD.DATE_FORMAT.DATE_SUB.DATEDIFF.DAY.DAYNAME.DAYOFMONTH.DAYOFWEEK.DAYOFYEAR.EXTRACT.FROM_DAYS.FROM_UNIXTIME.GET_FORMAT.HOUR.LAST_DAY.LOCALTIME.LOCALTIMESTAMP.MAKEDATE.MAKETIME.MICROSECOND.MINUTE.MONTH.MONTHNAME.NOW.PERIOD_ADD.PERIOD_DIFF.QUARTER.SEC_TO_TIME.SECOND.STR_TO_DATE.SUBDATE.SUBTIME.SYSDATE.TIME.TIME_FORMAT.TIME_TO_SEC.TIMEDIFF.TIMESTAMP.TIMESTAMPADD.TIMESTAMPDIFF.TO_DAYS.TO_SECONDS.UNIX_TIMESTAMP.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.WEEK.WEEKDAY.WEEKOFYEAR.YEAR.YEARWEEK.BINARY.CAST.COALESCE.CONVERT.GREATEST.IF.IFNULL.INTERVAL.ISNULL.LEAST.NULLIF.AVG.BIT_AND.BIT_OR.BIT_XOR.COUNT.GROUP_CONCAT.JSON_ARRAYAGG.JSON_OBJECTAGG.MAX.MIN.STD.STDDEV.STDDEV_POP.STDDEV_SAMP.SUM.VAR_POP.VAR_SAMP.VARIANCE.CUME_DIST.DENSE_RANK.FIRST_VALUE.LAG.LAST_VALUE.LEAD.NTH_VALUE.NTILE.PERCENT_RANK.RANK.ROW_NUMBER.JSON_ARRAY.JSON_ARRAY_APPEND.JSON_ARRAY_INSERT.JSON_CONTAINS.JSON_CONTAINS_PATH.JSON_DEPTH.JSON_EXTRACT.JSON_INSERT.JSON_KEYS.JSON_LENGTH.JSON_MERGE_PATCH.JSON_MERGE_PRESERVE.JSON_OBJECT.JSON_OVERLAPS.JSON_PRETTY.JSON_QUOTE.JSON_REMOVE.JSON_REPLACE.JSON_SCHEMA_VALID.JSON_SCHEMA_VALIDATION_REPORT.JSON_SEARCH.JSON_SET.JSON_STORAGE_FREE.JSON_STORAGE_SIZE.JSON_TABLE.JSON_TYPE.JSON_UNQUOTE.JSON_VALID.JSON_VALUE.AES_DECRYPT.AES_ENCRYPT.COMPRESS.MD5.RANDOM_BYTES.SHA.SHA1.SHA2.STATEMENT_DIGEST.STATEMENT_DIGEST_TEXT.UNCOMPRESS.UNCOMPRESSED_LENGTH.VALIDATE_PASSWORD_STRENGTH.BENCHMARK.CHARSET.COERCIBILITY.COLLATION.CONNECTION_ID.CURRENT_ROLE.CURRENT_USER.DATABASE.FOUND_ROWS.ICU_VERSION.LAST_INSERT_ID.ROLES_GRAPHML.ROW_COUNT.SCHEMA.SESSION_USER.SYSTEM_USER.USER.VERSION.ANY_VALUE.BIN_TO_UUID.DEFAULT.FORMAT_BYTES.FORMAT_PICO_TIME.GET_LOCK.GROUPING.GTID_SUBSET.GTID_SUBTRACT.INET_ATON.INET_NTOA.INET6_ATON.INET6_NTOA.IS_FREE_LOCK.IS_IPV4.IS_IPV4_COMPAT.IS_IPV4_MAPPED.IS_IPV6.IS_USED_LOCK.IS_UUID.NAME_CONST.PS_CURRENT_THREAD_ID.PS_THREAD_ID.RELEASE_ALL_LOCKS.RELEASE_LOCK.SLEEP.SOURCE_POS_WAIT.UUID.UUID_SHORT.UUID_TO_BIN.VALUES.WAIT_FOR_EXECUTED_GTID_SET.EXTRACTVALUE.UPDATEXML.GEOMETRYCOLLECTION.LINESTRING.MULTILINESTRING.MULTIPOINT.MULTIPOLYGON.POINT.POLYGON.MBRCONTAINS.MBRCOVEREDBY.MBRCOVERS.MBRDISJOINT.MBREQUALS.MBRINTERSECTS.MBROVERLAPS.MBRTOUCHES.MBRWITHIN.ST_AREA.ST_ASBINARY.ST_ASGEOJSON.ST_ASTEXT.ST_BUFFER.ST_CENTROID.ST_CONTAINS.ST_CROSSES.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_DISTANCE_SPHERE.ST_ENDPOINT.ST_ENVELOPE.ST_EQUALS.ST_EXTERIORRING.ST_GEOHASH.ST_GEOMCOLLFROMTEXT.ST_GEOMETRYN.ST_GEOMETRYTYPE.ST_GEOMFROMGEOJSON.ST_GEOMFROMTEXT.ST_GEOMFROMWKB.ST_INTERIORRINGN.ST_INTERSECTION.ST_INTERSECTS.ST_ISCLOSED.ST_ISEMPTY.ST_ISSIMPLE.ST_ISVALID.ST_LATITUDE.ST_LENGTH.ST_LINEFROMTEXT.ST_LONGITUDE.ST_MAKEENVELOPE.ST_NUMGEOMETRIES.ST_NUMINTERIORRING.ST_NUMPOINTS.ST_OVERLAPS.ST_POINTFROMTEXT.ST_POINTN.ST_POLYFROMTEXT.ST_SIMPLIFY.ST_SRID.ST_STARTPOINT.ST_SWAPXY.ST_SYMDIFFERENCE.ST_TOUCHES.ST_TRANSFORM.ST_UNION.ST_VALIDATE.ST_WITHIN.ST_X.ST_Y`.split(`.`),Xe=`ACCESSIBLE.ADD.ALL.ALTER.ANALYZE.AND.AS.ASC.ASENSITIVE.BEFORE.BETWEEN.BIGINT.BINARY.BLOB.BOTH.BY.CALL.CASCADE.CASE.CHANGE.CHAR.CHARACTER.CHECK.COLLATE.COLUMN.CONDITION.CONSTRAINT.CONTINUE.CONVERT.CREATE.CROSS.CUBE.CUME_DIST.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATABASES.DAY_HOUR.DAY_MICROSECOND.DAY_MINUTE.DAY_SECOND.DEC.DECIMAL.DECLARE.DEFAULT.DELAYED.DELETE.DENSE_RANK.DESC.DESCRIBE.DETERMINISTIC.DISTINCT.DISTINCTROW.DIV.DOUBLE.DROP.DUAL.EACH.ELSE.ELSEIF.EMPTY.ENCLOSED.ESCAPED.EXCEPT.EXISTS.EXIT.EXPLAIN.FALSE.FETCH.FIRST_VALUE.FLOAT.FLOAT4.FLOAT8.FOR.FORCE.FOREIGN.FROM.FULLTEXT.FUNCTION.GENERATED.GET.GRANT.GROUP.GROUPING.GROUPS.HAVING.HIGH_PRIORITY.HOUR_MICROSECOND.HOUR_MINUTE.HOUR_SECOND.IF.IGNORE.IN.INDEX.INFILE.INNER.INOUT.INSENSITIVE.INSERT.INT.INT1.INT2.INT3.INT4.INT8.INTEGER.INTERSECT.INTERVAL.INTO.IO_AFTER_GTIDS.IO_BEFORE_GTIDS.IS.ITERATE.JOIN.JSON_TABLE.KEY.KEYS.KILL.LAG.LAST_VALUE.LATERAL.LEAD.LEADING.LEAVE.LEFT.LIKE.LIMIT.LINEAR.LINES.LOAD.LOCALTIME.LOCALTIMESTAMP.LOCK.LONG.LONGBLOB.LONGTEXT.LOOP.LOW_PRIORITY.MASTER_SSL_VERIFY_SERVER_CERT.MATCH.MAXVALUE.MEDIUMBLOB.MEDIUMINT.MEDIUMTEXT.MIDDLEINT.MINUTE_MICROSECOND.MINUTE_SECOND.MOD.MODIFIES.NATURAL.NOT.NO_WRITE_TO_BINLOG.NTH_VALUE.NTILE.NULL.NUMERIC.OF.ON.OPTIMIZE.OPTIMIZER_COSTS.OPTION.OPTIONALLY.OR.ORDER.OUT.OUTER.OUTFILE.OVER.PARTITION.PERCENT_RANK.PRECISION.PRIMARY.PROCEDURE.PURGE.RANGE.RANK.READ.READS.READ_WRITE.REAL.RECURSIVE.REFERENCES.REGEXP.RELEASE.RENAME.REPEAT.REPLACE.REQUIRE.RESIGNAL.RESTRICT.RETURN.REVOKE.RIGHT.RLIKE.ROW.ROWS.ROW_NUMBER.SCHEMA.SCHEMAS.SECOND_MICROSECOND.SELECT.SENSITIVE.SEPARATOR.SET.SHOW.SIGNAL.SMALLINT.SPATIAL.SPECIFIC.SQL.SQLEXCEPTION.SQLSTATE.SQLWARNING.SQL_BIG_RESULT.SQL_CALC_FOUND_ROWS.SQL_SMALL_RESULT.SSL.STARTING.STORED.STRAIGHT_JOIN.SYSTEM.TABLE.TERMINATED.THEN.TINYBLOB.TINYINT.TINYTEXT.TO.TRAILING.TRIGGER.TRUE.UNDO.UNION.UNIQUE.UNLOCK.UNSIGNED.UPDATE.USAGE.USE.USING.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.VALUES.VARBINARY.VARCHAR.VARCHARACTER.VARYING.VIRTUAL.WHEN.WHERE.WHILE.WINDOW.WITH.WRITE.XOR.YEAR_MONTH.ZEROFILL`.split(`.`),Ze=`AUTO_INCREMENT.BEGIN.CHARSET.COMMENT.COMMIT.DO.END.ENGINE.EVENT.FIRST.FOLLOWING.IF EXISTS.IF NOT EXISTS.INVISIBLE.LAST.NULLS.OFFSET.PRECEDING.ROLLBACK.SAVEPOINT.START TRANSACTION.TEMPORARY.TRANSACTION.TRUNCATE.UNBOUNDED.VIEW.VISIBLE.CROSS JOIN.GROUP BY.INNER JOIN.INSERT INTO.LEFT JOIN.ON DUPLICATE KEY UPDATE.ORDER BY.PARTITION BY.RIGHT JOIN.UNION ALL`.split(`.`),Qe=`tinyint.smallint.mediumint.int.integer.bigint.decimal.numeric.float.double.bit.bool.boolean.date.datetime.timestamp.time.year.char.varchar.binary.varbinary.tinyblob.blob.mediumblob.longblob.tinytext.text.mediumtext.longtext.enum.set.json.geometry.point.linestring.polygon.multipoint.multilinestring.multipolygon.geometrycollection`.split(`.`),$e={hashComments:!0,dashCommentNeedsSpace:!0,backslashEscapes:!0,doubleQuoteIsIdentifier:!1,bracketIdentifiers:!1,delimiterCommand:!0,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function et(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:
|
|
104
|
+
DELIMITER;`,SHOW_PROCESS_LIST:`SHOW FULL PROCESSLIST`,SHOW_VARIABLES:`SHOW VARIABLES`,SHOW_STATUS:`SHOW STATUS`,SHOW_GLOBAL_STATUS:`SHOW GLOBAL STATUS`,SHOW_SESSION_STATUS:`SHOW SESSION STATUS`,CREATE_DATABASE:"CREATE DATABASE `{0}` CHARACTER SET {1} COLLATE {2}",ALTER_DATABASE:"ALTER DATABASE `{0}` CHARACTER SET {1} COLLATE {2}",DROP_DATABASE:"DROP DATABASE `{0}`",CREATE_SCHEMA:"CREATE SCHEMA `{0}`",DROP_SCHEMA:"DROP SCHEMA `{0}`",SHOW_CHARSET:`SHOW CHARSET`,SHOW_COLLATION:`SHOW COLLATION`,SHOW_COLUMNS:"SHOW FULL COLUMNS FROM `{0}`.`{1}`",CHARSET_DATABASE:`SHOW VARIABLES LIKE 'character_set_database'`,COLLATION_DATABASE:`SHOW VARIABLES LIKE 'collation_database'`,KILL_QUERY:`KILL {0}`,SHOW_DATABASES:`SHOW DATABASES`,COPY_TABLE_STRUCTURE:"CREATE TABLE `{2}`.`{3}` LIKE `{0}`.`{1}`",COPY_TABLE_DATA:"INSERT `{2}`.`{3}` SELECT * FROM `{0}`.`{1}`",UPDATE_TABLE_SINGLE:"UPDATE `{0}`.`{1}` SET {2} WHERE {3} LIMIT 1",START_TRANSACTION:`START TRANSACTION`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,SHOW_GLOBAL_VARIABLES:`SHOW GLOBAL VARIABLES`,SHOW_SESSION_VARIABLES:`SHOW SESSION VARIABLES`,DISABLE_FK_CHECKS:`SET FOREIGN_KEY_CHECKS = 0`,ENABLE_FK_CHECKS:`SET FOREIGN_KEY_CHECKS = 1`},Ye=`ASCII.BIN.BIT_LENGTH.CHAR.CHAR_LENGTH.CHARACTER_LENGTH.CONCAT.CONCAT_WS.ELT.EXPORT_SET.FIELD.FIND_IN_SET.FORMAT.FROM_BASE64.HEX.INSERT.INSTR.LCASE.LEFT.LENGTH.LOAD_FILE.LOCATE.LOWER.LPAD.LTRIM.MAKE_SET.MID.OCT.OCTET_LENGTH.ORD.POSITION.QUOTE.REGEXP_INSTR.REGEXP_LIKE.REGEXP_REPLACE.REGEXP_SUBSTR.REPEAT.REPLACE.REVERSE.RIGHT.RPAD.RTRIM.SOUNDEX.SPACE.STRCMP.SUBSTR.SUBSTRING.SUBSTRING_INDEX.TO_BASE64.TRIM.UCASE.UNHEX.UPPER.WEIGHT_STRING.ABS.ACOS.ASIN.ATAN.ATAN2.CEIL.CEILING.CONV.COS.COT.CRC32.DEGREES.EXP.FLOOR.LN.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.RAND.ROUND.SIGN.SIN.SQRT.TAN.TRUNCATE.ADDDATE.ADDTIME.CONVERT_TZ.CURDATE.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURTIME.DATE.DATE_ADD.DATE_FORMAT.DATE_SUB.DATEDIFF.DAY.DAYNAME.DAYOFMONTH.DAYOFWEEK.DAYOFYEAR.EXTRACT.FROM_DAYS.FROM_UNIXTIME.GET_FORMAT.HOUR.LAST_DAY.LOCALTIME.LOCALTIMESTAMP.MAKEDATE.MAKETIME.MICROSECOND.MINUTE.MONTH.MONTHNAME.NOW.PERIOD_ADD.PERIOD_DIFF.QUARTER.SEC_TO_TIME.SECOND.STR_TO_DATE.SUBDATE.SUBTIME.SYSDATE.TIME.TIME_FORMAT.TIME_TO_SEC.TIMEDIFF.TIMESTAMP.TIMESTAMPADD.TIMESTAMPDIFF.TO_DAYS.TO_SECONDS.UNIX_TIMESTAMP.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.WEEK.WEEKDAY.WEEKOFYEAR.YEAR.YEARWEEK.BINARY.CAST.COALESCE.CONVERT.GREATEST.IF.IFNULL.INTERVAL.ISNULL.LEAST.NULLIF.AVG.BIT_AND.BIT_OR.BIT_XOR.COUNT.GROUP_CONCAT.JSON_ARRAYAGG.JSON_OBJECTAGG.MAX.MIN.STD.STDDEV.STDDEV_POP.STDDEV_SAMP.SUM.VAR_POP.VAR_SAMP.VARIANCE.CUME_DIST.DENSE_RANK.FIRST_VALUE.LAG.LAST_VALUE.LEAD.NTH_VALUE.NTILE.PERCENT_RANK.RANK.ROW_NUMBER.JSON_ARRAY.JSON_ARRAY_APPEND.JSON_ARRAY_INSERT.JSON_CONTAINS.JSON_CONTAINS_PATH.JSON_DEPTH.JSON_EXTRACT.JSON_INSERT.JSON_KEYS.JSON_LENGTH.JSON_MERGE_PATCH.JSON_MERGE_PRESERVE.JSON_OBJECT.JSON_OVERLAPS.JSON_PRETTY.JSON_QUOTE.JSON_REMOVE.JSON_REPLACE.JSON_SCHEMA_VALID.JSON_SCHEMA_VALIDATION_REPORT.JSON_SEARCH.JSON_SET.JSON_STORAGE_FREE.JSON_STORAGE_SIZE.JSON_TABLE.JSON_TYPE.JSON_UNQUOTE.JSON_VALID.JSON_VALUE.AES_DECRYPT.AES_ENCRYPT.COMPRESS.MD5.RANDOM_BYTES.SHA.SHA1.SHA2.STATEMENT_DIGEST.STATEMENT_DIGEST_TEXT.UNCOMPRESS.UNCOMPRESSED_LENGTH.VALIDATE_PASSWORD_STRENGTH.BENCHMARK.CHARSET.COERCIBILITY.COLLATION.CONNECTION_ID.CURRENT_ROLE.CURRENT_USER.DATABASE.FOUND_ROWS.ICU_VERSION.LAST_INSERT_ID.ROLES_GRAPHML.ROW_COUNT.SCHEMA.SESSION_USER.SYSTEM_USER.USER.VERSION.ANY_VALUE.BIN_TO_UUID.DEFAULT.FORMAT_BYTES.FORMAT_PICO_TIME.GET_LOCK.GROUPING.GTID_SUBSET.GTID_SUBTRACT.INET_ATON.INET_NTOA.INET6_ATON.INET6_NTOA.IS_FREE_LOCK.IS_IPV4.IS_IPV4_COMPAT.IS_IPV4_MAPPED.IS_IPV6.IS_USED_LOCK.IS_UUID.NAME_CONST.PS_CURRENT_THREAD_ID.PS_THREAD_ID.RELEASE_ALL_LOCKS.RELEASE_LOCK.SLEEP.SOURCE_POS_WAIT.UUID.UUID_SHORT.UUID_TO_BIN.VALUES.WAIT_FOR_EXECUTED_GTID_SET.EXTRACTVALUE.UPDATEXML.GEOMETRYCOLLECTION.LINESTRING.MULTILINESTRING.MULTIPOINT.MULTIPOLYGON.POINT.POLYGON.MBRCONTAINS.MBRCOVEREDBY.MBRCOVERS.MBRDISJOINT.MBREQUALS.MBRINTERSECTS.MBROVERLAPS.MBRTOUCHES.MBRWITHIN.ST_AREA.ST_ASBINARY.ST_ASGEOJSON.ST_ASTEXT.ST_BUFFER.ST_CENTROID.ST_CONTAINS.ST_CROSSES.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_DISTANCE_SPHERE.ST_ENDPOINT.ST_ENVELOPE.ST_EQUALS.ST_EXTERIORRING.ST_GEOHASH.ST_GEOMCOLLFROMTEXT.ST_GEOMETRYN.ST_GEOMETRYTYPE.ST_GEOMFROMGEOJSON.ST_GEOMFROMTEXT.ST_GEOMFROMWKB.ST_INTERIORRINGN.ST_INTERSECTION.ST_INTERSECTS.ST_ISCLOSED.ST_ISEMPTY.ST_ISSIMPLE.ST_ISVALID.ST_LATITUDE.ST_LENGTH.ST_LINEFROMTEXT.ST_LONGITUDE.ST_MAKEENVELOPE.ST_NUMGEOMETRIES.ST_NUMINTERIORRING.ST_NUMPOINTS.ST_OVERLAPS.ST_POINTFROMTEXT.ST_POINTN.ST_POLYFROMTEXT.ST_SIMPLIFY.ST_SRID.ST_STARTPOINT.ST_SWAPXY.ST_SYMDIFFERENCE.ST_TOUCHES.ST_TRANSFORM.ST_UNION.ST_VALIDATE.ST_WITHIN.ST_X.ST_Y`.split(`.`),Xe=`ACCESSIBLE.ADD.ALL.ALTER.ANALYZE.AND.AS.ASC.ASENSITIVE.BEFORE.BETWEEN.BIGINT.BINARY.BLOB.BOTH.BY.CALL.CASCADE.CASE.CHANGE.CHAR.CHARACTER.CHECK.COLLATE.COLUMN.CONDITION.CONSTRAINT.CONTINUE.CONVERT.CREATE.CROSS.CUBE.CUME_DIST.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATABASES.DAY_HOUR.DAY_MICROSECOND.DAY_MINUTE.DAY_SECOND.DEC.DECIMAL.DECLARE.DEFAULT.DELAYED.DELETE.DENSE_RANK.DESC.DESCRIBE.DETERMINISTIC.DISTINCT.DISTINCTROW.DIV.DOUBLE.DROP.DUAL.EACH.ELSE.ELSEIF.EMPTY.ENCLOSED.ESCAPED.EXCEPT.EXISTS.EXIT.EXPLAIN.FALSE.FETCH.FIRST_VALUE.FLOAT.FLOAT4.FLOAT8.FOR.FORCE.FOREIGN.FROM.FULLTEXT.FUNCTION.GENERATED.GET.GRANT.GROUP.GROUPING.GROUPS.HAVING.HIGH_PRIORITY.HOUR_MICROSECOND.HOUR_MINUTE.HOUR_SECOND.IF.IGNORE.IN.INDEX.INFILE.INNER.INOUT.INSENSITIVE.INSERT.INT.INT1.INT2.INT3.INT4.INT8.INTEGER.INTERSECT.INTERVAL.INTO.IO_AFTER_GTIDS.IO_BEFORE_GTIDS.IS.ITERATE.JOIN.JSON_TABLE.KEY.KEYS.KILL.LAG.LAST_VALUE.LATERAL.LEAD.LEADING.LEAVE.LEFT.LIKE.LIMIT.LINEAR.LINES.LOAD.LOCALTIME.LOCALTIMESTAMP.LOCK.LONG.LONGBLOB.LONGTEXT.LOOP.LOW_PRIORITY.MASTER_SSL_VERIFY_SERVER_CERT.MATCH.MAXVALUE.MEDIUMBLOB.MEDIUMINT.MEDIUMTEXT.MIDDLEINT.MINUTE_MICROSECOND.MINUTE_SECOND.MOD.MODIFIES.NATURAL.NOT.NO_WRITE_TO_BINLOG.NTH_VALUE.NTILE.NULL.NUMERIC.OF.ON.OPTIMIZE.OPTIMIZER_COSTS.OPTION.OPTIONALLY.OR.ORDER.OUT.OUTER.OUTFILE.OVER.PARTITION.PERCENT_RANK.PRECISION.PRIMARY.PROCEDURE.PURGE.RANGE.RANK.READ.READS.READ_WRITE.REAL.RECURSIVE.REFERENCES.REGEXP.RELEASE.RENAME.REPEAT.REPLACE.REQUIRE.RESIGNAL.RESTRICT.RETURN.REVOKE.RIGHT.RLIKE.ROW.ROWS.ROW_NUMBER.SCHEMA.SCHEMAS.SECOND_MICROSECOND.SELECT.SENSITIVE.SEPARATOR.SET.SHOW.SIGNAL.SMALLINT.SPATIAL.SPECIFIC.SQL.SQLEXCEPTION.SQLSTATE.SQLWARNING.SQL_BIG_RESULT.SQL_CALC_FOUND_ROWS.SQL_SMALL_RESULT.SSL.STARTING.STORED.STRAIGHT_JOIN.SYSTEM.TABLE.TERMINATED.THEN.TINYBLOB.TINYINT.TINYTEXT.TO.TRAILING.TRIGGER.TRUE.UNDO.UNION.UNIQUE.UNLOCK.UNSIGNED.UPDATE.USAGE.USE.USING.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.VALUES.VARBINARY.VARCHAR.VARCHARACTER.VARYING.VIRTUAL.WHEN.WHERE.WHILE.WINDOW.WITH.WRITE.XOR.YEAR_MONTH.ZEROFILL`.split(`.`),Ze=`AUTO_INCREMENT.BEGIN.CHARSET.COMMENT.COMMIT.DO.END.ENGINE.EVENT.FIRST.FOLLOWING.IF EXISTS.IF NOT EXISTS.INVISIBLE.LAST.NULLS.OFFSET.PRECEDING.ROLLBACK.SAVEPOINT.START TRANSACTION.TEMPORARY.TRANSACTION.TRUNCATE.UNBOUNDED.VIEW.VISIBLE.CROSS JOIN.GROUP BY.INNER JOIN.INSERT INTO.LEFT JOIN.ON DUPLICATE KEY UPDATE.ORDER BY.PARTITION BY.RIGHT JOIN.UNION ALL`.split(`.`),Qe=`tinyint.smallint.mediumint.int.integer.bigint.decimal.numeric.float.double.bit.bool.boolean.date.datetime.timestamp.time.year.char.varchar.binary.varbinary.tinyblob.blob.mediumblob.longblob.tinytext.text.mediumtext.longtext.enum.set.json.geometry.point.linestring.polygon.multipoint.multilinestring.multipolygon.geometrycollection`.split(`.`),$e={hashComments:!0,dashCommentNeedsSpace:!0,backslashEscapes:!0,doubleQuoteIsIdentifier:!1,bracketIdentifiers:!1,delimiterCommand:!0,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function et(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:r}=e;return{...i(e,{addColumn:`ADD COLUMN`,modify:`mysql`,qualifiedIndexNames:!1,dropIndexOnTable:!0,unqualifiedIndexTarget:!1,multiRowInsert:!0,mysqlAttributes:!0,fulltext:!0,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let i=e.columns.map(e=>{let r=` ${t(x(e.name,`column`))} ${e.type.toUpperCase()}`;return e.length&&(r+=`(${e.length})`),e.unsigned&&(r+=` UNSIGNED`),e.zerofill&&(r+=` ZEROFILL`),e.notNull&&(r+=` NOT NULL`),e.autoIncrement&&(r+=` AUTO_INCREMENT`),e.defaultValue&&(r+=` DEFAULT ${e.defaultValue}`),e.comment&&(r+=` COMMENT ${n(e.comment)}`),r}),a=e.columns.filter(e=>e.primaryKey).map(e=>t(e.name));a.length>0&&i.push(` PRIMARY KEY (${a.join(`, `)})`);for(let n of e.indexes){if(n.type===`PRIMARY`)continue;let e=n.columns.map(t).join(`, `),r=n.type===`UNIQUE`?`UNIQUE KEY`:n.type===`FULLTEXT`?`FULLTEXT KEY`:`KEY`;i.push(` ${r} ${t(n.name)} (${e})`)}let o=[];return e.options.engine&&o.push(`ENGINE=${e.options.engine}`),e.options.charset&&o.push(`DEFAULT CHARSET=${e.options.charset}`),e.options.collation&&o.push(`COLLATE=${e.options.collation}`),e.options.autoIncrement&&o.push(`AUTO_INCREMENT=${e.options.autoIncrement}`),e.options.comment&&o.push(`COMMENT=${n(e.options.comment)}`),`CREATE TABLE ${r(e.database,x(e.name,`untitled`))} (\n${i.join(`,
|
|
105
105
|
`)}\n)${o.length?` `+o.join(` `):``};`}}}var tt={id:`mysql`,label:`MySQL`,capabilities:{multipleDatabases:!0,schemas:!1,users:!0,procedures:!0,functions:!0,triggers:!0,events:!0,processList:!0,variables:!0,status:!0,flush:!0,tableProperties:!0,implicitCommitDdl:!0,transactions:!0},explain:Me,introspect:qe,ddl:et,identifierQuote:"`",defaultPort:3306,queries:Je,syntax:$e,dataTypes:Qe,functions:Ye,reservedWords:[...Xe,...Ze]},F=S(tt),nt=new Set(`REGEXP_LIKE.JSON_SCHEMA_VALIDATION_REPORT.JSON_STORAGE_FREE.JSON_STORAGE_SIZE.STATEMENT_DIGEST.STATEMENT_DIGEST_TEXT.VALIDATE_PASSWORD_STRENGTH.ICU_VERSION.ROLES_GRAPHML.ANY_VALUE.BIN_TO_UUID.UUID_TO_BIN.IS_UUID.GROUPING.FORMAT_BYTES.FORMAT_PICO_TIME.PS_CURRENT_THREAD_ID.PS_THREAD_ID.SOURCE_POS_WAIT.WAIT_FOR_EXECUTED_GTID_SET.ST_GEOHASH.ST_LATITUDE.ST_LONGITUDE.ST_MAKEENVELOPE.ST_SIMPLIFY.ST_TRANSFORM.ST_VALIDATE.ST_SWAPXY.CUBE.CUME_DIST.DENSE_RANK.EMPTY.FIRST_VALUE.GENERATED.GET.GROUPS.IO_AFTER_GTIDS.IO_BEFORE_GTIDS.JSON_TABLE.LAG.LAST_VALUE.LATERAL.LEAD.NTH_VALUE.NTILE.OF.OPTIMIZER_COSTS.PERCENT_RANK.RANK.STORED.SYSTEM.VIRTUAL`.split(`.`)),rt=`ADD_MONTHS.BINLOG_GTID_POS.COLUMN_ADD.COLUMN_CHECK.COLUMN_CREATE.COLUMN_DELETE.COLUMN_EXISTS.COLUMN_GET.COLUMN_JSON.COLUMN_LIST.CRC32C.DECODE.DECODE_ORACLE.DES_DECRYPT.DES_ENCRYPT.ENCODE.ENCRYPT.JSON_ARRAY_INTERSECT.JSON_COMPACT.JSON_DETAILED.JSON_EQUALS.JSON_EXISTS.JSON_KEY_VALUE.JSON_LOOSE.JSON_NORMALIZE.JSON_OBJECT_FILTER_KEYS.JSON_OBJECT_TO_ARRAY.JSON_QUERY.KDF.LASTVAL.MASTER_GTID_WAIT.MASTER_POS_WAIT.MEDIAN.NATURAL_SORT_KEY.NEXTVAL.NVL.NVL2.OLD_PASSWORD.PASSWORD.PERCENTILE_CONT.PERCENTILE_DISC.ROWNUM.SETVAL.SFORMAT.SYS_GUID.TO_CHAR.TRIM_ORACLE.VALUE`.split(`.`),it=[`DELETE_DOMAIN_ID`,`DO_DOMAIN_IDS`,`IGNORE_DOMAIN_IDS`,`IGNORE_SERVER_IDS`,`MASTER_HEARTBEAT_PERIOD`,`OFFSET`,`PAGE_CHECKSUM`,`PARSE_VCOL_EXPR`,`POSITION`,`REF_SYSTEM_ID`,`RETURNING`,`SLOW`,`STATS_AUTO_RECALC`,`STATS_PERSISTENT`,`STATS_SAMPLE_PAGES`,`SEQUENCE`,`SYSTEM_TIME`,`SYSTEM_VERSIONING`,`WITHOUT`],at=e=>e.filter(e=>!nt.has(e)),ot=e=>[...new Set(e)],st=S({...tt,id:`maria`,label:`MariaDB`,explain:Ne,dataTypes:[...Qe,`inet4`,`inet6`,`uuid`],functions:ot([...at(Ye),...rt]).sort(),reservedWords:ot([...at(Xe),...it,...Ze])}),I=e=>`"${e.replaceAll(`"`,`""`)}"`,ct=(e,t)=>`${I(e)}.${I(t)}`,L=e=>`'${e.replace(/'/g,`''`)}'`,lt=`n.nspname NOT LIKE 'pg\\_%' AND n.nspname <> 'information_schema'`;async function ut(e,t,n){return(await e(`SELECT c.relname FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
106
106
|
WHERE n.nspname = ${L(t)} AND c.relkind IN (${n.map(L).join(`, `)}) ORDER BY c.relname`)).records.map(e=>v(e[0]))}async function dt(e,t,n){return(await e(`SELECT DISTINCT p.proname FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
|
|
107
107
|
WHERE n.nspname = ${L(t)} AND p.prokind = ${L(n)} ORDER BY p.proname`)).records.map(e=>v(e[0]))}async function R(e,t,n){return _(await e(`SELECT c.relname AS table_name, a.attname AS name,
|
|
@@ -157,7 +157,7 @@ DELIMITER;`,SHOW_PROCESS_LIST:`SHOW FULL PROCESSLIST`,SHOW_VARIABLES:`SHOW VARIA
|
|
|
157
157
|
ORDER BY c.relname, con.conname, k.ord`)).records.map(e=>({name:v(e[0]),table:v(e[1]),column:v(e[2]),refTable:v(e[3]),refColumn:v(e[4])}))},async getTableInfo(e,t,n){return(await mt(e,t,n))[0]??null},async getPrimaryKeys(e,t,n){return(await z(e,t,n)).find(e=>e.primary)?.columns??[]},async getCreateStatement(e,t,n,r){switch(n){case`TABLE`:return ht(e,t,r);case`VIEW`:{let n=(await e(`SELECT c.relkind, pg_get_viewdef(c.oid, true) FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
158
158
|
WHERE n.nspname = ${L(t)} AND c.relname = ${L(r)} AND c.relkind IN ('v', 'm')`)).records[0];return n?`CREATE ${v(n[0])===`m`?`MATERIALIZED VIEW`:`VIEW`} ${ct(t,r)} AS\n${v(n[1])}`:null}case`PROCEDURE`:return gt(e,t,r,`p`);case`FUNCTION`:return gt(e,t,r,`f`);case`TRIGGER`:return y((await e(`SELECT pg_get_triggerdef(t.oid, true) FROM pg_trigger t
|
|
159
159
|
JOIN pg_class c ON c.oid = t.tgrelid JOIN pg_namespace n ON n.oid = c.relnamespace
|
|
160
|
-
WHERE n.nspname = ${L(t)} AND t.tgname = ${L(r)} AND NOT t.tgisinternal LIMIT 1`)).records[0]?.[0]);default:return null}}},bt={async loadRoot({engine:
|
|
160
|
+
WHERE n.nspname = ${L(t)} AND t.tgname = ${L(r)} AND NOT t.tgisinternal LIMIT 1`)).records[0]?.[0]);default:return null}}},bt={async loadRoot({engine:t,run:n,database:r}){let i=t.introspect.listCatalogs?await t.introspect.listCatalogs(n):[],a=r||(t.introspect.currentCatalog?await t.introspect.currentCatalog(n):``);return a&&!i.includes(a)&&i.unshift(a),i.map(t=>{let n=t===a;return o(null,e.DATABASE,t,!n,{catalog:t,unreachable:!n})})},async loadChildren(t,n){switch(n.type){case e.DATABASE:return n.metadata?.unreachable?[]:(await t.engine.introspect.listDatabases(t.run)).map(t=>o(n.id,e.SCHEMA,t,!1,{database:t,catalog:n.text}));case e.SCHEMA:return f(t.engine,n.id,{database:n.text,catalog:n.metadata?.catalog});default:return await m(t,n)??[]}},objectPath(e,t,n,r){let[i,a]=this.namespacePath(e,r);return[i,...h(a,t,n)]},namespacePath(t,n){let r=a(null,e.DATABASE,n??``);return[r,a(r,e.SCHEMA,t)]}},xt={SELECT_COUNT:`SELECT COUNT(1) AS cnt FROM "{0}"."{1}"`,SHOW_FULL_FIELDS:`SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_schema = '{0}' AND table_name = '{1}' ORDER BY ordinal_position`,SHOW_COLUMNS:`SELECT column_name, data_type, is_nullable, column_default FROM information_schema.columns WHERE table_schema = '{0}' AND table_name = '{1}' ORDER BY ordinal_position`,SHOW_DATABASE_VIEWS:`SELECT table_name FROM information_schema.views WHERE table_schema = '{0}' ORDER BY table_name`,SHOW_DATABASE_TABLES:`SELECT table_name FROM information_schema.tables WHERE table_schema = '{0}' AND table_type = 'BASE TABLE' ORDER BY table_name`,SHOW_DATABASE:`SELECT current_schema()`,SHOW_DATABASES:`SELECT nspname FROM pg_namespace WHERE nspname NOT LIKE 'pg\\_%' AND nspname <> 'information_schema' ORDER BY nspname`,ADD_INDEX:`CREATE {3} INDEX "{2}" ON "{0}"."{1}" ({4})`,SHOW_INDEXES:`SELECT indexname, indexdef FROM pg_indexes WHERE schemaname = '{0}' AND tablename = '{1}' ORDER BY indexname`,DROP_INDEX:`DROP INDEX "{0}"."{2}"`,DROP_PROCEDURE:`DROP PROCEDURE {2} "{0}"."{1}"`,DROP_FUNCTION:`DROP FUNCTION {2} "{0}"."{1}"`,DROP_TRIGGER:`DROP TRIGGER {2} "{1}" ON "{0}"."{3}"`,DROP_VIEW:`DROP VIEW {2} "{0}"."{1}"`,SHOW_PROCEDURES:`SELECT p.proname FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname = '{0}' AND p.prokind = 'p' ORDER BY 1`,SHOW_FUNCTIONS:`SELECT p.proname FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace WHERE n.nspname = '{0}' AND p.prokind = 'f' ORDER BY 1`,SHOW_TRIGGERS:`SELECT t.tgname, c.relname FROM pg_trigger t JOIN pg_class c ON c.oid = t.tgrelid JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = '{0}' AND NOT t.tgisinternal ORDER BY 1`,SHOW_VIEWS:`SELECT table_name AS "View_name", view_definition AS "View_definition" FROM information_schema.views WHERE table_schema = '{0}' ORDER BY table_name`,SHOW_ALL_TABLE_STATUS:`SELECT c.relname AS "Name", c.reltuples::bigint AS "Rows", obj_description(c.oid, 'pg_class') AS "Comment" FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = '{0}' AND c.relkind IN ('r', 'p') ORDER BY 1`,SHOW_TABLE_STATUS:`SELECT c.relname AS "Name", c.reltuples::bigint AS "Rows", obj_description(c.oid, 'pg_class') AS "Comment" FROM pg_class c JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = '{0}' AND c.relname = '{1}'`,INSERT_TABLE:`INSERT INTO "{0}"."{1}" ({2}) VALUES({3});`,INSERT_TABLE_BULK:`INSERT INTO "{0}"."{1}" ({2}) VALUES {3};`,INSERT_DEFAULT_VALUES:`INSERT INTO "{0}"."{1}" DEFAULT VALUES;`,UPDATE_TABLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3};`,UPDATE_TABLE_SINGLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3}`,START_TRANSACTION:`BEGIN`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,DELETE_TABLE:`DELETE FROM "{0}"."{1}" WHERE {2};`,SELECT_TABLE:`SELECT {2} FROM "{0}"."{1}" {3};`,TRUNCATE_TABLE:`TRUNCATE TABLE "{0}"."{1}"`,RENAME_TABLE:`ALTER TABLE "{0}"."{1}" RENAME TO "{3}"`,DROP_TABLE:`DROP TABLE {2} "{0}"."{1}"`,CREATE_PROCEDURE:`CREATE OR REPLACE PROCEDURE "{0}"."{1}"()
|
|
161
161
|
LANGUAGE plpgsql
|
|
162
162
|
AS $$
|
|
163
163
|
BEGIN
|
|
@@ -185,8 +185,8 @@ ON "{0}"."<Table Name>" FOR EACH ROW
|
|
|
185
185
|
EXECUTE FUNCTION "{0}"."<trigger_function>"();`,CREATE_VIEW:`CREATE VIEW "{0}"."{1}" AS
|
|
186
186
|
/* SQL SELECT Statement */`,CREATE_TABLE:`CREATE TABLE "{0}"."{1}" {2}`,ALTER_TABLE:`ALTER TABLE "{0}"."{1}" {2}`,ALTER_VIEW:`DROP VIEW IF EXISTS "{0}"."{1}";
|
|
187
187
|
{2};`,ALTER_PROCEDURE:`{2}`,ALTER_FUNCTION:`{2}`,ALTER_TRIGGER:`DROP TRIGGER IF EXISTS "{1}" ON "{0}"."{3}";
|
|
188
|
-
{2};`,SHOW_PROCESS_LIST:`SELECT pid AS "Id", usename AS "User", COALESCE(client_addr::text, 'local') AS "Host", datname AS "db", COALESCE(state, '') AS "Command", COALESCE(EXTRACT(EPOCH FROM (now() - query_start))::bigint, 0) AS "Time", COALESCE(wait_event_type || ': ' || wait_event, '') AS "State", query AS "Info" FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY pid`,KILL_QUERY:`SELECT pg_terminate_backend({0})`,SHOW_VARIABLES:`SELECT name AS "Variable_name", setting AS "Value" FROM pg_settings ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS "Variable_name", COALESCE(reset_val, setting) AS "Value" FROM pg_settings ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT name AS "Variable_name", setting AS "Value" FROM pg_settings ORDER BY name`,CREATE_SCHEMA:`CREATE SCHEMA "{0}"`,DROP_SCHEMA:`DROP SCHEMA "{0}" CASCADE`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" (LIKE "{0}"."{1}" INCLUDING ALL)`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`,DISABLE_FK_CHECKS:`SET session_replication_role = 'replica'`,ENABLE_FK_CHECKS:`SET session_replication_role = 'origin'`},St=`ASCII.BTRIM.CHAR_LENGTH.CHR.CONCAT.CONCAT_WS.FORMAT.INITCAP.LEFT.LENGTH.LOWER.LPAD.LTRIM.MD5.POSITION.QUOTE_IDENT.QUOTE_LITERAL.REGEXP_MATCHES.REGEXP_REPLACE.REGEXP_SPLIT_TO_ARRAY.REPEAT.REPLACE.REVERSE.RIGHT.RPAD.RTRIM.SPLIT_PART.STRING_AGG.STRING_TO_ARRAY.STRPOS.SUBSTR.SUBSTRING.TRANSLATE.TRIM.UPPER.ABS.CBRT.CEIL.CEILING.DIV.EXP.FLOOR.GCD.LCM.LN.LOG.LOG10.MOD.PI.POWER.RADIANS.RANDOM.ROUND.SIGN.SQRT.TRUNC.WIDTH_BUCKET.AGE.CLOCK_TIMESTAMP.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATE_PART.DATE_TRUNC.EXTRACT.ISFINITE.JUSTIFY_DAYS.JUSTIFY_HOURS.LOCALTIME.LOCALTIMESTAMP.MAKE_DATE.MAKE_INTERVAL.MAKE_TIMESTAMP.NOW.STATEMENT_TIMESTAMP.TO_CHAR.TO_DATE.TO_TIMESTAMP.ARRAY_AGG.AVG.BOOL_AND.BOOL_OR.COUNT.EVERY.JSON_AGG.JSONB_AGG.JSON_OBJECT_AGG.MAX.MIN.PERCENTILE_CONT.PERCENTILE_DISC.STDDEV.SUM.VARIANCE.ROW_NUMBER.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.NTH_VALUE.COALESCE.NULLIF.GREATEST.LEAST.CAST.GEN_RANDOM_UUID.CURRENT_USER.CURRENT_DATABASE.CURRENT_SCHEMA.PG_TYPEOF.VERSION.ARRAY_LENGTH.ARRAY_TO_STRING.ARRAY_APPEND.ARRAY_REMOVE.ARRAY_POSITION.CARDINALITY.UNNEST.JSON_BUILD_OBJECT.JSONB_BUILD_OBJECT.JSON_BUILD_ARRAY.JSONB_BUILD_ARRAY.JSON_EXTRACT_PATH.JSONB_EXTRACT_PATH.JSON_EXTRACT_PATH_TEXT.JSONB_EXTRACT_PATH_TEXT.JSONB_SET.JSONB_PRETTY.JSON_TYPEOF.JSONB_TYPEOF.JSON_ARRAY_LENGTH.JSONB_ARRAY_LENGTH.JSON_EACH.JSONB_EACH.TO_JSON.TO_JSONB.ROW_TO_JSON`.split(`.`),Ct=`ALL.ANALYSE.ANALYZE.AND.ANY.ARRAY.AS.ASC.ASYMMETRIC.BOTH.CASE.CAST.CHECK.COLLATE.COLUMN.CONSTRAINT.CREATE.CURRENT_CATALOG.CURRENT_DATE.CURRENT_ROLE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.DEFAULT.DEFERRABLE.DESC.DISTINCT.DO.ELSE.END.EXCEPT.FALSE.FETCH.FOR.FOREIGN.FROM.GRANT.GROUP.GROUP BY.HAVING.IN.INITIALLY.INTERSECT.INTO.LATERAL.LEADING.LIMIT.LOCALTIME.LOCALTIMESTAMP.NOT.NULL.OFFSET.ON.ONLY.OR.ORDER.ORDER BY.PLACING.PRIMARY.REFERENCES.RETURNING.SELECT.SESSION_USER.SOME.SYMMETRIC.TABLE.THEN.TO.TRAILING.TRUE.UNION.UNIQUE.USER.USING.VARIADIC.WHEN.WHERE.WINDOW.WITH.ALTER.BEGIN.BETWEEN.BY.CASCADE.COMMENT.COMMIT.CROSS.DATABASE.DELETE.DROP.EXISTS.EXPLAIN.FULL.FUNCTION.IF.ILIKE.INDEX.INNER.INSERT.INSERT INTO.IS.JOIN.KEY.LEFT.LIKE.MATERIALIZED.NATURAL.OUTER.OVER.PARTITION.PROCEDURE.RECURSIVE.RETURNS.RIGHT.ROLLBACK.SCHEMA.SEQUENCE.SET.SHOW.TRIGGER.TRUNCATE.TYPE.UPDATE.VACUUM.VALUES.VIEW`.split(`.`),wt=`bigint.bigserial.bit.boolean.box.bytea.char.character.character varying.cidr.circle.date.decimal.double precision.inet.int.integer.interval.json.jsonb.line.macaddr.money.numeric.path.point.polygon.real.serial.smallint.smallserial.text.time.timestamp.timestamptz.timetz.tsquery.tsvector.uuid.varchar.xml`.split(`.`),Tt={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!1,delimiterCommand:!1,dollarQuotes:!0,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function Et(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:
|
|
189
|
-
`)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let e=n.type===`UNIQUE`?`UNIQUE `:``,
|
|
188
|
+
{2};`,SHOW_PROCESS_LIST:`SELECT pid AS "Id", usename AS "User", COALESCE(client_addr::text, 'local') AS "Host", datname AS "db", COALESCE(state, '') AS "Command", COALESCE(EXTRACT(EPOCH FROM (now() - query_start))::bigint, 0) AS "Time", COALESCE(wait_event_type || ': ' || wait_event, '') AS "State", query AS "Info" FROM pg_stat_activity WHERE backend_type = 'client backend' ORDER BY pid`,KILL_QUERY:`SELECT pg_terminate_backend({0})`,SHOW_VARIABLES:`SELECT name AS "Variable_name", setting AS "Value" FROM pg_settings ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS "Variable_name", COALESCE(reset_val, setting) AS "Value" FROM pg_settings ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT name AS "Variable_name", setting AS "Value" FROM pg_settings ORDER BY name`,CREATE_SCHEMA:`CREATE SCHEMA "{0}"`,DROP_SCHEMA:`DROP SCHEMA "{0}" CASCADE`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" (LIKE "{0}"."{1}" INCLUDING ALL)`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`,DISABLE_FK_CHECKS:`SET session_replication_role = 'replica'`,ENABLE_FK_CHECKS:`SET session_replication_role = 'origin'`},St=`ASCII.BTRIM.CHAR_LENGTH.CHR.CONCAT.CONCAT_WS.FORMAT.INITCAP.LEFT.LENGTH.LOWER.LPAD.LTRIM.MD5.POSITION.QUOTE_IDENT.QUOTE_LITERAL.REGEXP_MATCHES.REGEXP_REPLACE.REGEXP_SPLIT_TO_ARRAY.REPEAT.REPLACE.REVERSE.RIGHT.RPAD.RTRIM.SPLIT_PART.STRING_AGG.STRING_TO_ARRAY.STRPOS.SUBSTR.SUBSTRING.TRANSLATE.TRIM.UPPER.ABS.CBRT.CEIL.CEILING.DIV.EXP.FLOOR.GCD.LCM.LN.LOG.LOG10.MOD.PI.POWER.RADIANS.RANDOM.ROUND.SIGN.SQRT.TRUNC.WIDTH_BUCKET.AGE.CLOCK_TIMESTAMP.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATE_PART.DATE_TRUNC.EXTRACT.ISFINITE.JUSTIFY_DAYS.JUSTIFY_HOURS.LOCALTIME.LOCALTIMESTAMP.MAKE_DATE.MAKE_INTERVAL.MAKE_TIMESTAMP.NOW.STATEMENT_TIMESTAMP.TO_CHAR.TO_DATE.TO_TIMESTAMP.ARRAY_AGG.AVG.BOOL_AND.BOOL_OR.COUNT.EVERY.JSON_AGG.JSONB_AGG.JSON_OBJECT_AGG.MAX.MIN.PERCENTILE_CONT.PERCENTILE_DISC.STDDEV.SUM.VARIANCE.ROW_NUMBER.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.NTH_VALUE.COALESCE.NULLIF.GREATEST.LEAST.CAST.GEN_RANDOM_UUID.CURRENT_USER.CURRENT_DATABASE.CURRENT_SCHEMA.PG_TYPEOF.VERSION.ARRAY_LENGTH.ARRAY_TO_STRING.ARRAY_APPEND.ARRAY_REMOVE.ARRAY_POSITION.CARDINALITY.UNNEST.JSON_BUILD_OBJECT.JSONB_BUILD_OBJECT.JSON_BUILD_ARRAY.JSONB_BUILD_ARRAY.JSON_EXTRACT_PATH.JSONB_EXTRACT_PATH.JSON_EXTRACT_PATH_TEXT.JSONB_EXTRACT_PATH_TEXT.JSONB_SET.JSONB_PRETTY.JSON_TYPEOF.JSONB_TYPEOF.JSON_ARRAY_LENGTH.JSONB_ARRAY_LENGTH.JSON_EACH.JSONB_EACH.TO_JSON.TO_JSONB.ROW_TO_JSON`.split(`.`),Ct=`ALL.ANALYSE.ANALYZE.AND.ANY.ARRAY.AS.ASC.ASYMMETRIC.BOTH.CASE.CAST.CHECK.COLLATE.COLUMN.CONSTRAINT.CREATE.CURRENT_CATALOG.CURRENT_DATE.CURRENT_ROLE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.DEFAULT.DEFERRABLE.DESC.DISTINCT.DO.ELSE.END.EXCEPT.FALSE.FETCH.FOR.FOREIGN.FROM.GRANT.GROUP.GROUP BY.HAVING.IN.INITIALLY.INTERSECT.INTO.LATERAL.LEADING.LIMIT.LOCALTIME.LOCALTIMESTAMP.NOT.NULL.OFFSET.ON.ONLY.OR.ORDER.ORDER BY.PLACING.PRIMARY.REFERENCES.RETURNING.SELECT.SESSION_USER.SOME.SYMMETRIC.TABLE.THEN.TO.TRAILING.TRUE.UNION.UNIQUE.USER.USING.VARIADIC.WHEN.WHERE.WINDOW.WITH.ALTER.BEGIN.BETWEEN.BY.CASCADE.COMMENT.COMMIT.CROSS.DATABASE.DELETE.DROP.EXISTS.EXPLAIN.FULL.FUNCTION.IF.ILIKE.INDEX.INNER.INSERT.INSERT INTO.IS.JOIN.KEY.LEFT.LIKE.MATERIALIZED.NATURAL.OUTER.OVER.PARTITION.PROCEDURE.RECURSIVE.RETURNS.RIGHT.ROLLBACK.SCHEMA.SEQUENCE.SET.SHOW.TRIGGER.TRUNCATE.TYPE.UPDATE.VACUUM.VALUES.VIEW`.split(`.`),wt=`bigint.bigserial.bit.boolean.box.bytea.char.character.character varying.cidr.circle.date.decimal.double precision.inet.int.integer.interval.json.jsonb.line.macaddr.money.numeric.path.point.polygon.real.serial.smallint.smallserial.text.time.timestamp.timestamptz.timetz.tsquery.tsvector.uuid.varchar.xml`.split(`.`),Tt={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!1,delimiterCommand:!1,dollarQuotes:!0,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function Et(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:r}=e;return{...i(e,{addColumn:`ADD COLUMN`,modify:`postgres`,qualifiedIndexNames:!1,dropIndexOnTable:!1,unqualifiedIndexTarget:!1,multiRowInsert:!0,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let i=x(e.name,`untitled`),a=r(e.database,i),o=e.columns.filter(e=>e.primaryKey),s=e.columns.map(e=>{let n=` ${t(x(e.name,`column`))} ${e.type}`;return e.length&&(n+=`(${e.length})`),e.autoIncrement&&(n+=` GENERATED BY DEFAULT AS IDENTITY`),e.notNull&&(n+=` NOT NULL`),e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),n});o.length>0&&s.push(` PRIMARY KEY (${o.map(e=>t(e.name)).join(`, `)})`);let c=[`CREATE TABLE ${a} (\n${s.join(`,
|
|
189
|
+
`)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let e=n.type===`UNIQUE`?`UNIQUE `:``,r=n.type===`FULLTEXT`?` -- FULLTEXT is MySQL-only; consider a GIN index on to_tsvector()`:``,o=t(x(n.name,`${i}_${n.columns.join(`_`)}_idx`));c.push(`CREATE ${e}INDEX ${o} ON ${a} (${n.columns.map(t).join(`, `)});${r}`)}e.options.comment&&c.push(`COMMENT ON TABLE ${a} IS ${n(e.options.comment)};`);for(let r of e.columns)r.comment&&c.push(`COMMENT ON COLUMN ${a}.${t(x(r.name,`column`))} IS ${n(r.comment)};`);return c.join(`
|
|
190
190
|
`)}}}var Dt={id:`postgres`,label:`PostgreSQL`,capabilities:{multipleDatabases:!1,schemas:!0,users:!1,procedures:!0,functions:!0,triggers:!0,events:!1,processList:!0,variables:!0,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!1,transactions:!0},ddl:Et,explain:ve,introspect:yt,tree:bt,defaultPort:5432,binaryLiteral:e=>`'\\x${e}'::bytea`,booleanKeywords:!0,identifierQuote:`"`,queries:xt,syntax:Tt,dataTypes:wt,functions:St,reservedWords:Ct},Ot=S(Dt),V=e=>`"${e.replaceAll(`"`,`""`)}"`,H=e=>`'${e.replace(/'/g,`''`)}'`,U=e=>`${V(e)}.sqlite_master`;async function W(e,t,n){return(await e(`SELECT name FROM ${U(t)} WHERE type = ${H(n)} AND name NOT LIKE 'sqlite_%' ORDER BY name`)).records.map(e=>v(e[0]))}async function G(e,t,n){return _(await e(`PRAGMA ${V(t)}.table_info(${V(n)})`)).map(e=>({cid:Number(e.cid),name:v(e.name),type:v(e.type),notnull:Number(e.notnull)===1,dflt_value:y(e.dflt_value),pk:Number(e.pk)}))}async function kt(e,t,n){return v((await e(`SELECT sql FROM ${U(t)} WHERE type = 'table' AND name = ${H(n)}`)).records[0]?.[0])}function At(e){return e.filter(e=>e.pk>0).sort((e,t)=>e.pk-t.pk).map(e=>e.name)}async function jt(e,t,n,r){let i=[],a=At(r);a.length>0&&i.push({name:`PRIMARY`,type:`PRIMARY`,columns:a});let o=_(await e(`PRAGMA ${V(t)}.index_list(${V(n)})`));for(let n of o){if(v(n.origin)===`pk`)continue;let r=v(n.name),a=_(await e(`PRAGMA ${V(t)}.index_info(${V(r)})`));i.push({name:r,type:Number(n.unique)===1?`UNIQUE`:`INDEX`,columns:a.sort((e,t)=>Number(e.seqno)-Number(t.seqno)).map(e=>v(e.name,`<expr>`))})}return i}async function Mt(e,t,n){let r=await G(e,t,n),i=await jt(e,t,n,r),a=await kt(e,t,n),o=At(r),s=/AUTOINCREMENT/i.test(a),c=new Set,l=new Set;for(let e of i)e.type!==`PRIMARY`&&(e.type===`UNIQUE`&&e.columns.length===1?c.add(e.columns[0]):l.add(e.columns[0]));return r.map(e=>{let t=o.length===1&&o[0]===e.name&&/^INTEGER$/i.test(e.type);return{name:e.name,type:e.type,nullable:!e.notnull&&e.pk===0,key:e.pk>0?`PRI`:c.has(e.name)?`UNI`:l.has(e.name)?`MUL`:``,defaultValue:e.dflt_value,extra:t&&s?`auto_increment`:``,comment:``,collation:null}})}var Nt={TABLE:`table`,VIEW:`view`,TRIGGER:`trigger`},Pt={async listDatabases(e){return _(await e(`PRAGMA database_list`)).map(e=>v(e.name)).filter(e=>e!==`temp`)},async listTables(e,t){return(await W(e,t,`table`)).map(e=>({name:e,engine:null,rows:null,collation:null,autoIncrement:null,comment:``,createTime:null,updateTime:null,dataLength:null}))},listViews:(e,t)=>W(e,t,`view`),listProcedures:async()=>[],listFunctions:async()=>[],listTriggers:(e,t)=>W(e,t,`trigger`),listEvents:async()=>[],listColumns:Mt,async listIndexes(e,t,n){return jt(e,t,n,await G(e,t,n))},async listAllColumns(e,t){let n=new Map;for(let r of await W(e,t,`table`))n.set(r,await Mt(e,t,r));return n},async listAllIndexes(e,t){let n=new Map;for(let r of await W(e,t,`table`))n.set(r,await jt(e,t,r,await G(e,t,r)));return n},async listForeignKeys(e,t){let n=[];for(let r of await W(e,t,`table`)){let i=_(await e(`PRAGMA ${V(t)}.foreign_key_list(${V(r)})`));for(let e of i)n.push({name:`fk_${r}_${e.id}`,table:r,column:v(e.from),refTable:v(e.table),refColumn:v(e.to)})}return n},async getTableInfo(e,t,n){return(await e(`SELECT 1 FROM ${U(t)} WHERE type = 'table' AND name = ${H(n)}`)).records.length===0?null:{name:n,engine:null,rows:b((await e(`SELECT COUNT(*) FROM ${V(t)}.${V(n)}`)).records[0]?.[0]),collation:null,autoIncrement:null,comment:``,createTime:null,updateTime:null,dataLength:null}},async getPrimaryKeys(e,t,n){return At(await G(e,t,n))},async getCreateStatement(e,t,n,r){let i=Nt[n];return i?y((await e(`SELECT sql FROM ${U(t)} WHERE type = ${H(i)} AND name = ${H(r)}`)).records[0]?.[0]):null}},Ft={SELECT_COUNT:`SELECT COUNT(1) as cnt FROM "{0}"."{1}"`,SHOW_FULL_FIELDS:`PRAGMA "{0}".table_info("{1}")`,SHOW_COLUMNS:`PRAGMA "{0}".table_info("{1}")`,SHOW_DATABASE_VIEWS:`SELECT name FROM "{0}".sqlite_master WHERE type = 'view' ORDER BY name`,SHOW_DATABASE_TABLES:`SELECT name FROM "{0}".sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name`,SHOW_DATABASE:`PRAGMA database_list`,SHOW_DATABASES:`PRAGMA database_list`,ADD_INDEX:`CREATE {3} INDEX "{0}"."{2}" ON "{1}"({4})`,SHOW_INDEX:`PRAGMA "{0}".index_info("{2}")`,SHOW_INDEXES:`PRAGMA "{0}".index_list("{1}")`,DROP_INDEX:`DROP INDEX "{0}"."{2}"`,DROP_TRIGGER:`DROP TRIGGER {2} "{0}"."{1}"`,DROP_VIEW:`DROP VIEW {2} "{0}"."{1}"`,SHOW_TRIGGERS:`SELECT name, tbl_name, sql FROM "{0}".sqlite_master WHERE type = 'trigger' ORDER BY name`,SHOW_VIEWS:`SELECT name AS View_name, sql AS View_definition FROM "{0}".sqlite_master WHERE type = 'view' ORDER BY name`,SHOW_ALL_TABLE_STATUS:`SELECT name, type FROM "{0}".sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%' ORDER BY name`,SHOW_TABLE_STATUS:`SELECT name, type FROM "{0}".sqlite_master WHERE type = 'table' AND name = '{1}'`,INSERT_TABLE:`INSERT INTO "{0}"."{1}" ({2}) VALUES({3});`,INSERT_TABLE_BULK:`INSERT INTO "{0}"."{1}" ({2}) VALUES {3};`,INSERT_DEFAULT_VALUES:`INSERT INTO "{0}"."{1}" DEFAULT VALUES;`,INSERT_ON_DUPLICATE:`INSERT INTO "{0}"."{1}" ({2}) VALUES({3}) ON CONFLICT DO UPDATE SET {4}`,UPDATE_TABLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3};`,UPDATE_TABLE_SINGLE:`UPDATE "{0}"."{1}" SET {2} WHERE {3}`,START_TRANSACTION:`BEGIN`,COMMIT:`COMMIT`,ROLLBACK:`ROLLBACK`,DELETE_TABLE:`DELETE FROM "{0}"."{1}" WHERE {2};`,SELECT_TABLE:`SELECT {2} FROM "{0}"."{1}" {3};`,TRUNCATE_TABLE:`DELETE FROM "{0}"."{1}"`,RENAME_TABLE:`ALTER TABLE "{0}"."{1}" RENAME TO "{3}"`,DROP_TABLE:`DROP TABLE {2} "{0}"."{1}"`,TABLE_CREATE_INFO:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'table' AND name = '{1}'`,TABLE_KEYS_INFO:`PRAGMA "{0}".index_list("{1}")`,INDEX_KEYS_INFO:`PRAGMA "{0}".index_info("{2}")`,CREATE_TRIGGER:`CREATE TRIGGER "{0}"."{1}"
|
|
191
191
|
BEFORE
|
|
192
192
|
-- AFTER
|
|
@@ -201,7 +201,7 @@ BEGIN
|
|
|
201
201
|
END;`,CREATE_VIEW:`CREATE VIEW "{0}"."{1}" AS
|
|
202
202
|
/* SQL SELECT Statement */`,SHOW_CREATE_TABLE:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'table' AND name = '{1}'`,SHOW_CREATE_VIEW:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'view' AND name = '{1}'`,SHOW_CREATE_TRIGGER:`SELECT sql FROM "{0}".sqlite_master WHERE type = 'trigger' AND name = '{1}'`,CREATE_TABLE:`CREATE TABLE "{0}"."{1}" {2}`,ALTER_TABLE:`ALTER TABLE "{0}"."{1}" {2}`,ALTER_VIEW:`DROP VIEW IF EXISTS "{0}"."{1}";
|
|
203
203
|
{2};`,ALTER_TRIGGER:`DROP TRIGGER IF EXISTS "{0}"."{1}";
|
|
204
|
-
{2};`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" AS SELECT * FROM "{0}"."{1}" WHERE 0`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`,DISABLE_FK_CHECKS:`PRAGMA foreign_keys = OFF`,ENABLE_FK_CHECKS:`PRAGMA foreign_keys = ON`},It=`ABS.CHANGES.CHAR.COALESCE.CONCAT.CONCAT_WS.FORMAT.GLOB.HEX.IFNULL.IIF.INSTR.LAST_INSERT_ROWID.LENGTH.LIKE.LIKELIHOOD.LIKELY.LOWER.LTRIM.MAX.MIN.NULLIF.OCTET_LENGTH.PRINTF.QUOTE.RANDOM.RANDOMBLOB.REPLACE.ROUND.RTRIM.SIGN.SOUNDEX.SQLITE_COMPILEOPTION_GET.SQLITE_COMPILEOPTION_USED.SQLITE_OFFSET.SQLITE_SOURCE_ID.SQLITE_VERSION.SUBSTR.SUBSTRING.TOTAL_CHANGES.TRIM.TYPEOF.UNHEX.UNICODE.UNLIKELY.UPPER.ZEROBLOB.DATE.TIME.DATETIME.JULIANDAY.UNIXEPOCH.STRFTIME.TIMEDIFF.AVG.COUNT.GROUP_CONCAT.STRING_AGG.SUM.TOTAL.ROW_NUMBER.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.NTH_VALUE.ACOS.ACOSH.ASIN.ASINH.ATAN.ATAN2.ATANH.CEIL.CEILING.COS.COSH.DEGREES.EXP.FLOOR.LN.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.SIN.SINH.SQRT.TAN.TANH.TRUNC.JSON.JSONB.JSON_ARRAY.JSON_ARRAY_LENGTH.JSON_EACH.JSON_ERROR_POSITION.JSON_EXTRACT.JSON_INSERT.JSON_OBJECT.JSON_PATCH.JSON_PRETTY.JSON_QUOTE.JSON_REMOVE.JSON_REPLACE.JSON_SET.JSON_TREE.JSON_TYPE.JSON_VALID.JSON_GROUP_ARRAY.JSON_GROUP_OBJECT`.split(`.`),Lt=`ABORT.ACTION.ADD.AFTER.ALL.ALTER.ALWAYS.ANALYZE.AND.AS.ASC.ATTACH.AUTOINCREMENT.BEFORE.BEGIN.BETWEEN.BY.CASCADE.CASE.CAST.CHECK.COLLATE.COLUMN.COMMIT.CONFLICT.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATABASE.DEFAULT.DEFERRABLE.DEFERRED.DELETE.DESC.DETACH.DISTINCT.DO.DROP.EACH.ELSE.END.ESCAPE.EXCEPT.EXCLUDE.EXCLUSIVE.EXISTS.EXPLAIN.FAIL.FILTER.FIRST.FOLLOWING.FOR.FOREIGN.FROM.FULL.GENERATED.GLOB.GROUP BY.GROUP.GROUPS.HAVING.IF.IGNORE.IMMEDIATE.IN.INDEX.INDEXED.INITIALLY.INNER.INSERT INTO.INSERT.INSTEAD.INTERSECT.INTO.IS.ISNULL.JOIN.KEY.LAST.LEFT.LIKE.LIMIT.MATCH.MATERIALIZED.NATURAL.NO.NOT.NOTHING.NOTNULL.NULL.NULLS.OF.OFFSET.ON CONFLICT.ON.OR.ORDER BY.ORDER.OTHERS.OUTER.OVER.PARTITION.PLAN.PRAGMA.PRECEDING.PRIMARY.QUERY.RAISE.RANGE.RECURSIVE.REFERENCES.REGEXP.REINDEX.RELEASE.RENAME.REPLACE.RESTRICT.RETURNING.RIGHT.ROLLBACK.ROW.ROWS.SAVEPOINT.SELECT.SET.TABLE.TEMP.TEMPORARY.THEN.TIES.TO.TRANSACTION.TRIGGER.TRUE.FALSE.UNBOUNDED.UNION.UNIQUE.UPDATE.USING.VACUUM.VALUES.VIEW.VIRTUAL.WHEN.WHERE.WINDOW.WITH.WITHOUT`.split(`.`),Rt=[`integer`,`int`,`real`,`text`,`blob`,`numeric`,`boolean`,`varchar`,`char`,`double`,`float`,`bigint`,`smallint`,`tinyint`,`date`,`datetime`,`timestamp`,`decimal`,`json`],zt={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!0,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function Bt(e){let{quoteIdentifier:t,qualify:n}=e;return{...
|
|
204
|
+
{2};`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" AS SELECT * FROM "{0}"."{1}" WHERE 0`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`,DISABLE_FK_CHECKS:`PRAGMA foreign_keys = OFF`,ENABLE_FK_CHECKS:`PRAGMA foreign_keys = ON`},It=`ABS.CHANGES.CHAR.COALESCE.CONCAT.CONCAT_WS.FORMAT.GLOB.HEX.IFNULL.IIF.INSTR.LAST_INSERT_ROWID.LENGTH.LIKE.LIKELIHOOD.LIKELY.LOWER.LTRIM.MAX.MIN.NULLIF.OCTET_LENGTH.PRINTF.QUOTE.RANDOM.RANDOMBLOB.REPLACE.ROUND.RTRIM.SIGN.SOUNDEX.SQLITE_COMPILEOPTION_GET.SQLITE_COMPILEOPTION_USED.SQLITE_OFFSET.SQLITE_SOURCE_ID.SQLITE_VERSION.SUBSTR.SUBSTRING.TOTAL_CHANGES.TRIM.TYPEOF.UNHEX.UNICODE.UNLIKELY.UPPER.ZEROBLOB.DATE.TIME.DATETIME.JULIANDAY.UNIXEPOCH.STRFTIME.TIMEDIFF.AVG.COUNT.GROUP_CONCAT.STRING_AGG.SUM.TOTAL.ROW_NUMBER.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.NTH_VALUE.ACOS.ACOSH.ASIN.ASINH.ATAN.ATAN2.ATANH.CEIL.CEILING.COS.COSH.DEGREES.EXP.FLOOR.LN.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.SIN.SINH.SQRT.TAN.TANH.TRUNC.JSON.JSONB.JSON_ARRAY.JSON_ARRAY_LENGTH.JSON_EACH.JSON_ERROR_POSITION.JSON_EXTRACT.JSON_INSERT.JSON_OBJECT.JSON_PATCH.JSON_PRETTY.JSON_QUOTE.JSON_REMOVE.JSON_REPLACE.JSON_SET.JSON_TREE.JSON_TYPE.JSON_VALID.JSON_GROUP_ARRAY.JSON_GROUP_OBJECT`.split(`.`),Lt=`ABORT.ACTION.ADD.AFTER.ALL.ALTER.ALWAYS.ANALYZE.AND.AS.ASC.ATTACH.AUTOINCREMENT.BEFORE.BEGIN.BETWEEN.BY.CASCADE.CASE.CAST.CHECK.COLLATE.COLUMN.COMMIT.CONFLICT.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATABASE.DEFAULT.DEFERRABLE.DEFERRED.DELETE.DESC.DETACH.DISTINCT.DO.DROP.EACH.ELSE.END.ESCAPE.EXCEPT.EXCLUDE.EXCLUSIVE.EXISTS.EXPLAIN.FAIL.FILTER.FIRST.FOLLOWING.FOR.FOREIGN.FROM.FULL.GENERATED.GLOB.GROUP BY.GROUP.GROUPS.HAVING.IF.IGNORE.IMMEDIATE.IN.INDEX.INDEXED.INITIALLY.INNER.INSERT INTO.INSERT.INSTEAD.INTERSECT.INTO.IS.ISNULL.JOIN.KEY.LAST.LEFT.LIKE.LIMIT.MATCH.MATERIALIZED.NATURAL.NO.NOT.NOTHING.NOTNULL.NULL.NULLS.OF.OFFSET.ON CONFLICT.ON.OR.ORDER BY.ORDER.OTHERS.OUTER.OVER.PARTITION.PLAN.PRAGMA.PRECEDING.PRIMARY.QUERY.RAISE.RANGE.RECURSIVE.REFERENCES.REGEXP.REINDEX.RELEASE.RENAME.REPLACE.RESTRICT.RETURNING.RIGHT.ROLLBACK.ROW.ROWS.SAVEPOINT.SELECT.SET.TABLE.TEMP.TEMPORARY.THEN.TIES.TO.TRANSACTION.TRIGGER.TRUE.FALSE.UNBOUNDED.UNION.UNIQUE.UPDATE.USING.VACUUM.VALUES.VIEW.VIRTUAL.WHEN.WHERE.WINDOW.WITH.WITHOUT`.split(`.`),Rt=[`integer`,`int`,`real`,`text`,`blob`,`numeric`,`boolean`,`varchar`,`char`,`double`,`float`,`bigint`,`smallint`,`tinyint`,`date`,`datetime`,`timestamp`,`decimal`,`json`],zt={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!0,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`limit`,plsqlBlocks:!1};function Bt(e){let{quoteIdentifier:t,qualify:n}=e;return{...i(e,{addColumn:`ADD COLUMN`,modify:`none`,qualifiedIndexNames:!0,dropIndexOnTable:!1,unqualifiedIndexTarget:!0,multiRowInsert:!0,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let r=e.columns.filter(e=>e.primaryKey),i=r.length===1&&r[0].type.toUpperCase()===`INTEGER`,a=e.columns.map(e=>{let n=` ${t(x(e.name,`column`))} ${e.type.toUpperCase()}`;return e.length&&!Vt(e,i)&&(n+=`(${e.length})`),Vt(e,i)&&(n+=` PRIMARY KEY`,e.autoIncrement&&(n+=` AUTOINCREMENT`)),e.notNull&&(n+=` NOT NULL`),e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),e.comment&&(n+=` /* ${e.comment.replaceAll(`*/`,`* /`)} */`),n});!i&&r.length>0&&a.push(` PRIMARY KEY (${r.map(e=>t(e.name)).join(`, `)})`);let o=x(e.name,`untitled`),s=[`CREATE TABLE ${n(e.database,o)} (\n${a.join(`,
|
|
205
205
|
`)}\n);`];for(let r of e.indexes){if(r.type===`PRIMARY`||r.columns.length===0)continue;let i=r.type===`UNIQUE`?`UNIQUE `:``,a=r.type===`FULLTEXT`?` -- FULLTEXT is not supported by SQLite; created as a plain index`:``,c=/^sqlite_/i.test(r.name)?``:r.name,l=n(e.database,x(c,`${o}_${r.columns.join(`_`)}_idx`));s.push(`CREATE ${i}INDEX ${l} ON ${t(o)} (${r.columns.map(t).join(`, `)});${a}`)}return s.join(`
|
|
206
206
|
`)}}}function Vt(e,t){return t&&e.primaryKey}var K={id:`sqlite`,label:`SQLite`,capabilities:{multipleDatabases:!1,schemas:!1,users:!1,procedures:!1,functions:!1,triggers:!0,events:!1,processList:!1,variables:!1,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!1,transactions:!0},ddl:Bt,rowIdExpression:`rowid AS "_rowid_"`,explain:Ie,introspect:Pt,identifierQuote:`"`,queries:Ft,syntax:zt,dataTypes:Rt,functions:It,reservedWords:Lt},Ht=S(K),q=e=>`[${e.replaceAll(`]`,`]]`)}]`,Ut=(e,t)=>`${q(e)}.${q(t)}`,J=e=>`'${e.replace(/'/g,`''`)}'`,Wt=(e,t)=>`OBJECT_ID(${J(`${q(e)}.${q(t)}`)})`,Gt=`s.name NOT IN ('sys', 'INFORMATION_SCHEMA', 'guest') AND s.schema_id < 16384`;async function Y(e,t){return(await e(t)).records.map(e=>v(e[0]))}function Kt(e,t,n,r){let i=e.toLowerCase();return[`varchar`,`char`,`varbinary`,`binary`].includes(i)?`${i}(${t===-1?`max`:t})`:[`nvarchar`,`nchar`].includes(i)?`${i}(${t===-1?`max`:t/2})`:[`decimal`,`numeric`].includes(i)?`${i}(${n},${r})`:[`datetime2`,`time`,`datetimeoffset`].includes(i)?`${i}(${r})`:i}async function qt(e,t,n){return _(await e(`SELECT o.name AS table_name, c.name, ty.name AS type_name, c.max_length, c.precision, c.scale,
|
|
207
207
|
c.is_nullable, d.definition AS default_value, c.is_identity, c.is_computed, c.collation_name,
|
|
@@ -288,8 +288,8 @@ GO
|
|
|
288
288
|
GO
|
|
289
289
|
{2}`,ALTER_TRIGGER:`DROP TRIGGER IF EXISTS [{0}].[{1}];
|
|
290
290
|
GO
|
|
291
|
-
{2}`,SHOW_PROCESS_LIST:`SELECT s.session_id AS [Id], s.login_name AS [User], COALESCE(c.client_net_address, 'local') AS [Host], DB_NAME(s.database_id) AS [db], COALESCE(r.status, s.status) AS [Command], COALESCE(DATEDIFF(SECOND, r.start_time, GETDATE()), 0) AS [Time], COALESCE(r.wait_type, '') AS [State], t.text AS [Info] FROM sys.dm_exec_sessions s LEFT JOIN sys.dm_exec_connections c ON c.session_id = s.session_id LEFT JOIN sys.dm_exec_requests r ON r.session_id = s.session_id OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) t WHERE s.is_user_process = 1 ORDER BY s.session_id`,KILL_QUERY:`KILL {0}`,SHOW_VARIABLES:`SELECT name AS [Variable_name], CAST(value_in_use AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS [Variable_name], CAST(value AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT name AS [Variable_name], CAST(value_in_use AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,CREATE_SCHEMA:`CREATE SCHEMA [{0}]`,DROP_SCHEMA:`DROP SCHEMA [{0}]`,COPY_TABLE_STRUCTURE:`SELECT TOP 0 * INTO [{2}].[{3}] FROM [{0}].[{1}]`,COPY_TABLE_DATA:`INSERT INTO [{2}].[{3}] SELECT * FROM [{0}].[{1}]`,DISABLE_FK_CHECKS:`EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'`,ENABLE_FK_CHECKS:`EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'`},rn=`ASCII.CHAR.CHARINDEX.CONCAT.CONCAT_WS.FORMAT.LEFT.LEN.LOWER.LTRIM.NCHAR.PATINDEX.QUOTENAME.REPLACE.REPLICATE.REVERSE.RIGHT.RTRIM.SPACE.STR.STRING_AGG.STRING_SPLIT.STUFF.SUBSTRING.TRANSLATE.TRIM.UNICODE.UPPER.ABS.CEILING.EXP.FLOOR.LOG.LOG10.PI.POWER.RAND.ROUND.SIGN.SQRT.SQUARE.CURRENT_TIMESTAMP.DATEADD.DATEDIFF.DATEDIFF_BIG.DATEFROMPARTS.DATENAME.DATEPART.DATETIMEFROMPARTS.DAY.EOMONTH.GETDATE.GETUTCDATE.ISDATE.MONTH.SYSDATETIME.SYSDATETIMEOFFSET.SYSUTCDATETIME.YEAR.AVG.COUNT.COUNT_BIG.MAX.MIN.STDEV.SUM.VAR.ROW_NUMBER.RANK.DENSE_RANK.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.CAST.CONVERT.TRY_CAST.TRY_CONVERT.PARSE.COALESCE.NULLIF.ISNULL.IIF.CHOOSE.NEWID.NEWSEQUENTIALID.SCOPE_IDENTITY.IDENT_CURRENT.OBJECT_ID.OBJECT_NAME.OBJECT_DEFINITION.SCHEMA_NAME.DB_NAME.HOST_NAME.SUSER_SNAME.USER_NAME.ISNUMERIC.ISJSON.JSON_VALUE.JSON_QUERY.JSON_MODIFY.OPENJSON`.split(`.`),an=`ADD.ALL.ALTER.AND.ANY.AS.ASC.AUTHORIZATION.BACKUP.BEGIN.BETWEEN.BREAK.BROWSE.BULK.BY.CASCADE.CASE.CHECK.CHECKPOINT.CLOSE.CLUSTERED.COALESCE.COLLATE.COLUMN.COMMIT.COMPUTE.CONSTRAINT.CONTAINS.CONTAINSTABLE.CONTINUE.CONVERT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DBCC.DEALLOCATE.DECLARE.DEFAULT.DELETE.DENY.DESC.DISK.DISTINCT.DISTRIBUTED.DOUBLE.DROP.DUMP.ELSE.END.ERRLVL.ESCAPE.EXCEPT.EXEC.EXECUTE.EXISTS.EXIT.EXTERNAL.FETCH.FILE.FILLFACTOR.FOR.FOREIGN.FREETEXT.FREETEXTTABLE.FROM.FULL.FUNCTION.GO.GOTO.GRANT.GROUP.GROUP BY.HAVING.HOLDLOCK.IDENTITY.IDENTITY_INSERT.IDENTITYCOL.IF.IN.INDEX.INNER.INSERT.INSERT INTO.INTERSECT.INTO.IS.JOIN.KEY.KILL.LEFT.LIKE.LINENO.LOAD.MERGE.NATIONAL.NEXT.NOCHECK.NONCLUSTERED.NOT.NULL.NULLIF.OF.OFF.OFFSET.OFFSETS.ON.ONLY.OPEN.OPENDATASOURCE.OPENQUERY.OPENROWSET.OPENXML.OPTION.OR.ORDER.ORDER BY.OUTER.OUTPUT.OVER.PERCENT.PIVOT.PLAN.PRECISION.PRIMARY.PRINT.PROC.PROCEDURE.PUBLIC.RAISERROR.READ.READTEXT.RECONFIGURE.REFERENCES.REPLICATION.RESTORE.RESTRICT.RETURN.REVERT.REVOKE.RIGHT.ROLLBACK.ROWCOUNT.ROWGUIDCOL.ROWS.RULE.SAVE.SCHEMA.SECURITYAUDIT.SELECT.SEMANTICKEYPHRASETABLE.SEMANTICSIMILARITYDETAILSTABLE.SEMANTICSIMILARITYTABLE.SESSION_USER.SET.SETUSER.SHUTDOWN.SOME.STATISTICS.SYSTEM_USER.TABLE.TABLESAMPLE.TEXTSIZE.THEN.TO.TOP.TRAN.TRANSACTION.TRIGGER.TRUNCATE.TRY_CONVERT.TSEQUAL.UNION.UNIQUE.UNPIVOT.UPDATE.UPDATETEXT.USE.USER.VALUES.VARYING.VIEW.WAITFOR.WHEN.WHERE.WHILE.WITH.WITHIN GROUP.WRITETEXT`.split(`.`),on=`bigint.binary.bit.char.date.datetime.datetime2.datetimeoffset.decimal.float.geography.geometry.hierarchyid.image.int.money.nchar.ntext.numeric.nvarchar.real.smalldatetime.smallint.smallmoney.sql_variant.text.time.timestamp.tinyint.uniqueidentifier.varbinary.varchar.xml`.split(`.`),sn={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!0,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!0,limitStyle:`top`,plsqlBlocks:!1};function cn(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:
|
|
292
|
-
`)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let e=n.type===`UNIQUE`?`UNIQUE `:``,
|
|
291
|
+
{2}`,SHOW_PROCESS_LIST:`SELECT s.session_id AS [Id], s.login_name AS [User], COALESCE(c.client_net_address, 'local') AS [Host], DB_NAME(s.database_id) AS [db], COALESCE(r.status, s.status) AS [Command], COALESCE(DATEDIFF(SECOND, r.start_time, GETDATE()), 0) AS [Time], COALESCE(r.wait_type, '') AS [State], t.text AS [Info] FROM sys.dm_exec_sessions s LEFT JOIN sys.dm_exec_connections c ON c.session_id = s.session_id LEFT JOIN sys.dm_exec_requests r ON r.session_id = s.session_id OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) t WHERE s.is_user_process = 1 ORDER BY s.session_id`,KILL_QUERY:`KILL {0}`,SHOW_VARIABLES:`SELECT name AS [Variable_name], CAST(value_in_use AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS [Variable_name], CAST(value AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT name AS [Variable_name], CAST(value_in_use AS NVARCHAR(100)) AS [Value] FROM sys.configurations ORDER BY name`,CREATE_SCHEMA:`CREATE SCHEMA [{0}]`,DROP_SCHEMA:`DROP SCHEMA [{0}]`,COPY_TABLE_STRUCTURE:`SELECT TOP 0 * INTO [{2}].[{3}] FROM [{0}].[{1}]`,COPY_TABLE_DATA:`INSERT INTO [{2}].[{3}] SELECT * FROM [{0}].[{1}]`,DISABLE_FK_CHECKS:`EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'`,ENABLE_FK_CHECKS:`EXEC sp_msforeachtable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL'`},rn=`ASCII.CHAR.CHARINDEX.CONCAT.CONCAT_WS.FORMAT.LEFT.LEN.LOWER.LTRIM.NCHAR.PATINDEX.QUOTENAME.REPLACE.REPLICATE.REVERSE.RIGHT.RTRIM.SPACE.STR.STRING_AGG.STRING_SPLIT.STUFF.SUBSTRING.TRANSLATE.TRIM.UNICODE.UPPER.ABS.CEILING.EXP.FLOOR.LOG.LOG10.PI.POWER.RAND.ROUND.SIGN.SQRT.SQUARE.CURRENT_TIMESTAMP.DATEADD.DATEDIFF.DATEDIFF_BIG.DATEFROMPARTS.DATENAME.DATEPART.DATETIMEFROMPARTS.DAY.EOMONTH.GETDATE.GETUTCDATE.ISDATE.MONTH.SYSDATETIME.SYSDATETIMEOFFSET.SYSUTCDATETIME.YEAR.AVG.COUNT.COUNT_BIG.MAX.MIN.STDEV.SUM.VAR.ROW_NUMBER.RANK.DENSE_RANK.NTILE.LAG.LEAD.FIRST_VALUE.LAST_VALUE.CAST.CONVERT.TRY_CAST.TRY_CONVERT.PARSE.COALESCE.NULLIF.ISNULL.IIF.CHOOSE.NEWID.NEWSEQUENTIALID.SCOPE_IDENTITY.IDENT_CURRENT.OBJECT_ID.OBJECT_NAME.OBJECT_DEFINITION.SCHEMA_NAME.DB_NAME.HOST_NAME.SUSER_SNAME.USER_NAME.ISNUMERIC.ISJSON.JSON_VALUE.JSON_QUERY.JSON_MODIFY.OPENJSON`.split(`.`),an=`ADD.ALL.ALTER.AND.ANY.AS.ASC.AUTHORIZATION.BACKUP.BEGIN.BETWEEN.BREAK.BROWSE.BULK.BY.CASCADE.CASE.CHECK.CHECKPOINT.CLOSE.CLUSTERED.COALESCE.COLLATE.COLUMN.COMMIT.COMPUTE.CONSTRAINT.CONTAINS.CONTAINSTABLE.CONTINUE.CONVERT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DBCC.DEALLOCATE.DECLARE.DEFAULT.DELETE.DENY.DESC.DISK.DISTINCT.DISTRIBUTED.DOUBLE.DROP.DUMP.ELSE.END.ERRLVL.ESCAPE.EXCEPT.EXEC.EXECUTE.EXISTS.EXIT.EXTERNAL.FETCH.FILE.FILLFACTOR.FOR.FOREIGN.FREETEXT.FREETEXTTABLE.FROM.FULL.FUNCTION.GO.GOTO.GRANT.GROUP.GROUP BY.HAVING.HOLDLOCK.IDENTITY.IDENTITY_INSERT.IDENTITYCOL.IF.IN.INDEX.INNER.INSERT.INSERT INTO.INTERSECT.INTO.IS.JOIN.KEY.KILL.LEFT.LIKE.LINENO.LOAD.MERGE.NATIONAL.NEXT.NOCHECK.NONCLUSTERED.NOT.NULL.NULLIF.OF.OFF.OFFSET.OFFSETS.ON.ONLY.OPEN.OPENDATASOURCE.OPENQUERY.OPENROWSET.OPENXML.OPTION.OR.ORDER.ORDER BY.OUTER.OUTPUT.OVER.PERCENT.PIVOT.PLAN.PRECISION.PRIMARY.PRINT.PROC.PROCEDURE.PUBLIC.RAISERROR.READ.READTEXT.RECONFIGURE.REFERENCES.REPLICATION.RESTORE.RESTRICT.RETURN.REVERT.REVOKE.RIGHT.ROLLBACK.ROWCOUNT.ROWGUIDCOL.ROWS.RULE.SAVE.SCHEMA.SECURITYAUDIT.SELECT.SEMANTICKEYPHRASETABLE.SEMANTICSIMILARITYDETAILSTABLE.SEMANTICSIMILARITYTABLE.SESSION_USER.SET.SETUSER.SHUTDOWN.SOME.STATISTICS.SYSTEM_USER.TABLE.TABLESAMPLE.TEXTSIZE.THEN.TO.TOP.TRAN.TRANSACTION.TRIGGER.TRUNCATE.TRY_CONVERT.TSEQUAL.UNION.UNIQUE.UNPIVOT.UPDATE.UPDATETEXT.USE.USER.VALUES.VARYING.VIEW.WAITFOR.WHEN.WHERE.WHILE.WITH.WITHIN GROUP.WRITETEXT`.split(`.`),on=`bigint.binary.bit.char.date.datetime.datetime2.datetimeoffset.decimal.float.geography.geometry.hierarchyid.image.int.money.nchar.ntext.numeric.nvarchar.real.smalldatetime.smallint.smallmoney.sql_variant.text.time.timestamp.tinyint.uniqueidentifier.varbinary.varchar.xml`.split(`.`),sn={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!0,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!0,limitStyle:`top`,plsqlBlocks:!1};function cn(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:r}=e;return{...i(e,{addColumn:`ADD`,modify:`mssql`,renameColumn:`sp_rename`,qualifiedIndexNames:!1,dropIndexOnTable:!0,unqualifiedIndexTarget:!1,multiRowInsert:!0,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let i=x(e.name,`untitled`),a=e.database||`dbo`,o=r(a,i),s=e.columns.filter(e=>e.primaryKey),c=e.columns.map(e=>{let n=` ${t(x(e.name,`column`))} ${e.type}`;return e.length&&(n+=`(${e.length})`),e.autoIncrement&&(n+=` IDENTITY(1,1)`),n+=e.notNull||e.primaryKey?` NOT NULL`:` NULL`,e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),n});s.length>0&&c.push(` PRIMARY KEY (${s.map(e=>t(e.name)).join(`, `)})`);let l=[`CREATE TABLE ${o} (\n${c.join(`,
|
|
292
|
+
`)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let e=n.type===`UNIQUE`?`UNIQUE `:``,r=n.type===`FULLTEXT`?` -- FULLTEXT needs a full-text catalog; created as a plain index`:``,a=t(x(n.name,`${i}_${n.columns.join(`_`)}_idx`));l.push(`CREATE ${e}INDEX ${a} ON ${o} (${n.columns.map(t).join(`, `)});${r}`)}e.options.comment&&l.push(`EXEC sp_addextendedproperty 'MS_Description', ${n(e.options.comment)}, 'SCHEMA', ${n(a)}, 'TABLE', ${n(i)};`);for(let t of e.columns)t.comment&&l.push(`EXEC sp_addextendedproperty 'MS_Description', ${n(t.comment)}, 'SCHEMA', ${n(a)}, 'TABLE', ${n(i)}, 'COLUMN', ${n(x(t.name,`column`))};`);return l.join(`
|
|
293
293
|
`)}}}var ln=S({id:`mssql`,label:`SQL Server`,capabilities:{multipleDatabases:!1,schemas:!0,users:!1,procedures:!0,functions:!0,triggers:!0,events:!1,processList:!0,variables:!0,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!1,transactions:!0},ddl:cn,explain:Re,introspect:tn,tree:bt,defaultPort:1433,binaryLiteral:e=>`0x${e}`,booleanKeywords:!1,identifierQuote:`[`,identifierQuoteClose:`]`,queries:nn,syntax:sn,dataTypes:on,functions:rn,reservedWords:an}),Z=e=>`'${e.replace(/'/g,`''`)}'`;async function Q(e,t){return(await e(t)).records.map(e=>v(e[0]))}function un(e,t,n,r,i){return[`VARCHAR2`,`NVARCHAR2`,`CHAR`,`NCHAR`,`RAW`].includes(e)?`${e}(${n||t||0})`:e===`NUMBER`?r===null?`NUMBER`:i?`NUMBER(${r},${i})`:`NUMBER(${r})`:e===`FLOAT`&&r!==null?`FLOAT(${r})`:e}async function dn(e,t,n){return _(await e(`SELECT c.table_name, c.column_name, c.data_type, c.data_length, c.char_length, c.data_precision, c.data_scale,
|
|
294
294
|
c.nullable, c.data_default, cc.comments,
|
|
295
295
|
CASE WHEN ic.column_name IS NOT NULL THEN 1 ELSE 0 END AS is_identity
|
|
@@ -351,6 +351,6 @@ BEGIN
|
|
|
351
351
|
|
|
352
352
|
END;
|
|
353
353
|
/`,CREATE_VIEW:`CREATE OR REPLACE VIEW "{0}"."{1}" AS
|
|
354
|
-
/* SQL SELECT Statement */`,CREATE_TABLE:`CREATE TABLE "{0}"."{1}" {2}`,ALTER_TABLE:`ALTER TABLE "{0}"."{1}" {2}`,ALTER_VIEW:`{2}`,ALTER_PROCEDURE:`{2}`,ALTER_FUNCTION:`{2}`,ALTER_TRIGGER:`{2}`,SHOW_PROCESS_LIST:`SELECT s.sid || ',' || s.serial# AS "Id", s.username AS "User", s.machine AS "Host", s.schemaname AS "db", s.status AS "Command", COALESCE(s.last_call_et, 0) AS "Time", s.event AS "State", s.sql_id AS "Info" FROM v$session s WHERE s.type = 'USER' ORDER BY s.sid`,KILL_QUERY:`ALTER SYSTEM KILL SESSION '{0}' IMMEDIATE`,SHOW_VARIABLES:`SELECT name AS "Variable_name", value AS "Value" FROM v$parameter ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS "Variable_name", value AS "Value" FROM v$parameter ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT parameter AS "Variable_name", value AS "Value" FROM nls_session_parameters ORDER BY parameter`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" AS SELECT * FROM "{0}"."{1}" WHERE 1 = 0`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`},bn=`ASCII,CHR,CONCAT,INITCAP,INSTR,LENGTH,LOWER,LPAD,LTRIM,NLSSORT,REGEXP_INSTR,REGEXP_REPLACE,REGEXP_SUBSTR,REPLACE,RPAD,RTRIM,SOUNDEX,SUBSTR,TRANSLATE,TRIM,UPPER,LISTAGG,ABS,CEIL,EXP,FLOOR,LN,LOG,MOD,POWER,REMAINDER,ROUND,SIGN,SQRT,TRUNC,ADD_MONTHS,CURRENT_DATE,CURRENT_TIMESTAMP,EXTRACT,LAST_DAY,LOCALTIMESTAMP,MONTHS_BETWEEN,NEXT_DAY,SYSDATE,SYSTIMESTAMP,TO_CHAR,TO_DATE,TO_TIMESTAMP,TO_TIMESTAMP_TZ,FROM_TZ,NUMTODSINTERVAL,NUMTOYMINTERVAL,CAST,TO_NUMBER,TO_CLOB,COALESCE,NULLIF,NVL,NVL2,DECODE,GREATEST,LEAST,AVG,COUNT,MAX,MEDIAN,MIN,STDDEV,SUM,VARIANCE,ROW_NUMBER,RANK,DENSE_RANK,NTILE,LAG,LEAD,FIRST_VALUE,LAST_VALUE,SYS_GUID,SYS_CONTEXT,USER,UID,ROWNUM,ROWID,DBMS_METADATA.GET_DDL,JSON_VALUE,JSON_QUERY,JSON_OBJECT,JSON_ARRAY,JSON_TABLE,JSON_EXISTS`.split(`,`),xn=`ACCESS.ADD.ALL.ALTER.AND.ANY.AS.ASC.AUDIT.BETWEEN.BY.CHAR.CHECK.CLUSTER.COLUMN.COMMENT.COMPRESS.CONNECT.CREATE.CURRENT.DATE.DECIMAL.DEFAULT.DELETE.DESC.DISTINCT.DROP.ELSE.EXCLUSIVE.EXISTS.FILE.FLOAT.FOR.FROM.GRANT.GROUP.GROUP BY.HAVING.IDENTIFIED.IMMEDIATE.IN.INCREMENT.INDEX.INITIAL.INSERT.INSERT INTO.INTEGER.INTERSECT.INTO.IS.LEVEL.LIKE.LOCK.LONG.MAXEXTENTS.MINUS.MLSLABEL.MODE.MODIFY.NOAUDIT.NOCOMPRESS.NOT.NOWAIT.NULL.NUMBER.OF.OFFLINE.ON.ONLINE.OPTION.OR.ORDER.ORDER BY.PCTFREE.PRIOR.PUBLIC.RAW.RENAME.RESOURCE.REVOKE.ROW.ROWID.ROWNUM.ROWS.SELECT.SESSION.SET.SHARE.SIZE.SMALLINT.START.SUCCESSFUL.SYNONYM.SYSDATE.TABLE.THEN.TO.TRIGGER.UID.UNION.UNIQUE.UPDATE.USER.VALIDATE.VALUES.VARCHAR.VARCHAR2.VIEW.WHENEVER.WHERE.WITH.BEGIN.DECLARE.END.EXCEPTION.IF.ELSIF.LOOP.WHILE.RETURN.PROCEDURE.FUNCTION.PACKAGE.BODY.CURSOR.FETCH.FIRST.NEXT.ONLY.OFFSET.COMMIT.ROLLBACK.SAVEPOINT.TRUNCATE.REPLACE.MERGE.USING.MATCHED.JOIN.INNER.LEFT.RIGHT.FULL.OUTER.CROSS.CASE.WHEN.OVER.PARTITION.DUAL.SEQUENCE.NEXTVAL.CURRVAL`.split(`.`),Sn=[`BFILE`,`BINARY_DOUBLE`,`BINARY_FLOAT`,`BLOB`,`BOOLEAN`,`CHAR`,`CLOB`,`DATE`,`FLOAT`,`INTERVAL DAY TO SECOND`,`INTERVAL YEAR TO MONTH`,`JSON`,`LONG`,`NCHAR`,`NCLOB`,`NUMBER`,`NVARCHAR2`,`RAW`,`ROWID`,`TIMESTAMP`,`TIMESTAMP WITH LOCAL TIME ZONE`,`TIMESTAMP WITH TIME ZONE`,`VARCHAR2`,`XMLTYPE`],Cn={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!1,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`fetch`,plsqlBlocks:!0};function wn(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:
|
|
355
|
-
`)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let o=n.type===`UNIQUE`?`UNIQUE `:``,s=n.type===`FULLTEXT`?` -- FULLTEXT is MySQL-only; consider an Oracle Text index`:``,l=
|
|
356
|
-
`)}}}var Tn=S({id:`oracle`,label:`Oracle`,capabilities:{multipleDatabases:!1,schemas:!1,users:!1,procedures:!0,functions:!0,triggers:!0,events:!1,processList:!0,variables:!0,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!0,transactions:!0},ddl:wn,explain:Be,introspect:vn,defaultPort:1521,binaryLiteral:e=>`HEXTORAW('${e}')`,booleanKeywords:!1,identifierQuote:`"`,queries:yn,syntax:Cn,dataTypes:Sn,functions:bn,reservedWords:xn}),En=S({...Dt,id:`neon`,label:`Neon`}),Dn=S({...Dt,id:`supabase`,label:`Supabase`}),On=S({...K,id:`d1`,label:`Cloudflare D1`,capabilities:{...K.capabilities,transactions:!1}}),kn=`__miniflare_do_name`,An={...K.introspect,async listTables(e,t){return(await K.introspect.listTables(e,t)).filter(e=>e.name!==kn)}},jn=S({...K,id:`do`,label:`Cloudflare DO (wrangler dev)`,capabilities:{...K.capabilities,transactions:!1},introspect:An}),Mn={mysql:F,maria:st,postgres:Ot,sqlite:Ht,mssql:ln,oracle:Tn,neon:En,supabase:Dn,d1:On,do:jn},Nn=[F,st,Ot,Ht,ln,Tn,En,Dn,On,jn];function Pn(e){return e&&Mn[e]||F}function Fn(e){return Pn(e?.dbms)}export{o as a,_ as i,Pn as n,
|
|
354
|
+
/* SQL SELECT Statement */`,CREATE_TABLE:`CREATE TABLE "{0}"."{1}" {2}`,ALTER_TABLE:`ALTER TABLE "{0}"."{1}" {2}`,ALTER_VIEW:`{2}`,ALTER_PROCEDURE:`{2}`,ALTER_FUNCTION:`{2}`,ALTER_TRIGGER:`{2}`,SHOW_PROCESS_LIST:`SELECT s.sid || ',' || s.serial# AS "Id", s.username AS "User", s.machine AS "Host", s.schemaname AS "db", s.status AS "Command", COALESCE(s.last_call_et, 0) AS "Time", s.event AS "State", s.sql_id AS "Info" FROM v$session s WHERE s.type = 'USER' ORDER BY s.sid`,KILL_QUERY:`ALTER SYSTEM KILL SESSION '{0}' IMMEDIATE`,SHOW_VARIABLES:`SELECT name AS "Variable_name", value AS "Value" FROM v$parameter ORDER BY name`,SHOW_GLOBAL_VARIABLES:`SELECT name AS "Variable_name", value AS "Value" FROM v$parameter ORDER BY name`,SHOW_SESSION_VARIABLES:`SELECT parameter AS "Variable_name", value AS "Value" FROM nls_session_parameters ORDER BY parameter`,COPY_TABLE_STRUCTURE:`CREATE TABLE "{2}"."{3}" AS SELECT * FROM "{0}"."{1}" WHERE 1 = 0`,COPY_TABLE_DATA:`INSERT INTO "{2}"."{3}" SELECT * FROM "{0}"."{1}"`},bn=`ASCII,CHR,CONCAT,INITCAP,INSTR,LENGTH,LOWER,LPAD,LTRIM,NLSSORT,REGEXP_INSTR,REGEXP_REPLACE,REGEXP_SUBSTR,REPLACE,RPAD,RTRIM,SOUNDEX,SUBSTR,TRANSLATE,TRIM,UPPER,LISTAGG,ABS,CEIL,EXP,FLOOR,LN,LOG,MOD,POWER,REMAINDER,ROUND,SIGN,SQRT,TRUNC,ADD_MONTHS,CURRENT_DATE,CURRENT_TIMESTAMP,EXTRACT,LAST_DAY,LOCALTIMESTAMP,MONTHS_BETWEEN,NEXT_DAY,SYSDATE,SYSTIMESTAMP,TO_CHAR,TO_DATE,TO_TIMESTAMP,TO_TIMESTAMP_TZ,FROM_TZ,NUMTODSINTERVAL,NUMTOYMINTERVAL,CAST,TO_NUMBER,TO_CLOB,COALESCE,NULLIF,NVL,NVL2,DECODE,GREATEST,LEAST,AVG,COUNT,MAX,MEDIAN,MIN,STDDEV,SUM,VARIANCE,ROW_NUMBER,RANK,DENSE_RANK,NTILE,LAG,LEAD,FIRST_VALUE,LAST_VALUE,SYS_GUID,SYS_CONTEXT,USER,UID,ROWNUM,ROWID,DBMS_METADATA.GET_DDL,JSON_VALUE,JSON_QUERY,JSON_OBJECT,JSON_ARRAY,JSON_TABLE,JSON_EXISTS`.split(`,`),xn=`ACCESS.ADD.ALL.ALTER.AND.ANY.AS.ASC.AUDIT.BETWEEN.BY.CHAR.CHECK.CLUSTER.COLUMN.COMMENT.COMPRESS.CONNECT.CREATE.CURRENT.DATE.DECIMAL.DEFAULT.DELETE.DESC.DISTINCT.DROP.ELSE.EXCLUSIVE.EXISTS.FILE.FLOAT.FOR.FROM.GRANT.GROUP.GROUP BY.HAVING.IDENTIFIED.IMMEDIATE.IN.INCREMENT.INDEX.INITIAL.INSERT.INSERT INTO.INTEGER.INTERSECT.INTO.IS.LEVEL.LIKE.LOCK.LONG.MAXEXTENTS.MINUS.MLSLABEL.MODE.MODIFY.NOAUDIT.NOCOMPRESS.NOT.NOWAIT.NULL.NUMBER.OF.OFFLINE.ON.ONLINE.OPTION.OR.ORDER.ORDER BY.PCTFREE.PRIOR.PUBLIC.RAW.RENAME.RESOURCE.REVOKE.ROW.ROWID.ROWNUM.ROWS.SELECT.SESSION.SET.SHARE.SIZE.SMALLINT.START.SUCCESSFUL.SYNONYM.SYSDATE.TABLE.THEN.TO.TRIGGER.UID.UNION.UNIQUE.UPDATE.USER.VALIDATE.VALUES.VARCHAR.VARCHAR2.VIEW.WHENEVER.WHERE.WITH.BEGIN.DECLARE.END.EXCEPTION.IF.ELSIF.LOOP.WHILE.RETURN.PROCEDURE.FUNCTION.PACKAGE.BODY.CURSOR.FETCH.FIRST.NEXT.ONLY.OFFSET.COMMIT.ROLLBACK.SAVEPOINT.TRUNCATE.REPLACE.MERGE.USING.MATCHED.JOIN.INNER.LEFT.RIGHT.FULL.OUTER.CROSS.CASE.WHEN.OVER.PARTITION.DUAL.SEQUENCE.NEXTVAL.CURRVAL`.split(`.`),Sn=[`BFILE`,`BINARY_DOUBLE`,`BINARY_FLOAT`,`BLOB`,`BOOLEAN`,`CHAR`,`CLOB`,`DATE`,`FLOAT`,`INTERVAL DAY TO SECOND`,`INTERVAL YEAR TO MONTH`,`JSON`,`LONG`,`NCHAR`,`NCLOB`,`NUMBER`,`NVARCHAR2`,`RAW`,`ROWID`,`TIMESTAMP`,`TIMESTAMP WITH LOCAL TIME ZONE`,`TIMESTAMP WITH TIME ZONE`,`VARCHAR2`,`XMLTYPE`],Cn={hashComments:!1,dashCommentNeedsSpace:!1,backslashEscapes:!1,doubleQuoteIsIdentifier:!0,bracketIdentifiers:!1,delimiterCommand:!1,dollarQuotes:!1,goBatchSeparator:!1,limitStyle:`fetch`,plsqlBlocks:!0};function wn(e){let{quoteIdentifier:t,quoteLiteral:n,qualify:r}=e;return{...i(e,{addColumn:`ADD (`,modify:`oracle`,qualifiedIndexNames:!0,dropIndexOnTable:!1,unqualifiedIndexTarget:!1,multiRowInsert:!1,mysqlAttributes:!1,fulltext:!1,upperCaseTypes:!1}),createTable(e){if(!e.name&&e.columns.length===0)return`-- Define a table name and columns to generate SQL.`;let i=x(e.name,`untitled`),a=r(e.database,i),o=e.columns.filter(e=>e.primaryKey),s=e.columns.map(e=>{let n=` ${t(x(e.name,`column`))} ${e.type}`;return e.length&&(n+=`(${e.length})`),e.autoIncrement&&(n+=` GENERATED BY DEFAULT AS IDENTITY`),e.defaultValue&&(n+=` DEFAULT ${e.defaultValue}`),e.notNull&&(n+=` NOT NULL`),n});o.length>0&&s.push(` PRIMARY KEY (${o.map(e=>t(e.name)).join(`, `)})`);let c=[`CREATE TABLE ${a} (\n${s.join(`,
|
|
355
|
+
`)}\n);`];for(let n of e.indexes){if(n.type===`PRIMARY`||n.columns.length===0)continue;let o=n.type===`UNIQUE`?`UNIQUE `:``,s=n.type===`FULLTEXT`?` -- FULLTEXT is MySQL-only; consider an Oracle Text index`:``,l=r(e.database,x(n.name,`${i}_${n.columns.join(`_`)}_idx`));c.push(`CREATE ${o}INDEX ${l} ON ${a} (${n.columns.map(t).join(`, `)});${s}`)}e.options.comment&&c.push(`COMMENT ON TABLE ${a} IS ${n(e.options.comment)};`);for(let r of e.columns)r.comment&&c.push(`COMMENT ON COLUMN ${a}.${t(x(r.name,`column`))} IS ${n(r.comment)};`);return c.join(`
|
|
356
|
+
`)}}}var Tn=S({id:`oracle`,label:`Oracle`,capabilities:{multipleDatabases:!1,schemas:!1,users:!1,procedures:!0,functions:!0,triggers:!0,events:!1,processList:!0,variables:!0,status:!1,flush:!1,tableProperties:!1,implicitCommitDdl:!0,transactions:!0},ddl:wn,explain:Be,introspect:vn,defaultPort:1521,binaryLiteral:e=>`HEXTORAW('${e}')`,booleanKeywords:!1,identifierQuote:`"`,queries:yn,syntax:Cn,dataTypes:Sn,functions:bn,reservedWords:xn}),En=S({...Dt,id:`neon`,label:`Neon`}),Dn=S({...Dt,id:`supabase`,label:`Supabase`}),On=S({...K,id:`d1`,label:`Cloudflare D1`,capabilities:{...K.capabilities,transactions:!1}}),kn=`__miniflare_do_name`,An={...K.introspect,async listTables(e,t){return(await K.introspect.listTables(e,t)).filter(e=>e.name!==kn)}},jn=S({...K,id:`do`,label:`Cloudflare DO (wrangler dev)`,capabilities:{...K.capabilities,transactions:!1},introspect:An}),Mn={mysql:F,maria:st,postgres:Ot,sqlite:Ht,mssql:ln,oracle:Tn,neon:En,supabase:Dn,d1:On,do:jn},Nn=[F,st,Ot,Ht,ln,Tn,En,Dn,On,jn];function Pn(e){return e&&Mn[e]||F}function Fn(e){return Pn(e?.dbms)}export{o as a,_ as i,Pn as n,Fn as r,Nn as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./XzPc-eVf.js";import{l as t,m as n,t as r}from"./CKOS5Y-e.js";import{G as i,t as a}from"./D7Ze5md9.js";import{a as o,i as s,n as c,o as l,r as u,t as d}from"./DxuXBECK.js";var f=t(),p=`https://planche.dev`,m=`/third-party-notices.txt`;function h(){let t=e(e=>e.activeDialog),h=e(e=>e.closeDialog),{t:g}=n();return(0,f.jsx)(d,{open:t===`about`,onOpenChange:e=>{e||h()},children:(0,f.jsxs)(c,{className:`sm:max-w-[440px]`,children:[(0,f.jsx)(o,{children:(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,f.jsx)(a,{size:44,className:`shrink-0`}),(0,f.jsxs)(`div`,{className:`grid gap-1`,children:[(0,f.jsx)(l,{children:g(`about.title`)}),(0,f.jsx)(u,{children:g(`about.tagline`)})]})]})}),(0,f.jsxs)(`div`,{className:`grid gap-3 text-sm`,children:[(0,f.jsxs)(`dl`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-1`,children:[(0,f.jsx)(`dt`,{className:`text-muted-foreground`,children:g(`about.version`)}),(0,f.jsx)(`dd`,{children:`0.1.1`}),(0,f.jsx)(`dt`,{className:`text-muted-foreground`,children:g(`about.website`)}),(0,f.jsx)(`dd`,{children:(0,f.jsx)(`a`,{href:p,target:`_blank`,rel:`noreferrer`,className:`underline underline-offset-2`,children:p})}),(0,f.jsx)(`dt`,{className:`text-muted-foreground`,children:g(`about.licenses`)}),(0,f.jsx)(`dd`,{children:(0,f.jsx)(`a`,{href:m,target:`_blank`,rel:`noreferrer`,className:`underline underline-offset-2`,children:g(`about.licensesLink`)})}),(0,f.jsx)(`dt`,{className:`text-muted-foreground`,children:g(`about.legal`)}),(0,f.jsxs)(`dd`,{className:`flex gap-3`,children:[(0,f.jsx)(`a`,{href:i.terms,target:`_blank`,rel:`noreferrer`,className:`underline underline-offset-2`,children:g(`about.terms`)}),(0,f.jsx)(`a`,{href:i.privacy,target:`_blank`,rel:`noreferrer`,className:`underline underline-offset-2`,children:g(`about.privacy`)}),(0,f.jsx)(`a`,{href:i.refund,target:`_blank`,rel:`noreferrer`,className:`underline underline-offset-2`,children:g(`about.refund`)})]})]}),(0,f.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`© 2026 Juwon Jeong. `,g(`about.rights`)]}),(0,f.jsx)(`p`,{className:`rounded-md border bg-muted/40 p-3 text-xs text-muted-foreground`,children:g(`about.disclaimer`)}),(0,f.jsxs)(`div`,{className:`rounded-md border border-amber-500/40 bg-amber-500/5 p-3 text-xs text-muted-foreground`,children:[(0,f.jsx)(`p`,{className:`mb-1 font-medium text-amber-600 dark:text-amber-400`,children:g(`pro.noticeTitle`)}),(0,f.jsx)(`p`,{children:g(`pro.notice`)})]})]}),(0,f.jsx)(s,{children:(0,f.jsx)(r,{onClick:h,children:g(`settings.done`)})})]})})}export{h as AboutDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./hePW80VL.js";import{h as t,n}from"./XzPc-eVf.js";import{l as r,m as i,t as a}from"./CKOS5Y-e.js";import{a as o,i as s,n as c,r as l,t as u}from"./D_2UqK4k.js";import{t as d}from"./DTxGpkJp.js";import{c as f,l as p}from"./D7Ze5md9.js";import{a as m,i as h,n as g,o as _,t as v}from"./DxuXBECK.js";import{n as y}from"./rcI4Fmt0.js";var b=e(t(),1),x=r();function S(){let{t:e}=i(),{activeDialog:t,closeDialog:r,setFooterMessage:S}=n(),C=d(e=>e.activeConnectionId)??``,w=y(e=>e.addUser),[T,E]=(0,b.useState)(``),[D,O]=(0,b.useState)(`%`),[k,A]=(0,b.useState)(``),[j,M]=(0,b.useState)(``),[N,P]=(0,b.useState)(`caching_sha2_password`),F=t===`user-add`;function I(e){e||(L(),r())}function L(){E(``),O(`%`),A(``),M(``),P(`caching_sha2_password`)}function R(){if(!T.trim()){S(e(`user.add.usernameRequired`));return}if(k!==j){S(e(`user.add.passwordMismatch`));return}w(C,{user:T.trim(),host:D.trim()||`%`,privileges:[],maxQuestions:0,maxUpdates:0,maxConnections:0,maxUserConnections:0,plugin:N,authenticationString:``,passwordExpired:!1,accountLocked:!1}),S(e(`user.add.added`,{user:T,host:D})),L(),r()}return(0,x.jsx)(v,{open:F,onOpenChange:I,children:(0,x.jsxs)(g,{className:`sm:max-w-[450px]`,children:[(0,x.jsx)(m,{children:(0,x.jsx)(_,{children:e(`user.add.title`)})}),(0,x.jsxs)(`div`,{className:`space-y-4 py-2`,children:[(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(f,{htmlFor:`user-add-username`,children:e(`user.add.username`)}),(0,x.jsx)(p,{id:`user-add-username`,value:T,onChange:e=>E(e.target.value),placeholder:e(`user.add.usernamePlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(f,{htmlFor:`user-add-host`,children:e(`user.add.host`)}),(0,x.jsx)(p,{id:`user-add-host`,value:D,onChange:e=>O(e.target.value),placeholder:`%`})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(f,{htmlFor:`user-add-password`,children:e(`user.add.password`)}),(0,x.jsx)(p,{id:`user-add-password`,type:`password`,value:k,onChange:e=>A(e.target.value),placeholder:e(`user.add.passwordPlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(f,{htmlFor:`user-add-confirm-password`,children:e(`user.add.confirmPassword`)}),(0,x.jsx)(p,{id:`user-add-confirm-password`,type:`password`,value:j,onChange:e=>M(e.target.value),placeholder:e(`user.add.confirmPasswordPlaceholder`)})]}),(0,x.jsxs)(`div`,{className:`space-y-2`,children:[(0,x.jsx)(f,{children:e(`user.add.plugin`)}),(0,x.jsxs)(u,{value:N,onValueChange:P,children:[(0,x.jsx)(s,{className:`w-full`,children:(0,x.jsx)(o,{})}),(0,x.jsxs)(c,{children:[(0,x.jsx)(l,{value:`mysql_native_password`,children:`mysql_native_password`}),(0,x.jsx)(l,{value:`caching_sha2_password`,children:`caching_sha2_password`})]})]})]})]}),(0,x.jsxs)(h,{children:[(0,x.jsx)(a,{variant:`outline`,onClick:()=>I(!1),children:e(`user.add.cancel`)}),(0,x.jsx)(a,{onClick:R,children:e(`user.add.add`)})]})]})})}export{S as UserAddDialog};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e}from"./XzPc-eVf.js";import{i as t,t as n}from"./eFSiW0Lh.js";import{O as r,a as i,i as a,n as o,r as s}from"./DTxGpkJp.js";import{n as c}from"./BBSxV90W.js";var l=200,u=Object.freeze([]);function d(e,t,n){return e.map(e=>e.id===t?{...e,...n}:e)}function f(e){let t=e;if(delete t.erdOpen,delete t.erdDatabase,t.tabs&&typeof t.tabs==`object`){let e=t.tabs;for(let t of Object.keys(e))e[t]=e[t].map(e=>{if(!Array.isArray(e.results)){let t={...e};return delete t.result,{...t,results:[]}}return e})}return t}var p=e()(t((e,t)=>({tabs:{},activeTabId:{},history:[],addQueryTab:(t,n)=>e(e=>{let r=e.tabs[t]??[];return{tabs:{...e.tabs,[t]:[...r,n]},activeTabId:{...e.activeTabId,[t]:n.id}}}),removeQueryTab:(e,n)=>t().removeQueryTabs(e,[n]),removeQueryTabs:(n,r)=>{for(let e of r)t().captureRevision(n,e,`close`);e(e=>{let t=new Set(r),i=(e.tabs[n]??[]).filter(e=>!t.has(e.id)),a=e.activeTabId[n],o=a&&t.has(a)?i.length>0?i[i.length-1].id:null:a;return{tabs:{...e.tabs,[n]:i},activeTabId:{...e.activeTabId,[n]:o}}})},reorderQueryTab:(t,n,r)=>e(e=>({tabs:{...e.tabs,[t]:i(e.tabs[t]??[],n,r)}})),setActiveQueryTab:(t,n)=>e(e=>({activeTabId:{...e.activeTabId,[t]:n}})),setEditorContent:(n,r,i)=>{e(e=>{let t=e.tabs[n]??[];return{tabs:{...e.tabs,[n]:d(t,r,{query:i})}}});let a=t().tabs[n]?.find(e=>e.id===r);a&&s(n,{docId:r,title:a.title,text:i,database:a.database,reason:`edit`})},setResults:(t,n,r)=>e(e=>{let i=e.tabs[t]??[];return{tabs:{...e.tabs,[t]:d(i,n,{results:r,isExecuting:!1,error:null})}}}),setExecuting:(t,n,r)=>e(e=>{let i=e.tabs[t]??[];return{tabs:{...e.tabs,[t]:d(i,n,{isExecuting:r})}}}),setPlan:(t,n,r)=>e(e=>{let i=e.tabs[t]??[];return{tabs:{...e.tabs,[t]:d(i,n,{plan:r})}}}),setGraphs:(t,n,r)=>e(e=>{let i=e.tabs[t];return i?{tabs:{...e.tabs,[t]:d(i,n,{graphs:r})}}:e}),setError:(t,n,r,i=null)=>e(e=>{let a=e.tabs[t]??[];return{tabs:{...e.tabs,[t]:d(a,n,{error:r,errorSql:r?i:null,...r?{isExecuting:!1}:{}})}}}),setDatabase:(t,n,r)=>e(e=>{let i=e.tabs[t]??[];return{tabs:{...e.tabs,[t]:d(i,n,{database:r})}}}),setExecutionTime:(t,n,r)=>e(e=>{let i=e.tabs[t]??[];return{tabs:{...e.tabs,[t]:d(i,n,{executionTime:r})}}}),addHistory:t=>e(e=>({history:[t,...e.history].slice(0,500)})),recordExecution:({connectionId:e,tabId:n,query:i,database:a,executionTime:o,error:s,kind:c,rowCount:l,affectedRows:u})=>t().addHistory({id:crypto.randomUUID(),query:r(i),database:a,timestamp:Date.now(),executionTime:o,success:!s,connectionId:e,tabId:n??void 0,...s?{error:s}:{},...c?{kind:c}:{},...l==null?{}:{rowCount:l},...u==null?{}:{affectedRows:u}}),clearHistory:()=>e({history:[]}),captureRevision:(e,n,r)=>{let i=t().tabs[e]?.find(e=>e.id===n);i&&(o(e,n),a.getState().capture(e,{docId:n,title:i.title,text:i.query,database:i.database,reason:r}))}}),{name:`planche-query`,storage:n(),version:2,migrate:f,partialize:e=>({tabs:Object.fromEntries(Object.entries(e.tabs).map(([e,t])=>[e,t.map(e=>({...e,isExecuting:!1,results:[],plan:null,graphs:null,error:null,errorSql:null,executionTime:null}))])),activeTabId:e.activeTabId,history:c.getState().persistQueryHistory?e.history.slice(0,l):[]})}));export{p as n,u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as e,t}from"./hePW80VL.js";import{f as n,h as r,u as i}from"./XzPc-eVf.js";var a=t((e=>{var t=r();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function i(){}var a={d:{f:i,r:function(){throw Error(n(522))},D:i,C:i,L:i,m:i,X:i,S:i,M:i},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=a,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return s(e,t,null,r)},e.flushSync=function(e){var t=c.T,n=a.p;try{if(c.T=null,a.p=2,e)return e()}finally{c.T=t,a.p=n,a.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,a.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&a.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),i=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?a.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:i,fetchPriority:o}):n===`script`&&a.d.X(e,{crossOrigin:r,integrity:i,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);a.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??a.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);a.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=l(t.as,t.crossOrigin);a.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else a.d.m(e)}},e.requestFormReset=function(e){a.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.8`})),o=t(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=a()})),s=e(r()),c=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);m(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},l={},u=(e,t,n,r)=>{m(n)&&l[n]||(m(n)&&(l[n]=new Date),c(e,t,n,r))},d=(e,t)=>()=>{if(e.isInitialized)t();else{let n=()=>{setTimeout(()=>{e.off(`initialized`,n)},0),t()};e.on(`initialized`,n)}},f=(e,t,n)=>{e.loadNamespaces(t,d(e,n))},p=(e,t,n,r)=>{if(m(n)&&(n=[n]),e.options.preload&&e.options.preload.indexOf(t)>-1)return f(e,n,r);n.forEach(t=>{e.options.ns.indexOf(t)<0&&e.options.ns.push(t)}),e.loadLanguages(t,d(e,r))},ee=(e,t,n={})=>!t.languages||!t.languages.length?(u(t,`NO_LANGUAGES`,`i18n.languages were undefined or empty`,{languages:t.languages}),!0):t.hasLoadedNamespace(e,{lng:n.lng,precheck:(t,r)=>{if(n.bindI18n&&n.bindI18n.indexOf(`languageChanging`)>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!r(t.isLanguageChangingTo,e))return!1}}),m=e=>typeof e==`string`,h=e=>typeof e==`object`&&!!e,g=(0,s.createContext)(),te=class{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach(e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)})}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}},_=t((e=>{var t=r();function n(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var i=typeof Object.is==`function`?Object.is:n,a=t.useState,o=t.useEffect,s=t.useLayoutEffect,c=t.useDebugValue;function l(e,t){var n=t(),r=a({inst:{value:n,getSnapshot:t}}),i=r[0].inst,l=r[1];return s(function(){i.value=n,i.getSnapshot=t,u(i)&&l({inst:i})},[e,n,t]),o(function(){return u(i)&&l({inst:i}),e(function(){u(i)&&l({inst:i})})},[e]),c(n),n}function u(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!i(e,n)}catch{return!0}}function d(e,t){return t()}var f=typeof window>`u`||window.document===void 0||window.document.createElement===void 0?d:l;e.useSyncExternalStore=t.useSyncExternalStore===void 0?f:t.useSyncExternalStore})),v=t(((e,t)=>{t.exports=_()}))(),ne={t:(e,t)=>{if(m(t))return t;if(h(t)&&m(t.defaultValue))return t.defaultValue;if(typeof e==`function`)return``;if(Array.isArray(e)){let t=e[e.length-1];return typeof t==`function`?``:t}return e},ready:!1},re=()=>()=>{},y=(e,t={})=>{let{i18n:r}=t,{i18n:a,defaultNS:o}=(0,s.useContext)(g)||{},c=r||a||i();c&&!c.reportNamespaces&&(c.reportNamespaces=new te),c||u(c,`NO_I18NEXT_INSTANCE`,`useTranslation: You will need to pass in an i18next instance by using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`);let l=(0,s.useMemo)(()=>({...n(),...c?.options?.react,...t}),[c,t]),{useSuspense:d,keyPrefix:h}=l,_=e||o||c?.options?.defaultNS,y=m(_)?[_]:_||[`translation`],b=(0,s.useMemo)(()=>y,y);c?.reportNamespaces?.addUsedNamespaces?.(b);let x=(0,s.useRef)(0),S=(0,s.useCallback)(e=>{if(!c)return re;let{bindI18n:t,bindI18nStore:n}=l,r=()=>{x.current+=1,e()};return t&&c.on(t,r),n&&c.store.on(n,r),()=>{t&&t.split(` `).forEach(e=>c.off(e,r)),n&&n.split(` `).forEach(e=>c.store.off(e,r))}},[c,l]),C=(0,s.useRef)(),w=(0,s.useCallback)(()=>{if(!c)return ne;let e=!!(c.isInitialized||c.initializedStoreOnce)&&b.every(e=>ee(e,c,l)),n=t.lng||c.language,r=x.current,i=C.current;if(i&&i.ready===e&&i.lng===n&&i.keyPrefix===h&&i.revision===r)return i;let a={t:c.getFixedT(n,l.nsMode===`fallback`?b:b[0],h,{scopeNs:b}),ready:e,lng:n,keyPrefix:h,revision:r};return C.current=a,a},[c,b,h,l,t.lng]),[T,E]=(0,s.useState)(0),{t:D,ready:O}=(0,v.useSyncExternalStore)(S,w,w);(0,s.useEffect)(()=>{if(c&&!O&&!d){let e=()=>E(e=>e+1);t.lng?p(c,t.lng,b,e):f(c,b,e)}},[c,t.lng,b,O,d,T]);let k=c||{},A=(0,s.useRef)(null),j=(0,s.useRef)(),M=e=>{let t=Object.getOwnPropertyDescriptors(e);t.__original&&delete t.__original;let n=Object.create(Object.getPrototypeOf(e),t);if(!Object.prototype.hasOwnProperty.call(n,`__original`))try{Object.defineProperty(n,"__original",{value:e,writable:!1,enumerable:!1,configurable:!1})}catch{}return n},N=(0,s.useMemo)(()=>{let e=k,t=e?.language,n=e;e&&(A.current&&A.current.__original===e&&j.current===t?n=A.current:(n=M(e),A.current=n,j.current=t));let r=!O&&!d?(...e)=>(u(c,`USE_T_BEFORE_READY`,`useTranslation: t was called before ready. When using useSuspense: false, make sure to check the ready flag before using t.`),D(...e)):D,i=[r,n,O];return i.t=r,i.i18n=n,i.ready=O,i},[D,k,O,k.resolvedLanguage,k.language,k.languages]);if(c&&d&&!O){let e=!1;try{e=!1}catch{}throw e&&u(c,`SUSPENDED_WHILE_LOADING`,`useTranslation: suspended while translations are loading (useSuspense is true by default). Add a <Suspense> boundary above this component, or set react.useSuspense: false in the i18next init options. https://react.i18next.com/latest/usetranslation-hook`),new Promise(e=>{let n=()=>e();t.lng?p(c,t.lng,b,n):f(c,b,n)})}return N},b=e(o(),1),x=Object.defineProperty,S=(e,t)=>x(e,`name`,{value:t,configurable:!0});function C(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}S(C,`setRef`);function w(...e){return t=>{let n=!1,r=e.map(e=>{let r=C(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():C(e[t],null)}}}}S(w,`composeRefs`);function T(...e){return s.useCallback(w(...e),e)}S(T,`useComposedRefs`);var E=Object.defineProperty,D=(e,t)=>E(e,`name`,{value:t,configurable:!0});function O(e){let t=s.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,c=[];P(r)&&typeof L==`function`&&(r=L(r._payload)),s.Children.forEach(r,e=>{if(ae(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;P(n)&&typeof L==`function`&&(n=L(n._payload)),a=M(t,n),c.push(a?.props?.children)}else c.push(e)}),a?a=s.cloneElement(a,void 0,c):!o&&s.Children.count(r)===1&&s.isValidElement(r)&&(a=r);let l=a?ie(a):void 0,u=T(n,l);if(!a){if(r||r===0)throw Error(o?se(e):I(e));return r}let d=N(i,a.props??{});return a.type!==s.Fragment&&(d.ref=n?u:l),s.cloneElement(a,d)});return t.displayName=`${e}.Slot`,t}D(O,`createSlot`);var k=O(`Slot`),A=Symbol.for(`radix.slottable`);function j(e){let t=D(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=A,t}D(j,`createSlottable`);var M=D((e,t)=>{if(`child`in e.props){let t=e.props.child;return s.isValidElement(t)?s.cloneElement(t,void 0,e.props.children(t.props.children)):null}return s.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function N(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}D(N,`mergeProps`);function ie(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}D(ie,`getElementRef`);function ae(e){return s.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===A}D(ae,`isSlottable`);var oe=Symbol.for(`react.lazy`);function P(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===oe&&`_payload`in e&&F(e._payload)}D(P,`isLazyComponent`);function F(e){return typeof e==`object`&&!!e&&`then`in e}D(F,`isPromiseLike`);var I=D(e=>`${e} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,`createSlotError`),se=D(e=>`${e} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,`createSlottableError`),L=s.use,ce=t((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),R=t(((e,t)=>{t.exports=ce()})),z=R(),B=Object.defineProperty,V=(e,t)=>B(e,`name`,{value:t,configurable:!0}),le=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=O(`Primitive.${t}`),r=s.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,z.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function ue(e,t){e&&b.flushSync(()=>e.dispatchEvent(t))}V(ue,`dispatchDiscreteCustomEvent`);function de(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=de(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function fe(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=de(e))&&(r&&(r+=` `),r+=t);return r}var pe=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},me=(e,t)=>({classGroupId:e,validator:t}),he=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),H=`-`,ge=[],_e=`arbitrary..`,ve=e=>{let t=xe(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return be(e);let n=e.split(H);return ye(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?pe(i,t):t:i||ge}return n[e]||ge}}},ye=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=ye(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(H):e.slice(t).join(H),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},be=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?_e+r:void 0})(),xe=e=>{let{theme:t,classGroups:n}=e;return Se(n,t)},Se=(e,t)=>{let n=he();for(let r in e){let i=e[r];Ce(i,n,r,t)}return n},Ce=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];we(i,t,n,r)}},we=(e,t,n,r)=>{if(typeof e==`string`){Te(e,t,n);return}if(typeof e==`function`){Ee(e,t,n,r);return}De(e,t,n,r)},Te=(e,t,n)=>{let r=e===``?t:Oe(t,e);r.classGroupId=n},Ee=(e,t,n,r)=>{if(ke(e)){Ce(e(r),t,n,r);return}t.validators===null&&(t.validators=[]),t.validators.push(me(n,e))},De=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];Ce(o,Oe(t,a),n,r)}},Oe=(e,t)=>{let n=e,r=t.split(H),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=he(),n.nextPart.set(t,i)),n=i}return n},ke=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Ae=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},je=`!`,Me=`:`,Ne=[],Pe=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Fe=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Me){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(je)?(c=s.slice(0,-1),l=!0):s.startsWith(je)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Pe(t,l,c,u)};if(t){let e=t+Me,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Pe(Ne,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Ie=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Le=e=>({cache:Ae(e.cacheSize),parseClassName:Fe(e),sortModifiers:Ie(e),postfixLookupClassGroupIds:Re(e),...ve(e)}),Re=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},ze=/\s+/,Be=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(ze),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:ee}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let m=!!ee,h;if(m){h=r(p.substring(0,ee));let e=h&&o[h]?r(p):void 0;e&&e!==h&&(h=e,m=!1)}else h=r(p);if(!h){if(!m){l=t+(l.length>0?` `+l:l);continue}if(h=r(p),!h){l=t+(l.length>0?` `+l:l);continue}m=!1}let g=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),te=f?g+je:g,_=te+h;if(s.indexOf(_)>-1)continue;s.push(_);let v=i(h,m);for(let e=0;e<v.length;++e){let t=v[e];s.push(te+t)}l=t+(l.length>0?` `+l:l)}return l},Ve=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=He(n))&&(i&&(i+=` `),i+=r);return i},He=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=He(e[r]))&&(n&&(n+=` `),n+=t);return n},Ue=(e,...t)=>{let n,r,i,a,o=o=>(n=Le(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Be(e,n);return i(e,a),a};return a=o,(...e)=>a(Ve(...e))},We=[],U=e=>{let t=t=>t[e]||We;return t.isThemeGetter=!0,t},Ge=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ke=/^\((?:(\w[\w-]*):)?(.+)\)$/i,qe=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Je=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Ye=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,Xe=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ze=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Qe=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,W=e=>qe.test(e),G=e=>!!e&&!Number.isNaN(Number(e)),K=e=>!!e&&Number.isInteger(Number(e)),$e=e=>e.endsWith(`%`)&&G(e.slice(0,-1)),q=e=>Je.test(e),et=()=>!0,tt=e=>Ye.test(e)&&!Xe.test(e),nt=()=>!1,rt=e=>Ze.test(e),it=e=>Qe.test(e),at=e=>!J(e)&&!X(e),ot=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),st=e=>Q(e,St,nt),J=e=>Ge.test(e),Y=e=>Q(e,Ct,tt),ct=e=>Q(e,wt,G),lt=e=>Q(e,Et,et),ut=e=>Q(e,Tt,nt),dt=e=>Q(e,bt,nt),ft=e=>Q(e,xt,it),pt=e=>Q(e,Dt,rt),X=e=>Ke.test(e),Z=e=>$(e,Ct),mt=e=>$(e,Tt),ht=e=>$(e,bt),gt=e=>$(e,St),_t=e=>$(e,xt),vt=e=>$(e,Dt,!0),yt=e=>$(e,Et,!0),Q=(e,t,n)=>{let r=Ge.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},$=(e,t,n=!1)=>{let r=Ke.exec(e);return r?r[1]?t(r[1]):n:!1},bt=e=>e===`position`||e===`percentage`,xt=e=>e===`image`||e===`url`,St=e=>e===`length`||e===`size`||e===`bg-size`,Ct=e=>e===`length`,wt=e=>e===`number`,Tt=e=>e===`family-name`,Et=e=>e===`number`||e===`weight`,Dt=e=>e===`shadow`,Ot=Ue(()=>{let e=U(`color`),t=U(`font`),n=U(`text`),r=U(`font-weight`),i=U(`tracking`),a=U(`leading`),o=U(`breakpoint`),s=U(`container`),c=U(`spacing`),l=U(`radius`),u=U(`shadow`),d=U(`inset-shadow`),f=U(`text-shadow`),p=U(`drop-shadow`),ee=U(`blur`),m=U(`perspective`),h=U(`aspect`),g=U(`ease`),te=U(`animate`),_=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],v=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],ne=()=>[...v(),X,J],re=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],y=()=>[`auto`,`contain`,`none`],b=()=>[X,J,c],x=()=>[W,`full`,`auto`,...b()],S=()=>[K,`none`,`subgrid`,X,J],C=()=>[`auto`,{span:[`full`,K,X,J]},K,X,J],w=()=>[K,`auto`,X,J],T=()=>[`auto`,`min`,`max`,`fr`,X,J],E=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],D=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],O=()=>[`auto`,...b()],k=()=>[W,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...b()],A=()=>[W,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...b()],j=()=>[W,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...b()],M=()=>[e,X,J],N=()=>[...v(),ht,dt,{position:[X,J]}],ie=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],ae=()=>[`auto`,`cover`,`contain`,gt,st,{size:[X,J]}],oe=()=>[$e,Z,Y],P=()=>[``,`none`,`full`,l,X,J],F=()=>[``,G,Z,Y],I=()=>[`solid`,`dashed`,`dotted`,`double`],se=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],L=()=>[G,$e,ht,dt],ce=()=>[``,`none`,ee,X,J],R=()=>[`none`,G,X,J],z=()=>[`none`,G,X,J],B=()=>[G,X,J],V=()=>[W,`full`,...b()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[q],breakpoint:[q],color:[et],container:[q],"drop-shadow":[q],ease:[`in`,`out`,`in-out`],font:[at],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[q],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[q],shadow:[q],spacing:[`px`,G],text:[q],"text-shadow":[q],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,W,J,X,h]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,X,J]}],"container-named":[ot],columns:[{columns:[G,J,X,s]}],"break-after":[{"break-after":_()}],"break-before":[{"break-before":_()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:ne()}],overflow:[{overflow:re()}],"overflow-x":[{"overflow-x":re()}],"overflow-y":[{"overflow-y":re()}],overscroll:[{overscroll:y()}],"overscroll-x":[{"overscroll-x":y()}],"overscroll-y":[{"overscroll-y":y()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:x()}],"inset-x":[{"inset-x":x()}],"inset-y":[{"inset-y":x()}],start:[{"inset-s":x(),start:x()}],end:[{"inset-e":x(),end:x()}],"inset-bs":[{"inset-bs":x()}],"inset-be":[{"inset-be":x()}],top:[{top:x()}],right:[{right:x()}],bottom:[{bottom:x()}],left:[{left:x()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[K,`auto`,X,J]}],basis:[{basis:[W,`full`,`auto`,s,...b()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[G,W,`auto`,`initial`,`none`,J]}],grow:[{grow:[``,G,X,J]}],shrink:[{shrink:[``,G,X,J]}],order:[{order:[K,`first`,`last`,`none`,X,J]}],"grid-cols":[{"grid-cols":S()}],"col-start-end":[{col:C()}],"col-start":[{"col-start":w()}],"col-end":[{"col-end":w()}],"grid-rows":[{"grid-rows":S()}],"row-start-end":[{row:C()}],"row-start":[{"row-start":w()}],"row-end":[{"row-end":w()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:b()}],"gap-x":[{"gap-x":b()}],"gap-y":[{"gap-y":b()}],"justify-content":[{justify:[...E(),`normal`]}],"justify-items":[{"justify-items":[...D(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...D()]}],"align-content":[{content:[`normal`,...E()]}],"align-items":[{items:[...D(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...D(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":E()}],"place-items":[{"place-items":[...D(),`baseline`]}],"place-self":[{"place-self":[`auto`,...D()]}],p:[{p:b()}],px:[{px:b()}],py:[{py:b()}],ps:[{ps:b()}],pe:[{pe:b()}],pbs:[{pbs:b()}],pbe:[{pbe:b()}],pt:[{pt:b()}],pr:[{pr:b()}],pb:[{pb:b()}],pl:[{pl:b()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mbs:[{mbs:O()}],mbe:[{mbe:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":b()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":b()}],"space-y-reverse":[`space-y-reverse`],size:[{size:k()}],"inline-size":[{inline:[`auto`,...A()]}],"min-inline-size":[{"min-inline":[`auto`,...A()]}],"max-inline-size":[{"max-inline":[`none`,...A()]}],"block-size":[{block:[`auto`,...j()]}],"min-block-size":[{"min-block":[`auto`,...j()]}],"max-block-size":[{"max-block":[`none`,...j()]}],w:[{w:[s,`screen`,...k()]}],"min-w":[{"min-w":[s,`screen`,`none`,...k()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...k()]}],h:[{h:[`screen`,`lh`,...k()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...k()]}],"max-h":[{"max-h":[`screen`,`lh`,...k()]}],"font-size":[{text:[`base`,n,Z,Y]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,yt,lt]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,$e,J]}],"font-family":[{font:[mt,ut,t]}],"font-features":[{"font-features":[J]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,X,J]}],"line-clamp":[{"line-clamp":[G,`none`,X,ct]}],leading:[{leading:[a,...b()]}],"list-image":[{"list-image":[`none`,X,J]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,X,J]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...I(),`wavy`]}],"text-decoration-thickness":[{decoration:[G,`from-font`,`auto`,X,Y]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[G,`auto`,X,J]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:b()}],"tab-size":[{tab:[K,X,J]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,X,J]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,X,J]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:ie()}],"bg-size":[{bg:ae()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},K,X,J],radial:[``,X,J],conic:[K,X,J]},_t,ft]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:oe()}],"gradient-via-pos":[{via:oe()}],"gradient-to-pos":[{to:oe()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:P()}],"rounded-s":[{"rounded-s":P()}],"rounded-e":[{"rounded-e":P()}],"rounded-t":[{"rounded-t":P()}],"rounded-r":[{"rounded-r":P()}],"rounded-b":[{"rounded-b":P()}],"rounded-l":[{"rounded-l":P()}],"rounded-ss":[{"rounded-ss":P()}],"rounded-se":[{"rounded-se":P()}],"rounded-ee":[{"rounded-ee":P()}],"rounded-es":[{"rounded-es":P()}],"rounded-tl":[{"rounded-tl":P()}],"rounded-tr":[{"rounded-tr":P()}],"rounded-br":[{"rounded-br":P()}],"rounded-bl":[{"rounded-bl":P()}],"border-w":[{border:F()}],"border-w-x":[{"border-x":F()}],"border-w-y":[{"border-y":F()}],"border-w-s":[{"border-s":F()}],"border-w-e":[{"border-e":F()}],"border-w-bs":[{"border-bs":F()}],"border-w-be":[{"border-be":F()}],"border-w-t":[{"border-t":F()}],"border-w-r":[{"border-r":F()}],"border-w-b":[{"border-b":F()}],"border-w-l":[{"border-l":F()}],"divide-x":[{"divide-x":F()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":F()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...I(),`hidden`,`none`]}],"divide-style":[{divide:[...I(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...I(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[G,X,J]}],"outline-w":[{outline:[``,G,Z,Y]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`none`,u,vt,pt]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,vt,pt]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:F()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[G,Y]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":F()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,f,vt,pt]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[G,X,J]}],"mix-blend":[{"mix-blend":[...se(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":se()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[G]}],"mask-image-linear-from-pos":[{"mask-linear-from":L()}],"mask-image-linear-to-pos":[{"mask-linear-to":L()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":L()}],"mask-image-t-to-pos":[{"mask-t-to":L()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":L()}],"mask-image-r-to-pos":[{"mask-r-to":L()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":L()}],"mask-image-b-to-pos":[{"mask-b-to":L()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":L()}],"mask-image-l-to-pos":[{"mask-l-to":L()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":L()}],"mask-image-x-to-pos":[{"mask-x-to":L()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":L()}],"mask-image-y-to-pos":[{"mask-y-to":L()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[X,J]}],"mask-image-radial-from-pos":[{"mask-radial-from":L()}],"mask-image-radial-to-pos":[{"mask-radial-to":L()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":v()}],"mask-image-conic-pos":[{"mask-conic":[G]}],"mask-image-conic-from-pos":[{"mask-conic-from":L()}],"mask-image-conic-to-pos":[{"mask-conic-to":L()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:ie()}],"mask-size":[{mask:ae()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,X,J]}],filter:[{filter:[``,`none`,X,J]}],blur:[{blur:ce()}],brightness:[{brightness:[G,X,J]}],contrast:[{contrast:[G,X,J]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,vt,pt]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,G,X,J]}],"hue-rotate":[{"hue-rotate":[G,X,J]}],invert:[{invert:[``,G,X,J]}],saturate:[{saturate:[G,X,J]}],sepia:[{sepia:[``,G,X,J]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,X,J]}],"backdrop-blur":[{"backdrop-blur":ce()}],"backdrop-brightness":[{"backdrop-brightness":[G,X,J]}],"backdrop-contrast":[{"backdrop-contrast":[G,X,J]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,G,X,J]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[G,X,J]}],"backdrop-invert":[{"backdrop-invert":[``,G,X,J]}],"backdrop-opacity":[{"backdrop-opacity":[G,X,J]}],"backdrop-saturate":[{"backdrop-saturate":[G,X,J]}],"backdrop-sepia":[{"backdrop-sepia":[``,G,X,J]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":b()}],"border-spacing-x":[{"border-spacing-x":b()}],"border-spacing-y":[{"border-spacing-y":b()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,X,J]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[G,`initial`,X,J]}],ease:[{ease:[`linear`,`initial`,g,X,J]}],delay:[{delay:[G,X,J]}],animate:[{animate:[`none`,te,X,J]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[m,X,J]}],"perspective-origin":[{"perspective-origin":ne()}],rotate:[{rotate:R()}],"rotate-x":[{"rotate-x":R()}],"rotate-y":[{"rotate-y":R()}],"rotate-z":[{"rotate-z":R()}],scale:[{scale:z()}],"scale-x":[{"scale-x":z()}],"scale-y":[{"scale-y":z()}],"scale-z":[{"scale-z":z()}],"scale-3d":[`scale-3d`],skew:[{skew:B()}],"skew-x":[{"skew-x":B()}],"skew-y":[{"skew-y":B()}],transform:[{transform:[X,J,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:ne()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:V()}],"translate-x":[{"translate-x":V()}],"translate-y":[{"translate-y":V()}],"translate-z":[{"translate-z":V()}],"translate-none":[`translate-none`],zoom:[{zoom:[K,X,J]}],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,X,J]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":M()}],"scrollbar-track-color":[{"scrollbar-track":M()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":b()}],"scroll-mx":[{"scroll-mx":b()}],"scroll-my":[{"scroll-my":b()}],"scroll-ms":[{"scroll-ms":b()}],"scroll-me":[{"scroll-me":b()}],"scroll-mbs":[{"scroll-mbs":b()}],"scroll-mbe":[{"scroll-mbe":b()}],"scroll-mt":[{"scroll-mt":b()}],"scroll-mr":[{"scroll-mr":b()}],"scroll-mb":[{"scroll-mb":b()}],"scroll-ml":[{"scroll-ml":b()}],"scroll-p":[{"scroll-p":b()}],"scroll-px":[{"scroll-px":b()}],"scroll-py":[{"scroll-py":b()}],"scroll-ps":[{"scroll-ps":b()}],"scroll-pe":[{"scroll-pe":b()}],"scroll-pbs":[{"scroll-pbs":b()}],"scroll-pbe":[{"scroll-pbe":b()}],"scroll-pt":[{"scroll-pt":b()}],"scroll-pr":[{"scroll-pr":b()}],"scroll-pb":[{"scroll-pb":b()}],"scroll-pl":[{"scroll-pl":b()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,X,J]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[G,Z,Y,ct]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`right`,`left`],"inset-y":[`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`pr`,`pl`],py:[`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`mr`,`ml`],my:[`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-r`,`border-w-l`],"border-w-y":[`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-r`,`border-color-l`],"border-color-y":[`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function kt(...e){return Ot(fe(e))}var At=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),jt=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),Mt=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),Nt=e=>{let t=Mt(e);return t.charAt(0).toUpperCase()+t.slice(1)},Pt={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`},Ft=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},It=(0,s.forwardRef)(({color:e=`currentColor`,size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:i=``,children:a,iconNode:o,...c},l)=>(0,s.createElement)(`svg`,{ref:l,...Pt,width:t,height:t,stroke:e,strokeWidth:r?Number(n)*24/Number(t):n,className:At(`lucide`,i),...!a&&!Ft(c)&&{"aria-hidden":`true`},...c},[...o.map(([e,t])=>(0,s.createElement)(e,t)),...Array.isArray(a)?a:[a]])),Lt=(e,t)=>{let n=(0,s.forwardRef)(({className:n,...r},i)=>(0,s.createElement)(It,{ref:i,iconNode:t,className:At(`lucide-${jt(Nt(e))}`,`lucide-${e}`,n),...r}));return n.displayName=Nt(e),n},Rt=Lt(`x`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),zt=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Bt=fe,Vt=(e,t)=>n=>{if(t?.variants==null)return Bt(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=zt(t)||zt(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Bt(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)},Ht=Vt(`inline-flex shrink-0 items-center justify-center gap-2 rounded-md text-sm font-medium whitespace-nowrap transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:bg-destructive/60 dark:focus-visible:ring-destructive/40`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,xs:`h-6 gap-1 rounded-md px-2 text-xs has-[>svg]:px-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1.5 rounded-md px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-xs":`size-6 rounded-md [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function Ut({className:e,variant:t=`default`,size:n=`default`,asChild:r=!1,...i}){let a=r?k:`button`;return(0,z.jsx)(a,{"data-slot":`button`,"data-variant":t,"data-size":n,className:kt(Ht({variant:t,size:n,className:e})),...i})}export{m as _,Lt as a,o as b,ue as c,j as d,w as f,h as g,g as h,Rt as i,R as l,y as m,Ht as n,kt as o,T as p,Vt as r,le as s,Ut as t,O as u,c as v,u as y};
|