@prisma/studio-core 0.0.0-dev.202505080031 → 0.0.0-dev.202505080306

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.
@@ -49,6 +49,7 @@ type SchemaName = string;
49
49
  interface Introspection {
50
50
  schemas: Record<SchemaName, Schema>;
51
51
  timezone: string;
52
+ filterOperators: FilterOperator[];
52
53
  }
53
54
  type TableName = string;
54
55
  interface Schema {
@@ -117,6 +118,22 @@ interface AdapterQueryDetails {
117
118
  * The table to select from.
118
119
  */
119
120
  table: Table;
121
+ /**
122
+ * The filters to be applied.
123
+ */
124
+ filters?: ColumnFilterGroup;
125
+ }
126
+ type FilterOperator = "=" | "!=" | ">" | ">=" | "<" | "<=" | "in" | "not in" | "is" | "is not" | "like" | "not like" | "ilike" | "not ilike" | "match";
127
+ interface ColumnFilter {
128
+ kind: "ColumnFilter";
129
+ column: ColumnName;
130
+ operator: FilterOperator;
131
+ value: unknown;
132
+ }
133
+ interface ColumnFilterGroup {
134
+ kind: "ColumnFilters";
135
+ and?: (ColumnFilter | ColumnFilterGroup)[];
136
+ or?: (ColumnFilter | ColumnFilterGroup)[];
120
137
  }
121
138
  interface SortOrderItem {
122
139
  /**
@@ -198,4 +215,4 @@ interface AdapterDeleteResult {
198
215
  rows: Record<ColumnName, unknown>[];
199
216
  }
200
217
 
201
- export type { Adapter as A, BigIntString as B, Column as C, DataType as D, Either as E, Introspection as I, NumericString as N, Schema as S, Table as T, AdapterInsertDetails as a, AdapterQueryDetails as b, AdapterUpdateDetails as c, AdapterDeleteDetails as d, AdapterBaseOptions as e, AdapterIntrospectOptions as f, AdapterQueryOptions as g, AdapterInsertOptions as h, AdapterUpdateOptions as i, AdapterDeleteOptions as j, DataTypeGroup as k, SortOrderItem as l, SortDirection as m, AdapterQueryResult as n, AdapterInsertResult as o, AdapterUpdateResult as p, AdapterDeleteResult as q };
218
+ export type { Adapter as A, BigIntString as B, Column as C, DataType as D, Either as E, FilterOperator as F, Introspection as I, NumericString as N, Schema as S, Table as T, AdapterInsertDetails as a, AdapterQueryDetails as b, AdapterUpdateDetails as c, AdapterDeleteDetails as d, AdapterBaseOptions as e, AdapterIntrospectOptions as f, AdapterQueryOptions as g, AdapterInsertOptions as h, AdapterUpdateOptions as i, AdapterDeleteOptions as j, DataTypeGroup as k, ColumnFilter as l, ColumnFilterGroup as m, SortOrderItem as n, SortDirection as o, AdapterQueryResult as p, AdapterInsertResult as q, AdapterUpdateResult as r, AdapterDeleteResult as s };
@@ -49,6 +49,7 @@ type SchemaName = string;
49
49
  interface Introspection {
50
50
  schemas: Record<SchemaName, Schema>;
51
51
  timezone: string;
52
+ filterOperators: FilterOperator[];
52
53
  }
53
54
  type TableName = string;
54
55
  interface Schema {
@@ -117,6 +118,22 @@ interface AdapterQueryDetails {
117
118
  * The table to select from.
118
119
  */
119
120
  table: Table;
121
+ /**
122
+ * The filters to be applied.
123
+ */
124
+ filters?: ColumnFilterGroup;
125
+ }
126
+ type FilterOperator = "=" | "!=" | ">" | ">=" | "<" | "<=" | "in" | "not in" | "is" | "is not" | "like" | "not like" | "ilike" | "not ilike" | "match";
127
+ interface ColumnFilter {
128
+ kind: "ColumnFilter";
129
+ column: ColumnName;
130
+ operator: FilterOperator;
131
+ value: unknown;
132
+ }
133
+ interface ColumnFilterGroup {
134
+ kind: "ColumnFilters";
135
+ and?: (ColumnFilter | ColumnFilterGroup)[];
136
+ or?: (ColumnFilter | ColumnFilterGroup)[];
120
137
  }
121
138
  interface SortOrderItem {
122
139
  /**
@@ -198,4 +215,4 @@ interface AdapterDeleteResult {
198
215
  rows: Record<ColumnName, unknown>[];
199
216
  }
200
217
 
201
- export type { Adapter as A, BigIntString as B, Column as C, DataType as D, Either as E, Introspection as I, NumericString as N, Schema as S, Table as T, AdapterInsertDetails as a, AdapterQueryDetails as b, AdapterUpdateDetails as c, AdapterDeleteDetails as d, AdapterBaseOptions as e, AdapterIntrospectOptions as f, AdapterQueryOptions as g, AdapterInsertOptions as h, AdapterUpdateOptions as i, AdapterDeleteOptions as j, DataTypeGroup as k, SortOrderItem as l, SortDirection as m, AdapterQueryResult as n, AdapterInsertResult as o, AdapterUpdateResult as p, AdapterDeleteResult as q };
218
+ export type { Adapter as A, BigIntString as B, Column as C, DataType as D, Either as E, FilterOperator as F, Introspection as I, NumericString as N, Schema as S, Table as T, AdapterInsertDetails as a, AdapterQueryDetails as b, AdapterUpdateDetails as c, AdapterDeleteDetails as d, AdapterBaseOptions as e, AdapterIntrospectOptions as f, AdapterQueryOptions as g, AdapterInsertOptions as h, AdapterUpdateOptions as i, AdapterDeleteOptions as j, DataTypeGroup as k, ColumnFilter as l, ColumnFilterGroup as m, SortOrderItem as n, SortDirection as o, AdapterQueryResult as p, AdapterInsertResult as q, AdapterUpdateResult as r, AdapterDeleteResult as s };
@@ -0,0 +1 @@
1
+ import{a as A,b as p,c as k,d as Q,e as R,f as g,g as w}from"./chunk-T5XG6BXQ.js";var D={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 y(o){return R({...o,Adapter:Q,QueryCompiler:k})}function E(o,s){let{table:n,rows:r}=o,{name:a,schema:e,columns:t}=n,i=y(s),c=Object.keys(t),u={[c[0]]:p`default`};return g(i.withSchema(e).insertInto(a).values(r.map(l=>Object.keys(l).length===0?u:l)).returning(c).returning(l=>l.cast("ctid","text").as("ctid")))}function S(o,s){let{pageIndex:n,pageSize:r,sortOrder:a,table:{name:e,schema:t,columns:i},filters:c={kind:"ColumnFilters"}}=o,u=y(s),l=Object.keys(i),d=u.withSchema(t).selectFrom(e).select(m=>m.cast(m.fn.coalesce(m.fn.countAll(),p.lit(0)),"text").as("oid"));return g(u.with("count",()=>d).withSchema(t).selectFrom([e,"count"]).select(p.ref("count.oid").$castTo().as("oid")).select(m=>m.cast("ctid","text").as("ctid")).select(l).$call(m=>a.reduce((_,b)=>_.orderBy(b.column,b.direction),m)).where(x(c)).limit(r).offset(p.lit(BigInt(n)*BigInt(r))))}function x(o,s){let n=A(),{and:r,or:a}=o;if(r!==void 0){let e=n.and(s??1);for(let t of r){if(t.kind==="ColumnFilter"){let{column:i,operator:c,value:u}=t;e=e.and(p.ref(i),c,u)}t.kind==="ColumnFilters"&&(e=e.and(x(t)))}return e}if(a!==void 0){let e=n.or(s??0);for(let t of a){if(t.kind==="ColumnFilter"){let{column:i,operator:c,value:u}=t;e=e.or(p.ref(i),c,u)}t.kind==="ColumnFilters"&&(e=e.or(x(t)))}return e}return n.and(1)}function ne(){return[{created_at:new Date("2025-01-26T21:56:12.345Z"),ctid:"(0,1)",deleted_at:null,id:1,name:"John Doe",oid:"2",role:"admin"},{created_at:new Date("2025-01-26T20:56:12.345Z"),ctid:"(0,2)",deleted_at:null,id:2,name:"Jane Doe",oid:"2",role:"poweruser"}]}function B(o,s){let{changes:n,row:r,table:{columns:a,name:e,schema:t}}=o,i=y(s),c=Object.keys(a);return g(i.withSchema(t).updateTable(e).set(n).$call(w([r],a)).returning(c).returning(u=>[u.cast("ctid","text").as("ctid"),u.cast(u.fn("floor",[u(u.fn("extract",[p`epoch from now()`]),"*",1e6)]),"text").as("__ps_updated_at__")]))}function I(o,s){let{rows:n,table:{columns:r,name:a,schema:e}}=o,t=y(s);return g(t.withSchema(e).deleteFrom(a).$call(w(n,r)))}function q(o){return p`(select coalesce(json_agg(agg), '[]') from ${o} as agg)`}var v="r",$="v",N=[v,$];function z(o){return g(y(o).selectFrom("pg_catalog.pg_class as cls").innerJoin("pg_catalog.pg_namespace as ns","cls.relnamespace","ns.oid").$call(K).where("cls.relkind","in",N).select(s=>["ns.nspname as schema","cls.relname as name",q(s.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",n=>n.on("con.contype","=","p").onRef("con.conrelid","=","cls.oid").on(r=>r("att.attnum","=",r.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(n=>[n("con.conkey","is not",null).$castTo().as("pk"),n("att.attgenerated","!=","").$castTo().as("computed"),n("att.attnotnull","!=",!0).$castTo().as("nullable"),n.fn.coalesce(n.selectFrom("pg_catalog.pg_enum as enm").whereRef("enm.enumtypid","=","typ.oid").select(r=>r.fn.jsonAgg(r.ref("enm.enumlabel")).as("o")),p`'[]'`).as("options")])).as("columns")]))}function O(){return[{schema:"public",name:"users",columns:[{name:"id",datatype:"bigint",datatype_schema:"public",pk:!0,computed:!1,options:[],nullable:!0},{name:"name",datatype:"varchar",datatype_schema:"public",pk:!1,computed:!1,options:[],nullable:!0},{name:"role",datatype:"role",datatype_schema:"public",pk:!1,computed:!1,options:["admin","maintainer","member"],nullable:!0},{name:"created_at",datatype:"timestamptz",datatype_schema:"public",pk:!1,computed:!1,options:[],nullable:!0},{name:"deleted_at",datatype:"timestamptz",datatype_schema:"public",pk:!1,computed:!1,options:[],nullable:!0}]}]}function C(){let o=y();return g(o.selectNoFrom(o.fn("current_setting",[p.lit("timezone")]).as("timezone")))}function j(){return[{timezone:"UTC"}]}function K(o){return o.where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema")}function _e(o){let{executor:s,...n}=o;return{defaultSchema:"public",async introspect(r){try{let a=z(n),e=C(),[[t,i],[c,u]]=await Promise.all([s.execute(a,r),s.execute(e,r)]),l=t||c;if(l)return[l];let[d]=u;return d?[null,F(i,d.timezone)]:[new Error("Timezone not found")]}catch(a){return[a]}},async query(r,a){try{let e=S(r,n),[t,i]=await s.execute(e,a);return t?[t]:[null,{filteredRowCount:i[0]?.oid||"0",rows:i}]}catch(e){return[e]}},async insert(r,a){try{let e=E(r,n),[t,i]=await s.execute(e,a);return t?[t]:[null,{rows:i}]}catch(e){return[e]}},async update(r,a){try{let e=B(r,n),[t,i]=await s.execute(e,a);if(t)return[t];let[c]=i;return c?[null,{row:c}]:[new Error("Update failed")]}catch(e){return[e]}},async delete(r,a){try{let e=I(r,n),[t]=await s.execute(e,a);return t?[t]:[null,r]}catch(e){return[e]}}}}function F(o,s){return o.reduce((n,r)=>{let{schemas:a}=n,{columns:e,name:t,schema:i}=r,c=e.reduce((u,l)=>{let{datatype:d,datatype_schema:m,name:_,options:b,nullable:P}=l,h=d.startsWith("_"),T=h?d.slice(1):d;return{...u,[_]:{datatype:{...D[T]||{group:b.length>0?"enum":"raw"},isArray:h,isNative:m==="pg_catalog",name:h?`${T}[]`:T,options:b,schema:m},isComputed:l.computed,isInPrimaryKey:l.pk,name:_,nullable:P,schema:i,table:t}}},{});return(a[i]||={tables:{}}).tables[t]={columns:c,name:t,schema:i},n},{schemas:{public:{tables:{}}},timezone:s,filterOperators:L})}var L=["=","!=",">",">=","<","<=","in","not in","is","is not","like","not like","ilike","not ilike","match"];function he(){let o=O(),[{timezone:s}]=j();return F(o,s)}export{E as a,S as b,ne as c,B as d,I as e,z as f,O as g,C as h,j as i,_e as j,he as k};
@@ -0,0 +1 @@
1
+ function J(t){return typeof t>"u"||t===void 0}function g(t){return typeof t=="string"}function Ce(t){return typeof t=="number"}function De(t){return typeof t=="boolean"}function Ue(t){return t===null}function Ui(t){return t instanceof Date}function Je(t){return typeof t=="bigint"}function C(t){return typeof t=="function"}function R(t){return typeof t=="object"&&t!==null}function i(t){return Object.freeze(t)}function gt(t){return Q(t)?t:[t]}function Q(t){return Array.isArray(t)}function F(t){return t}var m=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 d=i({is(t){return t.kind==="IdentifierNode"},create(t){return i({kind:"IdentifierNode",name:t})}});var _=i({is(t){return t.kind==="CreateIndexNode"},create(t){return i({kind:"CreateIndexNode",name:d.create(t)})},cloneWith(t,e){return i({...t,...e})},cloneWithColumns(t,e){return i({...t,columns:[...t.columns||[],...e]})}});var Bt=i({is(t){return t.kind==="CreateSchemaNode"},create(t,e){return i({kind:"CreateSchemaNode",schema:d.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var Ji=["preserve rows","delete rows","drop"],P=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:d.create(t)})},createWithSchema(t,e){return i({kind:"SchemableIdentifierNode",schema:d.create(t),identifier:d.create(e)})}});var be=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 vt=i({is(t){return t.kind==="DropSchemaNode"},create(t,e){return i({kind:"DropSchemaNode",schema:d.create(t),...e})},cloneWith(t,e){return i({...t,...e})}});var Ct=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 k=i({is(t){return t.kind==="AliasNode"},create(t,e){return i({kind:"AliasNode",node:t,alias:e})}});var $=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 w(t){return R(t)&&C(t.toOperationNode)}function Lt(t){return R(t)&&"expressionType"in t&&w(t)}function $i(t){return R(t)&&"expression"in t&&g(t.alias)&&w(t)}var ae=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 z=i({is(t){return t.kind==="AndNode"},create(t,e){return i({kind:"AndNode",left:t,right:e})}});var ee=i({is(t){return t.kind==="OrNode"},create(t,e){return i({kind:"OrNode",left:t,right:e})}});var Qt=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"?z.create(t.on,r):ee.create(t.on,r)})}});var le=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:Qt.create(r)})},cloneWithOn(t,e){return i({...t,on:t.on?Qt.cloneWithOperation(t.on,"And",e):Qt.create(e)})}});var We=i({is(t){return t.kind==="BinaryOperationNode"},create(t,e,r){return i({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:r})}});var zo=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Uo=["+","-","*","/","%","^","&","|","#","<<",">>"],Ki=["->","->>"],Jo=[...zo,...Uo,"&&","||"],$o=["exists","not exists"],Ko=["not","-",...$o],Gi=[...Jo,...Ki,...Ko,"between","between symmetric"],K=i({is(t){return t.kind==="OperatorNode"},create(t){return i({kind:"OperatorNode",operator:t})}});function Jr(t){return g(t)&&Ki.includes(t)}var h=i({is(t){return t.kind==="ColumnNode"},create(t){return i({kind:"ColumnNode",column:d.create(t)})}});var $e=i({is(t){return t.kind==="SelectAllNode"},create(){return i({kind:"SelectAllNode"})}});var Ke=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 Pt=class{#e;get dynamicReference(){return this.#e}get refType(){}constructor(e){this.#e=e}toOperationNode(){return $r(this.#e)}};function Mt(t){return R(t)&&w(t)&&g(t.dynamicReference)}var te=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 v=i({is(t){return t.kind==="RawNode"},create(t,e){return i({kind:"RawNode",sqlFragments:i(t),parameters:i(e)})},createWithSql(t){return v.create([t],[])},createWithChild(t){return v.create(["",""],[t])},createWithChildren(t){return v.create(new Array(t.length+1).fill(""),t)}});var ji={is(t){return t.kind==="CollateNode"},create(t){return i({kind:"CollateNode",collation:d.create(t)})}};var Ft=class t{#e;constructor(e){this.#e=i(e)}desc(){return new t({node:te.cloneWith(this.#e.node,{direction:v.createWithSql("desc")})})}asc(){return new t({node:te.cloneWith(this.#e.node,{direction:v.createWithSql("asc")})})}nullsLast(){return new t({node:te.cloneWith(this.#e.node,{nulls:"last"})})}nullsFirst(){return new t({node:te.cloneWith(this.#e.node,{nulls:"first"})})}collate(e){return new t({node:te.cloneWith(this.#e.node,{collation:ji.create(e)})})}toOperationNode(){return this.#e.node}};var Hi=new Set;function Se(t){Hi.has(t)||(Hi.add(t),console.log(t))}function Gr(t){return t==="asc"||t==="desc"}function j(t){if(t.length===2)return[Kr(t[0],t[1])];if(t.length===1){let[e]=t;return Array.isArray(e)?(Se("orderBy(array) is deprecated, use multiple orderBy calls instead."),e.map(r=>Kr(r))):[Kr(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Kr(t,e){let r=Go(t);if(te.is(r)){if(e)throw new Error("Cannot specify direction twice!");return r}return Yi(r,e)}function Go(t){if(fe(t))return U(t);if(Mt(t))return t.toOperationNode();let[e,r]=t.split(" ");return r?(Se("`orderBy('column asc')` is deprecated. Use `orderBy('column', 'asc')` instead."),Yi(G(e),r)):G(t)}function Yi(t,e){if(typeof e=="string"){if(!Gr(e))throw new Error(`Invalid order by direction: ${e}`);return te.create(t,v.createWithSql(e))}if(Lt(e))return Se("`orderBy(..., expr)` is deprecated. Use `orderBy(..., 'asc')` or `orderBy(..., (ob) => ...)` instead."),te.create(t,e.toOperationNode());let r=te.create(t);return e?e(new Ft({node:r})).toOperationNode():r}var Ge=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 Vt=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 ke=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 $r(t){return g(t)?G(t):t.toOperationNode()}function Ne(t){return Q(t)?t.map(e=>q(e)):[q(t)]}function q(t){return fe(t)?U(t):$r(t)}function Xi(t,e){let r=G(t);if(Jr(e))return Ge.create(r,Vt.create(K.create(e)));let o=e.slice(0,-1);if(Jr(o))return Ge.create(r,ke.create(K.create(o)));throw new Error(`Invalid JSON operator: ${e}`)}function G(t){let e=".";if(!t.includes(e))return Ke.create(h.create(t));let r=t.split(e).map(Hr);if(r.length===3)return jo(r);if(r.length===2)return Ho(r);throw new Error(`invalid column reference ${t}`)}function Zi(t){let e=" as ";if(t.includes(e)){let[r,o]=t.split(e).map(Hr);return k.create(G(r),d.create(o))}else return G(t)}function jr(t){return h.create(t)}function je(t){let e=" ";if(t.includes(e)){let[r,o]=t.split(e).map(Hr);if(!Gr(o))throw new Error(`invalid order direction "${o}" next to "${r}"`);return j([r,o])[0]}else return jr(t)}function jo(t){let[e,r,o]=t;return Ke.create(h.create(o),$.createWithSchema(e,r))}function Ho(t){let[e,r]=t;return Ke.create(h.create(r),$.create(e))}function Hr(t){return t.trim()}var zt=i({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return i({kind:"PrimitiveValueListNode",values:i([...t])})}});var ue=i({is(t){return t.kind==="ValueListNode"},create(t){return i({kind:"ValueListNode",values:i(t)})}});var W=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 _i(t){return Q(t)?Yo(t):y(t)}function y(t){return fe(t)?U(t):W.create(t)}function Ut(t){return Ce(t)||De(t)||Ue(t)}function bt(t){if(!Ut(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return W.createImmediate(t)}function Yo(t){return t.some(fe)?ue.create(t.map(e=>y(e))):zt.create(t)}var de=i({is(t){return t.kind==="ParensNode"},create(t){return i({kind:"ParensNode",node:t})}});function x(t){if(t.length===3)return Jt(t[0],t[1],t[2]);if(t.length===1)return y(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function Jt(t,e,r){return Xo(e)&&to(r)?We.create(q(t),Yr(e),W.createImmediate(r)):We.create(q(t),Yr(e),_i(r))}function T(t,e,r){return We.create(q(t),Yr(e),q(r))}function Xr(t,e){return He(Object.entries(t).filter(([,r])=>!J(r)).map(([r,o])=>Jt(r,to(o)?"is":"=",o)),e)}function He(t,e,r=!0){let o=e==="and"?z.create:ee.create;if(t.length===0)return We.create(W.createImmediate(1),K.create("="),W.createImmediate(e==="and"?1:0));let s=eo(t[0]);for(let u=1;u<t.length;++u)s=o(s,eo(t[u]));return t.length>1&&r?de.create(s):s}function Xo(t){return t==="is"||t==="is not"}function to(t){return Ue(t)||De(t)}function Yr(t){if(g(t)&&Gi.includes(t))return K.create(t);if(w(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function eo(t){return w(t)?t.toOperationNode():t}var ye=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 Zr=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 Wt=i({is(t){return t.kind==="OverNode"},create(){return i({kind:"OverNode"})},cloneWithOrderByItems(t,e){return i({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithPartitionByItems(t,e){return i({...t,partitionBy:t.partitionBy?Zr.cloneWithItems(t.partitionBy,e):Zr.create(e)})}});var Be=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 _r=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 ei=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"?z.create(t.having,r):ee.create(t.having,r)})}});var b=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 $t=i({is(t){return t.kind==="ListNode"},create(t){return i({kind:"ListNode",items:i(t)})}});var pe=i({is(t){return t.kind==="UpdateQueryNode"},create(t,e){return i({kind:"UpdateQueryNode",table:t.length===1?t[0]:$t.create(t),...e&&{with:e}})},createWithoutTable(){return i({kind:"UpdateQueryNode"})},cloneWithFromItems(t,e){return i({...t,from:t.from?Be.cloneWithFroms(t.from,e):Be.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 ti=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 Te=i({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return i({kind:"DeleteQueryNode",from:Be.create(t),...e&&{with:e}})},cloneWithOrderByItems:(t,e)=>a.cloneWithOrderByItems(t,e),cloneWithoutOrderBy:t=>a.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?ti.cloneWithTables(t.using,e):ti.create(e)})}});var D=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"?z.create(t.where,r):ee.create(t.where,r)})}});var ri=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 ro=i({is(t){return t.kind==="ExplainNode"},create(t,e){return i({kind:"ExplainNode",format:t,options:e})}});var xe=i({is(t){return t.kind==="WhenNode"},create(t){return i({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return i({...t,result:e})}});var E=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),xe.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}});var ii=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 a=i({is(t){return N.is(t)||b.is(t)||pe.is(t)||Te.is(t)||E.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?D.cloneWithOperation(t.where,"And",e):D.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?ri.cloneWithSelections(t.returning,e):ri.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:ro.create(e,r?.toOperationNode())})},cloneWithTop(t,e){return i({...t,top:e})},cloneWithOutput(t,e){return i({...t,output:t.output?ii.cloneWithSelections(t.output,e):ii.create(e)})},cloneWithOrderByItems(t,e){return i({...t,orderBy:t.orderBy?ye.cloneWithItems(t.orderBy,e):ye.create(e)})},cloneWithoutOrderBy(t){return i({...t,orderBy:void 0})}});var N=i({is(t){return t.kind==="SelectQueryNode"},create(t){return i({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return i({kind:"SelectQueryNode",from:Be.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)=>a.cloneWithOrderByItems(t,e),cloneWithGroupByItems(t,e){return i({...t,groupBy:t.groupBy?_r.cloneWithItems(t.groupBy,e):_r.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?ei.cloneWithOperation(t.having,"And",e):ei.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=>a.cloneWithoutOrderBy(t),cloneWithoutGroupBy(t){return i({...t,groupBy:void 0})}});var Kt=class t{#e;constructor(e){this.#e=i(e)}on(...e){return new t({...this.#e,joinNode:le.cloneWithOn(this.#e.joinNode,x(e))})}onRef(e,r,o){return new t({...this.#e,joinNode:le.cloneWithOn(this.#e.joinNode,T(e,r,o))})}onTrue(){return new t({...this.#e,joinNode:le.cloneWithOn(this.#e.joinNode,v.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return this.#e.joinNode}};var io=i({is(t){return t.kind==="PartitionByItemNode"},create(t){return i({kind:"PartitionByItemNode",partitionBy:t})}});function oo(t){return Ne(t).map(io.create)}var Gt=class t{#e;constructor(e){this.#e=i(e)}orderBy(...e){return new t({overNode:Wt.cloneWithOrderByItems(this.#e.overNode,j(e))})}clearOrderBy(){return new t({overNode:a.cloneWithoutOrderBy(this.#e.overNode)})}partitionBy(e){return new t({overNode:Wt.cloneWithPartitionByItems(this.#e.overNode,oo(e))})}$call(e){return e(this)}toOperationNode(){return this.#e.overNode}};var Ye=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:Ke.createSelectAll(t)})}});function S(t){return C(t)?S(t(Y())):Q(t)?t.map(e=>no(e)):[no(t)]}function no(t){return g(t)?Ye.create(Zi(t)):Mt(t)?Ye.create(t.toOperationNode()):Ye.create(jt(t))}function A(t){return t?Array.isArray(t)?t.map(so):[so(t)]:[Ye.createSelectAll()]}function so(t){if(g(t))return Ye.createSelectAllFromTable(l(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}var ao=i({is(t){return t.kind==="ValuesNode"},create(t){return i({kind:"ValuesNode",values:i(t)})}});var uo=i({is(t){return t.kind==="DefaultInsertValueNode"},create(){return i({kind:"DefaultInsertValueNode"})}});function Ht(t){let e=C(t)?t(Y()):t,r=Q(e)?e:i([e]);return Zo(r)}function Zo(t){let e=_o(t);return[i([...e.keys()].map(h.create)),ao.create(t.map(r=>en(r,e)))]}function _o(t){let e=new Map;for(let r of t){let o=Object.keys(r);for(let s of o)!e.has(s)&&r[s]!==void 0&&e.set(s,e.size)}return e}function en(t,e){let r=Object.keys(t),o=Array.from({length:e.size}),s=!1,u=r.length;for(let I of r){let B=e.get(I);if(J(B)){u--;continue}let L=t[I];(J(L)||fe(L))&&(s=!0),o[B]=L}if(u<e.size||s){let I=uo.create();return ue.create(o.map(B=>J(B)?I:y(B)))}return zt.create(o)}var oi=i({is(t){return t.kind==="ColumnUpdateNode"},create(t,e){return i({kind:"ColumnUpdateNode",column:t,value:e})}});function po(...t){return t.length===2?[oi.create(q(t[0]),y(t[1]))]:St(t[0])}function St(t){let e=C(t)?t(Y()):t;return Object.entries(e).filter(([r,o])=>o!==void 0).map(([r,o])=>oi.create(h.create(r),y(o)))}var ho=i({is(t){return t.kind==="OnDuplicateKeyNode"},create(t){return i({kind:"OnDuplicateKeyNode",updates:t})}});var Yt=class{insertId;numInsertedOrUpdatedRows;constructor(e,r){this.insertId=e,this.numInsertedOrUpdatedRows=r}};var X=class extends Error{node;constructor(e){super("no result"),this.node=e}};function he(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}var V=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?D.cloneWithOperation(t.indexWhere,"And",e):D.create(e)})},cloneWithIndexOrWhere(t,e){return i({...t,indexWhere:t.indexWhere?D.cloneWithOperation(t.indexWhere,"Or",e):D.create(e)})},cloneWithUpdateWhere(t,e){return i({...t,updateWhere:t.updateWhere?D.cloneWithOperation(t.updateWhere,"And",e):D.create(e)})},cloneWithUpdateOrWhere(t,e){return i({...t,updateWhere:t.updateWhere?D.cloneWithOperation(t.updateWhere,"Or",e):D.create(e)})},cloneWithoutIndexWhere(t){return i({...t,indexWhere:void 0})},cloneWithoutUpdateWhere(t){return i({...t,updateWhere:void 0})}});var Xt=class t{#e;constructor(e){this.#e=i(e)}column(e){let r=h.create(e);return new t({...this.#e,onConflictNode:V.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:V.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:V.cloneWith(this.#e.onConflictNode,{constraint:d.create(e)})})}expression(e){return new t({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{indexExpression:e.toOperationNode()})})}where(...e){return new t({...this.#e,onConflictNode:V.cloneWithIndexWhere(this.#e.onConflictNode,x(e))})}whereRef(e,r,o){return new t({...this.#e,onConflictNode:V.cloneWithIndexWhere(this.#e.onConflictNode,T(e,r,o))})}clearWhere(){return new t({...this.#e,onConflictNode:V.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new ni({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(e){return new si({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{updates:St(e)})})}$call(e){return e(this)}},ni=class{#e;constructor(e){this.#e=i(e)}toOperationNode(){return this.#e.onConflictNode}},si=class t{#e;constructor(e){this.#e=i(e)}where(...e){return new t({...this.#e,onConflictNode:V.cloneWithUpdateWhere(this.#e.onConflictNode,x(e))})}whereRef(e,r,o){return new t({...this.#e,onConflictNode:V.cloneWithUpdateWhere(this.#e.onConflictNode,T(e,r,o))})}clearWhere(){return new t({...this.#e,onConflictNode:V.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(e){return e(this)}toOperationNode(){return this.#e.onConflictNode}};var co=i({is(t){return t.kind==="TopNode"},create(t,e){return i({kind:"TopNode",expression:t,modifiers:e})}});function re(t,e){if(!Ce(t)&&!Je(t))throw new Error(`Invalid top expression: ${t}`);if(!J(e)&&!tn(e))throw new Error(`Invalid top modifiers: ${e}`);return co.create(t,e)}function tn(t){return t==="percent"||t==="with ties"||t==="percent with ties"}var Le=i({is(t){return t.kind==="OrActionNode"},create(t){return i({kind:"OrActionNode",action:t})}});var kt=class t{#e;constructor(e){this.#e=i(e)}values(e){let[r,o]=Ht(e);return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{columns:r,values:o})})}columns(e){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{columns:i(e.map(h.create))})})}expression(e){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{values:U(e)})})}defaultValues(){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{defaultValues:!0})})}modifyEnd(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}ignore(){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{orAction:Le.create("ignore")})})}orIgnore(){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{orAction:Le.create("ignore")})})}orAbort(){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{orAction:Le.create("abort")})})}orFail(){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{orAction:Le.create("fail")})})}orReplace(){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{orAction:Le.create("replace")})})}orRollback(){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{orAction:Le.create("rollback")})})}top(e,r){return new t({...this.#e,queryNode:a.cloneWithTop(this.#e.queryNode,re(e,r))})}onConflict(e){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{onConflict:e(new Xt({onConflictNode:V.create()})).toOperationNode()})})}onDuplicateKeyUpdate(e){return new t({...this.#e,queryNode:b.cloneWith(this.#e.queryNode,{onDuplicateKey:ho.create(St(e))})})}returning(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,S(e))})}returningAll(){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,A())})}output(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,S(e))})}outputAll(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,A(e))})}clearReturning(){return new t({...this.#e,queryNode:a.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,s=e.query;return s.returning&&o.supportsReturning||s.output&&o.supportsOutput?r.rows:[new Yt(r.insertId,r.numAffectedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=X){let r=await this.executeTakeFirst();if(r===void 0)throw he(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 s of o)yield*s.rows}async explain(e,r){return await new t({...this.#e,queryNode:a.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};var Zt=class{numDeletedRows;constructor(e){this.numDeletedRows=e}};var Xe=i({is(t){return t.kind==="LimitNode"},create(t){return i({kind:"LimitNode",limit:t})}});var _t=class t{#e;constructor(e){this.#e=i(e)}where(...e){return new t({...this.#e,queryNode:a.cloneWithWhere(this.#e.queryNode,x(e))})}whereRef(e,r,o){return new t({...this.#e,queryNode:a.cloneWithWhere(this.#e.queryNode,T(e,r,o))})}clearWhere(){return new t({...this.#e,queryNode:a.cloneWithoutWhere(this.#e.queryNode)})}top(e,r){return new t({...this.#e,queryNode:a.cloneWithTop(this.#e.queryNode,re(e,r))})}using(e){return new t({...this.#e,queryNode:Te.cloneWithUsing(this.#e.queryNode,ie(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:a.cloneWithJoin(this.#e.queryNode,Ee(e,r))})}returning(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,S(e))})}returningAll(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,A(e))})}output(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,S(e))})}outputAll(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,A(e))})}clearReturning(){return new t({...this.#e,queryNode:a.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:Te.cloneWithoutLimit(this.#e.queryNode)})}orderBy(...e){return new t({...this.#e,queryNode:a.cloneWithOrderByItems(this.#e.queryNode,j(e))})}clearOrderBy(){return new t({...this.#e,queryNode:a.cloneWithoutOrderBy(this.#e.queryNode)})}limit(e){return new t({...this.#e,queryNode:Te.cloneWithLimit(this.#e.queryNode,Xe.create(y(e)))})}modifyEnd(e){return new t({...this.#e,queryNode:a.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,s=e.query;return s.returning&&o.supportsReturning||s.output&&o.supportsOutput?r.rows:[new Zt(r.numAffectedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=X){let r=await this.executeTakeFirst();if(r===void 0)throw he(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 s of o)yield*s.rows}async explain(e,r){return await new t({...this.#e,queryNode:a.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};var er=class{numUpdatedRows;numChangedRows;constructor(e,r){this.numUpdatedRows=e,this.numChangedRows=r}};var Ze=class t{#e;constructor(e){this.#e=i(e)}where(...e){return new t({...this.#e,queryNode:a.cloneWithWhere(this.#e.queryNode,x(e))})}whereRef(e,r,o){return new t({...this.#e,queryNode:a.cloneWithWhere(this.#e.queryNode,T(e,r,o))})}clearWhere(){return new t({...this.#e,queryNode:a.cloneWithoutWhere(this.#e.queryNode)})}top(e,r){return new t({...this.#e,queryNode:a.cloneWithTop(this.#e.queryNode,re(e,r))})}from(e){return new t({...this.#e,queryNode:pe.cloneWithFromItems(this.#e.queryNode,ie(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:a.cloneWithJoin(this.#e.queryNode,Ee(e,r))})}orderBy(...e){return new t({...this.#e,queryNode:a.cloneWithOrderByItems(this.#e.queryNode,j(e))})}clearOrderBy(){return new t({...this.#e,queryNode:a.cloneWithoutOrderBy(this.#e.queryNode)})}limit(e){return new t({...this.#e,queryNode:pe.cloneWithLimit(this.#e.queryNode,Xe.create(y(e)))})}set(...e){return new t({...this.#e,queryNode:pe.cloneWithUpdates(this.#e.queryNode,po(...e))})}returning(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,S(e))})}returningAll(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,A(e))})}output(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,S(e))})}outputAll(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,A(e))})}modifyEnd(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}clearReturning(){return new t({...this.#e,queryNode:a.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,s=e.query;return s.returning&&o.supportsReturning||s.output&&o.supportsOutput?r.rows:[new er(r.numAffectedRows??BigInt(0),r.numChangedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=X){let r=await this.executeTakeFirst();if(r===void 0)throw he(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 s of o)yield*s.rows}async explain(e,r){return await new t({...this.#e,queryNode:a.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};var ai=i({is(t){return t.kind==="CommonTableExpressionNameNode"},create(t,e){return i({kind:"CommonTableExpressionNameNode",table:$.create(t),columns:e?i(e.map(h.create)):void 0})}});var _e=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 tr=class t{#e;constructor(e){this.#e=i(e)}materialized(){return new t({...this.#e,node:_e.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new t({...this.#e,node:_e.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}};function ui(t,e){let r=e(lo()).toOperationNode();return C(t)?t(rn(r)).toOperationNode():_e.create(mo(t),r)}function rn(t){return e=>new tr({node:_e.create(mo(e),t)})}function mo(t){if(t.includes("(")){let e=t.split(/[\(\)]/),r=e[0],o=e[1].split(",").map(s=>s.trim());return ai.create(r,o)}else return ai.create(t)}var Tt=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 fo=["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 No(t){let e="";for(let r=0;r<t;++r)e+=on();return e}function on(){return fo[~~(Math.random()*fo.length)]}function c(){return new di}var di=class{#e;get queryId(){return this.#e===void 0&&(this.#e=No(8)),this.#e}};var Ae=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 nn=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}),sn={json_agg:!0,to_json:!0},rr=class extends Ae{#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 p of o)this.#r.add(p);let s=this.#a(e);for(let p of s)this.#t.add(p);let u=super.transformNodeImpl(e,r);for(let p of s)this.#t.delete(p);for(let p of o)this.#r.delete(p);return u}transformSchemableIdentifier(e,r){let o=super.transformSchemableIdentifier(e,r);return o.schema||!this.#t.has(e.identifier.name)?o:{...o,schema:d.create(this.#e)}}transformReferences(e,r){let o=super.transformReferences(e,r);return o.table.table.schema?o:{...o,table:$.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 sn[e.func]?e[o].map(s=>!$.is(s)||s.table.schema?this.transformNode(s,r):{...s,table:this.transformIdentifier(s.table.identifier,r)}):this.transformNodeList(e[o],r)}#o(e){return e.kind in nn}#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($.is(e))this.#s(e.table,r);else if(k.is(e)&&$.is(e.node))this.#s(e.node.table,r);else if($t.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 s=o.name.table.table.identifier.name;this.#r.has(s)||r.add(s)}}};var Z=class{#e;constructor(e){this.#e=new rr(e)}transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}async transformResult(e){return e.result}};var yo=i({is(t){return t.kind==="MatchedNode"},create(t,e=!1){return i({kind:"MatchedNode",not:t,bySource:e})}});function pi(t,e,r){return xe.create(He([yo.create(!t.isMatched,t.bySource),...e&&e.length>0?[e.length===3&&r?T(e[0],e[1],e[2]):x(e)]:[]],"and",!1))}function et(t){return g(t)?v.create([t],[]):w(t)?t.toOperationNode():t}var Et=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 ir(t){let e=new Et,r=new Et;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 an=i([]),tt=class{#e;constructor(e=an){this.#e=e}get plugins(){return this.#e}transformQuery(e,r){for(let o of this.#e){let s=o.transformQuery({node:e,queryId:r});if(s.kind===e.kind)e=s;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 ${s.kind}`].join(" "))}return e}async executeQuery(e,r){return await this.provideConnection(async o=>{let s=await o.executeQuery(e);return"numUpdatedOrDeletedRows"in s&&Se("kysely:warning: outdated driver/plugin detected! `QueryResult.numUpdatedOrDeletedRows` has been replaced with `QueryResult.numAffectedRows`."),await this.#t(s,r)})}async*stream(e,r,o){let{connection:s,release:u}=await ir(this);try{for await(let p of s.streamQuery(e,r))yield await this.#t(p,o)}finally{u()}}async#t(e,r){for(let o of this.#e)e=await o.transformResult({result:e,queryId:r});return e}};var hi=class t extends tt{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([])}},Ie=new hi;var or=class{numChangedRows;constructor(e){this.numChangedRows=e}};var nr=class t{#e;constructor(e){this.#e=i(e)}modifyEnd(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}top(e,r){return new t({...this.#e,queryNode:a.cloneWithTop(this.#e.queryNode,re(e,r))})}using(...e){return new Re({...this.#e,queryNode:E.cloneWithUsing(this.#e.queryNode,Ee("Using",e))})}returning(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,S(e))})}returningAll(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,A(e))})}output(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,S(e))})}outputAll(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,A(e))})}},Re=class t{#e;constructor(e){this.#e=i(e)}modifyEnd(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,e.toOperationNode())})}top(e,r){return new t({...this.#e,queryNode:a.cloneWithTop(this.#e.queryNode,re(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 sr({...this.#e,queryNode:E.cloneWithWhen(this.#e.queryNode,pi({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:a.cloneWithReturning(this.#e.queryNode,S(e))})}returningAll(e){return new t({...this.#e,queryNode:a.cloneWithReturning(this.#e.queryNode,A(e))})}output(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,S(e))})}outputAll(e){return new t({...this.#e,queryNode:a.cloneWithOutput(this.#e.queryNode,A(e))})}#r(e,r=!1,o=!1){let s={...this.#e,queryNode:E.cloneWithWhen(this.#e.queryNode,pi({isMatched:!1,bySource:o},e,r))},u=o?sr:ci;return new u(s)}$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,s=e.query;return s.returning&&o.supportsReturning||s.output&&o.supportsOutput?r.rows:[new or(r.numAffectedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=X){let r=await this.executeTakeFirst();if(r===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return r}},sr=class{#e;constructor(e){this.#e=i(e)}thenDelete(){return new Re({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,et("delete"))})}thenDoNothing(){return new Re({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,et("do nothing"))})}thenUpdate(e){return new Re({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,et(e(new Ze({queryId:this.#e.queryId,executor:Ie,queryNode:pe.createWithoutTable()}))))})}thenUpdateSet(...e){return this.thenUpdate(r=>r.set(...e))}},ci=class{#e;constructor(e){this.#e=i(e)}thenDoNothing(){return new Re({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,et("do nothing"))})}thenInsertValues(e){let[r,o]=Ht(e);return new Re({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,et(b.cloneWith(b.createWithoutInto(),{columns:r,values:o})))})}};var rt=class t{#e;constructor(e){this.#e=i(e)}selectFrom(e){return At({queryId:c(),executor:this.#e.executor,queryNode:N.createFrom(ie(e),this.#e.withNode)})}selectNoFrom(e){return At({queryId:c(),executor:this.#e.executor,queryNode:N.cloneWithSelections(N.create(this.#e.withNode),S(e))})}insertInto(e){return new kt({queryId:c(),executor:this.#e.executor,queryNode:b.create(l(e),this.#e.withNode)})}replaceInto(e){return new kt({queryId:c(),executor:this.#e.executor,queryNode:b.create(l(e),this.#e.withNode,!0)})}deleteFrom(e){return new _t({queryId:c(),executor:this.#e.executor,queryNode:Te.create(ie(e),this.#e.withNode)})}updateTable(e){return new Ze({queryId:c(),executor:this.#e.executor,queryNode:pe.create(ie(e),this.#e.withNode)})}mergeInto(e){return new nr({queryId:c(),executor:this.#e.executor,queryNode:E.create(mi(e),this.#e.withNode)})}with(e,r){let o=ui(e,r);return new t({...this.#e,withNode:this.#e.withNode?Tt.cloneWithExpression(this.#e.withNode,o):Tt.create(o)})}withRecursive(e,r){let o=ui(e,r);return new t({...this.#e,withNode:this.#e.withNode?Tt.cloneWithExpression(this.#e.withNode,o):Tt.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 Z(e))})}};function lo(){return new rt({executor:Ie})}function xo(t,e){return new Kt({joinNode:le.create(t,Qe(e))})}function wo(){return new Gt({overNode:Wt.create()})}function Ee(t,e){if(e.length===3)return dn(t,e[0],e[1],e[2]);if(e.length===2)return un(t,e[0],e[1]);if(e.length===1)return pn(t,e[0]);throw new Error("not implemented")}function un(t,e,r){return r(xo(t,e)).toOperationNode()}function dn(t,e,r,o){return le.createWithOn(t,Qe(e),T(r,"=",o))}function pn(t,e){return le.create(t,Qe(e))}var Oo=i({is(t){return t.kind==="OffsetNode"},create(t){return i({kind:"OffsetNode",offset:t})}});var go=i({is(t){return t.kind==="GroupByItemNode"},create(t){return i({kind:"GroupByItemNode",groupBy:t})}});function vo(t){return t=C(t)?t(Y()):t,Ne(t).map(go.create)}var ar=i({is(t){return t.kind==="SetOperationNode"},create(t,e,r){return i({kind:"SetOperationNode",operator:t,expression:e,all:r})}});function Pe(t,e,r){return C(e)&&(e=e(ur())),Q(e)||(e=[e]),e.map(o=>ar.create(t,U(o),r))}var f=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new It(this,e)}or(...e){return new li(ee.create(this.#e,x(e)))}and(...e){return new fi(z.create(this.#e,x(e)))}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},It=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return k.create(this.#e.toOperationNode(),w(this.#t)?this.#t.toOperationNode():d.create(this.#t))}},li=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new It(this,e)}or(...e){return new t(ee.create(this.#e,x(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return de.create(this.#e)}},fi=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new It(this,e)}and(...e){return new t(z.create(this.#e,x(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return de.create(this.#e)}};var Co={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:W.create(t),modifier:e}}};function bo(t,e){if(!Ce(t)&&!Je(t))throw new Error(`Invalid fetch row count: ${t}`);if(!hn(e))throw new Error(`Invalid fetch modifier: ${e}`);return Co.create(t,e)}function hn(t){return t==="only"||t==="with ties"}var Ni=class t{#e;constructor(e){this.#e=i(e)}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new t({...this.#e,queryNode:a.cloneWithWhere(this.#e.queryNode,x(e))})}whereRef(e,r,o){return new t({...this.#e,queryNode:a.cloneWithWhere(this.#e.queryNode,T(e,r,o))})}having(...e){return new t({...this.#e,queryNode:N.cloneWithHaving(this.#e.queryNode,x(e))})}havingRef(e,r,o){return new t({...this.#e,queryNode:N.cloneWithHaving(this.#e.queryNode,T(e,r,o))})}select(e){return new t({...this.#e,queryNode:N.cloneWithSelections(this.#e.queryNode,S(e))})}distinctOn(e){return new t({...this.#e,queryNode:N.cloneWithDistinctOn(this.#e.queryNode,Ne(e))})}modifyFront(e){return new t({...this.#e,queryNode:N.cloneWithFrontModifier(this.#e.queryNode,ae.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,ae.createWithExpression(e.toOperationNode()))})}distinct(){return new t({...this.#e,queryNode:N.cloneWithFrontModifier(this.#e.queryNode,ae.create("Distinct"))})}forUpdate(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,ae.create("ForUpdate",e?gt(e).map(l):void 0))})}forShare(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,ae.create("ForShare",e?gt(e).map(l):void 0))})}forKeyShare(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,ae.create("ForKeyShare",e?gt(e).map(l):void 0))})}forNoKeyUpdate(e){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,ae.create("ForNoKeyUpdate",e?gt(e).map(l):void 0))})}skipLocked(){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,ae.create("SkipLocked"))})}noWait(){return new t({...this.#e,queryNode:a.cloneWithEndModifier(this.#e.queryNode,ae.create("NoWait"))})}selectAll(e){return new t({...this.#e,queryNode:N.cloneWithSelections(this.#e.queryNode,A(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:a.cloneWithJoin(this.#e.queryNode,Ee(e,r))})}orderBy(...e){return new t({...this.#e,queryNode:a.cloneWithOrderByItems(this.#e.queryNode,j(e))})}groupBy(e){return new t({...this.#e,queryNode:N.cloneWithGroupByItems(this.#e.queryNode,vo(e))})}limit(e){return new t({...this.#e,queryNode:N.cloneWithLimit(this.#e.queryNode,Xe.create(y(e)))})}offset(e){return new t({...this.#e,queryNode:N.cloneWithOffset(this.#e.queryNode,Oo.create(y(e)))})}fetch(e,r="only"){return new t({...this.#e,queryNode:N.cloneWithFetch(this.#e.queryNode,bo(e,r))})}top(e,r){return new t({...this.#e,queryNode:a.cloneWithTop(this.#e.queryNode,re(e,r))})}union(e){return new t({...this.#e,queryNode:N.cloneWithSetOperations(this.#e.queryNode,Pe("union",e,!1))})}unionAll(e){return new t({...this.#e,queryNode:N.cloneWithSetOperations(this.#e.queryNode,Pe("union",e,!0))})}intersect(e){return new t({...this.#e,queryNode:N.cloneWithSetOperations(this.#e.queryNode,Pe("intersect",e,!1))})}intersectAll(e){return new t({...this.#e,queryNode:N.cloneWithSetOperations(this.#e.queryNode,Pe("intersect",e,!0))})}except(e){return new t({...this.#e,queryNode:N.cloneWithSetOperations(this.#e.queryNode,Pe("except",e,!1))})}exceptAll(e){return new t({...this.#e,queryNode:N.cloneWithSetOperations(this.#e.queryNode,Pe("except",e,!0))})}as(e){return new yi(this,e)}clearSelect(){return new t({...this.#e,queryNode:N.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new t({...this.#e,queryNode:a.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:N.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new t({...this.#e,queryNode:N.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:a.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new t({...this.#e,queryNode:N.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 f(this.toOperationNode())}$asScalar(){return new f(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=X){let r=await this.executeTakeFirst();if(r===void 0)throw he(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 s of o)yield*s.rows}async explain(e,r){return await new t({...this.#e,queryNode:a.cloneWithExplain(this.#e.queryNode,e,r)}).execute()}};function At(t){return new Ni(t)}var yi=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 k.create(this.#e.toOperationNode(),d.create(this.#t))}};var ce=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]?ye.cloneWithItems(t[o],e):ye.create(e)})},cloneWithFilter(t,e){return i({...t,filter:t.filter?D.cloneWithOperation(t.filter,"And",e):D.create(e)})},cloneWithOrFilter(t,e){return i({...t,filter:t.filter?D.cloneWithOperation(t.filter,"Or",e):D.create(e)})},cloneWithOver(t,e){return i({...t,over:e})}});var xi=i({is(t){return t.kind==="FunctionNode"},create(t,e){return i({kind:"FunctionNode",func:t,arguments:e})}});var it=class t{#e;constructor(e){this.#e=i(e)}get expressionType(){}as(e){return new wi(this,e)}distinct(){return new t({...this.#e,aggregateFunctionNode:ce.cloneWithDistinct(this.#e.aggregateFunctionNode)})}orderBy(...e){return new t({...this.#e,aggregateFunctionNode:a.cloneWithOrderByItems(this.#e.aggregateFunctionNode,j(e))})}clearOrderBy(){return new t({...this.#e,aggregateFunctionNode:a.cloneWithoutOrderBy(this.#e.aggregateFunctionNode)})}withinGroupOrderBy(...e){return new t({...this.#e,aggregateFunctionNode:ce.cloneWithOrderBy(this.#e.aggregateFunctionNode,j(e),!0)})}filterWhere(...e){return new t({...this.#e,aggregateFunctionNode:ce.cloneWithFilter(this.#e.aggregateFunctionNode,x(e))})}filterWhereRef(e,r,o){return new t({...this.#e,aggregateFunctionNode:ce.cloneWithFilter(this.#e.aggregateFunctionNode,T(e,r,o))})}over(e){let r=wo();return new t({...this.#e,aggregateFunctionNode:ce.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}},wi=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return k.create(this.#e.toOperationNode(),d.create(this.#t))}};function dr(){let t=(r,o)=>new f(xi.create(r,Ne(o??[]))),e=(r,o)=>new it({aggregateFunctionNode:ce.create(r,o?Ne(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 it({aggregateFunctionNode:ce.create("count",A(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 it({aggregateFunctionNode:ce.create("json_agg",[g(r)?l(r):r.toOperationNode()])})},toJson(r){return new f(xi.create("to_json",[g(r)?l(r):r.toOperationNode()]))}})}var Wo=i({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return i({kind:"UnaryOperationNode",operator:t,operand:e})}});function So(t,e){return Wo.create(K.create(t),q(e))}var H=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),xe.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return i({...t,...e})}});var ot=class{#e;constructor(e){this.#e=i(e)}when(...e){return new pr({...this.#e,node:H.cloneWithWhen(this.#e.node,xe.create(x(e)))})}},pr=class{#e;constructor(e){this.#e=i(e)}then(e){return new Oi({...this.#e,node:H.cloneWithThen(this.#e.node,Ut(e)?bt(e):y(e))})}},Oi=class{#e;constructor(e){this.#e=i(e)}when(...e){return new pr({...this.#e,node:H.cloneWithWhen(this.#e.node,xe.create(x(e)))})}else(e){return new gi({...this.#e,node:H.cloneWith(this.#e.node,{else:Ut(e)?bt(e):y(e)})})}end(){return new f(H.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new f(H.cloneWith(this.#e.node,{isStatement:!0}))}},gi=class{#e;constructor(e){this.#e=i(e)}end(){return new f(H.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new f(H.cloneWith(this.#e.node,{isStatement:!0}))}};var vi=i({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return i({kind:"JSONPathLegNode",type:t,value:e})}});var nt=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 Ge.is(this.#e)?new hr(Ge.cloneWithTraversal(this.#e,ke.is(this.#e.traversal)?ke.cloneWithLeg(this.#e.traversal,vi.create(e,r)):Vt.cloneWithValue(this.#e.traversal,W.createImmediate(r)))):new hr(ke.cloneWithLeg(this.#e,vi.create(e,r)))}},hr=class t extends nt{#e;constructor(e){super(e),this.#e=e}get expressionType(){}as(e){return new Ci(this,e)}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},Ci=class{#e;#t;constructor(e,r){this.#e=e,this.#t=r}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return k.create(this.#e.toOperationNode(),w(this.#t)?this.#t.toOperationNode():d.create(this.#t))}};var bi=i({is(t){return t.kind==="TupleNode"},create(t){return i({kind:"TupleNode",values:i(t)})}});var cn=["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"],mn=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],ko=i({is(t){return t.kind==="DataTypeNode"},create(t){return i({kind:"DataTypeNode",dataType:t})}});function To(t){return!!(cn.includes(t)||mn.some(e=>e.test(t)))}function oe(t){if(w(t))return t.toOperationNode();if(To(t))return ko.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}var Eo=i({is(t){return t.kind==="CastNode"},create(t,e){return i({kind:"CastNode",expression:t,dataType:e})}});function ur(t=Ie){function e(s,u,p){return new f(Jt(s,u,p))}function r(s,u){return new f(So(s,u))}let o=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(s){return At({queryId:c(),executor:t,queryNode:N.createFrom(ie(s))})},case(s){return new ot({node:H.create(J(s)?void 0:q(s))})},ref(s,u){return J(u)?new f(G(s)):new nt(Xi(s,u))},jsonPath(){return new nt(ke.create())},table(s){return new f(l(s))},val(s){return new f(y(s))},refTuple(...s){return new f(bi.create(s.map(q)))},tuple(...s){return new f(bi.create(s.map(y)))},lit(s){return new f(bt(s))},unary:r,not(s){return r("not",s)},exists(s){return r("exists",s)},neg(s){return r("-",s)},between(s,u,p){return new f(We.create(q(s),K.create("between"),z.create(y(u),y(p))))},betweenSymmetric(s,u,p){return new f(We.create(q(s),K.create("between symmetric"),z.create(y(u),y(p))))},and(s){return Q(s)?new f(He(s,"and")):new f(Xr(s,"and"))},or(s){return Q(s)?new f(He(s,"or")):new f(Xr(s,"or"))},parens(...s){let u=x(s);return de.is(u)?new f(u):new f(de.create(u))},cast(s,u){return new f(Eo.create(q(s),oe(u)))},withSchema(s){return ur(t.withPluginAtFront(new Z(s)))}});return o.fn=dr(),o.eb=o,o}function Y(t){return ur()}function U(t){if(w(t))return t.toOperationNode();if(C(t))return t(Y()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function jt(t){if(w(t))return t.toOperationNode();if(C(t))return t(Y()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function fe(t){return Lt(t)||$i(t)||C(t)}var cr=class{#e;get table(){return this.#e}constructor(e){this.#e=e}as(e){return new Wi(this.#e,e)}},Wi=class{#e;#t;get table(){return this.#e}get alias(){return this.#t}constructor(e,r){this.#e=e,this.#t=r}toOperationNode(){return k.create(l(this.#e),d.create(this.#t))}};function Ao(t){return R(t)&&w(t)&&g(t.table)&&g(t.alias)}function ie(t){return Q(t)?t.map(e=>Qe(e)):[Qe(t)]}function Qe(t){return g(t)?mi(t):Ao(t)?t.toOperationNode():jt(t)}function mi(t){let e=" as ";if(t.includes(e)){let[r,o]=t.split(e).map(Io);return k.create(l(r),d.create(o))}else return l(t)}function l(t){let e=".";if(t.includes(e)){let[r,o]=t.split(e).map(Io);return $.createWithSchema(r,o)}else return $.create(t)}function Io(t){return t.trim()}var Si=i({is(t){return t.kind==="AddColumnNode"},create(t){return i({kind:"AddColumnNode",column:t})}});var O=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 ki=i({is(t){return t.kind==="DropColumnNode"},create(t){return i({kind:"DropColumnNode",column:h.create(t)})}});var Ti=i({is(t){return t.kind==="RenameColumnNode"},create(t,e){return i({kind:"RenameColumnNode",column:h.create(t),renameTo:h.create(e)})}});var st=i({is(t){return t.kind==="CheckConstraintNode"},create(t,e){return i({kind:"CheckConstraintNode",expression:t,name:e?d.create(e):void 0})}});var Ro=["no action","restrict","cascade","set null","set default"],at=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 mr(t){return w(t)?t.toOperationNode():W.createImmediate(t)}var Rt=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 qo=i({is(t){return t.kind==="DefaultValueNode"},create(t){return i({kind:"DefaultValueNode",defaultValue:t})}});function ut(t){if(Ro.includes(t))return t;throw new Error(`invalid OnModifyForeignAction ${t}`)}var we=class t{#e;constructor(e){this.#e=e}autoIncrement(){return new t(O.cloneWith(this.#e,{autoIncrement:!0}))}identity(){return new t(O.cloneWith(this.#e,{identity:!0}))}primaryKey(){return new t(O.cloneWith(this.#e,{primaryKey:!0}))}references(e){let r=G(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(O.cloneWith(this.#e,{references:at.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(O.cloneWith(this.#e,{references:at.cloneWithOnDelete(this.#e.references,ut(e))}))}onUpdate(e){if(!this.#e.references)throw new Error("on update constraint can only be added for foreign keys");return new t(O.cloneWith(this.#e,{references:at.cloneWithOnUpdate(this.#e.references,ut(e))}))}unique(){return new t(O.cloneWith(this.#e,{unique:!0}))}notNull(){return new t(O.cloneWith(this.#e,{notNull:!0}))}unsigned(){return new t(O.cloneWith(this.#e,{unsigned:!0}))}defaultTo(e){return new t(O.cloneWith(this.#e,{defaultTo:qo.create(mr(e))}))}check(e){return new t(O.cloneWith(this.#e,{check:st.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new t(O.cloneWith(this.#e,{generated:Rt.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Rt.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Rt.create({identity:!0,byDefault:!0})}))}stored(){if(!this.#e.generated)throw new Error("stored() can only be called after generatedAlwaysAs");return new t(O.cloneWith(this.#e,{generated:Rt.cloneWith(this.#e.generated,{stored:!0})}))}modifyFront(e){return new t(O.cloneWithFrontModifier(this.#e,e.toOperationNode()))}nullsNotDistinct(){return new t(O.cloneWith(this.#e,{nullsNotDistinct:!0}))}ifNotExists(){return new t(O.cloneWith(this.#e,{ifNotExists:!0}))}modifyEnd(e){return new t(O.cloneWithEndModifier(this.#e,e.toOperationNode()))}$call(e){return e(this)}toOperationNode(){return this.#e}};var Ei=i({is(t){return t.kind==="ModifyColumnNode"},create(t){return i({kind:"ModifyColumnNode",column:t})}});var ne=i({is(t){return t.kind==="ForeignKeyConstraintNode"},create(t,e,r,o){return i({kind:"ForeignKeyConstraintNode",columns:t,references:at.create(e,r),name:o?d.create(o):void 0})},cloneWith(t,e){return i({...t,...e})}});var dt=class t{#e;constructor(e){this.#e=e}onDelete(e){return new t(ne.cloneWith(this.#e,{onDelete:ut(e)}))}onUpdate(e){return new t(ne.cloneWith(this.#e,{onUpdate:ut(e)}))}deferrable(){return new t(ne.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(ne.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(ne.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(ne.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var pt=i({is(t){return t.kind==="AddConstraintNode"},create(t){return i({kind:"AddConstraintNode",constraint:t})}});var me=i({is(t){return t.kind==="UniqueConstraintNode"},create(t,e,r){return i({kind:"UniqueConstraintNode",columns:i(t.map(h.create)),name:e?d.create(e):void 0,nullsNotDistinct:r})},cloneWith(t,e){return i({...t,...e})}});var ht=i({is(t){return t.kind==="DropConstraintNode"},create(t){return i({kind:"DropConstraintNode",constraintName:d.create(t)})},cloneWith(t,e){return i({...t,...e})}});var ct=i({is(t){return t.kind==="AlterColumnNode"},create(t,e,r){return i({kind:"AlterColumnNode",column:h.create(t),[e]:r})}});var qt=class{#e;constructor(e){this.#e=e}setDataType(e){return new Me(ct.create(this.#e,"dataType",oe(e)))}setDefault(e){return new Me(ct.create(this.#e,"setDefault",mr(e)))}dropDefault(){return new Me(ct.create(this.#e,"dropDefault",!0))}setNotNull(){return new Me(ct.create(this.#e,"setNotNull",!0))}dropNotNull(){return new Me(ct.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}},Me=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}};var Oe=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 lr=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(m.cloneWithTableProps(this.#e.node,{addConstraint:pt.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 Dt=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ht.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ht.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ht.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 ge=i({is(t){return t.kind==="PrimaryKeyConstraintNode"},create(t,e){return i({kind:"PrimaryKeyConstraintNode",columns:i(t.map(h.create)),name:e?d.create(e):void 0})},cloneWith(t,e){return i({...t,...e})}});var qe=i({is(t){return t.kind==="AddIndexNode"},create(t){return i({kind:"AddIndexNode",name:d.create(t)})},cloneWith(t,e){return i({...t,...e})},cloneWithColumns(t,e){return i({...t,columns:[...t.columns||[],...e]})}});var fr=class t{#e;constructor(e){this.#e=i(e)}unique(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:qe.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:qe.cloneWithColumns(this.#e.node.addIndex,[je(e)])})})}columns(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:qe.cloneWithColumns(this.#e.node.addIndex,e.map(je))})})}expression(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:qe.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:qe.cloneWith(this.#e.node.addIndex,{using:v.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 mt=class t{#e;constructor(e){this.#e=e}nullsNotDistinct(){return new t(me.cloneWith(this.#e,{nullsNotDistinct:!0}))}deferrable(){return new t(me.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(me.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(me.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(me.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var lt=class t{#e;constructor(e){this.#e=e}deferrable(){return new t(ge.cloneWith(this.#e,{deferrable:!0}))}notDeferrable(){return new t(ge.cloneWith(this.#e,{deferrable:!1}))}initiallyDeferred(){return new t(ge.cloneWith(this.#e,{initiallyDeferred:!0}))}initiallyImmediate(){return new t(ge.cloneWith(this.#e,{initiallyDeferred:!1}))}$call(e){return e(this)}toOperationNode(){return this.#e}};var ft=class{#e;constructor(e){this.#e=e}$call(e){return e(this)}toOperationNode(){return this.#e}};var Do=i({is(t){return t.kind==="RenameConstraintNode"},create(t,e){return i({kind:"RenameConstraintNode",oldName:d.create(t),newName:d.create(e)})}});var Nr=class{#e;constructor(e){this.#e=i(e)}renameTo(e){return new Oe({...this.#e,node:m.cloneWithTableProps(this.#e.node,{renameTo:l(e)})})}setSchema(e){return new Oe({...this.#e,node:m.cloneWithTableProps(this.#e.node,{setSchema:d.create(e)})})}alterColumn(e,r){let o=r(new qt(e));return new Fe({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new Fe({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,ki.create(e))})}renameColumn(e,r){return new Fe({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ti.create(e,r))})}addColumn(e,r,o=F){let s=o(new we(O.create(e,oe(r))));return new Fe({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Si.create(s.toOperationNode()))})}modifyColumn(e,r,o=F){let s=o(new we(O.create(e,oe(r))));return new Fe({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ei.create(s.toOperationNode()))})}addUniqueConstraint(e,r,o=F){let s=o(new mt(me.create(r,e)));return new Oe({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:pt.create(s.toOperationNode())})})}addCheckConstraint(e,r,o=F){let s=o(new ft(st.create(r.toOperationNode(),e)));return new Oe({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:pt.create(s.toOperationNode())})})}addForeignKeyConstraint(e,r,o,s,u=F){let p=u(new dt(ne.create(r.map(h.create),l(o),s.map(h.create),e)));return new lr({...this.#e,constraintBuilder:p})}addPrimaryKeyConstraint(e,r,o=F){let s=o(new lt(ge.create(r,e)));return new Oe({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:pt.create(s.toOperationNode())})})}dropConstraint(e){return new Dt({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ht.create(e)})})}renameConstraint(e,r){return new Dt({...this.#e,node:m.cloneWithTableProps(this.#e.node,{renameConstraint:Do.create(e,r)})})}addIndex(e){return new fr({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:qe.create(e)})})}dropIndex(e){return new Oe({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropIndex:be.create(e)})})}$call(e){return e(this)}},Fe=class t{#e;constructor(e){this.#e=i(e)}alterColumn(e,r){let o=r(new qt(e));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,ki.create(e))})}renameColumn(e,r){return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ti.create(e,r))})}addColumn(e,r,o=F){let s=o(new we(O.create(e,oe(r))));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Si.create(s.toOperationNode()))})}modifyColumn(e,r,o=F){let s=o(new we(O.create(e,oe(r))));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ei.create(s.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 Nt=class extends Ae{transformPrimitiveValueList(e){return ue.create(e.values.map(W.createImmediate))}transformValue(e){return W.createImmediate(e.value)}};var yr=class t{#e;constructor(e){this.#e=i(e)}ifNotExists(){return new t({...this.#e,node:_.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new t({...this.#e,node:_.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new t({...this.#e,node:_.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new t({...this.#e,node:_.cloneWith(this.#e.node,{table:l(e)})})}column(e){return new t({...this.#e,node:_.cloneWithColumns(this.#e.node,[je(e)])})}columns(e){return new t({...this.#e,node:_.cloneWithColumns(this.#e.node,e.map(je))})}expression(e){return new t({...this.#e,node:_.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new t({...this.#e,node:_.cloneWith(this.#e.node,{using:v.createWithSql(e)})})}where(...e){let r=new Nt;return new t({...this.#e,node:a.cloneWithWhere(this.#e.node,r.transformNode(x(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 xr=class t{#e;constructor(e){this.#e=i(e)}ifNotExists(){return new t({...this.#e,node:Bt.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 Bo(t){if(Ji.includes(t))return t;throw new Error(`invalid OnCommitAction ${t}`)}var wr=class t{#e;constructor(e){this.#e=i(e)}temporary(){return new t({...this.#e,node:P.cloneWith(this.#e.node,{temporary:!0})})}onCommit(e){return new t({...this.#e,node:P.cloneWith(this.#e.node,{onCommit:Bo(e)})})}ifNotExists(){return new t({...this.#e,node:P.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,r,o=F){let s=o(new we(O.create(e,oe(r))));return new t({...this.#e,node:P.cloneWithColumn(this.#e.node,s.toOperationNode())})}addPrimaryKeyConstraint(e,r,o=F){let s=o(new lt(ge.create(r,e)));return new t({...this.#e,node:P.cloneWithConstraint(this.#e.node,s.toOperationNode())})}addUniqueConstraint(e,r,o=F){let s=o(new mt(me.create(r,e)));return new t({...this.#e,node:P.cloneWithConstraint(this.#e.node,s.toOperationNode())})}addCheckConstraint(e,r,o=F){let s=o(new ft(st.create(r.toOperationNode(),e)));return new t({...this.#e,node:P.cloneWithConstraint(this.#e.node,s.toOperationNode())})}addForeignKeyConstraint(e,r,o,s,u=F){let p=u(new dt(ne.create(r.map(h.create),l(o),s.map(h.create),e)));return new t({...this.#e,node:P.cloneWithConstraint(this.#e.node,p.toOperationNode())})}modifyFront(e){return new t({...this.#e,node:P.cloneWithFrontModifier(this.#e.node,e.toOperationNode())})}modifyEnd(e){return new t({...this.#e,node:P.cloneWithEndModifier(this.#e.node,e.toOperationNode())})}as(e){return new t({...this.#e,node:P.cloneWith(this.#e.node,{selectQuery:U(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 Or=class t{#e;constructor(e){this.#e=i(e)}on(e){return new t({...this.#e,node:be.cloneWith(this.#e.node,{table:l(e)})})}ifExists(){return new t({...this.#e,node:be.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:be.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 gr=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:vt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:vt.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 vr=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:Ct.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Ct.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 se=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 Cr=class{#e=new Nt;transformQuery(e){return this.#e.transformNode(e.node,e.queryId)}transformResult(e){return Promise.resolve(e.result)}};var br=class t{#e;constructor(e){this.#e=i(e)}temporary(){return new t({...this.#e,node:se.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new t({...this.#e,node:se.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new t({...this.#e,node:se.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new t({...this.#e,node:se.cloneWith(this.#e.node,{orReplace:!0})})}columns(e){return new t({...this.#e,node:se.cloneWith(this.#e.node,{columns:e.map(jr)})})}as(e){let r=e.withPlugin(new Cr).toOperationNode();return new t({...this.#e,node:se.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 yt=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 Wr=class t{#e;constructor(e){this.#e=i(e)}materialized(){return new t({...this.#e,node:yt.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new t({...this.#e,node:yt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:yt.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 Sr=i({is(t){return t.kind==="CreateTypeNode"},create(t){return i({kind:"CreateTypeNode",name:t})},cloneWithEnum(t,e){return i({...t,enum:ue.create(e.map(W.createImmediate))})}});var kr=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:Sr.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 Tr=i({is(t){return t.kind==="DropTypeNode"},create(t){return i({kind:"DropTypeNode",name:t})},cloneWith(t,e){return i({...t,...e})}});var Er=class t{#e;constructor(e){this.#e=i(e)}ifExists(){return new t({...this.#e,node:Tr.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 Ai(t){let e=".";if(t.includes(e)){let r=t.split(e).map(ln);if(r.length===2)return M.createWithSchema(r[0],r[1]);throw new Error(`invalid schemable identifier ${t}`)}else return M.create(t)}function ln(t){return t.trim()}var xt=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 Ar=class t{#e;constructor(e){this.#e=i(e)}concurrently(){return new t({...this.#e,node:xt.cloneWith(this.#e.node,{concurrently:!0,withNoData:!1})})}withData(){return new t({...this.#e,node:xt.cloneWith(this.#e.node,{withNoData:!1})})}withNoData(){return new t({...this.#e,node:xt.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 Ir=class t{#e;constructor(e){this.#e=e}createTable(e){return new wr({queryId:c(),executor:this.#e,node:P.create(l(e))})}dropTable(e){return new vr({queryId:c(),executor:this.#e,node:Ct.create(l(e))})}createIndex(e){return new yr({queryId:c(),executor:this.#e,node:_.create(e)})}dropIndex(e){return new Or({queryId:c(),executor:this.#e,node:be.create(e)})}createSchema(e){return new xr({queryId:c(),executor:this.#e,node:Bt.create(e)})}dropSchema(e){return new gr({queryId:c(),executor:this.#e,node:vt.create(e)})}alterTable(e){return new Nr({queryId:c(),executor:this.#e,node:m.create(l(e))})}createView(e){return new br({queryId:c(),executor:this.#e,node:se.create(e)})}refreshMaterializedView(e){return new Ar({queryId:c(),executor:this.#e,node:xt.create(e)})}dropView(e){return new Wr({queryId:c(),executor:this.#e,node:yt.create(e)})}createType(e){return new kr({queryId:c(),executor:this.#e,node:Sr.create(Ai(e))})}dropType(e){return new Er({queryId:c(),executor:this.#e,node:Tr.create(Ai(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 Z(e)))}};var Rr=class{ref(e){return new Pt(e)}table(e){return new cr(e)}};var qr=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 Dr=class t extends tt{#e;#t;#r;constructor(e,r,o,s=[]){super(s),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 Br(){return typeof performance<"u"&&C(performance.now)?performance.now():Date.now()}var Lr=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,s=this;e.executeQuery=async u=>{let p,I=Br();try{return await r.call(e,u)}catch(B){throw p=B,await s.#s(B,u,I),B}finally{p||await s.#u(u,I)}},e.streamQuery=async function*(u,p){let I,B=Br();try{for await(let L of o.call(e,u,p))yield L}catch(L){throw I=L,await s.#s(L,u,B),L}finally{I||await s.#u(u,B,!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 Br()-e}};var fn=()=>{},wt=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(fn);return this.#t=this.#r(e).finally(()=>{this.#t=void 0}),this.#t}async#r(e){return await e(this.#e)}};var Nn=["read only","read write"],yn=["read uncommitted","read committed","repeatable read","serializable","snapshot"];function Ii(t){if(t.accessMode&&!Nn.includes(t.accessMode))throw new Error(`invalid transaction access mode ${t.accessMode}`);if(t.isolationLevel&&!yn.includes(t.isolationLevel))throw new Error(`invalid transaction isolation level ${t.isolationLevel}`)}var nb=i(["query","error"]),Qr=class{#e;#t;constructor(e){C(e)?(this.#t=e,this.#e=i({query:!0,error:!0})):(this.#t=xn,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 xn(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 Lo(t){return R(t)&&C(t.compile)}Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");var Ot=class t extends rt{#e;constructor(e){let r,o;if(wn(e))r={executor:e.executor},o={...e};else{let s=e.dialect,u=s.createDriver(),p=s.createQueryCompiler(),I=s.createAdapter(),B=new Qr(e.log??[]),L=new Lr(u,B),Vo=new qr(L),zi=new Dr(p,I,Vo,e.plugins??[]);r={executor:zi},o={config:e,executor:zi,dialect:s,driver:L}}super(r),this.#e=i(o)}get schema(){return new Ir(this.#e.executor)}get dynamic(){return new Rr}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new ot({node:H.create(J(e)?void 0:U(e))})}get fn(){return dr()}transaction(){return new qi({...this.#e})}startTransaction(){return new Di({...this.#e})}connection(){return new Ri({...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 Z(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=c()){let o=Lo(e)?e.compile():e;return this.getExecutor().executeQuery(o,r)}async[Symbol.asyncDispose](){await this.destroy()}},Pr=class t extends Ot{#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 Z(e))})}withTables(){return new t({...this.#e})}};function wn(t){return R(t)&&R(t.config)&&R(t.driver)&&R(t.executor)&&R(t.dialect)}var Ri=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 wt(r)),s=new Ot({...this.#e,executor:o});return await e(s)})}},qi=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,...s}=this.#e,u={isolationLevel:r,accessMode:o};return Ii(u),this.#e.executor.provideConnection(async p=>{let I=this.#e.executor.withConnectionProvider(new wt(p)),B=new Pr({...s,executor:I});try{await this.#e.driver.beginTransaction(p,u);let L=await e(B);return await this.#e.driver.commitTransaction(p),L}catch(L){throw await this.#e.driver.rollbackTransaction(p),L}})}},Di=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,s={isolationLevel:e,accessMode:r};Ii(s);let u=await ir(this.#e.executor);return await this.#e.driver.beginTransaction(u.connection,s),new Bi({...o,connection:u,executor:this.#e.executor.withConnectionProvider(new wt(u.connection))})}},Bi=class t extends Pr{#e;#t;#r;constructor(e){let r={isCommitted:!1,isRolledBack:!1};e={...e,executor:new Li(e.executor,r)};let{connection:o,...s}=e;super(s),this.#e=i(e),this.#r=r;let u=c();this.#t=p=>e.executor.compileQuery(p,u)}get isCommitted(){return this.#r.isCommitted}get isRolledBack(){return this.#r.isRolledBack}commit(){return ze(this.#r),new Ve(async()=>{await this.#e.driver.commitTransaction(this.#e.connection.connection),this.#r.isCommitted=!0,this.#e.connection.release()})}rollback(){return ze(this.#r),new Ve(async()=>{await this.#e.driver.rollbackTransaction(this.#e.connection.connection),this.#r.isRolledBack=!0,this.#e.connection.release()})}savepoint(e){return ze(this.#r),new Ve(async()=>(await this.#e.driver.savepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}rollbackToSavepoint(e){return ze(this.#r),new Ve(async()=>(await this.#e.driver.rollbackToSavepoint?.(this.#e.connection.connection,e,this.#t),new t({...this.#e})))}releaseSavepoint(e){return ze(this.#r),new Ve(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 Z(e))})}withTables(){return new t({...this.#e})}},Ve=class{#e;constructor(e){this.#e=e}async execute(){return await this.#e()}};function ze(t){if(t.isCommitted)throw new Error("Transaction is already committed");if(t.isRolledBack)throw new Error("Transaction is already rolled back")}var Li=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 ze(this.#t),this.#e.executeQuery(e,r)}stream(e,r,o){return ze(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 Qi=class t{#e;constructor(e){this.#e=i(e)}get expressionType(){}get isRawBuilder(){return!0}as(e){return new Pi(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():Ie;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 ve(t){return new Qi(t)}var Pi=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 k.create(this.#e.toOperationNode(),w(this.#t)?this.#t.toOperationNode():d.create(this.#t))}};var Mr=Object.assign((t,...e)=>ve({queryId:c(),rawNode:v.create(t,e?.map(Qo)??[])}),{ref(t){return ve({queryId:c(),rawNode:v.createWithChild(G(t))})},val(t){return ve({queryId:c(),rawNode:v.createWithChild(y(t))})},value(t){return this.val(t)},table(t){return ve({queryId:c(),rawNode:v.createWithChild(l(t))})},id(...t){let e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",ve({queryId:c(),rawNode:v.create(e,t.map(d.create))})},lit(t){return ve({queryId:c(),rawNode:v.createWithChild(W.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return ve({queryId:c(),rawNode:v.createWithSql(t)})},join(t,e=Mr`, `){let r=new Array(Math.max(2*t.length-1,0)),o=e.toOperationNode();for(let s=0;s<t.length;++s)r[2*s]=Qo(t[s]),s!==t.length-1&&(r[2*s+1]=o);return ve({queryId:c(),rawNode:v.createWithChildren(r)})}});function Qo(t){return w(t)?t.toOperationNode():y(t)}var Fr=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 On=/'/g,Vr=class extends Fr{#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&&!de.is(this.parentNode)&&!b.is(this.parentNode)&&!P.is(this.parentNode)&&!se.is(this.parentNode)&&!ar.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 s=0;s<=o;s++)this.visitNode(e[s]),s<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(a.is),o=r!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!E.is(r)&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append(e.replace?"replace":"insert"),e.ignore&&(Se("`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&&!E.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(a.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(!g(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(vn[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 s=0;s<r.length;++s)this.append(r[s]),o.length>s&&this.visitNode(o[s])}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(a.is),o=r!==e;if(!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!E.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&&!E.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 "),De(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(gn[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 K.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(),s="";for(let u of e)s+=u,u===r?s+=r:u===o&&(s+=o);return s}sanitizeStringLiteral(e){return e.replace(On,"''")}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(g(e))this.appendStringLiteral(e);else if(Ce(e)||De(e))this.append(e.toString());else if(Ue(e))this.append("null");else if(Ui(e))this.appendImmediateValue(e.toISOString());else if(Je(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?Po[r.modifier]-Po[o.modifier]:1),i(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},gn=i({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),Po=i({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),vn=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 zr=class{async init(){}async acquireConnection(){return new Mi}async beginTransaction(){}async commitTransaction(){}async rollbackTransaction(){}async releaseConnection(){}async destroy(){}async releaseSavepoint(){}async rollbackToSavepoint(){}async savepoint(){}},Mi=class{async executeQuery(){return{rows:[]}}async*streamQuery(){}};var Ur=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}};var Cn=/"/g,Mo=class extends Vr{sanitizeIdentifier(e){return e.replace(Cn,'""')}};var bn=BigInt("3853314791062309107"),Fo=class extends Ur{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,r){await Mr`select pg_advisory_xact_lock(${Mr.lit(bn)})`.execute(e)}async releaseMigrationLock(e,r){}};function NE(t){return new Ot({dialect:{createAdapter:()=>new t.Adapter,createDriver:()=>new zr,createIntrospector:()=>null,createQueryCompiler:()=>new t.QueryCompiler},plugins:[...t.noParameters?[new Fi]:[]]})}var Fi=class{#e=new Vi;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}},Vi=class extends Ae{transformPrimitiveValueList(e){return ue.create(e.values.map(W.createImmediate))}transformValue(e){return{...super.transformValue(e),immediate:!0}}};function yE(t){let e=t.compile();return{parameters:e.parameters,sql:e.sql}}function xE(t,e){let r=Sn(t,e);return o=>o.where(s=>s.or(r.map(u=>s.and(u.map(([p,I])=>s(p,I===null?"is":"=",I))))))}function Wn(t,e){return Object.entries(Object.values(e).reduce((r,o)=>{let{isInPrimaryKey:s,name:u}=o;return s&&(r[u]=t[u]??null),r},{}))}function Sn(t,e){return t.map(r=>Wn(r,e))}export{Y as a,Mr as b,Mo as c,Fo as d,NE as e,yE as f,xE as g,Wn as h};
@@ -1,5 +1,5 @@
1
- import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-BNAA6jKD.cjs';
2
- import { E as Either } from '../../adapter-CKFCHq71.cjs';
1
+ import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-Y2PF42A4.cjs';
2
+ import { E as Either } from '../../adapter-B5pGfMai.cjs';
3
3
  import 'kysely';
4
4
 
5
5
  declare function deserializeRawResult(response: RawResponse, valueDeserializerFn?: (value: unknown, type: QueryIntrospectionBuiltinType, column: string) => unknown): DeserializedResponse;
@@ -1,5 +1,5 @@
1
- import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-BDPv5Gnt.js';
2
- import { E as Either } from '../../adapter-CKFCHq71.js';
1
+ import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-BU3C7SFp.js';
2
+ import { E as Either } from '../../adapter-B5pGfMai.js';
3
3
  import 'kysely';
4
4
 
5
5
  declare function deserializeRawResult(response: RawResponse, valueDeserializerFn?: (value: unknown, type: QueryIntrospectionBuiltinType, column: string) => unknown): DeserializedResponse;
@@ -1,5 +1,5 @@
1
- import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-BNAA6jKD.cjs';
2
- import { E as Either } from '../../adapter-CKFCHq71.cjs';
1
+ import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-Y2PF42A4.cjs';
2
+ import { E as Either } from '../../adapter-B5pGfMai.cjs';
3
3
  import 'kysely';
4
4
 
5
5
  interface StudioBFFClientProps {
@@ -1,5 +1,5 @@
1
- import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-BDPv5Gnt.js';
2
- import { E as Either } from '../../adapter-CKFCHq71.js';
1
+ import { E as Executor, Q as Query, a as ExecuteOptions, b as QueryResult } from '../../index-BU3C7SFp.js';
2
+ import { E as Either } from '../../adapter-B5pGfMai.js';
3
3
  import 'kysely';
4
4
 
5
5
  interface StudioBFFClientProps {
@@ -1,3 +1,3 @@
1
- export { A as Adapter, e as AdapterBaseOptions, d as AdapterDeleteDetails, j as AdapterDeleteOptions, q as AdapterDeleteResult, a as AdapterInsertDetails, h as AdapterInsertOptions, o as AdapterInsertResult, f as AdapterIntrospectOptions, b as AdapterQueryDetails, g as AdapterQueryOptions, n as AdapterQueryResult, c as AdapterUpdateDetails, i as AdapterUpdateOptions, p as AdapterUpdateResult, B as BigIntString, C as Column, D as DataType, k as DataTypeGroup, E as Either, I as Introspection, N as NumericString, S as Schema, m as SortDirection, l as SortOrderItem, T as Table } from '../adapter-CKFCHq71.cjs';
2
- export { a as ExecuteOptions, E as Executor, Q as Query, b as QueryResult, c as applyInferredRowFilters, i as inferRowFilter } from '../index-BNAA6jKD.cjs';
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-B5pGfMai.cjs';
2
+ export { a as ExecuteOptions, E as Executor, Q as Query, b as QueryResult, c as applyInferredRowFilters, i as inferRowFilter } from '../index-Y2PF42A4.cjs';
3
3
  import 'kysely';
@@ -1,3 +1,3 @@
1
- export { A as Adapter, e as AdapterBaseOptions, d as AdapterDeleteDetails, j as AdapterDeleteOptions, q as AdapterDeleteResult, a as AdapterInsertDetails, h as AdapterInsertOptions, o as AdapterInsertResult, f as AdapterIntrospectOptions, b as AdapterQueryDetails, g as AdapterQueryOptions, n as AdapterQueryResult, c as AdapterUpdateDetails, i as AdapterUpdateOptions, p as AdapterUpdateResult, B as BigIntString, C as Column, D as DataType, k as DataTypeGroup, E as Either, I as Introspection, N as NumericString, S as Schema, m as SortDirection, l as SortOrderItem, T as Table } from '../adapter-CKFCHq71.js';
2
- export { a as ExecuteOptions, E as Executor, Q as Query, b as QueryResult, c as applyInferredRowFilters, i as inferRowFilter } from '../index-BDPv5Gnt.js';
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-B5pGfMai.js';
2
+ export { a as ExecuteOptions, E as Executor, Q as Query, b as QueryResult, c as applyInferredRowFilters, i as inferRowFilter } from '../index-BU3C7SFp.js';
3
3
  import 'kysely';
@@ -1 +1 @@
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
+ import"../chunk-2ZJZX5I7.js";import{g as a,h as b}from"../chunk-T5XG6BXQ.js";import"../chunk-BMVJYUJW.js";export{a as applyInferredRowFilters,b as inferRowFilter};