@prisma/studio-core 0.0.0-dev.202505082237 → 0.0.0-dev.202505082258
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/package.json +1 -1
- package/dist/CPIOZS5X-V4BHP4CI.js +0 -1
- package/dist/OKF6E45R-XYOIK2NY.js +0 -1
- package/dist/adapter-CH4qnR6R.d.cts +0 -219
- package/dist/adapter-CH4qnR6R.d.ts +0 -219
- package/dist/chunk-2ZJZX5I7.js +0 -0
- package/dist/chunk-555OIWZX.js +0 -1
- package/dist/chunk-5MNS4IJC.js +0 -1332
- package/dist/chunk-BMVJYUJW.js +0 -1
- package/dist/chunk-N2MLAUEV.js +0 -1
- package/dist/chunk-P72NBTYE.js +0 -1
- package/dist/data/accelerate/index.cjs +0 -1
- package/dist/data/accelerate/index.d.cts +0 -47
- package/dist/data/accelerate/index.d.ts +0 -47
- package/dist/data/accelerate/index.js +0 -1
- package/dist/data/bff/index.cjs +0 -1
- package/dist/data/bff/index.d.cts +0 -55
- package/dist/data/bff/index.d.ts +0 -55
- package/dist/data/bff/index.js +0 -1
- package/dist/data/index.cjs +0 -1
- package/dist/data/index.d.cts +0 -3
- package/dist/data/index.d.ts +0 -3
- package/dist/data/index.js +0 -1
- package/dist/data/pglite/index.cjs +0 -1
- package/dist/data/pglite/index.d.cts +0 -26
- package/dist/data/pglite/index.d.ts +0 -26
- package/dist/data/pglite/index.js +0 -1
- package/dist/data/postgres-core/index.cjs +0 -1
- package/dist/data/postgres-core/index.d.cts +0 -155
- package/dist/data/postgres-core/index.d.ts +0 -155
- package/dist/data/postgres-core/index.js +0 -1
- package/dist/index-BTblIzxR.d.ts +0 -48
- package/dist/index-DAubYhEp.d.cts +0 -48
- package/dist/ui/index.cjs +0 -1603
- package/dist/ui/index.css +0 -2049
- package/dist/ui/index.d.cts +0 -27
- package/dist/ui/index.d.ts +0 -27
- package/dist/ui/index.js +0 -274
package/dist/data/bff/index.d.ts
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-BTblIzxR.js';
|
|
2
|
-
import { E as Either } from '../../adapter-CH4qnR6R.js';
|
|
3
|
-
import 'kysely';
|
|
4
|
-
|
|
5
|
-
interface StudioBFFClientProps {
|
|
6
|
-
/**
|
|
7
|
-
* Allows passing custom headers to the BFF.
|
|
8
|
-
*
|
|
9
|
-
* e.g. authorization token.
|
|
10
|
-
*/
|
|
11
|
-
customHeaders?: Record<string, string>;
|
|
12
|
-
/**
|
|
13
|
-
* Allows passing custom payload to the BFF via `body.customPayload`.
|
|
14
|
-
*
|
|
15
|
-
* e.g. tenant id.
|
|
16
|
-
*/
|
|
17
|
-
customPayload?: Record<string, unknown>;
|
|
18
|
-
/**
|
|
19
|
-
* Allows overriding the fetch function implementation.
|
|
20
|
-
*
|
|
21
|
-
* e.g. for testing, or older Node.js versions.
|
|
22
|
-
*/
|
|
23
|
-
fetch?: typeof globalThis.fetch;
|
|
24
|
-
/**
|
|
25
|
-
* Function used to deserialize the results of queries.
|
|
26
|
-
*
|
|
27
|
-
* By default, the results are returned as is without any additional processing.
|
|
28
|
-
*/
|
|
29
|
-
resultDeserializerFn?(this: void, results: unknown): unknown[];
|
|
30
|
-
/**
|
|
31
|
-
* BFF endpoint URL.
|
|
32
|
-
*
|
|
33
|
-
* e.g. `https://api.example.com/studio`
|
|
34
|
-
*/
|
|
35
|
-
url: string | URL;
|
|
36
|
-
}
|
|
37
|
-
interface StudioBFFClient extends Executor {
|
|
38
|
-
/**
|
|
39
|
-
* Requests BFF to query the database.
|
|
40
|
-
*
|
|
41
|
-
* The query is sent as `body.query`.
|
|
42
|
-
*/
|
|
43
|
-
execute<Q extends Query>(this: void, query: Q, options?: ExecuteOptions): Promise<Either<Error, QueryResult<Q>>>;
|
|
44
|
-
}
|
|
45
|
-
interface StudioBFFQueryRequest {
|
|
46
|
-
customPayload?: Record<string, unknown>;
|
|
47
|
-
procedure: "query";
|
|
48
|
-
query: Query<unknown>;
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Creates a Studio BFF client. BFF stands for "Backend For Frontend" btw.
|
|
52
|
-
*/
|
|
53
|
-
declare function createStudioBFFClient(props: StudioBFFClientProps): StudioBFFClient;
|
|
54
|
-
|
|
55
|
-
export { type StudioBFFClient, type StudioBFFClientProps, type StudioBFFQueryRequest, createStudioBFFClient };
|
package/dist/data/bff/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"../../chunk-BMVJYUJW.js";function p(r){let{customHeaders:n,customPayload:u,resultDeserializerFn:s,url:i}=r,c=r.fetch||fetch;return{async execute(a,l){try{let e=await c(i,{body:JSON.stringify({customPayload:u,procedure:"query",query:a}),headers:{Accept:"application/json","Content-Type":"application/json",...n},method:"POST",signal:l?.abortSignal});if(!e.ok){let t;try{t=await e.text()}catch{t="unknown error"}return[new Error(t)]}let o=await e.json();return[null,s?.(o)||o]}catch(e){return[e]}}}}export{p as createStudioBFFClient};
|
package/dist/data/index.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var s=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var m=Object.getOwnPropertyNames;var c=Object.prototype.hasOwnProperty;var d=(r,e)=>{for(var t in e)s(r,t,{get:e[t],enumerable:!0})},f=(r,e,t,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of m(e))!c.call(r,n)&&n!==t&&s(r,n,{get:()=>e[n],enumerable:!(o=y(e,n))||o.enumerable});return r};var w=r=>f(s({},"__esModule",{value:!0}),r);var g={};d(g,{applyInferredRowFilters:()=>l,inferRowFilter:()=>u});module.exports=w(g);function l(r,e){let t=Q(r,e);return o=>o.where(n=>n.or(t.map(i=>n.and(i.map(([p,a])=>n(p,a===null?"is":"=",a))))))}function u(r,e){return Object.entries(Object.values(e).reduce((t,o)=>{let{isInPrimaryKey:n,name:i}=o;return n&&(t[i]=r[i]??null),t},{}))}function Q(r,e){return r.map(t=>u(t,e))}0&&(module.exports={applyInferredRowFilters,inferRowFilter});
|
package/dist/data/index.d.cts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { A as Adapter, e as AdapterBaseOptions, d as AdapterDeleteDetails, j as AdapterDeleteOptions, s as AdapterDeleteResult, a as AdapterInsertDetails, h as AdapterInsertOptions, q as AdapterInsertResult, f as AdapterIntrospectOptions, b as AdapterQueryDetails, g as AdapterQueryOptions, p as AdapterQueryResult, c as AdapterUpdateDetails, i as AdapterUpdateOptions, r as AdapterUpdateResult, B as BigIntString, C as Column, l as ColumnFilter, m as ColumnFilterGroup, D as DataType, k as DataTypeGroup, E as Either, F as FilterOperator, I as Introspection, N as NumericString, S as Schema, o as SortDirection, n as SortOrderItem, T as Table } from '../adapter-CH4qnR6R.cjs';
|
|
2
|
-
export { a as ExecuteOptions, E as Executor, Q as Query, b as QueryResult, c as applyInferredRowFilters, i as inferRowFilter } from '../index-DAubYhEp.cjs';
|
|
3
|
-
import 'kysely';
|
package/dist/data/index.d.ts
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { A as Adapter, e as AdapterBaseOptions, d as AdapterDeleteDetails, j as AdapterDeleteOptions, s as AdapterDeleteResult, a as AdapterInsertDetails, h as AdapterInsertOptions, q as AdapterInsertResult, f as AdapterIntrospectOptions, b as AdapterQueryDetails, g as AdapterQueryOptions, p as AdapterQueryResult, c as AdapterUpdateDetails, i as AdapterUpdateOptions, r as AdapterUpdateResult, B as BigIntString, C as Column, l as ColumnFilter, m as ColumnFilterGroup, D as DataType, k as DataTypeGroup, E as Either, F as FilterOperator, I as Introspection, N as NumericString, S as Schema, o as SortDirection, n as SortOrderItem, T as Table } from '../adapter-CH4qnR6R.js';
|
|
2
|
-
export { a as ExecuteOptions, E as Executor, Q as Query, b as QueryResult, c as applyInferredRowFilters, i as inferRowFilter } from '../index-BTblIzxR.js';
|
|
3
|
-
import 'kysely';
|
package/dist/data/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import"../chunk-2ZJZX5I7.js";import{C as a,D as b}from"../chunk-P72NBTYE.js";import"../chunk-BMVJYUJW.js";export{a as applyInferredRowFilters,b as inferRowFilter};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var ri=Object.defineProperty;var cn=Object.getOwnPropertyDescriptor;var hn=Object.getOwnPropertyNames;var mn=Object.prototype.hasOwnProperty;var ln=(t,e)=>{for(var r in e)ri(t,r,{get:e[r],enumerable:!0})},fn=(t,e,r,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of hn(e))!mn.call(t,n)&&n!==r&&ri(t,n,{get:()=>e[n],enumerable:!(o=cn(e,n))||o.enumerable});return t};var Nn=t=>fn(ri({},"__esModule",{value:!0}),t);var ds={};ln(ds,{createPGLiteAdapter:()=>us,createPGLiteExecutor:()=>pn});module.exports=Nn(ds);var ro={bool:{group:"boolean"},boolean:{group:"boolean"},bytea:{group:"string"},char:{group:"string"},citext:{group:"string"},date:{group:"datetime"},interval:{group:"string"},name:{group:"string"},varchar:{group:"string"},text:{group:"string"},time:{group:"time"},timestamp:{group:"datetime"},timestamptz:{group:"datetime"},"timestamp without time zone":{group:"datetime"},"timestamp with time zone":{group:"datetime"},timetz:{group:"time"},"time without time zone":{group:"time"},"time with time zone":{group:"datetime"},uuid:{group:"string"},int2:{group:"numeric"},int4:{group:"numeric"},int8:{group:"numeric"},smallint:{group:"numeric"},integer:{group:"numeric"},bigint:{group:"numeric"},decimal:{group:"numeric"},numeric:{group:"numeric"},real:{group:"numeric"},float4:{group:"numeric"},float8:{group:"numeric"},"double precision":{group:"numeric"},json:{group:"json"},jsonb:{group:"json"}};function H(t){return typeof t>"u"||t===void 0}function v(t){return typeof t=="string"}function Ee(t){return typeof t=="number"}function Ve(t){return typeof t=="boolean"}function Xe(t){return t===null}function io(t){return t instanceof Date}function Ze(t){return typeof t=="bigint"}function T(t){return typeof t=="function"}function B(t){return typeof t=="object"&&t!==null}function i(t){return Object.freeze(t)}function Rt(t){return P(t)?t:[t]}function P(t){return Array.isArray(t)}function V(t){return t}var f=i({is(t){return t.kind==="AlterTableNode"},create(t){return i({kind:"AlterTableNode",table:t})},cloneWithTableProps(t,e){return i({...t,...e})},cloneWithColumnAlteration(t,e){return i({...t,columnAlterations:t.columnAlterations?[...t.columnAlterations,e]:[e]})}});var p=i({is(t){return t.kind==="IdentifierNode"},create(t){return i({kind:"IdentifierNode",name:t})}});var ie=i({is(t){return t.kind==="CreateIndexNode"},create(t){return i({kind:"CreateIndexNode",name:p.create(t)})},cloneWith(t,e){return i({...t,...e})},cloneWithColumns(t,e){return i({...t,columns:[...t.columns||[],...e]})}});var $t=i({is(t){return t.kind==="CreateSchemaNode"},create(t,e){return i({kind:"CreateSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var oo=["preserve rows","delete rows","drop"],F=i({is(t){return t.kind==="CreateTableNode"},create(t){return i({kind:"CreateTableNode",table:t,columns:i([])})},cloneWithColumn(t,e){return i({...t,columns:i([...t.columns,e])})},cloneWithConstraint(t,e){return i({...t,constraints:t.constraints?i([...t.constraints,e]):i([e])})},cloneWithFrontModifier(t,e){return i({...t,frontModifiers:t.frontModifiers?i([...t.frontModifiers,e]):i([e])})},cloneWithEndModifier(t,e){return i({...t,endModifiers:t.endModifiers?i([...t.endModifiers,e]):i([e])})},cloneWith(t,e){return i({...t,...e})}});var M=i({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return i({kind:"SchemableIdentifierNode",identifier:p.create(t)})},createWithSchema(t,e){return i({kind:"SchemableIdentifierNode",schema:p.create(t),identifier:p.create(e)})}});var Ae=i({is(t){return t.kind==="DropIndexNode"},create(t,e){return i({kind:"DropIndexNode",name:M.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var It=i({is(t){return t.kind==="DropSchemaNode"},create(t,e){return i({kind:"DropSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var Dt=i({is(t){return t.kind==="DropTableNode"},create(t,e){return i({kind:"DropTableNode",table:t,...e})},cloneWith(t,e){return i({...t,...e})}});var R=i({is(t){return t.kind==="AliasNode"},create(t,e){return i({kind:"AliasNode",node:t,alias:e})}});var Y=i({is(t){return t.kind==="TableNode"},create(t){return i({kind:"TableNode",table:M.create(t)})},createWithSchema(t,e){return i({kind:"TableNode",table:M.createWithSchema(t,e)})}});function b(t){return B(t)&&T(t.toOperationNode)}function Kt(t){return B(t)&&"expressionType"in t&&b(t)}function no(t){return B(t)&&"expression"in t&&v(t.alias)&&b(t)}var me=i({is(t){return t.kind==="SelectModifierNode"},create(t,e){return i({kind:"SelectModifierNode",modifier:t,of:e})},createWithExpression(t){return i({kind:"SelectModifierNode",rawModifier:t})}});var K=i({is(t){return t.kind==="AndNode"},create(t,e){return i({kind:"AndNode",left:t,right:e})}});var oe=i({is(t){return t.kind==="OrNode"},create(t,e){return i({kind:"OrNode",left:t,right:e})}});var Gt=i({is(t){return t.kind==="OnNode"},create(t){return i({kind:"OnNode",on:t})},cloneWithOperation(t,e,r){return i({...t,on:e==="And"?K.create(t.on,r):oe.create(t.on,r)})}});var ge=i({is(t){return t.kind==="JoinNode"},create(t,e){return i({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,r){return i({kind:"JoinNode",joinType:t,table:e,on:Gt.create(r)})},cloneWithOn(t,e){return i({...t,on:t.on?Gt.cloneWithOperation(t.on,"And",e):Gt.create(e)})}});var Re=i({is(t){return t.kind==="BinaryOperationNode"},create(t,e,r){return i({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:r})}});var yn=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],wn=["+","-","*","/","%","^","&","|","#","<<",">>"],so=["->","->>"],xn=[...yn,...wn,"&&","||"],gn=["exists","not exists"],On=["not","-",...gn],ao=[...xn,...so,...On,"between","between symmetric"],X=i({is(t){return t.kind==="OperatorNode"},create(t){return i({kind:"OperatorNode",operator:t})}});function ii(t){return v(t)&&so.includes(t)}var h=i({is(t){return t.kind==="ColumnNode"},create(t){return i({kind:"ColumnNode",column:p.create(t)})}});var _e=i({is(t){return t.kind==="SelectAllNode"},create(){return i({kind:"SelectAllNode"})}});var et=i({is(t){return t.kind==="ReferenceNode"},create(t,e){return i({kind:"ReferenceNode",table:e,column:t})},createSelectAll(t){return i({kind:"ReferenceNode",table:t,column:_e.create()})}});var jt=class{#e;get dynamicReference(){return this.#e}get refType(){}constructor(e){this.#e=e}toOperationNode(){return oi(this.#e)}};function Ht(t){return B(t)&&b(t)&&v(t.dynamicReference)}var ne=i({is(t){return t.kind==="OrderByItemNode"},create(t,e){return i({kind:"OrderByItemNode",orderBy:t,direction:e})},cloneWith(t,e){return i({...t,...e})}});var W=i({is(t){return t.kind==="RawNode"},create(t,e){return i({kind:"RawNode",sqlFragments:i(t),parameters:i(e)})},createWithSql(t){return W.create([t],[])},createWithChild(t){return W.create(["",""],[t])},createWithChildren(t){return W.create(new Array(t.length+1).fill(""),t)}});var uo={is(t){return t.kind==="CollateNode"},create(t){return i({kind:"CollateNode",collation:p.create(t)})}};var Yt=class t{#e;constructor(e){this.#e=i(e)}desc(){return new t({node:ne.cloneWith(this.#e.node,{direction:W.createWithSql("desc")})})}asc(){return new t({node:ne.cloneWith(this.#e.node,{direction:W.createWithSql("asc")})})}nullsLast(){return new t({node:ne.cloneWith(this.#e.node,{nulls:"last"})})}nullsFirst(){return new t({node:ne.cloneWith(this.#e.node,{nulls:"first"})})}collate(e){return new t({node:ne.cloneWith(this.#e.node,{collation:uo.create(e)})})}toOperationNode(){return this.#e.node}};var po=new Set;function Ie(t){po.has(t)||(po.add(t),console.log(t))}function si(t){return t==="asc"||t==="desc"}function _(t){if(t.length===2)return[ni(t[0],t[1])];if(t.length===1){let[e]=t;return Array.isArray(e)?(Ie("orderBy(array) is deprecated, use multiple orderBy calls instead."),e.map(r=>ni(r))):[ni(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function ni(t,e){let r=bn(t);if(ne.is(r)){if(e)throw new Error("Cannot specify direction twice!");return r}return co(r,e)}function bn(t){if(Oe(t))return G(t);if(Ht(t))return t.toOperationNode();let[e,r]=t.split(" ");return r?(Ie("`orderBy('column asc')` is deprecated. Use `orderBy('column', 'asc')` instead."),co(Z(e),r)):Z(t)}function co(t,e){if(typeof e=="string"){if(!si(e))throw new Error(`Invalid order by direction: ${e}`);return ne.create(t,W.createWithSql(e))}if(Kt(e))return Ie("`orderBy(..., expr)` is deprecated. Use `orderBy(..., 'asc')` or `orderBy(..., (ob) => ...)` instead."),ne.create(t,e.toOperationNode());let r=ne.create(t);return e?e(new Yt({node:r})).toOperationNode():r}var tt=i({is(t){return t.kind==="JSONReferenceNode"},create(t,e){return i({kind:"JSONReferenceNode",reference:t,traversal:e})},cloneWithTraversal(t,e){return i({...t,traversal:e})}});var Xt=i({is(t){return t.kind==="JSONOperatorChainNode"},create(t){return i({kind:"JSONOperatorChainNode",operator:t,values:i([])})},cloneWithValue(t,e){return i({...t,values:i([...t.values,e])})}});var De=i({is(t){return t.kind==="JSONPathNode"},create(t){return i({kind:"JSONPathNode",inOperator:t,pathLegs:i([])})},cloneWithLeg(t,e){return i({...t,pathLegs:i([...t.pathLegs,e])})}});function oi(t){return v(t)?Z(t):t.toOperationNode()}function be(t){return P(t)?t.map(e=>L(e)):[L(t)]}function L(t){return Oe(t)?G(t):oi(t)}function ho(t,e){let r=Z(t);if(ii(e))return tt.create(r,Xt.create(X.create(e)));let o=e.slice(0,-1);if(ii(o))return tt.create(r,De.create(X.create(o)));throw new Error(`Invalid JSON operator: ${e}`)}function Z(t){let e=".";if(!t.includes(e))return et.create(h.create(t));let r=t.split(e).map(ui);if(r.length===3)return Cn(r);if(r.length===2)return vn(r);throw new Error(`invalid column reference ${t}`)}function mo(t){let e=" as ";if(t.includes(e)){let[r,o]=t.split(e).map(ui);return R.create(Z(r),p.create(o))}else return Z(t)}function ai(t){return h.create(t)}function rt(t){let e=" ";if(t.includes(e)){let[r,o]=t.split(e).map(ui);if(!si(o))throw new Error(`invalid order direction "${o}" next to "${r}"`);return _([r,o])[0]}else return ai(t)}function Cn(t){let[e,r,o]=t;return et.create(h.create(o),Y.createWithSchema(e,r))}function vn(t){let[e,r]=t;return et.create(h.create(r),Y.create(e))}function ui(t){return t.trim()}var Zt=i({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return i({kind:"PrimitiveValueListNode",values:i([...t])})}});var le=i({is(t){return t.kind==="ValueListNode"},create(t){return i({kind:"ValueListNode",values:i(t)})}});var k=i({is(t){return t.kind==="ValueNode"},create(t){return i({kind:"ValueNode",value:t})},createImmediate(t){return i({kind:"ValueNode",value:t,immediate:!0})}});function lo(t){return P(t)?Wn(t):g(t)}function g(t){return Oe(t)?G(t):k.create(t)}function _t(t){return Ee(t)||Ve(t)||Xe(t)}function qt(t){if(!_t(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return k.createImmediate(t)}function Wn(t){return t.some(Oe)?le.create(t.map(e=>g(e))):Zt.create(t)}var fe=i({is(t){return t.kind==="ParensNode"},create(t){return i({kind:"ParensNode",node:t})}});function O(t){if(t.length===3)return er(t[0],t[1],t[2]);if(t.length===1)return g(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function er(t,e,r){return Tn(e)&&No(r)?Re.create(L(t),di(e),k.createImmediate(r)):Re.create(L(t),di(e),lo(r))}function I(t,e,r){return Re.create(L(t),di(e),L(r))}function pi(t,e){return it(Object.entries(t).filter(([,r])=>!H(r)).map(([r,o])=>er(r,No(o)?"is":"=",o)),e)}function it(t,e,r=!0){let o=e==="and"?K.create:oe.create;if(t.length===0)return Re.create(k.createImmediate(1),X.create("="),k.createImmediate(e==="and"?1:0));let n=fo(t[0]);for(let a=1;a<t.length;++a)n=o(n,fo(t[a]));return t.length>1&&r?fe.create(n):n}function Tn(t){return t==="is"||t==="is not"}function No(t){return Xe(t)||Ve(t)}function di(t){if(v(t)&&ao.includes(t))return X.create(t);if(b(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function fo(t){return b(t)?t.toOperationNode():t}var Ce=i({is(t){return t.kind==="OrderByNode"},create(t){return i({kind:"OrderByNode",items:i([...t])})},cloneWithItems(t,e){return i({...t,items:i([...t.items,...e])})}});var ci=i({is(t){return t.kind==="PartitionByNode"},create(t){return i({kind:"PartitionByNode",items:i(t)})},cloneWithItems(t,e){return i({...t,items:i([...t.items,...e])})}});var Bt=i({is(t){return t.kind==="OverNode"},create(){return i({kind:"OverNode"})},cloneWithOrderByItems(t,e){return i({...t,orderBy:t.orderBy?Ce.cloneWithItems(t.orderBy,e):Ce.create(e)})},cloneWithPartitionByItems(t,e){return i({...t,partitionBy:t.partitionBy?ci.cloneWithItems(t.partitionBy,e):ci.create(e)})}});var Ue=i({is(t){return t.kind==="FromNode"},create(t){return i({kind:"FromNode",froms:i(t)})},cloneWithFroms(t,e){return i({...t,froms:i([...t.froms,...e])})}});var hi=i({is(t){return t.kind==="GroupByNode"},create(t){return i({kind:"GroupByNode",items:i(t)})},cloneWithItems(t,e){return i({...t,items:i([...t.items,...e])})}});var mi=i({is(t){return t.kind==="HavingNode"},create(t){return i({kind:"HavingNode",having:t})},cloneWithOperation(t,e,r){return i({...t,having:e==="And"?K.create(t.having,r):oe.create(t.having,r)})}});var S=i({is(t){return t.kind==="InsertQueryNode"},create(t,e,r){return i({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:r})},createWithoutInto(){return i({kind:"InsertQueryNode"})},cloneWith(t,e){return i({...t,...e})}});var tr=i({is(t){return t.kind==="ListNode"},create(t){return i({kind:"ListNode",items:i(t)})}});var Ne=i({is(t){return t.kind==="UpdateQueryNode"},create(t,e){return i({kind:"UpdateQueryNode",table:t.length===1?t[0]:tr.create(t),...e&&{with:e}})},createWithoutTable(){return i({kind:"UpdateQueryNode"})},cloneWithFromItems(t,e){return i({...t,from:t.from?Ue.cloneWithFroms(t.from,e):Ue.create(e)})},cloneWithUpdates(t,e){return i({...t,updates:t.updates?i([...t.updates,...e]):e})},cloneWithLimit(t,e){return i({...t,limit:e})}});var li=i({is(t){return t.kind==="UsingNode"},create(t){return i({kind:"UsingNode",tables:i(t)})},cloneWithTables(t,e){return i({...t,tables:i([...t.tables,...e])})}});var qe=i({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return i({kind:"DeleteQueryNode",from:Ue.create(t),...e&&{with:e}})},cloneWithOrderByItems:(t,e)=>u.cloneWithOrderByItems(t,e),cloneWithoutOrderBy:t=>u.cloneWithoutOrderBy(t),cloneWithLimit(t,e){return i({...t,limit:e})},cloneWithoutLimit(t){return i({...t,limit:void 0})},cloneWithUsing(t,e){return i({...t,using:t.using!==void 0?li.cloneWithTables(t.using,e):li.create(e)})}});var Q=i({is(t){return t.kind==="WhereNode"},create(t){return i({kind:"WhereNode",where:t})},cloneWithOperation(t,e,r){return i({...t,where:e==="And"?K.create(t.where,r):oe.create(t.where,r)})}});var fi=i({is(t){return t.kind==="ReturningNode"},create(t){return i({kind:"ReturningNode",selections:i(t)})},cloneWithSelections(t,e){return i({...t,selections:t.selections?i([...t.selections,...e]):i(e)})}});var yo=i({is(t){return t.kind==="ExplainNode"},create(t,e){return i({kind:"ExplainNode",format:t,options:e})}});var ve=i({is(t){return t.kind==="WhenNode"},create(t){return i({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return i({...t,result:e})}});var D=i({is(t){return t.kind==="MergeQueryNode"},create(t,e){return i({kind:"MergeQueryNode",into:t,...e&&{with:e}})},cloneWithUsing(t,e){return i({...t,using:e})},cloneWithWhen(t,e){return i({...t,whens:t.whens?i([...t.whens,e]):i([e])})},cloneWithThen(t,e){return i({...t,whens:t.whens?i([...t.whens.slice(0,-1),ve.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}});var Ni=i({is(t){return t.kind==="OutputNode"},create(t){return i({kind:"OutputNode",selections:i(t)})},cloneWithSelections(t,e){return i({...t,selections:t.selections?i([...t.selections,...e]):i(e)})}});var u=i({is(t){return x.is(t)||S.is(t)||Ne.is(t)||qe.is(t)||D.is(t)},cloneWithEndModifier(t,e){return i({...t,endModifiers:t.endModifiers?i([...t.endModifiers,e]):i([e])})},cloneWithWhere(t,e){return i({...t,where:t.where?Q.cloneWithOperation(t.where,"And",e):Q.create(e)})},cloneWithJoin(t,e){return i({...t,joins:t.joins?i([...t.joins,e]):i([e])})},cloneWithReturning(t,e){return i({...t,returning:t.returning?fi.cloneWithSelections(t.returning,e):fi.create(e)})},cloneWithoutReturning(t){return i({...t,returning:void 0})},cloneWithoutWhere(t){return i({...t,where:void 0})},cloneWithExplain(t,e,r){return i({...t,explain:yo.create(e,r?.toOperationNode())})},cloneWithTop(t,e){return i({...t,top:e})},cloneWithOutput(t,e){return i({...t,output:t.output?Ni.cloneWithSelections(t.output,e):Ni.create(e)})},cloneWithOrderByItems(t,e){return i({...t,orderBy:t.orderBy?Ce.cloneWithItems(t.orderBy,e):Ce.create(e)})},cloneWithoutOrderBy(t){return i({...t,orderBy:void 0})}});var x=i({is(t){return t.kind==="SelectQueryNode"},create(t){return i({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return i({kind:"SelectQueryNode",from:Ue.create(t),...e&&{with:e}})},cloneWithSelections(t,e){return i({...t,selections:t.selections?i([...t.selections,...e]):i(e)})},cloneWithDistinctOn(t,e){return i({...t,distinctOn:t.distinctOn?i([...t.distinctOn,...e]):i(e)})},cloneWithFrontModifier(t,e){return i({...t,frontModifiers:t.frontModifiers?i([...t.frontModifiers,e]):i([e])})},cloneWithOrderByItems:(t,e)=>u.cloneWithOrderByItems(t,e),cloneWithGroupByItems(t,e){return i({...t,groupBy:t.groupBy?hi.cloneWithItems(t.groupBy,e):hi.create(e)})},cloneWithLimit(t,e){return i({...t,limit:e})},cloneWithOffset(t,e){return i({...t,offset:e})},cloneWithFetch(t,e){return i({...t,fetch:e})},cloneWithHaving(t,e){return i({...t,having:t.having?mi.cloneWithOperation(t.having,"And",e):mi.create(e)})},cloneWithSetOperations(t,e){return i({...t,setOperations:t.setOperations?i([...t.setOperations,...e]):i([...e])})},cloneWithoutSelections(t){return i({...t,selections:[]})},cloneWithoutLimit(t){return i({...t,limit:void 0})},cloneWithoutOffset(t){return i({...t,offset:void 0})},cloneWithoutOrderBy:t=>u.cloneWithoutOrderBy(t),cloneWithoutGroupBy(t){return i({...t,groupBy:void 0})}});var rr=class t{#e;constructor(e){this.#e=i(e)}on(...e){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,O(e))})}onRef(e,r,o){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,I(e,r,o))})}onTrue(){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,W.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return this.#e.joinNode}};var wo=i({is(t){return t.kind==="PartitionByItemNode"},create(t){return i({kind:"PartitionByItemNode",partitionBy:t})}});function xo(t){return be(t).map(wo.create)}var ir=class t{#e;constructor(e){this.#e=i(e)}orderBy(...e){return new t({overNode:Bt.cloneWithOrderByItems(this.#e.overNode,_(e))})}clearOrderBy(){return new t({overNode:u.cloneWithoutOrderBy(this.#e.overNode)})}partitionBy(e){return new t({overNode:Bt.cloneWithPartitionByItems(this.#e.overNode,xo(e))})}$call(e){return e(this)}toOperationNode(){return this.#e.overNode}};var ot=i({is(t){return t.kind==="SelectionNode"},create(t){return i({kind:"SelectionNode",selection:t})},createSelectAll(){return i({kind:"SelectionNode",selection:_e.create()})},createSelectAllFromTable(t){return i({kind:"SelectionNode",selection:et.createSelectAll(t)})}});function E(t){return T(t)?E(t(se())):P(t)?t.map(e=>go(e)):[go(t)]}function go(t){return v(t)?ot.create(mo(t)):Ht(t)?ot.create(t.toOperationNode()):ot.create(or(t))}function q(t){return t?Array.isArray(t)?t.map(Oo):[Oo(t)]:[ot.createSelectAll()]}function Oo(t){if(v(t))return ot.createSelectAllFromTable(N(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}var bo=i({is(t){return t.kind==="ValuesNode"},create(t){return i({kind:"ValuesNode",values:i(t)})}});var Co=i({is(t){return t.kind==="DefaultInsertValueNode"},create(){return i({kind:"DefaultInsertValueNode"})}});function nr(t){let e=T(t)?t(se()):t,r=P(e)?e:i([e]);return Sn(r)}function Sn(t){let e=kn(t);return[i([...e.keys()].map(h.create)),bo.create(t.map(r=>En(r,e)))]}function kn(t){let e=new Map;for(let r of t){let o=Object.keys(r);for(let n of o)!e.has(n)&&r[n]!==void 0&&e.set(n,e.size)}return e}function En(t,e){let r=Object.keys(t),o=Array.from({length:e.size}),n=!1,a=r.length;for(let c of r){let y=e.get(c);if(H(y)){a--;continue}let l=t[c];(H(l)||Oe(l))&&(n=!0),o[y]=l}if(a<e.size||n){let c=Co.create();return le.create(o.map(y=>H(y)?c:g(y)))}return Zt.create(o)}var yi=i({is(t){return t.kind==="ColumnUpdateNode"},create(t,e){return i({kind:"ColumnUpdateNode",column:t,value:e})}});function vo(...t){return t.length===2?[yi.create(L(t[0]),g(t[1]))]:Lt(t[0])}function Lt(t){let e=T(t)?t(se()):t;return Object.entries(e).filter(([r,o])=>o!==void 0).map(([r,o])=>yi.create(h.create(r),g(o)))}var Wo=i({is(t){return t.kind==="OnDuplicateKeyNode"},create(t){return i({kind:"OnDuplicateKeyNode",updates:t})}});var sr=class{insertId;numInsertedOrUpdatedRows;constructor(e,r){this.insertId=e,this.numInsertedOrUpdatedRows=r}};var te=class extends Error{node;constructor(e){super("no result"),this.node=e}};function ye(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}var U=i({is(t){return t.kind==="OnConflictNode"},create(){return i({kind:"OnConflictNode"})},cloneWith(t,e){return i({...t,...e})},cloneWithIndexWhere(t,e){return i({...t,indexWhere:t.indexWhere?Q.cloneWithOperation(t.indexWhere,"And",e):Q.create(e)})},cloneWithIndexOrWhere(t,e){return i({...t,indexWhere:t.indexWhere?Q.cloneWithOperation(t.indexWhere,"Or",e):Q.create(e)})},cloneWithUpdateWhere(t,e){return i({...t,updateWhere:t.updateWhere?Q.cloneWithOperation(t.updateWhere,"And",e):Q.create(e)})},cloneWithUpdateOrWhere(t,e){return i({...t,updateWhere:t.updateWhere?Q.cloneWithOperation(t.updateWhere,"Or",e):Q.create(e)})},cloneWithoutIndexWhere(t){return i({...t,indexWhere:void 0})},cloneWithoutUpdateWhere(t){return i({...t,updateWhere:void 0})}});var ar=class t{#e;constructor(e){this.#e=i(e)}column(e){let r=h.create(e);return new t({...this.#e,onConflictNode:U.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?i([...this.#e.onConflictNode.columns,r]):i([r])})})}columns(e){let r=e.map(h.create);return new t({...this.#e,onConflictNode:U.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?i([...this.#e.onConflictNode.columns,...r]):i(r)})})}constraint(e){return new t({...this.#e,onConflictNode:U.cloneWith(this.#e.onConflictNode,{constraint:p.create(e)})})}expression(e){return new t({...this.#e,onConflictNode:U.cloneWith(this.#e.onConflictNode,{indexExpression:e.toOperationNode()})})}where(...e){return new t({...this.#e,onConflictNode:U.cloneWithIndexWhere(this.#e.onConflictNode,O(e))})}whereRef(e,r,o){return new t({...this.#e,onConflictNode:U.cloneWithIndexWhere(this.#e.onConflictNode,I(e,r,o))})}clearWhere(){return new t({...this.#e,onConflictNode:U.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new wi({...this.#e,onConflictNode:U.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(e){return new xi({...this.#e,onConflictNode:U.cloneWith(this.#e.onConflictNode,{updates:Lt(e)})})}$call(e){return e(this)}},wi=class{#e;constructor(e){this.#e=i(e)}toOperationNode(){return this.#e.onConflictNode}},xi=class t{#e;constructor(e){this.#e=i(e)}where(...e){return new t({...this.#e,onConflictNode:U.cloneWithUpdateWhere(this.#e.onConflictNode,O(e))})}whereRef(e,r,o){return new t({...this.#e,onConflictNode:U.cloneWithUpdateWhere(this.#e.onConflictNode,I(e,r,o))})}clearWhere(){return new t({...this.#e,onConflictNode:U.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(e){return e(this)}toOperationNode(){return this.#e.onConflictNode}};var To=i({is(t){return t.kind==="TopNode"},create(t,e){return i({kind:"TopNode",expression:t,modifiers:e})}});function ae(t,e){if(!Ee(t)&&!Ze(t))throw new Error(`Invalid top expression: ${t}`);if(!H(e)&&!An(e))throw new Error(`Invalid top modifiers: ${e}`);return To.create(t,e)}function An(t){return t==="percent"||t==="with ties"||t==="percent with ties"}var Je=i({is(t){return t.kind==="OrActionNode"},create(t){return i({kind:"OrActionNode",action:t})}});var Qt=class t{#e;constructor(e){this.#e=i(e)}values(e){let[r,o]=nr(e);return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{columns:r,values:o})})}columns(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{columns:i(e.map(h.create))})})}expression(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{values:G(e)})})}defaultValues(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{defaultValues:!0})})}modifyEnd(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}ignore(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{orAction:Je.create("ignore")})})}orIgnore(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{orAction:Je.create("ignore")})})}orAbort(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{orAction:Je.create("abort")})})}orFail(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{orAction:Je.create("fail")})})}orReplace(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{orAction:Je.create("replace")})})}orRollback(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{orAction:Je.create("rollback")})})}top(e,r){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,ae(e,r))})}onConflict(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{onConflict:e(new ar({onConflictNode:U.create()})).toOperationNode()})})}onDuplicateKeyUpdate(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{onDuplicateKey:Wo.create(Lt(e))})})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,q())})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,q(e))})}clearReturning(){return new t({...this.#e,queryNode:u.cloneWithoutReturning(this.#e.queryNode)})}$call(e){return e(this)}$if(e,r){return e?r(this):new t({...this.#e})}$castTo(){return new t(this.#e)}$narrowType(){return new t(this.#e)}$assertType(){return new t(this.#e)}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){let e=this.compile(),r=await this.#e.executor.executeQuery(e,this.#e.queryId),{adapter:o}=this.#e.executor,n=e.query;return n.returning&&o.supportsReturning||n.output&&o.supportsOutput?r.rows:[new sr(r.insertId,r.numAffectedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=te){let r=await this.executeTakeFirst();if(r===void 0)throw ye(e)?new e(this.toOperationNode()):e(this.toOperationNode());return r}async*stream(e=100){let r=this.compile(),o=this.#e.executor.stream(r,e,this.#e.queryId);for await(let n of o)yield*n.rows}async explain(e,r){return await new t({...this.#e,queryNode:u.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};var ur=class{numDeletedRows;constructor(e){this.numDeletedRows=e}};var nt=i({is(t){return t.kind==="LimitNode"},create(t){return i({kind:"LimitNode",limit:t})}});var dr=class t{#e;constructor(e){this.#e=i(e)}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,O(e))})}whereRef(e,r,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,r,o))})}clearWhere(){return new t({...this.#e,queryNode:u.cloneWithoutWhere(this.#e.queryNode)})}top(e,r){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,ae(e,r))})}using(e){return new t({...this.#e,queryNode:qe.cloneWithUsing(this.#e.queryNode,ue(e))})}innerJoin(...e){return this.#t("InnerJoin",e)}leftJoin(...e){return this.#t("LeftJoin",e)}rightJoin(...e){return this.#t("RightJoin",e)}fullJoin(...e){return this.#t("FullJoin",e)}#t(e,r){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,Be(e,r))})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,q(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,q(e))})}clearReturning(){return new t({...this.#e,queryNode:u.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:qe.cloneWithoutLimit(this.#e.queryNode)})}orderBy(...e){return new t({...this.#e,queryNode:u.cloneWithOrderByItems(this.#e.queryNode,_(e))})}clearOrderBy(){return new t({...this.#e,queryNode:u.cloneWithoutOrderBy(this.#e.queryNode)})}limit(e){return new t({...this.#e,queryNode:qe.cloneWithLimit(this.#e.queryNode,nt.create(g(e)))})}modifyEnd(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}$call(e){return e(this)}$if(e,r){return e?r(this):new t({...this.#e})}$castTo(){return new t(this.#e)}$narrowType(){return new t(this.#e)}$assertType(){return new t(this.#e)}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){let e=this.compile(),r=await this.#e.executor.executeQuery(e,this.#e.queryId),{adapter:o}=this.#e.executor,n=e.query;return n.returning&&o.supportsReturning||n.output&&o.supportsOutput?r.rows:[new ur(r.numAffectedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=te){let r=await this.executeTakeFirst();if(r===void 0)throw ye(e)?new e(this.toOperationNode()):e(this.toOperationNode());return r}async*stream(e=100){let r=this.compile(),o=this.#e.executor.stream(r,e,this.#e.queryId);for await(let n of o)yield*n.rows}async explain(e,r){return await new t({...this.#e,queryNode:u.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};var pr=class{numUpdatedRows;numChangedRows;constructor(e,r){this.numUpdatedRows=e,this.numChangedRows=r}};var st=class t{#e;constructor(e){this.#e=i(e)}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,O(e))})}whereRef(e,r,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,r,o))})}clearWhere(){return new t({...this.#e,queryNode:u.cloneWithoutWhere(this.#e.queryNode)})}top(e,r){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,ae(e,r))})}from(e){return new t({...this.#e,queryNode:Ne.cloneWithFromItems(this.#e.queryNode,ue(e))})}innerJoin(...e){return this.#t("InnerJoin",e)}leftJoin(...e){return this.#t("LeftJoin",e)}rightJoin(...e){return this.#t("RightJoin",e)}fullJoin(...e){return this.#t("FullJoin",e)}#t(e,r){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,Be(e,r))})}orderBy(...e){return new t({...this.#e,queryNode:u.cloneWithOrderByItems(this.#e.queryNode,_(e))})}clearOrderBy(){return new t({...this.#e,queryNode:u.cloneWithoutOrderBy(this.#e.queryNode)})}limit(e){return new t({...this.#e,queryNode:Ne.cloneWithLimit(this.#e.queryNode,nt.create(g(e)))})}set(...e){return new t({...this.#e,queryNode:Ne.cloneWithUpdates(this.#e.queryNode,vo(...e))})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,q(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,q(e))})}modifyEnd(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}clearReturning(){return new t({...this.#e,queryNode:u.cloneWithoutReturning(this.#e.queryNode)})}$call(e){return e(this)}$if(e,r){return e?r(this):new t({...this.#e})}$castTo(){return new t(this.#e)}$narrowType(){return new t(this.#e)}$assertType(){return new t(this.#e)}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){let e=this.compile(),r=await this.#e.executor.executeQuery(e,this.#e.queryId),{adapter:o}=this.#e.executor,n=e.query;return n.returning&&o.supportsReturning||n.output&&o.supportsOutput?r.rows:[new pr(r.numAffectedRows??BigInt(0),r.numChangedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=te){let r=await this.executeTakeFirst();if(r===void 0)throw ye(e)?new e(this.toOperationNode()):e(this.toOperationNode());return r}async*stream(e=100){let r=this.compile(),o=this.#e.executor.stream(r,e,this.#e.queryId);for await(let n of o)yield*n.rows}async explain(e,r){return await new t({...this.#e,queryNode:u.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};var gi=i({is(t){return t.kind==="CommonTableExpressionNameNode"},create(t,e){return i({kind:"CommonTableExpressionNameNode",table:Y.create(t),columns:e?i(e.map(h.create)):void 0})}});var at=i({is(t){return t.kind==="CommonTableExpressionNode"},create(t,e){return i({kind:"CommonTableExpressionNode",name:t,expression:e})},cloneWith(t,e){return i({...t,...e})}});var cr=class t{#e;constructor(e){this.#e=i(e)}materialized(){return new t({...this.#e,node:at.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new t({...this.#e,node:at.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}};function Oi(t,e){let r=e(ko()).toOperationNode();return T(t)?t(Rn(r)).toOperationNode():at.create(So(t),r)}function Rn(t){return e=>new cr({node:at.create(So(e),t)})}function So(t){if(t.includes("(")){let e=t.split(/[\(\)]/),r=e[0],o=e[1].split(",").map(n=>n.trim());return gi.create(r,o)}else return gi.create(t)}var Pt=i({is(t){return t.kind==="WithNode"},create(t,e){return i({kind:"WithNode",expressions:i([t]),...e})},cloneWithExpression(t,e){return i({...t,expressions:i([...t.expressions,e])})}});var Eo=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","0","1","2","3","4","5","6","7","8","9"];function Ao(t){let e="";for(let r=0;r<t;++r)e+=In();return e}function In(){return Eo[~~(Math.random()*Eo.length)]}function m(){return new bi}var bi=class{#e;get queryId(){return this.#e===void 0&&(this.#e=Ao(8)),this.#e}};var Le=class{nodeStack=[];#e=i({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),RenameConstraintNode:this.transformRenameConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),RefreshMaterializedViewNode:this.transformRefreshMaterializedView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this),OrActionNode:this.transformOrAction.bind(this),CollateNode:this.transformCollate.bind(this)});transformNode(e,r){if(!e)return e;this.nodeStack.push(e);let o=this.transformNodeImpl(e,r);return this.nodeStack.pop(),i(o)}transformNodeImpl(e,r){return this.#e[e.kind](e,r)}transformNodeList(e,r){return e&&i(e.map(o=>this.transformNode(o,r)))}transformSelectQuery(e,r){return{kind:"SelectQueryNode",from:this.transformNode(e.from,r),selections:this.transformNodeList(e.selections,r),distinctOn:this.transformNodeList(e.distinctOn,r),joins:this.transformNodeList(e.joins,r),groupBy:this.transformNode(e.groupBy,r),orderBy:this.transformNode(e.orderBy,r),where:this.transformNode(e.where,r),frontModifiers:this.transformNodeList(e.frontModifiers,r),endModifiers:this.transformNodeList(e.endModifiers,r),limit:this.transformNode(e.limit,r),offset:this.transformNode(e.offset,r),with:this.transformNode(e.with,r),having:this.transformNode(e.having,r),explain:this.transformNode(e.explain,r),setOperations:this.transformNodeList(e.setOperations,r),fetch:this.transformNode(e.fetch,r),top:this.transformNode(e.top,r)}}transformSelection(e,r){return{kind:"SelectionNode",selection:this.transformNode(e.selection,r)}}transformColumn(e,r){return{kind:"ColumnNode",column:this.transformNode(e.column,r)}}transformAlias(e,r){return{kind:"AliasNode",node:this.transformNode(e.node,r),alias:this.transformNode(e.alias,r)}}transformTable(e,r){return{kind:"TableNode",table:this.transformNode(e.table,r)}}transformFrom(e,r){return{kind:"FromNode",froms:this.transformNodeList(e.froms,r)}}transformReference(e,r){return{kind:"ReferenceNode",column:this.transformNode(e.column,r),table:this.transformNode(e.table,r)}}transformAnd(e,r){return{kind:"AndNode",left:this.transformNode(e.left,r),right:this.transformNode(e.right,r)}}transformOr(e,r){return{kind:"OrNode",left:this.transformNode(e.left,r),right:this.transformNode(e.right,r)}}transformValueList(e,r){return{kind:"ValueListNode",values:this.transformNodeList(e.values,r)}}transformParens(e,r){return{kind:"ParensNode",node:this.transformNode(e.node,r)}}transformJoin(e,r){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table,r),on:this.transformNode(e.on,r)}}transformRaw(e,r){return{kind:"RawNode",sqlFragments:i([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters,r)}}transformWhere(e,r){return{kind:"WhereNode",where:this.transformNode(e.where,r)}}transformInsertQuery(e,r){return{kind:"InsertQueryNode",into:this.transformNode(e.into,r),columns:this.transformNodeList(e.columns,r),values:this.transformNode(e.values,r),returning:this.transformNode(e.returning,r),onConflict:this.transformNode(e.onConflict,r),onDuplicateKey:this.transformNode(e.onDuplicateKey,r),endModifiers:this.transformNodeList(e.endModifiers,r),with:this.transformNode(e.with,r),ignore:e.ignore,orAction:this.transformNode(e.orAction,r),replace:e.replace,explain:this.transformNode(e.explain,r),defaultValues:e.defaultValues,top:this.transformNode(e.top,r),output:this.transformNode(e.output,r)}}transformValues(e,r){return{kind:"ValuesNode",values:this.transformNodeList(e.values,r)}}transformDeleteQuery(e,r){return{kind:"DeleteQueryNode",from:this.transformNode(e.from,r),using:this.transformNode(e.using,r),joins:this.transformNodeList(e.joins,r),where:this.transformNode(e.where,r),returning:this.transformNode(e.returning,r),endModifiers:this.transformNodeList(e.endModifiers,r),with:this.transformNode(e.with,r),orderBy:this.transformNode(e.orderBy,r),limit:this.transformNode(e.limit,r),explain:this.transformNode(e.explain,r),top:this.transformNode(e.top,r),output:this.transformNode(e.output,r)}}transformReturning(e,r){return{kind:"ReturningNode",selections:this.transformNodeList(e.selections,r)}}transformCreateTable(e,r){return{kind:"CreateTableNode",table:this.transformNode(e.table,r),columns:this.transformNodeList(e.columns,r),constraints:this.transformNodeList(e.constraints,r),temporary:e.temporary,ifNotExists:e.ifNotExists,onCommit:e.onCommit,frontModifiers:this.transformNodeList(e.frontModifiers,r),endModifiers:this.transformNodeList(e.endModifiers,r),selectQuery:this.transformNode(e.selectQuery,r)}}transformColumnDefinition(e,r){return{kind:"ColumnDefinitionNode",column:this.transformNode(e.column,r),dataType:this.transformNode(e.dataType,r),references:this.transformNode(e.references,r),primaryKey:e.primaryKey,autoIncrement:e.autoIncrement,unique:e.unique,notNull:e.notNull,unsigned:e.unsigned,defaultTo:this.transformNode(e.defaultTo,r),check:this.transformNode(e.check,r),generated:this.transformNode(e.generated,r),frontModifiers:this.transformNodeList(e.frontModifiers,r),endModifiers:this.transformNodeList(e.endModifiers,r),nullsNotDistinct:e.nullsNotDistinct,identity:e.identity,ifNotExists:e.ifNotExists}}transformAddColumn(e,r){return{kind:"AddColumnNode",column:this.transformNode(e.column,r)}}transformDropTable(e,r){return{kind:"DropTableNode",table:this.transformNode(e.table,r),ifExists:e.ifExists,cascade:e.cascade}}transformOrderBy(e,r){return{kind:"OrderByNode",items:this.transformNodeList(e.items,r)}}transformOrderByItem(e,r){return{kind:"OrderByItemNode",orderBy:this.transformNode(e.orderBy,r),direction:this.transformNode(e.direction,r),collation:this.transformNode(e.collation,r),nulls:e.nulls}}transformGroupBy(e,r){return{kind:"GroupByNode",items:this.transformNodeList(e.items,r)}}transformGroupByItem(e,r){return{kind:"GroupByItemNode",groupBy:this.transformNode(e.groupBy,r)}}transformUpdateQuery(e,r){return{kind:"UpdateQueryNode",table:this.transformNode(e.table,r),from:this.transformNode(e.from,r),joins:this.transformNodeList(e.joins,r),where:this.transformNode(e.where,r),updates:this.transformNodeList(e.updates,r),returning:this.transformNode(e.returning,r),endModifiers:this.transformNodeList(e.endModifiers,r),with:this.transformNode(e.with,r),explain:this.transformNode(e.explain,r),limit:this.transformNode(e.limit,r),top:this.transformNode(e.top,r),output:this.transformNode(e.output,r),orderBy:this.transformNode(e.orderBy,r)}}transformColumnUpdate(e,r){return{kind:"ColumnUpdateNode",column:this.transformNode(e.column,r),value:this.transformNode(e.value,r)}}transformLimit(e,r){return{kind:"LimitNode",limit:this.transformNode(e.limit,r)}}transformOffset(e,r){return{kind:"OffsetNode",offset:this.transformNode(e.offset,r)}}transformOnConflict(e,r){return{kind:"OnConflictNode",columns:this.transformNodeList(e.columns,r),constraint:this.transformNode(e.constraint,r),indexExpression:this.transformNode(e.indexExpression,r),indexWhere:this.transformNode(e.indexWhere,r),updates:this.transformNodeList(e.updates,r),updateWhere:this.transformNode(e.updateWhere,r),doNothing:e.doNothing}}transformOnDuplicateKey(e,r){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(e.updates,r)}}transformCreateIndex(e,r){return{kind:"CreateIndexNode",name:this.transformNode(e.name,r),table:this.transformNode(e.table,r),columns:this.transformNodeList(e.columns,r),unique:e.unique,using:this.transformNode(e.using,r),ifNotExists:e.ifNotExists,where:this.transformNode(e.where,r),nullsNotDistinct:e.nullsNotDistinct}}transformList(e,r){return{kind:"ListNode",items:this.transformNodeList(e.items,r)}}transformDropIndex(e,r){return{kind:"DropIndexNode",name:this.transformNode(e.name,r),table:this.transformNode(e.table,r),ifExists:e.ifExists,cascade:e.cascade}}transformPrimaryKeyConstraint(e,r){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(e.columns,r),name:this.transformNode(e.name,r),deferrable:e.deferrable,initiallyDeferred:e.initiallyDeferred}}transformUniqueConstraint(e,r){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(e.columns,r),name:this.transformNode(e.name,r),nullsNotDistinct:e.nullsNotDistinct,deferrable:e.deferrable,initiallyDeferred:e.initiallyDeferred}}transformForeignKeyConstraint(e,r){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(e.columns,r),references:this.transformNode(e.references,r),name:this.transformNode(e.name,r),onDelete:e.onDelete,onUpdate:e.onUpdate,deferrable:e.deferrable,initiallyDeferred:e.initiallyDeferred}}transformSetOperation(e,r){return{kind:"SetOperationNode",operator:e.operator,expression:this.transformNode(e.expression,r),all:e.all}}transformReferences(e,r){return{kind:"ReferencesNode",table:this.transformNode(e.table,r),columns:this.transformNodeList(e.columns,r),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformCheckConstraint(e,r){return{kind:"CheckConstraintNode",expression:this.transformNode(e.expression,r),name:this.transformNode(e.name,r)}}transformWith(e,r){return{kind:"WithNode",expressions:this.transformNodeList(e.expressions,r),recursive:e.recursive}}transformCommonTableExpression(e,r){return{kind:"CommonTableExpressionNode",name:this.transformNode(e.name,r),materialized:e.materialized,expression:this.transformNode(e.expression,r)}}transformCommonTableExpressionName(e,r){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(e.table,r),columns:this.transformNodeList(e.columns,r)}}transformHaving(e,r){return{kind:"HavingNode",having:this.transformNode(e.having,r)}}transformCreateSchema(e,r){return{kind:"CreateSchemaNode",schema:this.transformNode(e.schema,r),ifNotExists:e.ifNotExists}}transformDropSchema(e,r){return{kind:"DropSchemaNode",schema:this.transformNode(e.schema,r),ifExists:e.ifExists,cascade:e.cascade}}transformAlterTable(e,r){return{kind:"AlterTableNode",table:this.transformNode(e.table,r),renameTo:this.transformNode(e.renameTo,r),setSchema:this.transformNode(e.setSchema,r),columnAlterations:this.transformNodeList(e.columnAlterations,r),addConstraint:this.transformNode(e.addConstraint,r),dropConstraint:this.transformNode(e.dropConstraint,r),renameConstraint:this.transformNode(e.renameConstraint,r),addIndex:this.transformNode(e.addIndex,r),dropIndex:this.transformNode(e.dropIndex,r)}}transformDropColumn(e,r){return{kind:"DropColumnNode",column:this.transformNode(e.column,r)}}transformRenameColumn(e,r){return{kind:"RenameColumnNode",column:this.transformNode(e.column,r),renameTo:this.transformNode(e.renameTo,r)}}transformAlterColumn(e,r){return{kind:"AlterColumnNode",column:this.transformNode(e.column,r),dataType:this.transformNode(e.dataType,r),dataTypeExpression:this.transformNode(e.dataTypeExpression,r),setDefault:this.transformNode(e.setDefault,r),dropDefault:e.dropDefault,setNotNull:e.setNotNull,dropNotNull:e.dropNotNull}}transformModifyColumn(e,r){return{kind:"ModifyColumnNode",column:this.transformNode(e.column,r)}}transformAddConstraint(e,r){return{kind:"AddConstraintNode",constraint:this.transformNode(e.constraint,r)}}transformDropConstraint(e,r){return{kind:"DropConstraintNode",constraintName:this.transformNode(e.constraintName,r),ifExists:e.ifExists,modifier:e.modifier}}transformRenameConstraint(e,r){return{kind:"RenameConstraintNode",oldName:this.transformNode(e.oldName,r),newName:this.transformNode(e.newName,r)}}transformCreateView(e,r){return{kind:"CreateViewNode",name:this.transformNode(e.name,r),temporary:e.temporary,orReplace:e.orReplace,ifNotExists:e.ifNotExists,materialized:e.materialized,columns:this.transformNodeList(e.columns,r),as:this.transformNode(e.as,r)}}transformRefreshMaterializedView(e,r){return{kind:"RefreshMaterializedViewNode",name:this.transformNode(e.name,r),concurrently:e.concurrently,withNoData:e.withNoData}}transformDropView(e,r){return{kind:"DropViewNode",name:this.transformNode(e.name,r),ifExists:e.ifExists,materialized:e.materialized,cascade:e.cascade}}transformGenerated(e,r){return{kind:"GeneratedNode",byDefault:e.byDefault,always:e.always,identity:e.identity,stored:e.stored,expression:this.transformNode(e.expression,r)}}transformDefaultValue(e,r){return{kind:"DefaultValueNode",defaultValue:this.transformNode(e.defaultValue,r)}}transformOn(e,r){return{kind:"OnNode",on:this.transformNode(e.on,r)}}transformSelectModifier(e,r){return{kind:"SelectModifierNode",modifier:e.modifier,rawModifier:this.transformNode(e.rawModifier,r),of:this.transformNodeList(e.of,r)}}transformCreateType(e,r){return{kind:"CreateTypeNode",name:this.transformNode(e.name,r),enum:this.transformNode(e.enum,r)}}transformDropType(e,r){return{kind:"DropTypeNode",name:this.transformNode(e.name,r),ifExists:e.ifExists}}transformExplain(e,r){return{kind:"ExplainNode",format:e.format,options:this.transformNode(e.options,r)}}transformSchemableIdentifier(e,r){return{kind:"SchemableIdentifierNode",schema:this.transformNode(e.schema,r),identifier:this.transformNode(e.identifier,r)}}transformAggregateFunction(e,r){return{kind:"AggregateFunctionNode",func:e.func,aggregated:this.transformNodeList(e.aggregated,r),distinct:e.distinct,orderBy:this.transformNode(e.orderBy,r),withinGroup:this.transformNode(e.withinGroup,r),filter:this.transformNode(e.filter,r),over:this.transformNode(e.over,r)}}transformOver(e,r){return{kind:"OverNode",orderBy:this.transformNode(e.orderBy,r),partitionBy:this.transformNode(e.partitionBy,r)}}transformPartitionBy(e,r){return{kind:"PartitionByNode",items:this.transformNodeList(e.items,r)}}transformPartitionByItem(e,r){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(e.partitionBy,r)}}transformBinaryOperation(e,r){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(e.leftOperand,r),operator:this.transformNode(e.operator,r),rightOperand:this.transformNode(e.rightOperand,r)}}transformUnaryOperation(e,r){return{kind:"UnaryOperationNode",operator:this.transformNode(e.operator,r),operand:this.transformNode(e.operand,r)}}transformUsing(e,r){return{kind:"UsingNode",tables:this.transformNodeList(e.tables,r)}}transformFunction(e,r){return{kind:"FunctionNode",func:e.func,arguments:this.transformNodeList(e.arguments,r)}}transformCase(e,r){return{kind:"CaseNode",value:this.transformNode(e.value,r),when:this.transformNodeList(e.when,r),else:this.transformNode(e.else,r),isStatement:e.isStatement}}transformWhen(e,r){return{kind:"WhenNode",condition:this.transformNode(e.condition,r),result:this.transformNode(e.result,r)}}transformJSONReference(e,r){return{kind:"JSONReferenceNode",reference:this.transformNode(e.reference,r),traversal:this.transformNode(e.traversal,r)}}transformJSONPath(e,r){return{kind:"JSONPathNode",inOperator:this.transformNode(e.inOperator,r),pathLegs:this.transformNodeList(e.pathLegs,r)}}transformJSONPathLeg(e,r){return{kind:"JSONPathLegNode",type:e.type,value:e.value}}transformJSONOperatorChain(e,r){return{kind:"JSONOperatorChainNode",operator:this.transformNode(e.operator,r),values:this.transformNodeList(e.values,r)}}transformTuple(e,r){return{kind:"TupleNode",values:this.transformNodeList(e.values,r)}}transformMergeQuery(e,r){return{kind:"MergeQueryNode",into:this.transformNode(e.into,r),using:this.transformNode(e.using,r),whens:this.transformNodeList(e.whens,r),with:this.transformNode(e.with,r),top:this.transformNode(e.top,r),endModifiers:this.transformNodeList(e.endModifiers,r),output:this.transformNode(e.output,r),returning:this.transformNode(e.returning,r)}}transformMatched(e,r){return{kind:"MatchedNode",not:e.not,bySource:e.bySource}}transformAddIndex(e,r){return{kind:"AddIndexNode",name:this.transformNode(e.name,r),columns:this.transformNodeList(e.columns,r),unique:e.unique,using:this.transformNode(e.using,r),ifNotExists:e.ifNotExists}}transformCast(e,r){return{kind:"CastNode",expression:this.transformNode(e.expression,r),dataType:this.transformNode(e.dataType,r)}}transformFetch(e,r){return{kind:"FetchNode",rowCount:this.transformNode(e.rowCount,r),modifier:e.modifier}}transformTop(e,r){return{kind:"TopNode",expression:e.expression,modifiers:e.modifiers}}transformOutput(e,r){return{kind:"OutputNode",selections:this.transformNodeList(e.selections,r)}}transformDataType(e,r){return e}transformSelectAll(e,r){return e}transformIdentifier(e,r){return e}transformValue(e,r){return e}transformPrimitiveValueList(e,r){return e}transformOperator(e,r){return e}transformDefaultInsertValue(e,r){return e}transformOrAction(e,r){return e}transformCollate(e,r){return e}};var Dn=i({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,RefreshMaterializedViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0}),qn={json_agg:!0,to_json:!0},hr=class extends Le{#e;#t=new Set;#r=new Set;constructor(e){super(),this.#e=e}transformNodeImpl(e,r){if(!this.#o(e))return super.transformNodeImpl(e,r);let o=this.#d(e);for(let d of o)this.#r.add(d);let n=this.#a(e);for(let d of n)this.#t.add(d);let a=super.transformNodeImpl(e,r);for(let d of n)this.#t.delete(d);for(let d of o)this.#r.delete(d);return a}transformSchemableIdentifier(e,r){let o=super.transformSchemableIdentifier(e,r);return o.schema||!this.#t.has(e.identifier.name)?o:{...o,schema:p.create(this.#e)}}transformReferences(e,r){let o=super.transformReferences(e,r);return o.table.table.schema?o:{...o,table:Y.createWithSchema(this.#e,o.table.table.identifier.name)}}transformAggregateFunction(e,r){return{...super.transformAggregateFunction({...e,aggregated:[]},r),aggregated:this.#i(e,r,"aggregated")}}transformFunction(e,r){return{...super.transformFunction({...e,arguments:[]},r),arguments:this.#i(e,r,"arguments")}}#i(e,r,o){return qn[e.func]?e[o].map(n=>!Y.is(n)||n.table.schema?this.transformNode(n,r):{...n,table:this.transformIdentifier(n.table.identifier,r)}):this.transformNodeList(e[o],r)}#o(e){return e.kind in Dn}#a(e){let r=new Set;if("name"in e&&e.name&&M.is(e.name)&&this.#s(e.name,r),"from"in e&&e.from)for(let o of e.from.froms)this.#n(o,r);if("into"in e&&e.into&&this.#n(e.into,r),"table"in e&&e.table&&this.#n(e.table,r),"joins"in e&&e.joins)for(let o of e.joins)this.#n(o.table,r);return"using"in e&&e.using&&this.#n(e.using,r),r}#d(e){let r=new Set;return"with"in e&&e.with&&this.#u(e.with,r),r}#n(e,r){if(Y.is(e))this.#s(e.table,r);else if(R.is(e)&&Y.is(e.node))this.#s(e.node.table,r);else if(tr.is(e))for(let o of e.items)this.#n(o,r)}#s(e,r){let o=e.identifier.name;!this.#t.has(o)&&!this.#r.has(o)&&r.add(o)}#u(e,r){for(let o of e.expressions){let n=o.name.table.table.identifier.name;this.#r.has(n)||r.add(n)}}};var re=class{#e;constructor(e){this.#e=new hr(e)}transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}async transformResult(e){return e.result}};var Ro=i({is(t){return t.kind==="MatchedNode"},create(t,e=!1){return i({kind:"MatchedNode",not:t,bySource:e})}});function Ci(t,e,r){return ve.create(it([Ro.create(!t.isMatched,t.bySource),...e&&e.length>0?[e.length===3&&r?I(e[0],e[1],e[2]):O(e)]:[]],"and",!1))}function ut(t){return v(t)?W.create([t],[]):b(t)?t.toOperationNode():t}var Ft=class{#e;#t;#r;constructor(){this.#e=new Promise((e,r)=>{this.#r=r,this.#t=e})}get promise(){return this.#e}resolve=e=>{this.#t&&this.#t(e)};reject=e=>{this.#r&&this.#r(e)}};async function mr(t){let e=new Ft,r=new Ft;return t.provideConnection(async o=>(e.resolve(o),await r.promise)).catch(o=>e.reject(o)),i({connection:await e.promise,release:r.resolve})}var Bn=i([]),dt=class{#e;constructor(e=Bn){this.#e=e}get plugins(){return this.#e}transformQuery(e,r){for(let o of this.#e){let n=o.transformQuery({node:e,queryId:r});if(n.kind===e.kind)e=n;else throw new Error(["KyselyPlugin.transformQuery must return a node","of the same kind that was given to it.",`The plugin was given a ${e.kind}`,`but it returned a ${n.kind}`].join(" "))}return e}async executeQuery(e,r){return await this.provideConnection(async o=>{let n=await o.executeQuery(e);return"numUpdatedOrDeletedRows"in n&&Ie("kysely:warning: outdated driver/plugin detected! `QueryResult.numUpdatedOrDeletedRows` has been replaced with `QueryResult.numAffectedRows`."),await this.#t(n,r)})}async*stream(e,r,o){let{connection:n,release:a}=await mr(this);try{for await(let d of n.streamQuery(e,r))yield await this.#t(d,o)}finally{a()}}async#t(e,r){for(let o of this.#e)e=await o.transformResult({result:e,queryId:r});return e}};var vi=class t extends dt{get adapter(){throw new Error("this query cannot be compiled to SQL")}compileQuery(){throw new Error("this query cannot be compiled to SQL")}provideConnection(){throw new Error("this query cannot be executed")}withConnectionProvider(){throw new Error("this query cannot have a connection provider")}withPlugin(e){return new t([...this.plugins,e])}withPlugins(e){return new t([...this.plugins,...e])}withPluginAtFront(e){return new t([e,...this.plugins])}withoutPlugins(){return new t([])}},Qe=new vi;var lr=class{numChangedRows;constructor(e){this.numChangedRows=e}};var fr=class t{#e;constructor(e){this.#e=i(e)}modifyEnd(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}top(e,r){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,ae(e,r))})}using(...e){return new Pe({...this.#e,queryNode:D.cloneWithUsing(this.#e.queryNode,Be("Using",e))})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,q(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,q(e))})}},Pe=class t{#e;constructor(e){this.#e=i(e)}modifyEnd(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}top(e,r){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,ae(e,r))})}whenMatched(){return this.#t([])}whenMatchedAnd(...e){return this.#t(e)}whenMatchedAndRef(e,r,o){return this.#t([e,r,o],!0)}#t(e,r){return new Nr({...this.#e,queryNode:D.cloneWithWhen(this.#e.queryNode,Ci({isMatched:!0},e,r))})}whenNotMatched(){return this.#r([])}whenNotMatchedAnd(...e){return this.#r(e)}whenNotMatchedAndRef(e,r,o){return this.#r([e,r,o],!0)}whenNotMatchedBySource(){return this.#r([],!1,!0)}whenNotMatchedBySourceAnd(...e){return this.#r(e,!1,!0)}whenNotMatchedBySourceAndRef(e,r,o){return this.#r([e,r,o],!0,!0)}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,q(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,q(e))})}#r(e,r=!1,o=!1){let n={...this.#e,queryNode:D.cloneWithWhen(this.#e.queryNode,Ci({isMatched:!1,bySource:o},e,r))},a=o?Nr:Wi;return new a(n)}$call(e){return e(this)}$if(e,r){return e?r(this):new t({...this.#e})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){let e=this.compile(),r=await this.#e.executor.executeQuery(e,this.#e.queryId),{adapter:o}=this.#e.executor,n=e.query;return n.returning&&o.supportsReturning||n.output&&o.supportsOutput?r.rows:[new lr(r.numAffectedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=te){let r=await this.executeTakeFirst();if(r===void 0)throw ye(e)?new e(this.toOperationNode()):e(this.toOperationNode());return r}},Nr=class{#e;constructor(e){this.#e=i(e)}thenDelete(){return new Pe({...this.#e,queryNode:D.cloneWithThen(this.#e.queryNode,ut("delete"))})}thenDoNothing(){return new Pe({...this.#e,queryNode:D.cloneWithThen(this.#e.queryNode,ut("do nothing"))})}thenUpdate(e){return new Pe({...this.#e,queryNode:D.cloneWithThen(this.#e.queryNode,ut(e(new st({queryId:this.#e.queryId,executor:Qe,queryNode:Ne.createWithoutTable()}))))})}thenUpdateSet(...e){return this.thenUpdate(r=>r.set(...e))}},Wi=class{#e;constructor(e){this.#e=i(e)}thenDoNothing(){return new Pe({...this.#e,queryNode:D.cloneWithThen(this.#e.queryNode,ut("do nothing"))})}thenInsertValues(e){let[r,o]=nr(e);return new Pe({...this.#e,queryNode:D.cloneWithThen(this.#e.queryNode,ut(S.cloneWith(S.createWithoutInto(),{columns:r,values:o})))})}};var pt=class t{#e;constructor(e){this.#e=i(e)}selectFrom(e){return Mt({queryId:m(),executor:this.#e.executor,queryNode:x.createFrom(ue(e),this.#e.withNode)})}selectNoFrom(e){return Mt({queryId:m(),executor:this.#e.executor,queryNode:x.cloneWithSelections(x.create(this.#e.withNode),E(e))})}insertInto(e){return new Qt({queryId:m(),executor:this.#e.executor,queryNode:S.create(N(e),this.#e.withNode)})}replaceInto(e){return new Qt({queryId:m(),executor:this.#e.executor,queryNode:S.create(N(e),this.#e.withNode,!0)})}deleteFrom(e){return new dr({queryId:m(),executor:this.#e.executor,queryNode:qe.create(ue(e),this.#e.withNode)})}updateTable(e){return new st({queryId:m(),executor:this.#e.executor,queryNode:Ne.create(ue(e),this.#e.withNode)})}mergeInto(e){return new fr({queryId:m(),executor:this.#e.executor,queryNode:D.create(Ti(e),this.#e.withNode)})}with(e,r){let o=Oi(e,r);return new t({...this.#e,withNode:this.#e.withNode?Pt.cloneWithExpression(this.#e.withNode,o):Pt.create(o)})}withRecursive(e,r){let o=Oi(e,r);return new t({...this.#e,withNode:this.#e.withNode?Pt.cloneWithExpression(this.#e.withNode,o):Pt.create(o,{recursive:!0})})}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new t({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new t({...this.#e,executor:this.#e.executor.withPluginAtFront(new re(e))})}};function ko(){return new pt({executor:Qe})}function Io(t,e){return new rr({joinNode:ge.create(t,$e(e))})}function Do(){return new ir({overNode:Bt.create()})}function Be(t,e){if(e.length===3)return Qn(t,e[0],e[1],e[2]);if(e.length===2)return Ln(t,e[0],e[1]);if(e.length===1)return Pn(t,e[0]);throw new Error("not implemented")}function Ln(t,e,r){return r(Io(t,e)).toOperationNode()}function Qn(t,e,r,o){return ge.createWithOn(t,$e(e),I(r,"=",o))}function Pn(t,e){return ge.create(t,$e(e))}var qo=i({is(t){return t.kind==="OffsetNode"},create(t){return i({kind:"OffsetNode",offset:t})}});var Bo=i({is(t){return t.kind==="GroupByItemNode"},create(t){return i({kind:"GroupByItemNode",groupBy:t})}});function Lo(t){return t=T(t)?t(se()):t,be(t).map(Bo.create)}var yr=i({is(t){return t.kind==="SetOperationNode"},create(t,e,r){return i({kind:"SetOperationNode",operator:t,expression:e,all:r})}});function Ke(t,e,r){return T(e)&&(e=e(wr())),P(e)||(e=[e]),e.map(o=>yr.create(t,G(o),r))}var w=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new zt(this,e)}or(...e){return new Si(oe.create(this.#e,O(e)))}and(...e){return new ki(K.create(this.#e,O(e)))}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},zt=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return R.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():p.create(this.#t))}},Si=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new zt(this,e)}or(...e){return new t(oe.create(this.#e,O(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return fe.create(this.#e)}},ki=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new zt(this,e)}and(...e){return new t(K.create(this.#e,O(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return fe.create(this.#e)}};var Qo={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:k.create(t),modifier:e}}};function Po(t,e){if(!Ee(t)&&!Ze(t))throw new Error(`Invalid fetch row count: ${t}`);if(!Fn(e))throw new Error(`Invalid fetch modifier: ${e}`);return Qo.create(t,e)}function Fn(t){return t==="only"||t==="with ties"}var Ei=class t{#e;constructor(e){this.#e=i(e)}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,O(e))})}whereRef(e,r,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,r,o))})}having(...e){return new t({...this.#e,queryNode:x.cloneWithHaving(this.#e.queryNode,O(e))})}havingRef(e,r,o){return new t({...this.#e,queryNode:x.cloneWithHaving(this.#e.queryNode,I(e,r,o))})}select(e){return new t({...this.#e,queryNode:x.cloneWithSelections(this.#e.queryNode,E(e))})}distinctOn(e){return new t({...this.#e,queryNode:x.cloneWithDistinctOn(this.#e.queryNode,be(e))})}modifyFront(e){return new t({...this.#e,queryNode:x.cloneWithFrontModifier(this.#e.queryNode,me.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,me.createWithExpression(e.toOperationNode()))})}distinct(){return new t({...this.#e,queryNode:x.cloneWithFrontModifier(this.#e.queryNode,me.create("Distinct"))})}forUpdate(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,me.create("ForUpdate",e?Rt(e).map(N):void 0))})}forShare(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,me.create("ForShare",e?Rt(e).map(N):void 0))})}forKeyShare(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,me.create("ForKeyShare",e?Rt(e).map(N):void 0))})}forNoKeyUpdate(e){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,me.create("ForNoKeyUpdate",e?Rt(e).map(N):void 0))})}skipLocked(){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,me.create("SkipLocked"))})}noWait(){return new t({...this.#e,queryNode:u.cloneWithEndModifier(this.#e.queryNode,me.create("NoWait"))})}selectAll(e){return new t({...this.#e,queryNode:x.cloneWithSelections(this.#e.queryNode,q(e))})}innerJoin(...e){return this.#t("InnerJoin",e)}leftJoin(...e){return this.#t("LeftJoin",e)}rightJoin(...e){return this.#t("RightJoin",e)}fullJoin(...e){return this.#t("FullJoin",e)}crossJoin(...e){return this.#t("CrossJoin",e)}innerJoinLateral(...e){return this.#t("LateralInnerJoin",e)}leftJoinLateral(...e){return this.#t("LateralLeftJoin",e)}crossJoinLateral(...e){return this.#t("LateralCrossJoin",e)}crossApply(...e){return this.#t("CrossApply",e)}outerApply(...e){return this.#t("OuterApply",e)}#t(e,r){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,Be(e,r))})}orderBy(...e){return new t({...this.#e,queryNode:u.cloneWithOrderByItems(this.#e.queryNode,_(e))})}groupBy(e){return new t({...this.#e,queryNode:x.cloneWithGroupByItems(this.#e.queryNode,Lo(e))})}limit(e){return new t({...this.#e,queryNode:x.cloneWithLimit(this.#e.queryNode,nt.create(g(e)))})}offset(e){return new t({...this.#e,queryNode:x.cloneWithOffset(this.#e.queryNode,qo.create(g(e)))})}fetch(e,r="only"){return new t({...this.#e,queryNode:x.cloneWithFetch(this.#e.queryNode,Po(e,r))})}top(e,r){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,ae(e,r))})}union(e){return new t({...this.#e,queryNode:x.cloneWithSetOperations(this.#e.queryNode,Ke("union",e,!1))})}unionAll(e){return new t({...this.#e,queryNode:x.cloneWithSetOperations(this.#e.queryNode,Ke("union",e,!0))})}intersect(e){return new t({...this.#e,queryNode:x.cloneWithSetOperations(this.#e.queryNode,Ke("intersect",e,!1))})}intersectAll(e){return new t({...this.#e,queryNode:x.cloneWithSetOperations(this.#e.queryNode,Ke("intersect",e,!0))})}except(e){return new t({...this.#e,queryNode:x.cloneWithSetOperations(this.#e.queryNode,Ke("except",e,!1))})}exceptAll(e){return new t({...this.#e,queryNode:x.cloneWithSetOperations(this.#e.queryNode,Ke("except",e,!0))})}as(e){return new Ai(this,e)}clearSelect(){return new t({...this.#e,queryNode:x.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new t({...this.#e,queryNode:u.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:x.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new t({...this.#e,queryNode:x.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:u.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new t({...this.#e,queryNode:x.cloneWithoutGroupBy(this.#e.queryNode)})}$call(e){return e(this)}$if(e,r){return e?r(this):new t({...this.#e})}$castTo(){return new t(this.#e)}$narrowType(){return new t(this.#e)}$assertType(){return new t(this.#e)}$asTuple(){return new w(this.toOperationNode())}$asScalar(){return new w(this.toOperationNode())}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.queryNode,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){let e=this.compile();return(await this.#e.executor.executeQuery(e,this.#e.queryId)).rows}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=te){let r=await this.executeTakeFirst();if(r===void 0)throw ye(e)?new e(this.toOperationNode()):e(this.toOperationNode());return r}async*stream(e=100){let r=this.compile(),o=this.#e.executor.stream(r,e,this.#e.queryId);for await(let n of o)yield*n.rows}async explain(e,r){return await new t({...this.#e,queryNode:u.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};function Mt(t){return new Ei(t)}var Ai=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return R.create(this.#e.toOperationNode(),p.create(this.#t))}};var we=i({is(t){return t.kind==="AggregateFunctionNode"},create(t,e=[]){return i({kind:"AggregateFunctionNode",func:t,aggregated:e})},cloneWithDistinct(t){return i({...t,distinct:!0})},cloneWithOrderBy(t,e,r=!1){let o=r?"withinGroup":"orderBy";return i({...t,[o]:t[o]?Ce.cloneWithItems(t[o],e):Ce.create(e)})},cloneWithFilter(t,e){return i({...t,filter:t.filter?Q.cloneWithOperation(t.filter,"And",e):Q.create(e)})},cloneWithOrFilter(t,e){return i({...t,filter:t.filter?Q.cloneWithOperation(t.filter,"Or",e):Q.create(e)})},cloneWithOver(t,e){return i({...t,over:e})}});var Ri=i({is(t){return t.kind==="FunctionNode"},create(t,e){return i({kind:"FunctionNode",func:t,arguments:e})}});var ct=class t{#e;constructor(e){this.#e=i(e)}get expressionType(){}as(e){return new Ii(this,e)}distinct(){return new t({...this.#e,aggregateFunctionNode:we.cloneWithDistinct(this.#e.aggregateFunctionNode)})}orderBy(...e){return new t({...this.#e,aggregateFunctionNode:u.cloneWithOrderByItems(this.#e.aggregateFunctionNode,_(e))})}clearOrderBy(){return new t({...this.#e,aggregateFunctionNode:u.cloneWithoutOrderBy(this.#e.aggregateFunctionNode)})}withinGroupOrderBy(...e){return new t({...this.#e,aggregateFunctionNode:we.cloneWithOrderBy(this.#e.aggregateFunctionNode,_(e),!0)})}filterWhere(...e){return new t({...this.#e,aggregateFunctionNode:we.cloneWithFilter(this.#e.aggregateFunctionNode,O(e))})}filterWhereRef(e,r,o){return new t({...this.#e,aggregateFunctionNode:we.cloneWithFilter(this.#e.aggregateFunctionNode,I(e,r,o))})}over(e){let r=Do();return new t({...this.#e,aggregateFunctionNode:we.cloneWithOver(this.#e.aggregateFunctionNode,(e?e(r):r).toOperationNode())})}$call(e){return e(this)}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e.aggregateFunctionNode}},Ii=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return R.create(this.#e.toOperationNode(),p.create(this.#t))}};function xr(){let t=(r,o)=>new w(Ri.create(r,be(o??[]))),e=(r,o)=>new ct({aggregateFunctionNode:we.create(r,o?be(o):void 0)});return Object.assign(t,{agg:e,avg(r){return e("avg",[r])},coalesce(...r){return t("coalesce",r)},count(r){return e("count",[r])},countAll(r){return new ct({aggregateFunctionNode:we.create("count",q(r))})},max(r){return e("max",[r])},min(r){return e("min",[r])},sum(r){return e("sum",[r])},any(r){return t("any",[r])},jsonAgg(r){return new ct({aggregateFunctionNode:we.create("json_agg",[v(r)?N(r):r.toOperationNode()])})},toJson(r){return new w(Ri.create("to_json",[v(r)?N(r):r.toOperationNode()]))}})}var Fo=i({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return i({kind:"UnaryOperationNode",operator:t,operand:e})}});function Mo(t,e){return Fo.create(X.create(t),L(e))}var ee=i({is(t){return t.kind==="CaseNode"},create(t){return i({kind:"CaseNode",value:t})},cloneWithWhen(t,e){return i({...t,when:i(t.when?[...t.when,e]:[e])})},cloneWithThen(t,e){return i({...t,when:t.when?i([...t.when.slice(0,-1),ve.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return i({...t,...e})}});var ht=class{#e;constructor(e){this.#e=i(e)}when(...e){return new gr({...this.#e,node:ee.cloneWithWhen(this.#e.node,ve.create(O(e)))})}},gr=class{#e;constructor(e){this.#e=i(e)}then(e){return new Di({...this.#e,node:ee.cloneWithThen(this.#e.node,_t(e)?qt(e):g(e))})}},Di=class{#e;constructor(e){this.#e=i(e)}when(...e){return new gr({...this.#e,node:ee.cloneWithWhen(this.#e.node,ve.create(O(e)))})}else(e){return new qi({...this.#e,node:ee.cloneWith(this.#e.node,{else:_t(e)?qt(e):g(e)})})}end(){return new w(ee.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new w(ee.cloneWith(this.#e.node,{isStatement:!0}))}},qi=class{#e;constructor(e){this.#e=i(e)}end(){return new w(ee.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new w(ee.cloneWith(this.#e.node,{isStatement:!0}))}};var Bi=i({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return i({kind:"JSONPathLegNode",type:t,value:e})}});var mt=class{#e;constructor(e){this.#e=e}at(e){return this.#t("ArrayLocation",e)}key(e){return this.#t("Member",e)}#t(e,r){return tt.is(this.#e)?new Or(tt.cloneWithTraversal(this.#e,De.is(this.#e.traversal)?De.cloneWithLeg(this.#e.traversal,Bi.create(e,r)):Xt.cloneWithValue(this.#e.traversal,k.createImmediate(r)))):new Or(De.cloneWithLeg(this.#e,Bi.create(e,r)))}},Or=class t extends mt{#e;constructor(e){super(e),this.#e=e}get expressionType(){}as(e){return new Li(this,e)}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},Li=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return R.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():p.create(this.#t))}};var Qi=i({is(t){return t.kind==="TupleNode"},create(t){return i({kind:"TupleNode",values:i(t)})}});var Mn=["varchar","char","text","integer","int2","int4","int8","smallint","bigint","boolean","real","double precision","float4","float8","decimal","numeric","binary","bytea","date","datetime","time","timetz","timestamp","timestamptz","serial","bigserial","uuid","json","jsonb","blob","varbinary","int4range","int4multirange","int8range","int8multirange","numrange","nummultirange","tsrange","tsmultirange","tstzrange","tstzmultirange","daterange","datemultirange"],zn=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],zo=i({is(t){return t.kind==="DataTypeNode"},create(t){return i({kind:"DataTypeNode",dataType:t})}});function Vo(t){return!!(Mn.includes(t)||zn.some(e=>e.test(t)))}function de(t){if(b(t))return t.toOperationNode();if(Vo(t))return zo.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}var Uo=i({is(t){return t.kind==="CastNode"},create(t,e){return i({kind:"CastNode",expression:t,dataType:e})}});function wr(t=Qe){function e(n,a,d){return new w(er(n,a,d))}function r(n,a){return new w(Mo(n,a))}let o=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(n){return Mt({queryId:m(),executor:t,queryNode:x.createFrom(ue(n))})},case(n){return new ht({node:ee.create(H(n)?void 0:L(n))})},ref(n,a){return H(a)?new w(Z(n)):new mt(ho(n,a))},jsonPath(){return new mt(De.create())},table(n){return new w(N(n))},val(n){return new w(g(n))},refTuple(...n){return new w(Qi.create(n.map(L)))},tuple(...n){return new w(Qi.create(n.map(g)))},lit(n){return new w(qt(n))},unary:r,not(n){return r("not",n)},exists(n){return r("exists",n)},neg(n){return r("-",n)},between(n,a,d){return new w(Re.create(L(n),X.create("between"),K.create(g(a),g(d))))},betweenSymmetric(n,a,d){return new w(Re.create(L(n),X.create("between symmetric"),K.create(g(a),g(d))))},and(n){return P(n)?new w(it(n,"and")):new w(pi(n,"and"))},or(n){return P(n)?new w(it(n,"or")):new w(pi(n,"or"))},parens(...n){let a=O(n);return fe.is(a)?new w(a):new w(fe.create(a))},cast(n,a){return new w(Uo.create(L(n),de(a)))},withSchema(n){return wr(t.withPluginAtFront(new re(n)))}});return o.fn=xr(),o.eb=o,o}function se(t){return wr()}function G(t){if(b(t))return t.toOperationNode();if(T(t))return t(se()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function or(t){if(b(t))return t.toOperationNode();if(T(t))return t(se()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Oe(t){return Kt(t)||no(t)||T(t)}var br=class{#e;get table(){return this.#e}constructor(e){this.#e=e}as(e){return new Pi(this.#e,e)}},Pi=class{#e;#t;get table(){return this.#e}get alias(){return this.#t}constructor(e,r){this.#e=e,this.#t=r}toOperationNode(){return R.create(N(this.#e),p.create(this.#t))}};function Jo(t){return B(t)&&b(t)&&v(t.table)&&v(t.alias)}function ue(t){return P(t)?t.map(e=>$e(e)):[$e(t)]}function $e(t){return v(t)?Ti(t):Jo(t)?t.toOperationNode():or(t)}function Ti(t){let e=" as ";if(t.includes(e)){let[r,o]=t.split(e).map($o);return R.create(N(r),p.create(o))}else return N(t)}function N(t){let e=".";if(t.includes(e)){let[r,o]=t.split(e).map($o);return Y.createWithSchema(r,o)}else return Y.create(t)}function $o(t){return t.trim()}var Fi=i({is(t){return t.kind==="AddColumnNode"},create(t){return i({kind:"AddColumnNode",column:t})}});var C=i({is(t){return t.kind==="ColumnDefinitionNode"},create(t,e){return i({kind:"ColumnDefinitionNode",column:h.create(t),dataType:e})},cloneWithFrontModifier(t,e){return i({...t,frontModifiers:t.frontModifiers?i([...t.frontModifiers,e]):[e]})},cloneWithEndModifier(t,e){return i({...t,endModifiers:t.endModifiers?i([...t.endModifiers,e]):[e]})},cloneWith(t,e){return i({...t,...e})}});var Mi=i({is(t){return t.kind==="DropColumnNode"},create(t){return i({kind:"DropColumnNode",column:h.create(t)})}});var zi=i({is(t){return t.kind==="RenameColumnNode"},create(t,e){return i({kind:"RenameColumnNode",column:h.create(t),renameTo:h.create(e)})}});var lt=i({is(t){return t.kind==="CheckConstraintNode"},create(t,e){return i({kind:"CheckConstraintNode",expression:t,name:e?p.create(e):void 0})}});var Ko=["no action","restrict","cascade","set null","set default"],ft=i({is(t){return t.kind==="ReferencesNode"},create(t,e){return i({kind:"ReferencesNode",table:t,columns:i([...e])})},cloneWithOnDelete(t,e){return i({...t,onDelete:e})},cloneWithOnUpdate(t,e){return i({...t,onUpdate:e})}});function Cr(t){return b(t)?t.toOperationNode():k.createImmediate(t)}var Vt=i({is(t){return t.kind==="GeneratedNode"},create(t){return i({kind:"GeneratedNode",...t})},createWithExpression(t){return i({kind:"GeneratedNode",always:!0,expression:t})},cloneWith(t,e){return i({...t,...e})}});var Go=i({is(t){return t.kind==="DefaultValueNode"},create(t){return i({kind:"DefaultValueNode",defaultValue:t})}});function Nt(t){if(Ko.includes(t))return t;throw new Error(`invalid OnModifyForeignAction ${t}`)}var We=class t{#e;constructor(e){this.#e=e}autoIncrement(){return new t(C.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new t(C.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new t(C.cloneWith(this.#e,{primaryKey:!0}))}references(e){let r=Z(e);if(!r.table||_e.is(r.column))throw new Error(`invalid call references('${e}'). The reference must have format table.column or schema.table.column`);return new t(C.cloneWith(this.#e,{references:ft.create(r.table,[r.column])}))}onDelete(e){if(!this.#e.references)throw new Error("on delete constraint can only be added for foreign keys");return new t(C.cloneWith(this.#e,{references:ft.cloneWithOnDelete(this.#e.references,Nt(e))}))}onUpdate(e){if(!this.#e.references)throw new Error("on update constraint can only be added for foreign keys");return new t(C.cloneWith(this.#e,{references:ft.cloneWithOnUpdate(this.#e.references,Nt(e))}))}unique(){return new t(C.cloneWith(this.#e,{unique:!0}))}notNull(){return new t(C.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new t(C.cloneWith(this.#e,{unsigned:!0}))}defaultTo(e){return new t(C.cloneWith(this.#e,{defaultTo:Go.create(Cr(e))}))}check(e){return new t(C.cloneWith(this.#e,{check:lt.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new t(C.cloneWith(this.#e,{generated:Vt.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new t(C.cloneWith(this.#e,{generated:Vt.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new t(C.cloneWith(this.#e,{generated:Vt.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw new Error("stored() can only be called after generatedAlwaysAs");return new t(C.cloneWith(this.#e,{generated:Vt.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(e){return new t(C.cloneWithFrontModifier(this.#e,e.toOperationNode()))}nullsNotDistinct(){return new t(C.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new t(C.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(e){return new t(C.cloneWithEndModifier(this.#e,e.toOperationNode()))}$call(e){return e(this)}toOperationNode(){return this.#e}};var Vi=i({is(t){return t.kind==="ModifyColumnNode"},create(t){return i({kind:"ModifyColumnNode",column:t})}});var pe=i({is(t){return t.kind==="ForeignKeyConstraintNode"},create(t,e,r,o){return i({kind:"ForeignKeyConstraintNode",columns:t,references:ft.create(e,r),name:o?p.create(o):void 0})},cloneWith(t,e){return i({...t,...e})}});var yt=class t{#e;constructor(e){this.#e=e}onDelete(e){return new t(pe.cloneWith(this.#e,{onDelete:Nt(e)}))}onUpdate(e){return new t(pe.cloneWith(this.#e,{onUpdate:Nt(e)}))}deferrable(){return new t(pe.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(pe.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(pe.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(pe.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var wt=i({is(t){return t.kind==="AddConstraintNode"},create(t){return i({kind:"AddConstraintNode",constraint:t})}});var xe=i({is(t){return t.kind==="UniqueConstraintNode"},create(t,e,r){return i({kind:"UniqueConstraintNode",columns:i(t.map(h.create)),name:e?p.create(e):void 0,nullsNotDistinct:r})},cloneWith(t,e){return i({...t,...e})}});var xt=i({is(t){return t.kind==="DropConstraintNode"},create(t){return i({kind:"DropConstraintNode",constraintName:p.create(t)})},cloneWith(t,e){return i({...t,...e})}});var gt=i({is(t){return t.kind==="AlterColumnNode"},create(t,e,r){return i({kind:"AlterColumnNode",column:h.create(t),[e]:r})}});var Ut=class{#e;constructor(e){this.#e=e}setDataType(e){return new Ge(gt.create(this.#e,"dataType",de(e)))}setDefault(e){return new Ge(gt.create(this.#e,"setDefault",Cr(e)))}dropDefault(){return new Ge(gt.create(this.#e,"dropDefault",!0))}setNotNull(){return new Ge(gt.create(this.#e,"setNotNull",!0))}dropNotNull(){return new Ge(gt.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}},Ge=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}};var Te=class{#e;constructor(e){this.#e=i(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var vr=class t{#e;constructor(e){this.#e=i(e)}onDelete(e){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onDelete(e)})}onUpdate(e){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.onUpdate(e)})}deferrable(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.deferrable()})}notDeferrable(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.notDeferrable()})}initiallyDeferred(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyDeferred()})}initiallyImmediate(){return new t({...this.#e,constraintBuilder:this.#e.constraintBuilder.initiallyImmediate()})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(f.cloneWithTableProps(this.#e.node,{addConstraint:wt.create(this.#e.constraintBuilder.toOperationNode())}),this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Jt=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:xt.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:xt.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:xt.cloneWith(this.#e.node.dropConstraint,{modifier:"restrict"})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Se=i({is(t){return t.kind==="PrimaryKeyConstraintNode"},create(t,e){return i({kind:"PrimaryKeyConstraintNode",columns:i(t.map(h.create)),name:e?p.create(e):void 0})},cloneWith(t,e){return i({...t,...e})}});var Fe=i({is(t){return t.kind==="AddIndexNode"},create(t){return i({kind:"AddIndexNode",name:p.create(t)})},cloneWith(t,e){return i({...t,...e})},cloneWithColumns(t,e){return i({...t,columns:[...t.columns||[],...e]})}});var Wr=class t{#e;constructor(e){this.#e=i(e)}unique(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Fe.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Fe.cloneWithColumns(this.#e.node.addIndex,[rt(e)])})})}columns(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Fe.cloneWithColumns(this.#e.node.addIndex,e.map(rt))})})}expression(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Fe.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Fe.cloneWith(this.#e.node.addIndex,{using:W.createWithSql(e)})})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Ot=class t{#e;constructor(e){this.#e=e}nullsNotDistinct(){return new t(xe.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new t(xe.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(xe.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(xe.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(xe.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var bt=class t{#e;constructor(e){this.#e=e}deferrable(){return new t(Se.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(Se.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(Se.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(Se.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var Ct=class{#e;constructor(e){this.#e=e}$call(e){return e(this)}toOperationNode(){return this.#e}};var jo=i({is(t){return t.kind==="RenameConstraintNode"},create(t,e){return i({kind:"RenameConstraintNode",oldName:p.create(t),newName:p.create(e)})}});var Tr=class{#e;constructor(e){this.#e=i(e)}renameTo(e){return new Te({...this.#e,node:f.cloneWithTableProps(this.#e.node,{renameTo:N(e)})})}setSchema(e){return new Te({...this.#e,node:f.cloneWithTableProps(this.#e.node,{setSchema:p.create(e)})})}alterColumn(e,r){let o=r(new Ut(e));return new je({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new je({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Mi.create(e))})}renameColumn(e,r){return new je({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,zi.create(e,r))})}addColumn(e,r,o=V){let n=o(new We(C.create(e,de(r))));return new je({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Fi.create(n.toOperationNode()))})}modifyColumn(e,r,o=V){let n=o(new We(C.create(e,de(r))));return new je({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Vi.create(n.toOperationNode()))})}addUniqueConstraint(e,r,o=V){let n=o(new Ot(xe.create(r,e)));return new Te({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:wt.create(n.toOperationNode())})})}addCheckConstraint(e,r,o=V){let n=o(new Ct(lt.create(r.toOperationNode(),e)));return new Te({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:wt.create(n.toOperationNode())})})}addForeignKeyConstraint(e,r,o,n,a=V){let d=a(new yt(pe.create(r.map(h.create),N(o),n.map(h.create),e)));return new vr({...this.#e,constraintBuilder:d})}addPrimaryKeyConstraint(e,r,o=V){let n=o(new bt(Se.create(r,e)));return new Te({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:wt.create(n.toOperationNode())})})}dropConstraint(e){return new Jt({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:xt.create(e)})})}renameConstraint(e,r){return new Jt({...this.#e,node:f.cloneWithTableProps(this.#e.node,{renameConstraint:jo.create(e,r)})})}addIndex(e){return new Wr({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Fe.create(e)})})}dropIndex(e){return new Te({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropIndex:Ae.create(e)})})}$call(e){return e(this)}},je=class t{#e;constructor(e){this.#e=i(e)}alterColumn(e,r){let o=r(new Ut(e));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Mi.create(e))})}renameColumn(e,r){return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,zi.create(e,r))})}addColumn(e,r,o=V){let n=o(new We(C.create(e,de(r))));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Fi.create(n.toOperationNode()))})}modifyColumn(e,r,o=V){let n=o(new We(C.create(e,de(r))));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Vi.create(n.toOperationNode()))})}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var vt=class extends Le{transformPrimitiveValueList(e){return le.create(e.values.map(k.createImmediate))}transformValue(e){return k.createImmediate(e.value)}};var Sr=class t{#e;constructor(e){this.#e=i(e)}ifNotExists(){return new t({...this.#e,node:ie.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new t({...this.#e,node:ie.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new t({...this.#e,node:ie.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new t({...this.#e,node:ie.cloneWith(this.#e.node,{table:N(e)})})}column(e){return new t({...this.#e,node:ie.cloneWithColumns(this.#e.node,[rt(e)])})}columns(e){return new t({...this.#e,node:ie.cloneWithColumns(this.#e.node,e.map(rt))})}expression(e){return new t({...this.#e,node:ie.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new t({...this.#e,node:ie.cloneWith(this.#e.node,{using:W.createWithSql(e)})})}where(...e){let r=new vt;return new t({...this.#e,node:u.cloneWithWhere(this.#e.node,r.transformNode(O(e),this.#e.queryId))})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var kr=class t{#e;constructor(e){this.#e=i(e)}ifNotExists(){return new t({...this.#e,node:$t.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};function Ho(t){if(oo.includes(t))return t;throw new Error(`invalid OnCommitAction ${t}`)}var Er=class t{#e;constructor(e){this.#e=i(e)}temporary(){return new t({...this.#e,node:F.cloneWith(this.#e.node,{temporary:!0})})}onCommit(e){return new t({...this.#e,node:F.cloneWith(this.#e.node,{onCommit:Ho(e)})})}ifNotExists(){return new t({...this.#e,node:F.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,r,o=V){let n=o(new We(C.create(e,de(r))));return new t({...this.#e,node:F.cloneWithColumn(this.#e.node,n.toOperationNode())})}addPrimaryKeyConstraint(e,r,o=V){let n=o(new bt(Se.create(r,e)));return new t({...this.#e,node:F.cloneWithConstraint(this.#e.node,n.toOperationNode())})}addUniqueConstraint(e,r,o=V){let n=o(new Ot(xe.create(r,e)));return new t({...this.#e,node:F.cloneWithConstraint(this.#e.node,n.toOperationNode())})}addCheckConstraint(e,r,o=V){let n=o(new Ct(lt.create(r.toOperationNode(),e)));return new t({...this.#e,node:F.cloneWithConstraint(this.#e.node,n.toOperationNode())})}addForeignKeyConstraint(e,r,o,n,a=V){let d=a(new yt(pe.create(r.map(h.create),N(o),n.map(h.create),e)));return new t({...this.#e,node:F.cloneWithConstraint(this.#e.node,d.toOperationNode())})}modifyFront(e){return new t({...this.#e,node:F.cloneWithFrontModifier(this.#e.node,e.toOperationNode())})}modifyEnd(e){return new t({...this.#e,node:F.cloneWithEndModifier(this.#e.node,e.toOperationNode())})}as(e){return new t({...this.#e,node:F.cloneWith(this.#e.node,{selectQuery:G(e)})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Ar=class t{#e;constructor(e){this.#e=i(e)}on(e){return new t({...this.#e,node:Ae.cloneWith(this.#e.node,{table:N(e)})})}ifExists(){return new t({...this.#e,node:Ae.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Ae.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Rr=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:It.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:It.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Ir=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:Dt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Dt.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var ce=i({is(t){return t.kind==="CreateViewNode"},create(t){return i({kind:"CreateViewNode",name:M.create(t)})},cloneWith(t,e){return i({...t,...e})}});var Dr=class{#e=new vt;transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}transformResult(e){return Promise.resolve(e.result)}};var qr=class t{#e;constructor(e){this.#e=i(e)}temporary(){return new t({...this.#e,node:ce.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new t({...this.#e,node:ce.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new t({...this.#e,node:ce.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new t({...this.#e,node:ce.cloneWith(this.#e.node,{orReplace:!0})})}columns(e){return new t({...this.#e,node:ce.cloneWith(this.#e.node,{columns:e.map(ai)})})}as(e){let r=e.withPlugin(new Dr).toOperationNode();return new t({...this.#e,node:ce.cloneWith(this.#e.node,{as:r})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Wt=i({is(t){return t.kind==="DropViewNode"},create(t){return i({kind:"DropViewNode",name:M.create(t)})},cloneWith(t,e){return i({...t,...e})}});var Br=class t{#e;constructor(e){this.#e=i(e)}materialized(){return new t({...this.#e,node:Wt.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new t({...this.#e,node:Wt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Wt.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Lr=i({is(t){return t.kind==="CreateTypeNode"},create(t){return i({kind:"CreateTypeNode",name:t})},cloneWithEnum(t,e){return i({...t,enum:le.create(e.map(k.createImmediate))})}});var Qr=class t{#e;constructor(e){this.#e=i(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(e){return new t({...this.#e,node:Lr.cloneWithEnum(this.#e.node,e)})}$call(e){return e(this)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var Pr=i({is(t){return t.kind==="DropTypeNode"},create(t){return i({kind:"DropTypeNode",name:t})},cloneWith(t,e){return i({...t,...e})}});var Fr=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:Pr.cloneWith(this.#e.node,{ifExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};function Ui(t){let e=".";if(t.includes(e)){let r=t.split(e).map(Vn);if(r.length===2)return M.createWithSchema(r[0],r[1]);throw new Error(`invalid schemable identifier ${t}`)}else return M.create(t)}function Vn(t){return t.trim()}var Tt=i({is(t){return t.kind==="RefreshMaterializedViewNode"},create(t){return i({kind:"RefreshMaterializedViewNode",name:M.create(t)})},cloneWith(t,e){return i({...t,...e})}});var Mr=class t{#e;constructor(e){this.#e=i(e)}concurrently(){return new t({...this.#e,node:Tt.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new t({...this.#e,node:Tt.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new t({...this.#e,node:Tt.cloneWith(this.#e.node,{withNoData:!0,concurrently:!1})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};var zr=class t{#e;constructor(e){this.#e=e}createTable(e){return new Er({queryId:m(),executor:this.#e,node:F.create(N(e))})}dropTable(e){return new Ir({queryId:m(),executor:this.#e,node:Dt.create(N(e))})}createIndex(e){return new Sr({queryId:m(),executor:this.#e,node:ie.create(e)})}dropIndex(e){return new Ar({queryId:m(),executor:this.#e,node:Ae.create(e)})}createSchema(e){return new kr({queryId:m(),executor:this.#e,node:$t.create(e)})}dropSchema(e){return new Rr({queryId:m(),executor:this.#e,node:It.create(e)})}alterTable(e){return new Tr({queryId:m(),executor:this.#e,node:f.create(N(e))})}createView(e){return new qr({queryId:m(),executor:this.#e,node:ce.create(e)})}refreshMaterializedView(e){return new Mr({queryId:m(),executor:this.#e,node:Tt.create(e)})}dropView(e){return new Br({queryId:m(),executor:this.#e,node:Wt.create(e)})}createType(e){return new Qr({queryId:m(),executor:this.#e,node:Lr.create(Ui(e))})}dropType(e){return new Fr({queryId:m(),executor:this.#e,node:Pr.create(Ui(e))})}withPlugin(e){return new t(this.#e.withPlugin(e))}withoutPlugins(){return new t(this.#e.withoutPlugins())}withSchema(e){return new t(this.#e.withPluginAtFront(new re(e)))}};var Vr=class{ref(e){return new jt(e)}table(e){return new br(e)}};var Ur=class{#e;constructor(e){this.#e=e}async provideConnection(e){let r=await this.#e.acquireConnection();try{return await e(r)}finally{await this.#e.releaseConnection(r)}}};var Jr=class t extends dt{#e;#t;#r;constructor(e,r,o,n=[]){super(n),this.#e=e,this.#t=r,this.#r=o}get adapter(){return this.#t}compileQuery(e,r){return this.#e.compileQuery(e,r)}provideConnection(e){return this.#r.provideConnection(e)}withPlugins(e){return new t(this.#e,this.#t,this.#r,[...this.plugins,...e])}withPlugin(e){return new t(this.#e,this.#t,this.#r,[...this.plugins,e])}withPluginAtFront(e){return new t(this.#e,this.#t,this.#r,[e,...this.plugins])}withConnectionProvider(e){return new t(this.#e,this.#t,e,[...this.plugins])}withoutPlugins(){return new t(this.#e,this.#t,this.#r,[])}};function $r(){return typeof performance<"u"&&T(performance.now)?performance.now():Date.now()}var Kr=class{#e;#t;#r;#i;#o;#a=new WeakSet;constructor(e,r){this.#i=!1,this.#e=e,this.#t=r}async init(){if(this.#o)throw new Error("driver has already been destroyed");this.#r||(this.#r=this.#e.init().then(()=>{this.#i=!0}).catch(e=>(this.#r=void 0,Promise.reject(e)))),await this.#r}async acquireConnection(){if(this.#o)throw new Error("driver has already been destroyed");this.#i||await this.init();let e=await this.#e.acquireConnection();return this.#a.has(e)||(this.#d()&&this.#n(e),this.#a.add(e)),e}async releaseConnection(e){await this.#e.releaseConnection(e)}beginTransaction(e,r){return this.#e.beginTransaction(e,r)}commitTransaction(e){return this.#e.commitTransaction(e)}rollbackTransaction(e){return this.#e.rollbackTransaction(e)}savepoint(e,r,o){if(this.#e.savepoint)return this.#e.savepoint(e,r,o);throw new Error("The `savepoint` method is not supported by this driver")}rollbackToSavepoint(e,r,o){if(this.#e.rollbackToSavepoint)return this.#e.rollbackToSavepoint(e,r,o);throw new Error("The `rollbackToSavepoint` method is not supported by this driver")}releaseSavepoint(e,r,o){if(this.#e.releaseSavepoint)return this.#e.releaseSavepoint(e,r,o);throw new Error("The `releaseSavepoint` method is not supported by this driver")}async destroy(){this.#r&&(await this.#r,this.#o||(this.#o=this.#e.destroy().catch(e=>(this.#o=void 0,Promise.reject(e)))),await this.#o)}#d(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#n(e){let r=e.executeQuery,o=e.streamQuery,n=this;e.executeQuery=async a=>{let d,c=$r();try{return await r.call(e,a)}catch(y){throw d=y,await n.#s(y,a,c),y}finally{d||await n.#u(a,c)}},e.streamQuery=async function*(a,d){let c,y=$r();try{for await(let l of o.call(e,a,d))yield l}catch(l){throw c=l,await n.#s(l,a,y),l}finally{c||await n.#u(a,y,!0)}}}async#s(e,r,o){await this.#t.error(()=>({level:"error",error:e,query:r,queryDurationMillis:this.#p(o)}))}async#u(e,r,o=!1){await this.#t.query(()=>({level:"query",isStream:o,query:e,queryDurationMillis:this.#p(r)}))}#p(e){return $r()-e}};var Un=()=>{},St=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(Un);return this.#t=this.#r(e).finally(()=>{this.#t=void 0}),this.#t}async#r(e){return await e(this.#e)}};var Jn=["read only","read write"],$n=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function Ji(t){if(t.accessMode&&!Jn.includes(t.accessMode))throw new Error(`invalid transaction access mode ${t.accessMode}`);if(t.isolationLevel&&!$n.includes(t.isolationLevel))throw new Error(`invalid transaction isolation level ${t.isolationLevel}`)}var $v=i(["query","error"]),Gr=class{#e;#t;constructor(e){T(e)?(this.#t=e,this.#e=i({query:!0,error:!0})):(this.#t=Kn,this.#e=i({query:e.includes("query"),error:e.includes("error")}))}isLevelEnabled(e){return this.#e[e]}async query(e){this.#e.query&&await this.#t(e())}async error(e){this.#e.error&&await this.#t(e())}};function Kn(t){if(t.level==="query"){let e=`kysely:query:${t.isStream?"stream:":""}`;console.log(`${e} ${t.query.sql}`),console.log(`${e} duration: ${t.queryDurationMillis.toFixed(1)}ms`)}else t.level==="error"&&(t.error instanceof Error?console.error(`kysely:error: ${t.error.stack??t.error.message}`):console.error(`kysely:error: ${JSON.stringify({error:t.error,query:t.query.sql,queryDurationMillis:t.queryDurationMillis})}`))}function Yo(t){return B(t)&&T(t.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");var kt=class t extends pt{#e;constructor(e){let r,o;if(Gn(e))r={executor:e.executor},o={...e};else{let n=e.dialect,a=n.createDriver(),d=n.createQueryCompiler(),c=n.createAdapter(),y=new Gr(e.log??[]),l=new Kr(a,y),A=new Ur(l),$=new Jr(d,c,A,e.plugins??[]);r={executor:$},o={config:e,executor:$,dialect:n,driver:l}}super(r),this.#e=i(o)}get schema(){return new zr(this.#e.executor)}get dynamic(){return new Vr}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new ht({node:ee.create(H(e)?void 0:G(e))})}get fn(){return xr()}transaction(){return new Ki({...this.#e})}startTransaction(){return new Gi({...this.#e})}connection(){return new $i({...this.#e})}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new t({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new t({...this.#e,executor:this.#e.executor.withPluginAtFront(new re(e))})}withTables(){return new t({...this.#e})}async destroy(){await this.#e.driver.destroy()}get isTransaction(){return!1}getExecutor(){return this.#e.executor}executeQuery(e,r=m()){let o=Yo(e)?e.compile():e;return this.getExecutor().executeQuery(o,r)}async[Symbol.asyncDispose](){await this.destroy()}},jr=class t extends kt{#e;constructor(e){super(e),this.#e=e}get isTransaction(){return!0}transaction(){throw new Error("calling the transaction method for a Transaction is not supported")}connection(){throw new Error("calling the connection method for a Transaction is not supported")}async destroy(){throw new Error("calling the destroy method for a Transaction is not supported")}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new t({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new t({...this.#e,executor:this.#e.executor.withPluginAtFront(new re(e))})}withTables(){return new t({...this.#e})}};function Gn(t){return B(t)&&B(t.config)&&B(t.driver)&&B(t.executor)&&B(t.dialect)}var $i=class{#e;constructor(e){this.#e=i(e)}async execute(e){return this.#e.executor.provideConnection(async r=>{let o=this.#e.executor.withConnectionProvider(new St(r)),n=new kt({...this.#e,executor:o});return await e(n)})}},Ki=class t{#e;constructor(e){this.#e=i(e)}setAccessMode(e){return new t({...this.#e,accessMode:e})}setIsolationLevel(e){return new t({...this.#e,isolationLevel:e})}async execute(e){let{isolationLevel:r,accessMode:o,...n}=this.#e,a={isolationLevel:r,accessMode:o};return Ji(a),this.#e.executor.provideConnection(async d=>{let c=this.#e.executor.withConnectionProvider(new St(d)),y=new jr({...n,executor:c});try{await this.#e.driver.beginTransaction(d,a);let l=await e(y);return await this.#e.driver.commitTransaction(d),l}catch(l){throw await this.#e.driver.rollbackTransaction(d),l}})}},Gi=class t{#e;constructor(e){this.#e=i(e)}setAccessMode(e){return new t({...this.#e,accessMode:e})}setIsolationLevel(e){return new t({...this.#e,isolationLevel:e})}async execute(){let{isolationLevel:e,accessMode:r,...o}=this.#e,n={isolationLevel:e,accessMode:r};Ji(n);let a=await mr(this.#e.executor);return await this.#e.driver.beginTransaction(a.connection,n),new ji({...o,connection:a,executor:this.#e.executor.withConnectionProvider(new St(a.connection))})}},ji=class t extends jr{#e;#t;#r;constructor(e){let r={isCommitted:!1,isRolledBack:!1};e={...e,executor:new Hi(e.executor,r)};let{connection:o,...n}=e;super(n),this.#e=i(e),this.#r=r;let a=m();this.#t=d=>e.executor.compileQuery(d,a)}get isCommitted(){return this.#r.isCommitted}get isRolledBack(){return this.#r.isRolledBack}commit(){return Ye(this.#r),new He(async()=>{await this.#e.driver.commitTransaction(this.#e.connection.connection),this.#r.isCommitted=!0,this.#e.connection.release()})}rollback(){return Ye(this.#r),new He(async()=>{await this.#e.driver.rollbackTransaction(this.#e.connection.connection),this.#r.isRolledBack=!0,this.#e.connection.release()})}savepoint(e){return Ye(this.#r),new He(async()=>(await this.#e.driver.savepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}rollbackToSavepoint(e){return Ye(this.#r),new He(async()=>(await this.#e.driver.rollbackToSavepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}releaseSavepoint(e){return Ye(this.#r),new He(async()=>(await this.#e.driver.releaseSavepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}withPlugin(e){return new t({...this.#e,executor:this.#e.executor.withPlugin(e)})}withoutPlugins(){return new t({...this.#e,executor:this.#e.executor.withoutPlugins()})}withSchema(e){return new t({...this.#e,executor:this.#e.executor.withPluginAtFront(new re(e))})}withTables(){return new t({...this.#e})}},He=class{#e;constructor(e){this.#e=e}async execute(){return await this.#e()}};function Ye(t){if(t.isCommitted)throw new Error("Transaction is already committed");if(t.isRolledBack)throw new Error("Transaction is already rolled back")}var Hi=class t{#e;#t;constructor(e,r){e instanceof t?this.#e=e.#e:this.#e=e,this.#t=r}get adapter(){return this.#e.adapter}get plugins(){return this.#e.plugins}transformQuery(e,r){return this.#e.transformQuery(e,r)}compileQuery(e,r){return this.#e.compileQuery(e,r)}provideConnection(e){return this.#e.provideConnection(e)}executeQuery(e,r){return Ye(this.#t),this.#e.executeQuery(e,r)}stream(e,r,o){return Ye(this.#t),this.#e.stream(e,r,o)}withConnectionProvider(e){return new t(this.#e.withConnectionProvider(e),this.#t)}withPlugin(e){return new t(this.#e.withPlugin(e),this.#t)}withPlugins(e){return new t(this.#e.withPlugins(e),this.#t)}withPluginAtFront(e){return new t(this.#e.withPluginAtFront(e),this.#t)}withoutPlugins(){return new t(this.#e.withoutPlugins(),this.#t)}};var Yi=class t{#e;constructor(e){this.#e=i(e)}get expressionType(){}get isRawBuilder(){return!0}as(e){return new Xi(this,e)}$castTo(){return new t({...this.#e})}$notNull(){return new t(this.#e)}withPlugin(e){return new t({...this.#e,plugins:this.#e.plugins!==void 0?i([...this.#e.plugins,e]):i([e])})}toOperationNode(){return this.#r(this.#t())}compile(e){return this.#i(this.#t(e))}async execute(e){let r=this.#t(e);return r.executeQuery(this.#i(r),this.#e.queryId)}#t(e){let r=e!==void 0?e.getExecutor():Qe;return this.#e.plugins!==void 0?r.withPlugins(this.#e.plugins):r}#r(e){return e.transformQuery(this.#e.rawNode,this.#e.queryId)}#i(e){return e.compileQuery(this.#r(e),this.#e.queryId)}};function ke(t){return new Yi(t)}var Xi=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}get rawBuilder(){return this.#e}toOperationNode(){return R.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():p.create(this.#t))}};var J=Object.assign((t,...e)=>ke({queryId:m(),rawNode:W.create(t,e?.map(Xo)??[])}),{ref(t){return ke({queryId:m(),rawNode:W.createWithChild(Z(t))})},val(t){return ke({queryId:m(),rawNode:W.createWithChild(g(t))})},value(t){return this.val(t)},table(t){return ke({queryId:m(),rawNode:W.createWithChild(N(t))})},id(...t){let e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",ke({queryId:m(),rawNode:W.create(e,t.map(p.create))})},lit(t){return ke({queryId:m(),rawNode:W.createWithChild(k.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return ke({queryId:m(),rawNode:W.createWithSql(t)})},join(t,e=J`, `){let r=new Array(Math.max(2*t.length-1,0)),o=e.toOperationNode();for(let n=0;n<t.length;++n)r[2*n]=Xo(t[n]),n!==t.length-1&&(r[2*n+1]=o);return ke({queryId:m(),rawNode:W.createWithChildren(r)})}});function Xo(t){return b(t)?t.toOperationNode():g(t)}var Hr=class{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=i({AliasNode:this.visitAlias.bind(this),ColumnNode:this.visitColumn.bind(this),IdentifierNode:this.visitIdentifier.bind(this),SchemableIdentifierNode:this.visitSchemableIdentifier.bind(this),RawNode:this.visitRaw.bind(this),ReferenceNode:this.visitReference.bind(this),SelectQueryNode:this.visitSelectQuery.bind(this),SelectionNode:this.visitSelection.bind(this),TableNode:this.visitTable.bind(this),FromNode:this.visitFrom.bind(this),SelectAllNode:this.visitSelectAll.bind(this),AndNode:this.visitAnd.bind(this),OrNode:this.visitOr.bind(this),ValueNode:this.visitValue.bind(this),ValueListNode:this.visitValueList.bind(this),PrimitiveValueListNode:this.visitPrimitiveValueList.bind(this),ParensNode:this.visitParens.bind(this),JoinNode:this.visitJoin.bind(this),OperatorNode:this.visitOperator.bind(this),WhereNode:this.visitWhere.bind(this),InsertQueryNode:this.visitInsertQuery.bind(this),DeleteQueryNode:this.visitDeleteQuery.bind(this),ReturningNode:this.visitReturning.bind(this),CreateTableNode:this.visitCreateTable.bind(this),AddColumnNode:this.visitAddColumn.bind(this),ColumnDefinitionNode:this.visitColumnDefinition.bind(this),DropTableNode:this.visitDropTable.bind(this),DataTypeNode:this.visitDataType.bind(this),OrderByNode:this.visitOrderBy.bind(this),OrderByItemNode:this.visitOrderByItem.bind(this),GroupByNode:this.visitGroupBy.bind(this),GroupByItemNode:this.visitGroupByItem.bind(this),UpdateQueryNode:this.visitUpdateQuery.bind(this),ColumnUpdateNode:this.visitColumnUpdate.bind(this),LimitNode:this.visitLimit.bind(this),OffsetNode:this.visitOffset.bind(this),OnConflictNode:this.visitOnConflict.bind(this),OnDuplicateKeyNode:this.visitOnDuplicateKey.bind(this),CreateIndexNode:this.visitCreateIndex.bind(this),DropIndexNode:this.visitDropIndex.bind(this),ListNode:this.visitList.bind(this),PrimaryKeyConstraintNode:this.visitPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.visitUniqueConstraint.bind(this),ReferencesNode:this.visitReferences.bind(this),CheckConstraintNode:this.visitCheckConstraint.bind(this),WithNode:this.visitWith.bind(this),CommonTableExpressionNode:this.visitCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.visitCommonTableExpressionName.bind(this),HavingNode:this.visitHaving.bind(this),CreateSchemaNode:this.visitCreateSchema.bind(this),DropSchemaNode:this.visitDropSchema.bind(this),AlterTableNode:this.visitAlterTable.bind(this),DropColumnNode:this.visitDropColumn.bind(this),RenameColumnNode:this.visitRenameColumn.bind(this),AlterColumnNode:this.visitAlterColumn.bind(this),ModifyColumnNode:this.visitModifyColumn.bind(this),AddConstraintNode:this.visitAddConstraint.bind(this),DropConstraintNode:this.visitDropConstraint.bind(this),RenameConstraintNode:this.visitRenameConstraint.bind(this),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.bind(this),RefreshMaterializedViewNode:this.visitRefreshMaterializedView.bind(this),DropViewNode:this.visitDropView.bind(this),GeneratedNode:this.visitGenerated.bind(this),DefaultValueNode:this.visitDefaultValue.bind(this),OnNode:this.visitOn.bind(this),ValuesNode:this.visitValues.bind(this),SelectModifierNode:this.visitSelectModifier.bind(this),CreateTypeNode:this.visitCreateType.bind(this),DropTypeNode:this.visitDropType.bind(this),ExplainNode:this.visitExplain.bind(this),DefaultInsertValueNode:this.visitDefaultInsertValue.bind(this),AggregateFunctionNode:this.visitAggregateFunction.bind(this),OverNode:this.visitOver.bind(this),PartitionByNode:this.visitPartitionBy.bind(this),PartitionByItemNode:this.visitPartitionByItem.bind(this),SetOperationNode:this.visitSetOperation.bind(this),BinaryOperationNode:this.visitBinaryOperation.bind(this),UnaryOperationNode:this.visitUnaryOperation.bind(this),UsingNode:this.visitUsing.bind(this),FunctionNode:this.visitFunction.bind(this),CaseNode:this.visitCase.bind(this),WhenNode:this.visitWhen.bind(this),JSONReferenceNode:this.visitJSONReference.bind(this),JSONPathNode:this.visitJSONPath.bind(this),JSONPathLegNode:this.visitJSONPathLeg.bind(this),JSONOperatorChainNode:this.visitJSONOperatorChain.bind(this),TupleNode:this.visitTuple.bind(this),MergeQueryNode:this.visitMergeQuery.bind(this),MatchedNode:this.visitMatched.bind(this),AddIndexNode:this.visitAddIndex.bind(this),CastNode:this.visitCast.bind(this),FetchNode:this.visitFetch.bind(this),TopNode:this.visitTop.bind(this),OutputNode:this.visitOutput.bind(this),OrActionNode:this.visitOrAction.bind(this),CollateNode:this.visitCollate.bind(this)});visitNode=e=>{this.nodeStack.push(e),this.#e[e.kind](e),this.nodeStack.pop()}};var jn=/'/g,Yr=class extends Hr{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(e,r){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(e),i({query:e,queryId:r,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(e){let r=this.parentNode!==void 0&&!fe.is(this.parentNode)&&!S.is(this.parentNode)&&!F.is(this.parentNode)&&!ce.is(this.parentNode)&&!yr.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),r&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("select"),e.distinctOn&&(this.append(" "),this.compileDistinctOn(e.distinctOn)),e.frontModifiers?.length&&(this.append(" "),this.compileList(e.frontModifiers," ")),e.top&&(this.append(" "),this.visitNode(e.top)),e.selections&&(this.append(" "),this.compileList(e.selections)),e.from&&(this.append(" "),this.visitNode(e.from)),e.joins&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.groupBy&&(this.append(" "),this.visitNode(e.groupBy)),e.having&&(this.append(" "),this.visitNode(e.having)),e.setOperations&&(this.append(" "),this.compileList(e.setOperations," ")),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.offset&&(this.append(" "),this.visitNode(e.offset)),e.fetch&&(this.append(" "),this.visitNode(e.fetch)),e.endModifiers?.length&&(this.append(" "),this.compileList(this.sortSelectModifiers([...e.endModifiers])," ")),r&&this.append(")")}visitFrom(e){this.append("from "),this.compileList(e.froms)}visitSelection(e){this.visitNode(e.selection)}visitColumn(e){this.visitNode(e.column)}compileDistinctOn(e){this.append("distinct on ("),this.compileList(e),this.append(")")}compileList(e,r=", "){let o=e.length-1;for(let n=0;n<=o;n++)this.visitNode(e[n]),n<o&&this.append(r)}visitWhere(e){this.append("where "),this.visitNode(e.where)}visitHaving(e){this.append("having "),this.visitNode(e.having)}visitInsertQuery(e){let r=this.nodeStack.find(u.is),o=r!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!D.is(r)&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append(e.replace?"replace":"insert"),e.ignore&&(Ie("`InsertQueryNode.ignore` is deprecated. Use `InsertQueryNode.orAction` instead."),this.append(" ignore")),e.orAction&&(this.append(" "),this.visitNode(e.orAction)),e.top&&(this.append(" "),this.visitNode(e.top)),e.into&&(this.append(" into "),this.visitNode(e.into)),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.output&&(this.append(" "),this.visitNode(e.output)),e.values&&(this.append(" "),this.visitNode(e.values)),e.defaultValues&&(this.append(" "),this.append("default values")),e.onConflict&&(this.append(" "),this.visitNode(e.onConflict)),e.onDuplicateKey&&(this.append(" "),this.visitNode(e.onDuplicateKey)),e.returning&&(this.append(" "),this.visitNode(e.returning)),o&&!D.is(r)&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitValues(e){this.append("values "),this.compileList(e.values)}visitDeleteQuery(e){let r=this.nodeStack.find(u.is)!==e;!r&&e.explain&&(this.visitNode(e.explain),this.append(" ")),r&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("delete "),e.top&&(this.visitNode(e.top),this.append(" ")),this.visitNode(e.from),e.output&&(this.append(" "),this.visitNode(e.output)),e.using&&(this.append(" "),this.visitNode(e.using)),e.joins&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.returning&&(this.append(" "),this.visitNode(e.returning)),r&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitReturning(e){this.append("returning "),this.compileList(e.selections)}visitAlias(e){this.visitNode(e.node),this.append(" as "),this.visitNode(e.alias)}visitReference(e){e.table&&(this.visitNode(e.table),this.append(".")),this.visitNode(e.column)}visitSelectAll(e){this.append("*")}visitIdentifier(e){this.append(this.getLeftIdentifierWrapper()),this.compileUnwrappedIdentifier(e),this.append(this.getRightIdentifierWrapper())}compileUnwrappedIdentifier(e){if(!v(e.name))throw new Error("a non-string identifier was passed to compileUnwrappedIdentifier.");this.append(this.sanitizeIdentifier(e.name))}visitAnd(e){this.visitNode(e.left),this.append(" and "),this.visitNode(e.right)}visitOr(e){this.visitNode(e.left),this.append(" or "),this.visitNode(e.right)}visitValue(e){e.immediate?this.appendImmediateValue(e.value):this.appendValue(e.value)}visitValueList(e){this.append("("),this.compileList(e.values),this.append(")")}visitTuple(e){this.append("("),this.compileList(e.values),this.append(")")}visitPrimitiveValueList(e){this.append("(");let{values:r}=e;for(let o=0;o<r.length;++o)this.appendValue(r[o]),o!==r.length-1&&this.append(", ");this.append(")")}visitParens(e){this.append("("),this.visitNode(e.node),this.append(")")}visitJoin(e){this.append(Yn[e.joinType]),this.append(" "),this.visitNode(e.table),e.on&&(this.append(" "),this.visitNode(e.on))}visitOn(e){this.append("on "),this.visitNode(e.on)}visitRaw(e){let{sqlFragments:r,parameters:o}=e;for(let n=0;n<r.length;++n)this.append(r[n]),o.length>n&&this.visitNode(o[n])}visitOperator(e){this.append(e.operator)}visitTable(e){this.visitNode(e.table)}visitSchemableIdentifier(e){e.schema&&(this.visitNode(e.schema),this.append(".")),this.visitNode(e.identifier)}visitCreateTable(e){this.append("create "),e.frontModifiers&&e.frontModifiers.length>0&&(this.compileList(e.frontModifiers," "),this.append(" ")),e.temporary&&this.append("temporary "),this.append("table "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.table),e.selectQuery?(this.append(" as "),this.visitNode(e.selectQuery)):(this.append(" ("),this.compileList([...e.columns,...e.constraints??[]]),this.append(")"),e.onCommit&&(this.append(" on commit "),this.append(e.onCommit)),e.endModifiers&&e.endModifiers.length>0&&(this.append(" "),this.compileList(e.endModifiers," ")))}visitColumnDefinition(e){e.ifNotExists&&this.append("if not exists "),this.visitNode(e.column),this.append(" "),this.visitNode(e.dataType),e.unsigned&&this.append(" unsigned"),e.frontModifiers&&e.frontModifiers.length>0&&(this.append(" "),this.compileList(e.frontModifiers," ")),e.generated&&(this.append(" "),this.visitNode(e.generated)),e.identity&&this.append(" identity"),e.defaultTo&&(this.append(" "),this.visitNode(e.defaultTo)),e.notNull&&this.append(" not null"),e.unique&&this.append(" unique"),e.nullsNotDistinct&&this.append(" nulls not distinct"),e.primaryKey&&this.append(" primary key"),e.autoIncrement&&(this.append(" "),this.append(this.getAutoIncrement())),e.references&&(this.append(" "),this.visitNode(e.references)),e.check&&(this.append(" "),this.visitNode(e.check)),e.endModifiers&&e.endModifiers.length>0&&(this.append(" "),this.compileList(e.endModifiers," "))}getAutoIncrement(){return"auto_increment"}visitReferences(e){this.append("references "),this.visitNode(e.table),this.append(" ("),this.compileList(e.columns),this.append(")"),e.onDelete&&(this.append(" on delete "),this.append(e.onDelete)),e.onUpdate&&(this.append(" on update "),this.append(e.onUpdate))}visitDropTable(e){this.append("drop table "),e.ifExists&&this.append("if exists "),this.visitNode(e.table),e.cascade&&this.append(" cascade")}visitDataType(e){this.append(e.dataType)}visitOrderBy(e){this.append("order by "),this.compileList(e.items)}visitOrderByItem(e){this.visitNode(e.orderBy),e.collation&&(this.append(" "),this.visitNode(e.collation)),e.direction&&(this.append(" "),this.visitNode(e.direction)),e.nulls&&(this.append(" nulls "),this.append(e.nulls))}visitGroupBy(e){this.append("group by "),this.compileList(e.items)}visitGroupByItem(e){this.visitNode(e.groupBy)}visitUpdateQuery(e){let r=this.nodeStack.find(u.is),o=r!==e;if(!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!D.is(r)&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append("update "),e.top&&(this.visitNode(e.top),this.append(" ")),e.table&&(this.visitNode(e.table),this.append(" ")),this.append("set "),e.updates&&this.compileList(e.updates),e.output&&(this.append(" "),this.visitNode(e.output)),e.from&&(this.append(" "),this.visitNode(e.from)),e.joins){if(!e.from)throw new Error("Joins in an update query are only supported as a part of a PostgreSQL 'update set from join' query. If you want to create a MySQL 'update join set' query, see https://kysely.dev/docs/examples/update/my-sql-joins");this.append(" "),this.compileList(e.joins," ")}e.where&&(this.append(" "),this.visitNode(e.where)),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.returning&&(this.append(" "),this.visitNode(e.returning)),o&&!D.is(r)&&this.append(")"),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitColumnUpdate(e){this.visitNode(e.column),this.append(" = "),this.visitNode(e.value)}visitLimit(e){this.append("limit "),this.visitNode(e.limit)}visitOffset(e){this.append("offset "),this.visitNode(e.offset)}visitOnConflict(e){this.append("on conflict"),e.columns?(this.append(" ("),this.compileList(e.columns),this.append(")")):e.constraint?(this.append(" on constraint "),this.visitNode(e.constraint)):e.indexExpression&&(this.append(" ("),this.visitNode(e.indexExpression),this.append(")")),e.indexWhere&&(this.append(" "),this.visitNode(e.indexWhere)),e.doNothing===!0?this.append(" do nothing"):e.updates&&(this.append(" do update set "),this.compileList(e.updates),e.updateWhere&&(this.append(" "),this.visitNode(e.updateWhere)))}visitOnDuplicateKey(e){this.append("on duplicate key update "),this.compileList(e.updates)}visitCreateIndex(e){this.append("create "),e.unique&&this.append("unique "),this.append("index "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.name),e.table&&(this.append(" on "),this.visitNode(e.table)),e.using&&(this.append(" using "),this.visitNode(e.using)),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.nullsNotDistinct&&this.append(" nulls not distinct"),e.where&&(this.append(" "),this.visitNode(e.where))}visitDropIndex(e){this.append("drop index "),e.ifExists&&this.append("if exists "),this.visitNode(e.name),e.table&&(this.append(" on "),this.visitNode(e.table)),e.cascade&&this.append(" cascade")}visitCreateSchema(e){this.append("create schema "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.schema)}visitDropSchema(e){this.append("drop schema "),e.ifExists&&this.append("if exists "),this.visitNode(e.schema),e.cascade&&this.append(" cascade")}visitPrimaryKeyConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("primary key ("),this.compileList(e.columns),this.append(")"),this.buildDeferrable(e)}buildDeferrable(e){e.deferrable!==void 0&&(e.deferrable?this.append(" deferrable"):this.append(" not deferrable")),e.initiallyDeferred!==void 0&&(e.initiallyDeferred?this.append(" initially deferred"):this.append(" initially immediate"))}visitUniqueConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("unique"),e.nullsNotDistinct&&this.append(" nulls not distinct"),this.append(" ("),this.compileList(e.columns),this.append(")"),this.buildDeferrable(e)}visitCheckConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("check ("),this.visitNode(e.expression),this.append(")")}visitForeignKeyConstraint(e){e.name&&(this.append("constraint "),this.visitNode(e.name),this.append(" ")),this.append("foreign key ("),this.compileList(e.columns),this.append(") "),this.visitNode(e.references),e.onDelete&&(this.append(" on delete "),this.append(e.onDelete)),e.onUpdate&&(this.append(" on update "),this.append(e.onUpdate)),this.buildDeferrable(e)}visitList(e){this.compileList(e.items)}visitWith(e){this.append("with "),e.recursive&&this.append("recursive "),this.compileList(e.expressions)}visitCommonTableExpression(e){this.visitNode(e.name),this.append(" as "),Ve(e.materialized)&&(e.materialized||this.append("not "),this.append("materialized ")),this.visitNode(e.expression)}visitCommonTableExpressionName(e){this.visitNode(e.table),e.columns&&(this.append("("),this.compileList(e.columns),this.append(")"))}visitAlterTable(e){this.append("alter table "),this.visitNode(e.table),this.append(" "),e.renameTo&&(this.append("rename to "),this.visitNode(e.renameTo)),e.setSchema&&(this.append("set schema "),this.visitNode(e.setSchema)),e.addConstraint&&this.visitNode(e.addConstraint),e.dropConstraint&&this.visitNode(e.dropConstraint),e.renameConstraint&&this.visitNode(e.renameConstraint),e.columnAlterations&&this.compileColumnAlterations(e.columnAlterations),e.addIndex&&this.visitNode(e.addIndex),e.dropIndex&&this.visitNode(e.dropIndex)}visitAddColumn(e){this.append("add column "),this.visitNode(e.column)}visitRenameColumn(e){this.append("rename column "),this.visitNode(e.column),this.append(" to "),this.visitNode(e.renameTo)}visitDropColumn(e){this.append("drop column "),this.visitNode(e.column)}visitAlterColumn(e){this.append("alter column "),this.visitNode(e.column),this.append(" "),e.dataType&&(this.announcesNewColumnDataType()&&this.append("type "),this.visitNode(e.dataType),e.dataTypeExpression&&(this.append("using "),this.visitNode(e.dataTypeExpression))),e.setDefault&&(this.append("set default "),this.visitNode(e.setDefault)),e.dropDefault&&this.append("drop default"),e.setNotNull&&this.append("set not null"),e.dropNotNull&&this.append("drop not null")}visitModifyColumn(e){this.append("modify column "),this.visitNode(e.column)}visitAddConstraint(e){this.append("add "),this.visitNode(e.constraint)}visitDropConstraint(e){this.append("drop constraint "),e.ifExists&&this.append("if exists "),this.visitNode(e.constraintName),e.modifier==="cascade"?this.append(" cascade"):e.modifier==="restrict"&&this.append(" restrict")}visitRenameConstraint(e){this.append("rename constraint "),this.visitNode(e.oldName),this.append(" to "),this.visitNode(e.newName)}visitSetOperation(e){this.append(e.operator),this.append(" "),e.all&&this.append("all "),this.visitNode(e.expression)}visitCreateView(e){this.append("create "),e.orReplace&&this.append("or replace "),e.materialized&&this.append("materialized "),e.temporary&&this.append("temporary "),this.append("view "),e.ifNotExists&&this.append("if not exists "),this.visitNode(e.name),this.append(" "),e.columns&&(this.append("("),this.compileList(e.columns),this.append(") ")),e.as&&(this.append("as "),this.visitNode(e.as))}visitRefreshMaterializedView(e){this.append("refresh materialized view "),e.concurrently&&this.append("concurrently "),this.visitNode(e.name),e.withNoData?this.append(" with no data"):this.append(" with data")}visitDropView(e){this.append("drop "),e.materialized&&this.append("materialized "),this.append("view "),e.ifExists&&this.append("if exists "),this.visitNode(e.name),e.cascade&&this.append(" cascade")}visitGenerated(e){this.append("generated "),e.always&&this.append("always "),e.byDefault&&this.append("by default "),this.append("as "),e.identity&&this.append("identity"),e.expression&&(this.append("("),this.visitNode(e.expression),this.append(")")),e.stored&&this.append(" stored")}visitDefaultValue(e){this.append("default "),this.visitNode(e.defaultValue)}visitSelectModifier(e){e.rawModifier?this.visitNode(e.rawModifier):this.append(Hn[e.modifier]),e.of&&(this.append(" of "),this.compileList(e.of,", "))}visitCreateType(e){this.append("create type "),this.visitNode(e.name),e.enum&&(this.append(" as enum "),this.visitNode(e.enum))}visitDropType(e){this.append("drop type "),e.ifExists&&this.append("if exists "),this.visitNode(e.name)}visitExplain(e){this.append("explain"),(e.options||e.format)&&(this.append(" "),this.append(this.getLeftExplainOptionsWrapper()),e.options&&(this.visitNode(e.options),e.format&&this.append(this.getExplainOptionsDelimiter())),e.format&&(this.append("format"),this.append(this.getExplainOptionAssignment()),this.append(e.format)),this.append(this.getRightExplainOptionsWrapper()))}visitDefaultInsertValue(e){this.append("default")}visitAggregateFunction(e){this.append(e.func),this.append("("),e.distinct&&this.append("distinct "),this.compileList(e.aggregated),e.orderBy&&(this.append(" "),this.visitNode(e.orderBy)),this.append(")"),e.withinGroup&&(this.append(" within group ("),this.visitNode(e.withinGroup),this.append(")")),e.filter&&(this.append(" filter("),this.visitNode(e.filter),this.append(")")),e.over&&(this.append(" "),this.visitNode(e.over))}visitOver(e){this.append("over("),e.partitionBy&&(this.visitNode(e.partitionBy),e.orderBy&&this.append(" ")),e.orderBy&&this.visitNode(e.orderBy),this.append(")")}visitPartitionBy(e){this.append("partition by "),this.compileList(e.items)}visitPartitionByItem(e){this.visitNode(e.partitionBy)}visitBinaryOperation(e){this.visitNode(e.leftOperand),this.append(" "),this.visitNode(e.operator),this.append(" "),this.visitNode(e.rightOperand)}visitUnaryOperation(e){this.visitNode(e.operator),this.isMinusOperator(e.operator)||this.append(" "),this.visitNode(e.operand)}isMinusOperator(e){return X.is(e)&&e.operator==="-"}visitUsing(e){this.append("using "),this.compileList(e.tables)}visitFunction(e){this.append(e.func),this.append("("),this.compileList(e.arguments),this.append(")")}visitCase(e){this.append("case"),e.value&&(this.append(" "),this.visitNode(e.value)),e.when&&(this.append(" "),this.compileList(e.when," ")),e.else&&(this.append(" else "),this.visitNode(e.else)),this.append(" end"),e.isStatement&&this.append(" case")}visitWhen(e){this.append("when "),this.visitNode(e.condition),e.result&&(this.append(" then "),this.visitNode(e.result))}visitJSONReference(e){this.visitNode(e.reference),this.visitNode(e.traversal)}visitJSONPath(e){e.inOperator&&this.visitNode(e.inOperator),this.append("'$");for(let r of e.pathLegs)this.visitNode(r);this.append("'")}visitJSONPathLeg(e){let r=e.type==="ArrayLocation";this.append(r?"[":"."),this.append(String(e.value)),r&&this.append("]")}visitJSONOperatorChain(e){for(let r=0,o=e.values.length;r<o;r++)r===o-1?this.visitNode(e.operator):this.append("->"),this.visitNode(e.values[r])}visitMergeQuery(e){e.with&&(this.visitNode(e.with),this.append(" ")),this.append("merge "),e.top&&(this.visitNode(e.top),this.append(" ")),this.append("into "),this.visitNode(e.into),e.using&&(this.append(" "),this.visitNode(e.using)),e.whens&&(this.append(" "),this.compileList(e.whens," ")),e.returning&&(this.append(" "),this.visitNode(e.returning)),e.output&&(this.append(" "),this.visitNode(e.output)),e.endModifiers?.length&&(this.append(" "),this.compileList(e.endModifiers," "))}visitMatched(e){e.not&&this.append("not "),this.append("matched"),e.bySource&&this.append(" by source")}visitAddIndex(e){this.append("add "),e.unique&&this.append("unique "),this.append("index "),this.visitNode(e.name),e.columns&&(this.append(" ("),this.compileList(e.columns),this.append(")")),e.using&&(this.append(" using "),this.visitNode(e.using))}visitCast(e){this.append("cast("),this.visitNode(e.expression),this.append(" as "),this.visitNode(e.dataType),this.append(")")}visitFetch(e){this.append("fetch next "),this.visitNode(e.rowCount),this.append(` rows ${e.modifier}`)}visitOutput(e){this.append("output "),this.compileList(e.selections)}visitTop(e){this.append(`top(${e.expression})`),e.modifiers&&this.append(` ${e.modifiers}`)}visitOrAction(e){this.append(e.action)}visitCollate(e){this.append("collate "),this.visitNode(e.collation)}append(e){this.#e+=e}appendValue(e){this.addParameter(e),this.append(this.getCurrentParameterPlaceholder())}getLeftIdentifierWrapper(){return'"'}getRightIdentifierWrapper(){return'"'}getCurrentParameterPlaceholder(){return"$"+this.numParameters}getLeftExplainOptionsWrapper(){return"("}getExplainOptionAssignment(){return" "}getExplainOptionsDelimiter(){return", "}getRightExplainOptionsWrapper(){return")"}sanitizeIdentifier(e){let r=this.getLeftIdentifierWrapper(),o=this.getRightIdentifierWrapper(),n="";for(let a of e)n+=a,a===r?n+=r:a===o&&(n+=o);return n}sanitizeStringLiteral(e){return e.replace(jn,"''")}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(v(e))this.appendStringLiteral(e);else if(Ee(e)||Ve(e))this.append(e.toString());else if(Xe(e))this.append("null");else if(io(e))this.appendImmediateValue(e.toISOString());else if(Ze(e))this.appendImmediateValue(e.toString());else throw new Error(`invalid immediate value ${e}`)}appendStringLiteral(e){this.append("'"),this.append(this.sanitizeStringLiteral(e)),this.append("'")}sortSelectModifiers(e){return e.sort((r,o)=>r.modifier&&o.modifier?Zo[r.modifier]-Zo[o.modifier]:1),i(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},Hn=i({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),Zo=i({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),Yn=i({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",CrossJoin:"cross join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",LateralCrossJoin:"cross join lateral",OuterApply:"outer apply",CrossApply:"cross apply",Using:"using"});var Xr=class{async init(){}async acquireConnection(){return new Zi}async beginTransaction(){}async commitTransaction(){}async rollbackTransaction(){}async releaseConnection(){}async destroy(){}async releaseSavepoint(){}async rollbackToSavepoint(){}async savepoint(){}},Zi=class{async executeQuery(){return{rows:[]}}async*streamQuery(){}};var Zr=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}};var Xn=/"/g,_r=class extends Yr{sanitizeIdentifier(e){return e.replace(Xn,'""')}};var Zn=BigInt("3853314791062309107"),ei=class extends Zr{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,r){await J`select pg_advisory_xact_lock(${J.lit(Zn)})`.execute(e)}async releaseMigrationLock(e,r){}};function _o(t){return new kt({dialect:{createAdapter:()=>new t.Adapter,createDriver:()=>new Xr,createIntrospector:()=>null,createQueryCompiler:()=>new t.QueryCompiler},plugins:[...t.noParameters?[new _i]:[]]})}var _i=class{#e=new eo;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}},eo=class extends Le{transformPrimitiveValueList(e){return le.create(e.values.map(k.createImmediate))}transformValue(e){return{...super.transformValue(e),immediate:!0}}};function Me(t){let e=t.compile();return{parameters:e.parameters,sql:e.sql}}function to(t,e){let r=es(t,e);return o=>o.where(n=>n.or(r.map(a=>n.and(a.map(([d,c])=>n(d,c===null?"is":"=",c))))))}function _n(t,e){return Object.entries(Object.values(e).reduce((r,o)=>{let{isInPrimaryKey:n,name:a}=o;return n&&(r[a]=t[a]??null),r},{}))}function es(t,e){return t.map(r=>_n(r,e))}function ze(t){return _o({...t,Adapter:ei,QueryCompiler:_r})}function en(t,e){let{table:r,rows:o}=t,{name:n,schema:a,columns:d}=r,c=ze(e),y=Object.keys(d),l={[y[0]]:J`default`};return Me(c.withSchema(a).insertInto(n).values(o.map(A=>Object.keys(A).length===0?l:A)).returning(y).returning(A=>A.cast("ctid","text").as("ctid")))}function tn(t,e){let{pageIndex:r,pageSize:o,sortOrder:n,table:{name:a,schema:d,columns:c},filters:y={kind:"ColumnFilters",after:"and",filters:[]}}=t,l=ze(e),A=Object.keys(c),$=l.withSchema(d).selectFrom(a).select(j=>j.cast(j.fn.coalesce(j.fn.countAll(),J.lit(0)),"text").as("oid"));return Me(l.with("count",()=>$).withSchema(d).selectFrom([a,"count"]).select(J.ref("count.oid").$castTo().as("oid")).select(j=>j.cast("ctid","text").as("ctid")).select(A).$call(j=>n.reduce((z,he)=>z.orderBy(he.column,he.direction),j)).where(rn(y.filters)).limit(o).offset(J.lit(BigInt(r)*BigInt(o))))}function ts(t){return t.kind==="ColumnFilter"?e=>e(e.ref(t.column),t.operator,t.value):rn(t.filters)}function rn(t){if(t.length===0)return o=>o.lit(!0);let e=[],r=[];for(let o=0;o<t.length;o++)r.push(ts(t[o])),(o===t.length-1||t[o].after==="or")&&(e.push(r),r=[]);return o=>{let n=e.map(a=>o.and(a.map(d=>d(o))));return o.or(n)}}function on(t,e){let{changes:r,row:o,table:{columns:n,name:a,schema:d}}=t,c=ze(e),y=Object.keys(n);return Me(c.withSchema(d).updateTable(a).set(r).$call(to([o],n)).returning(y).returning(l=>[l.cast("ctid","text").as("ctid"),l.cast(l.fn("floor",[l(l.fn("extract",[J`epoch from now()`]),"*",1e6)]),"text").as("__ps_updated_at__")]))}function nn(t,e){let{rows:r,table:{columns:o,name:n,schema:a}}=t,d=ze(e);return Me(d.withSchema(a).deleteFrom(n).$call(to(r,o)))}function sn(t){return J`(select coalesce(json_agg(agg), '[]') from ${t} as agg)`}var rs="r",is="v",os=[rs,is];function an(t){return Me(ze(t).selectFrom("pg_catalog.pg_class as cls").innerJoin("pg_catalog.pg_namespace as ns","cls.relnamespace","ns.oid").$call(ns).where("cls.relkind","in",os).select(e=>["ns.nspname as schema","cls.relname as name",sn(e.selectFrom("pg_catalog.pg_attribute as att").innerJoin("pg_catalog.pg_type as typ","typ.oid","att.atttypid").innerJoin("pg_catalog.pg_namespace as tns","tns.oid","typ.typnamespace").leftJoin("pg_catalog.pg_constraint as con",r=>r.on("con.contype","=","p").onRef("con.conrelid","=","cls.oid").on(o=>o("att.attnum","=",o.fn.any("con.conkey")))).whereRef("att.attrelid","=","cls.oid").where("att.attnum",">=",0).where("att.attisdropped","!=",!0).select(["att.attname as name","typ.typname as datatype","tns.nspname as datatype_schema"]).select(r=>[r("con.conkey","is not",null).$castTo().as("pk"),r("att.attgenerated","!=","").$castTo().as("computed"),r("att.attnotnull","!=",!0).$castTo().as("nullable"),r.fn.coalesce(r.selectFrom("pg_catalog.pg_enum as enm").whereRef("enm.enumtypid","=","typ.oid").select(o=>o.fn.jsonAgg(o.ref("enm.enumlabel")).as("o")),J`'[]'`).as("options")])).as("columns")]))}function un(){let t=ze();return Me(t.selectNoFrom(t.fn("current_setting",[J.lit("timezone")]).as("timezone")))}function ns(t){return t.where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema")}function dn(t){let{executor:e,...r}=t;return{defaultSchema:"public",async introspect(o){try{let n=an(r),a=un(),[[d,c],[y,l]]=await Promise.all([e.execute(n,o),e.execute(a,o)]),A=d||y;if(A)return[A];let[$]=l;return $?[null,ss(c,$.timezone)]:[new Error("Timezone not found")]}catch(n){return[n]}},async query(o,n){try{let a=tn(o,r),[d,c]=await e.execute(a,n);return d?[d]:[null,{filteredRowCount:c[0]?.oid||"0",rows:c}]}catch(a){return[a]}},async insert(o,n){try{let a=en(o,r),[d,c]=await e.execute(a,n);return d?[d]:[null,{rows:c}]}catch(a){return[a]}},async update(o,n){try{let a=on(o,r),[d,c]=await e.execute(a,n);if(d)return[d];let[y]=c;return y?[null,{row:y}]:[new Error("Update failed")]}catch(a){return[a]}},async delete(o,n){try{let a=nn(o,r),[d]=await e.execute(a,n);return d?[d]:[null,o]}catch(a){return[a]}}}}function ss(t,e){return t.reduce((r,o)=>{let{schemas:n}=r,{columns:a,name:d,schema:c}=o,y=a.reduce((l,A)=>{let{datatype:$,datatype_schema:j,name:z,options:he,nullable:ti}=A,Et=$.startsWith("_"),At=Et?$.slice(1):$;return{...l,[z]:{datatype:{...ro[At]||{group:he.length>0?"enum":"raw"},isArray:Et,isNative:j==="pg_catalog",name:Et?`${At}[]`:At,options:he,schema:j},isComputed:A.computed,isInPrimaryKey:A.pk,name:z,nullable:ti,schema:c,table:d}}},{});return(n[c]||={tables:{}}).tables[d]={columns:y,name:d,schema:c},r},{schemas:{public:{tables:{}}},timezone:e,filterOperators:as})}var as=["=","!=",">",">=","<","<=","in","not in","is","is not","like","not like","ilike","not ilike"];function pn(t,e){let{addDelay:r=0,logging:o=!1}=e??{};return{execute:async(n,a)=>{let{abortSignal:d}=a||{},c,y=new Promise((z,he)=>c=he);function l(){let z=new Error("This operation was aborted");z.name="AbortError",c(z)}d?.addEventListener("abort",l);let A=typeof r=="function"?r(n):r,$=()=>t.query(n.sql,n.parameters,{rowMode:"object"}),j=A>0?()=>new Promise(z=>setTimeout(z,A)).then(()=>$()):$;try{let z=typeof o=="function"?o(n):o,he;z&&console.log("PGLiteExecutor: Executing query:",he=JSON.stringify(n,null,2));let ti=Date.now(),Et=await Promise.race([j(),y]),At=Date.now()-ti;return z&&console.log("PGLiteExecutor: Query executed in",At,"ms:",he),[null,Et.rows]}catch(z){return[z]}finally{d?.removeEventListener("abort",l)}}}}function us(t,e){return dn({executor:pn(t,e)})}0&&(module.exports={createPGLiteAdapter,createPGLiteExecutor});
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { PGlite } from '@electric-sql/pglite';
|
|
2
|
-
import { A as Adapter } from '../../adapter-CH4qnR6R.cjs';
|
|
3
|
-
import { Q as Query, E as Executor } from '../../index-DAubYhEp.cjs';
|
|
4
|
-
import 'kysely';
|
|
5
|
-
|
|
6
|
-
interface PGLiteExecutorOptions {
|
|
7
|
-
/**
|
|
8
|
-
* Delay in milliseconds to add before executing the query.
|
|
9
|
-
* This can be a static number or a function that takes the query as an argument and returns a number.
|
|
10
|
-
*
|
|
11
|
-
* This is useful for simulating network latency or for debugging purposes.
|
|
12
|
-
*/
|
|
13
|
-
addDelay?: number | ((query: Query) => number);
|
|
14
|
-
/**
|
|
15
|
-
* Whether to log the query and its parameters.
|
|
16
|
-
*
|
|
17
|
-
* Defaults to `false`.
|
|
18
|
-
*/
|
|
19
|
-
logging?: boolean | ((query: Query) => boolean);
|
|
20
|
-
}
|
|
21
|
-
declare function createPGLiteExecutor(pglite: PGlite, options?: PGLiteExecutorOptions): Executor;
|
|
22
|
-
interface PGLiteAdapterOptions extends PGLiteExecutorOptions {
|
|
23
|
-
}
|
|
24
|
-
declare function createPGLiteAdapter(pglite: PGlite, options?: PGLiteAdapterOptions): Adapter;
|
|
25
|
-
|
|
26
|
-
export { type PGLiteAdapterOptions, type PGLiteExecutorOptions, createPGLiteAdapter, createPGLiteExecutor };
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { PGlite } from '@electric-sql/pglite';
|
|
2
|
-
import { A as Adapter } from '../../adapter-CH4qnR6R.js';
|
|
3
|
-
import { Q as Query, E as Executor } from '../../index-BTblIzxR.js';
|
|
4
|
-
import 'kysely';
|
|
5
|
-
|
|
6
|
-
interface PGLiteExecutorOptions {
|
|
7
|
-
/**
|
|
8
|
-
* Delay in milliseconds to add before executing the query.
|
|
9
|
-
* This can be a static number or a function that takes the query as an argument and returns a number.
|
|
10
|
-
*
|
|
11
|
-
* This is useful for simulating network latency or for debugging purposes.
|
|
12
|
-
*/
|
|
13
|
-
addDelay?: number | ((query: Query) => number);
|
|
14
|
-
/**
|
|
15
|
-
* Whether to log the query and its parameters.
|
|
16
|
-
*
|
|
17
|
-
* Defaults to `false`.
|
|
18
|
-
*/
|
|
19
|
-
logging?: boolean | ((query: Query) => boolean);
|
|
20
|
-
}
|
|
21
|
-
declare function createPGLiteExecutor(pglite: PGlite, options?: PGLiteExecutorOptions): Executor;
|
|
22
|
-
interface PGLiteAdapterOptions extends PGLiteExecutorOptions {
|
|
23
|
-
}
|
|
24
|
-
declare function createPGLiteAdapter(pglite: PGlite, options?: PGLiteAdapterOptions): Adapter;
|
|
25
|
-
|
|
26
|
-
export { type PGLiteAdapterOptions, type PGLiteExecutorOptions, createPGLiteAdapter, createPGLiteExecutor };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{j as d}from"../../chunk-555OIWZX.js";import"../../chunk-P72NBTYE.js";import"../../chunk-BMVJYUJW.js";function b(o,n){let{addDelay:i=0,logging:a=!1}=n??{};return{execute:async(t,m)=>{let{abortSignal:s}=m||{},c,y=new Promise((e,r)=>c=r);function u(){let e=new Error("This operation was aborted");e.name="AbortError",c(e)}s?.addEventListener("abort",u);let l=typeof i=="function"?i(t):i,p=()=>o.query(t.sql,t.parameters,{rowMode:"object"}),P=l>0?()=>new Promise(e=>setTimeout(e,l)).then(()=>p()):p;try{let e=typeof a=="function"?a(t):a,r;e&&console.log("PGLiteExecutor: Executing query:",r=JSON.stringify(t,null,2));let f=Date.now(),x=await Promise.race([P(),y]),g=Date.now()-f;return e&&console.log("PGLiteExecutor: Query executed in",g,"ms:",r),[null,x.rows]}catch(e){return[e]}finally{s?.removeEventListener("abort",u)}}}}function G(o,n){return d({executor:b(o,n)})}export{G as createPGLiteAdapter,b as createPGLiteExecutor};
|