@prisma/studio-core 0.0.0-dev.202504301134 → 0.0.0-dev.202504301315

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.
@@ -1 +1 @@
1
- "use strict";var Hr=Object.defineProperty;var $o=Object.getOwnPropertyDescriptor;var Ko=Object.getOwnPropertyNames;var jo=Object.prototype.hasOwnProperty;var Go=(t,e)=>{for(var i in e)Hr(t,i,{get:e[i],enumerable:!0})},Ho=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ko(e))!jo.call(t,s)&&s!==i&&Hr(t,s,{get:()=>e[s],enumerable:!(o=$o(e,s))||o.enumerable});return t};var Yo=t=>Ho(Hr({},"__esModule",{value:!0}),t);var Fn={};Go(Fn,{createPostgresAdapter:()=>Ln,getInsertQuery:()=>Qi,getSelectQuery:()=>Li,getTablesQuery:()=>Fi,getTimezoneQuery:()=>Mi,getUpdateQuery:()=>Pi,mockIntrospect:()=>Pn,mockSelectQuery:()=>En,mockTablesQuery:()=>zi,mockTimezoneQuery:()=>Vi});module.exports=Yo(Fn);var Ui={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"}};function j(t){return typeof t>"u"||t===void 0}function W(t){return typeof t=="string"}function ve(t){return typeof t=="number"}function Le(t){return typeof t=="boolean"}function je(t){return t===null}function Ji(t){return t instanceof Date}function Ge(t){return typeof t=="bigint"}function C(t){return typeof t=="function"}function M(t){return typeof t=="object"&&t!==null}function r(t){return Object.freeze(t)}function gt(t){return Q(t)?t:[t]}function Q(t){return Array.isArray(t)}function ae(t){return t}var f=r({is(t){return t.kind==="AlterTableNode"},create(t){return r({kind:"AlterTableNode",table:t})},cloneWithTableProps(t,e){return r({...t,...e})},cloneWithColumnAlteration(t,e){return r({...t,columnAlterations:t.columnAlterations?[...t.columnAlterations,e]:[e]})}});var c=r({is(t){return t.kind==="IdentifierNode"},create(t){return r({kind:"IdentifierNode",name:t})}});var ee=r({is(t){return t.kind==="CreateIndexNode"},create(t){return r({kind:"CreateIndexNode",name:c.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var _t=r({is(t){return t.kind==="CreateSchemaNode"},create(t,e){return r({kind:"CreateSchemaNode",schema:c.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var $i=["preserve rows","delete rows","drop"],L=r({is(t){return t.kind==="CreateTableNode"},create(t){return r({kind:"CreateTableNode",table:t,columns:r([])})},cloneWithColumn(t,e){return r({...t,columns:r([...t.columns,e])})},cloneWithConstraint(t,e){return r({...t,constraints:t.constraints?r([...t.constraints,e]):r([e])})},cloneWithFrontModifier(t,e){return r({...t,frontModifiers:t.frontModifiers?r([...t.frontModifiers,e]):r([e])})},cloneWithEndModifier(t,e){return r({...t,endModifiers:t.endModifiers?r([...t.endModifiers,e]):r([e])})},cloneWith(t,e){return r({...t,...e})}});var U=r({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return r({kind:"SchemableIdentifierNode",identifier:c.create(t)})},createWithSchema(t,e){return r({kind:"SchemableIdentifierNode",schema:c.create(t),identifier:c.create(e)})}});var Ce=r({is(t){return t.kind==="DropIndexNode"},create(t,e){return r({kind:"DropIndexNode",name:U.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var Ot=r({is(t){return t.kind==="DropSchemaNode"},create(t,e){return r({kind:"DropSchemaNode",schema:c.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var bt=r({is(t){return t.kind==="DropTableNode"},create(t,e){return r({kind:"DropTableNode",table:t,...e})},cloneWith(t,e){return r({...t,...e})}});var P=r({is(t){return t.kind==="AliasNode"},create(t,e){return r({kind:"AliasNode",node:t,alias:e})}});var X=r({is(t){return t.kind==="TableNode"},create(t){return r({kind:"TableNode",table:U.create(t)})},createWithSchema(t,e){return r({kind:"TableNode",table:U.createWithSchema(t,e)})}});function b(t){return M(t)&&C(t.toOperationNode)}function Ki(t){return M(t)&&"expressionType"in t&&b(t)}function ji(t){return M(t)&&"expression"in t&&W(t.alias)&&b(t)}var ue=r({is(t){return t.kind==="SelectModifierNode"},create(t,e){return r({kind:"SelectModifierNode",modifier:t,of:e})},createWithExpression(t){return r({kind:"SelectModifierNode",rawModifier:t})}});var J=r({is(t){return t.kind==="AndNode"},create(t,e){return r({kind:"AndNode",left:t,right:e})}});var te=r({is(t){return t.kind==="OrNode"},create(t,e){return r({kind:"OrNode",left:t,right:e})}});var er=r({is(t){return t.kind==="OnNode"},create(t){return r({kind:"OnNode",on:t})},cloneWithOperation(t,e,i){return r({...t,on:e==="And"?J.create(t.on,i):te.create(t.on,i)})}});var We=r({is(t){return t.kind==="JoinNode"},create(t,e){return r({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,i){return r({kind:"JoinNode",joinType:t,table:e,on:er.create(i)})},cloneWithOn(t,e){return r({...t,on:t.on?er.cloneWithOperation(t.on,"And",e):er.create(e)})}});var Te=r({is(t){return t.kind==="BinaryOperationNode"},create(t,e,i){return r({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:i})}});var Xo=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Zo=["+","-","*","/","%","^","&","|","#","<<",">>"],Gi=["->","->>"],_o=[...Xo,...Zo,"&&","||"],en=["exists","not exists"],tn=["not","-",...en],Hi=[..._o,...Gi,...tn,"between","between symmetric"],G=r({is(t){return t.kind==="OperatorNode"},create(t){return r({kind:"OperatorNode",operator:t})}});function Yr(t){return W(t)&&Gi.includes(t)}var m=r({is(t){return t.kind==="ColumnNode"},create(t){return r({kind:"ColumnNode",column:c.create(t)})}});var He=r({is(t){return t.kind==="SelectAllNode"},create(){return r({kind:"SelectAllNode"})}});var Ye=r({is(t){return t.kind==="ReferenceNode"},create(t,e){return r({kind:"ReferenceNode",table:e,column:t})},createSelectAll(t){return r({kind:"ReferenceNode",table:t,column:He.create()})}});var tr=class{#e;get dynamicReference(){return this.#e}get refType(){}constructor(e){this.#e=e}toOperationNode(){return Xr(this.#e)}};function rr(t){return M(t)&&b(t)&&W(t.dynamicReference)}var ir=r({is(t){return t.kind==="OrderByItemNode"},create(t,e){return r({kind:"OrderByItemNode",orderBy:t,direction:e})}});var T=r({is(t){return t.kind==="RawNode"},create(t,e){return r({kind:"RawNode",sqlFragments:r(t),parameters:r(e)})},createWithSql(t){return T.create([t],[])},createWithChild(t){return T.create(["",""],[t])},createWithChildren(t){return T.create(new Array(t.length+1).fill(""),t)}});function _r(t){return t==="asc"||t==="desc"}function qe(t){if(t.length===2)return[Zr(t[0],t[1])];if(t.length===1){let[e]=t;return Array.isArray(e)?e.map(i=>Zr(i)):[Zr(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Zr(t,e){let i=rn(t);if(ir.is(i)){if(e)throw new Error("Cannot specify direction twice!");return i}return ir.create(i,Yi(e))}function rn(t){if(Ne(t))return $(t);if(rr(t))return t.toOperationNode();let[e,i]=t.split(" ");if(i){if(!_r(i))throw new Error(`Invalid order by direction: ${i}`);return ir.create(H(e),Yi(i))}return H(t)}function Yi(t){if(t)return t==="asc"||t==="desc"?T.createWithSql(t):t.toOperationNode()}var Xe=r({is(t){return t.kind==="JSONReferenceNode"},create(t,e){return r({kind:"JSONReferenceNode",reference:t,traversal:e})},cloneWithTraversal(t,e){return r({...t,traversal:e})}});var or=r({is(t){return t.kind==="JSONOperatorChainNode"},create(t){return r({kind:"JSONOperatorChainNode",operator:t,values:r([])})},cloneWithValue(t,e){return r({...t,values:r([...t.values,e])})}});var Ie=r({is(t){return t.kind==="JSONPathNode"},create(t){return r({kind:"JSONPathNode",inOperator:t,pathLegs:r([])})},cloneWithLeg(t,e){return r({...t,pathLegs:r([...t.pathLegs,e])})}});function Xr(t){return W(t)?H(t):t.toOperationNode()}function ye(t){return Q(t)?t.map(e=>R(e)):[R(t)]}function R(t){return Ne(t)?$(t):Xr(t)}function Xi(t,e){let i=H(t);if(Yr(e))return Xe.create(i,or.create(G.create(e)));let o=e.slice(0,-1);if(Yr(o))return Xe.create(i,Ie.create(G.create(o)));throw new Error(`Invalid JSON operator: ${e}`)}function H(t){let e=".";if(!t.includes(e))return Ye.create(m.create(t));let i=t.split(e).map(ti);if(i.length===3)return on(i);if(i.length===2)return nn(i);throw new Error(`invalid column reference ${t}`)}function Zi(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(ti);return P.create(H(i),c.create(o))}else return H(t)}function ei(t){return m.create(t)}function Ze(t){let e=" ";if(t.includes(e)){let[i,o]=t.split(e).map(ti);if(!_r(o))throw new Error(`invalid order direction "${o}" next to "${i}"`);return qe([i,o])[0]}else return ei(t)}function on(t){let[e,i,o]=t;return Ye.create(m.create(o),X.createWithSchema(e,i))}function nn(t){let[e,i]=t;return Ye.create(m.create(i),X.create(e))}function ti(t){return t.trim()}var nr=r({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return r({kind:"PrimitiveValueListNode",values:r([...t])})}});var Se=r({is(t){return t.kind==="ValueListNode"},create(t){return r({kind:"ValueListNode",values:r(t)})}});var I=r({is(t){return t.kind==="ValueNode"},create(t){return r({kind:"ValueNode",value:t})},createImmediate(t){return r({kind:"ValueNode",value:t,immediate:!0})}});function _i(t){return Q(t)?sn(t):x(t)}function x(t){return Ne(t)?$(t):I.create(t)}function sr(t){return ve(t)||Le(t)||je(t)}function vt(t){if(!sr(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return I.createImmediate(t)}function sn(t){return t.some(Ne)?Se.create(t.map(e=>x(e))):nr.create(t)}var de=r({is(t){return t.kind==="ParensNode"},create(t){return r({kind:"ParensNode",node:t})}});function g(t){if(t.length===3)return ar(t[0],t[1],t[2]);if(t.length===1)return x(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function ar(t,e,i){return an(e)&&to(i)?Te.create(R(t),ri(e),I.createImmediate(i)):Te.create(R(t),ri(e),_i(i))}function k(t,e,i){return Te.create(R(t),ri(e),R(i))}function ii(t,e){return _e(Object.entries(t).filter(([,i])=>!j(i)).map(([i,o])=>ar(i,to(o)?"is":"=",o)),e)}function _e(t,e,i=!0){let o=e==="and"?J.create:te.create;if(t.length===0)return Te.create(I.createImmediate(1),G.create("="),I.createImmediate(e==="and"?1:0));let s=eo(t[0]);for(let a=1;a<t.length;++a)s=o(s,eo(t[a]));return t.length>1&&i?de.create(s):s}function an(t){return t==="is"||t==="is not"}function to(t){return je(t)||Le(t)}function ri(t){if(W(t)&&Hi.includes(t))return G.create(t);if(b(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function eo(t){return b(t)?t.toOperationNode():t}var we=r({is(t){return t.kind==="OrderByNode"},create(t){return r({kind:"OrderByNode",items:r([...t])})},cloneWithItems(t,e){return r({...t,items:r([...t.items,...e])})}});var oi=r({is(t){return t.kind==="PartitionByNode"},create(t){return r({kind:"PartitionByNode",items:r(t)})},cloneWithItems(t,e){return r({...t,items:r([...t.items,...e])})}});var Ct=r({is(t){return t.kind==="OverNode"},create(){return r({kind:"OverNode"})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?we.cloneWithItems(t.orderBy,e):we.create(e)})},cloneWithPartitionByItems(t,e){return r({...t,partitionBy:t.partitionBy?oi.cloneWithItems(t.partitionBy,e):oi.create(e)})}});var Pe=r({is(t){return t.kind==="FromNode"},create(t){return r({kind:"FromNode",froms:r(t)})},cloneWithFroms(t,e){return r({...t,froms:r([...t.froms,...e])})}});var ni=r({is(t){return t.kind==="GroupByNode"},create(t){return r({kind:"GroupByNode",items:r(t)})},cloneWithItems(t,e){return r({...t,items:r([...t.items,...e])})}});var si=r({is(t){return t.kind==="HavingNode"},create(t){return r({kind:"HavingNode",having:t})},cloneWithOperation(t,e,i){return r({...t,having:e==="And"?J.create(t.having,i):te.create(t.having,i)})}});var h=r({is(t){return t.kind==="SelectQueryNode"},create(t){return r({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return r({kind:"SelectQueryNode",from:Pe.create(t),...e&&{with:e}})},cloneWithSelections(t,e){return r({...t,selections:t.selections?r([...t.selections,...e]):r(e)})},cloneWithDistinctOn(t,e){return r({...t,distinctOn:t.distinctOn?r([...t.distinctOn,...e]):r(e)})},cloneWithFrontModifier(t,e){return r({...t,frontModifiers:t.frontModifiers?r([...t.frontModifiers,e]):r([e])})},cloneWithEndModifier(t,e){return r({...t,endModifiers:t.endModifiers?r([...t.endModifiers,e]):r([e])})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?we.cloneWithItems(t.orderBy,e):we.create(e)})},cloneWithGroupByItems(t,e){return r({...t,groupBy:t.groupBy?ni.cloneWithItems(t.groupBy,e):ni.create(e)})},cloneWithLimit(t,e){return r({...t,limit:e})},cloneWithOffset(t,e){return r({...t,offset:e})},cloneWithFetch(t,e){return r({...t,fetch:e})},cloneWithHaving(t,e){return r({...t,having:t.having?si.cloneWithOperation(t.having,"And",e):si.create(e)})},cloneWithSetOperations(t,e){return r({...t,setOperations:t.setOperations?r([...t.setOperations,...e]):r([...e])})},cloneWithoutSelections(t){return r({...t,selections:[]})},cloneWithoutLimit(t){return r({...t,limit:void 0})},cloneWithoutOffset(t){return r({...t,offset:void 0})},cloneWithoutOrderBy(t){return r({...t,orderBy:void 0})},cloneWithoutGroupBy(t){return r({...t,groupBy:void 0})}});function u(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var Wt=class t{#e;constructor(e){this.#e=r(e)}on(...e){return new t({...this.#e,joinNode:We.cloneWithOn(this.#e.joinNode,g(e))})}onRef(e,i,o){return new t({...this.#e,joinNode:We.cloneWithOn(this.#e.joinNode,k(e,i,o))})}onTrue(){return new t({...this.#e,joinNode:We.cloneWithOn(this.#e.joinNode,T.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return this.#e.joinNode}};u(Wt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");var ro=r({is(t){return t.kind==="PartitionByItemNode"},create(t){return r({kind:"PartitionByItemNode",partitionBy:t})}});function io(t){return ye(t).map(ro.create)}var Tt=class t{#e;constructor(e){this.#e=r(e)}orderBy(e,i){return new t({overNode:Ct.cloneWithOrderByItems(this.#e.overNode,qe([e,i]))})}partitionBy(e){return new t({overNode:Ct.cloneWithPartitionByItems(this.#e.overNode,io(e))})}$call(e){return e(this)}toOperationNode(){return this.#e.overNode}};u(Tt,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");var et=r({is(t){return t.kind==="SelectionNode"},create(t){return r({kind:"SelectionNode",selection:t})},createSelectAll(){return r({kind:"SelectionNode",selection:He.create()})},createSelectAllFromTable(t){return r({kind:"SelectionNode",selection:Ye.createSelectAll(t)})}});function D(t){return C(t)?D(t(re())):Q(t)?t.map(e=>oo(e)):[oo(t)]}function oo(t){return W(t)?et.create(Zi(t)):rr(t)?et.create(t.toOperationNode()):et.create(ur(t))}function F(t){return t?Array.isArray(t)?t.map(no):[no(t)]:[et.createSelectAll()]}function no(t){if(W(t))return et.createSelectAllFromTable(y(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}var so=r({is(t){return t.kind==="ValuesNode"},create(t){return r({kind:"ValuesNode",values:r(t)})}});var ao=r({is(t){return t.kind==="DefaultInsertValueNode"},create(){return r({kind:"DefaultInsertValueNode"})}});function dr(t){let e=C(t)?t(re()):t,i=Q(e)?e:r([e]);return un(i)}function un(t){let e=dn(t);return[r([...e.keys()].map(m.create)),so.create(t.map(i=>pn(i,e)))]}function dn(t){let e=new Map;for(let i of t){let o=Object.keys(i);for(let s of o)!e.has(s)&&i[s]!==void 0&&e.set(s,e.size)}return e}function pn(t,e){let i=Object.keys(t),o=Array.from({length:e.size}),s=!1;for(let p of i){let l=e.get(p);if(j(l))continue;let v=t[p];(j(v)||Ne(v))&&(s=!0),o[l]=v}if(i.length<e.size||s){let p=ao.create();return Se.create(o.map(l=>j(l)?p:x(l)))}return nr.create(o)}var A=r({is(t){return t.kind==="InsertQueryNode"},create(t,e,i){return r({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:i})},createWithoutInto(){return r({kind:"InsertQueryNode"})},cloneWith(t,e){return r({...t,...e})}});var pe=r({is(t){return t.kind==="UpdateQueryNode"},create(t,e){return r({kind:"UpdateQueryNode",table:t,...e&&{with:e}})},createWithoutTable(){return r({kind:"UpdateQueryNode"})},cloneWithFromItems(t,e){return r({...t,from:t.from?Pe.cloneWithFroms(t.from,e):Pe.create(e)})},cloneWithUpdates(t,e){return r({...t,updates:t.updates?r([...t.updates,...e]):e})},cloneWithLimit(t,e){return r({...t,limit:e})}});var ai=r({is(t){return t.kind==="UsingNode"},create(t){return r({kind:"UsingNode",tables:r(t)})},cloneWithTables(t,e){return r({...t,tables:r([...t.tables,...e])})}});var ce=r({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return r({kind:"DeleteQueryNode",from:Pe.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?we.cloneWithItems(t.orderBy,e):we.create(e)})},cloneWithoutOrderBy(t){return r({...t,orderBy:void 0})},cloneWithLimit(t,e){return r({...t,limit:e})},cloneWithoutLimit(t){return r({...t,limit:void 0})},cloneWithUsing(t,e){return r({...t,using:t.using!==void 0?ai.cloneWithTables(t.using,e):ai.create(e)})}});var B=r({is(t){return t.kind==="WhereNode"},create(t){return r({kind:"WhereNode",where:t})},cloneWithOperation(t,e,i){return r({...t,where:e==="And"?J.create(t.where,i):te.create(t.where,i)})}});var ui=r({is(t){return t.kind==="ReturningNode"},create(t){return r({kind:"ReturningNode",selections:r(t)})},cloneWithSelections(t,e){return r({...t,selections:t.selections?r([...t.selections,...e]):r(e)})}});var uo=r({is(t){return t.kind==="ExplainNode"},create(t,e){return r({kind:"ExplainNode",format:t,options:e})}});var xe=r({is(t){return t.kind==="WhenNode"},create(t){return r({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return r({...t,result:e})}});var E=r({is(t){return t.kind==="MergeQueryNode"},create(t,e){return r({kind:"MergeQueryNode",into:t,...e&&{with:e}})},cloneWithUsing(t,e){return r({...t,using:e})},cloneWithWhen(t,e){return r({...t,whens:t.whens?r([...t.whens,e]):r([e])})},cloneWithThen(t,e){return r({...t,whens:t.whens?r([...t.whens.slice(0,-1),xe.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}});var di=r({is(t){return t.kind==="OutputNode"},create(t){return r({kind:"OutputNode",selections:r(t)})},cloneWithSelections(t,e){return r({...t,selections:t.selections?r([...t.selections,...e]):r(e)})}});var d=r({is(t){return h.is(t)||A.is(t)||pe.is(t)||ce.is(t)||E.is(t)},cloneWithWhere(t,e){return r({...t,where:t.where?B.cloneWithOperation(t.where,"And",e):B.create(e)})},cloneWithJoin(t,e){return r({...t,joins:t.joins?r([...t.joins,e]):r([e])})},cloneWithReturning(t,e){return r({...t,returning:t.returning?ui.cloneWithSelections(t.returning,e):ui.create(e)})},cloneWithoutReturning(t){return r({...t,returning:void 0})},cloneWithoutWhere(t){return r({...t,where:void 0})},cloneWithExplain(t,e,i){return r({...t,explain:uo.create(e,i?.toOperationNode())})},cloneWithTop(t,e){return r({...t,top:e})},cloneWithOutput(t,e){return r({...t,output:t.output?di.cloneWithSelections(t.output,e):di.create(e)})}});var pi=r({is(t){return t.kind==="ColumnUpdateNode"},create(t,e){return r({kind:"ColumnUpdateNode",column:t,value:e})}});function po(...t){return t.length===2?[pi.create(R(t[0]),x(t[1]))]:qt(t[0])}function qt(t){let e=C(t)?t(re()):t;return Object.entries(e).filter(([i,o])=>o!==void 0).map(([i,o])=>pi.create(m.create(i),x(o)))}var co=r({is(t){return t.kind==="OnDuplicateKeyNode"},create(t){return r({kind:"OnDuplicateKeyNode",updates:t})}});var pr=class{insertId;numInsertedOrUpdatedRows;constructor(e,i){this.insertId=e,this.numInsertedOrUpdatedRows=i}};var Z=class extends Error{node;constructor(e){super("no result"),this.node=e}};function he(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}var V=r({is(t){return t.kind==="OnConflictNode"},create(){return r({kind:"OnConflictNode"})},cloneWith(t,e){return r({...t,...e})},cloneWithIndexWhere(t,e){return r({...t,indexWhere:t.indexWhere?B.cloneWithOperation(t.indexWhere,"And",e):B.create(e)})},cloneWithIndexOrWhere(t,e){return r({...t,indexWhere:t.indexWhere?B.cloneWithOperation(t.indexWhere,"Or",e):B.create(e)})},cloneWithUpdateWhere(t,e){return r({...t,updateWhere:t.updateWhere?B.cloneWithOperation(t.updateWhere,"And",e):B.create(e)})},cloneWithUpdateOrWhere(t,e){return r({...t,updateWhere:t.updateWhere?B.cloneWithOperation(t.updateWhere,"Or",e):B.create(e)})},cloneWithoutIndexWhere(t){return r({...t,indexWhere:void 0})},cloneWithoutUpdateWhere(t){return r({...t,updateWhere:void 0})}});var It=class t{#e;constructor(e){this.#e=r(e)}column(e){let i=m.create(e);return new t({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?r([...this.#e.onConflictNode.columns,i]):r([i])})})}columns(e){let i=e.map(m.create);return new t({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?r([...this.#e.onConflictNode.columns,...i]):r(i)})})}constraint(e){return new t({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{constraint:c.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,g(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:V.cloneWithIndexWhere(this.#e.onConflictNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:V.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new cr({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(e){return new hr({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{updates:qt(e)})})}$call(e){return e(this)}};u(It,"don't await OnConflictBuilder instances.");var cr=class{#e;constructor(e){this.#e=r(e)}toOperationNode(){return this.#e.onConflictNode}};u(cr,"don't await OnConflictDoNothingBuilder instances.");var hr=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,onConflictNode:V.cloneWithUpdateWhere(this.#e.onConflictNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:V.cloneWithUpdateWhere(this.#e.onConflictNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:V.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(e){return e(this)}toOperationNode(){return this.#e.onConflictNode}};u(hr,"don't await OnConflictUpdateBuilder instances.");var ho=r({is(t){return t.kind==="TopNode"},create(t,e){return r({kind:"TopNode",expression:t,modifiers:e})}});function ie(t,e){if(!ve(t)&&!Ge(t))throw new Error(`Invalid top expression: ${t}`);if(!j(e)&&!cn(e))throw new Error(`Invalid top modifiers: ${e}`);return ho.create(t,e)}function cn(t){return t==="percent"||t==="with ties"||t==="percent with ties"}var tt=class t{#e;constructor(e){this.#e=r(e)}values(e){let[i,o]=dr(e);return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{columns:i,values:o})})}columns(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{columns:r(e.map(m.create))})})}expression(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{values:$(e)})})}defaultValues(){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{defaultValues:!0})})}ignore(){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{ignore:!0})})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}onConflict(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{onConflict:e(new It({onConflictNode:V.create()})).toOperationNode()})})}onDuplicateKeyUpdate(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{onDuplicateKey:co.create(qt(e))})})}returning(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,D(e))})}returningAll(){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,F())})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,D(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,F(e))})}clearReturning(){return new t({...this.#e,queryNode:d.cloneWithoutReturning(this.#e.queryNode)})}$call(e){return e(this)}$if(e,i){return e?i(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(),i=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?i.rows:[new pr(i.insertId,i.numAffectedRows??i.numUpdatedOrDeletedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(tt,"don't await InsertQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var mr=class{numDeletedRows;constructor(e){this.numDeletedRows=e}};var rt=r({is(t){return t.kind==="LimitNode"},create(t){return r({kind:"LimitNode",limit:t})}});var St=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:d.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}using(e){return new t({...this.#e,queryNode:ce.cloneWithUsing(this.#e.queryNode,me(e))})}innerJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("FullJoin",e))})}returning(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,D(e))})}returningAll(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,F(e))})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,D(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,F(e))})}clearReturning(){return new t({...this.#e,queryNode:d.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:ce.cloneWithoutLimit(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:ce.cloneWithoutOrderBy(this.#e.queryNode)})}orderBy(e,i){return new t({...this.#e,queryNode:ce.cloneWithOrderByItems(this.#e.queryNode,qe([e,i]))})}limit(e){return new t({...this.#e,queryNode:ce.cloneWithLimit(this.#e.queryNode,rt.create(x(e)))})}$call(e){return e(this)}$if(e,i){return e?i(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(),i=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?i.rows:[new mr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(St,"don't await DeleteQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var lr=class{numUpdatedRows;numChangedRows;constructor(e,i){this.numUpdatedRows=e,this.numChangedRows=i}};var Fe=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:d.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}from(e){return new t({...this.#e,queryNode:pe.cloneWithFromItems(this.#e.queryNode,me(e))})}innerJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("FullJoin",e))})}limit(e){return new t({...this.#e,queryNode:pe.cloneWithLimit(this.#e.queryNode,rt.create(x(e)))})}set(...e){return new t({...this.#e,queryNode:pe.cloneWithUpdates(this.#e.queryNode,po(...e))})}returning(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,D(e))})}returningAll(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,F(e))})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,D(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,F(e))})}clearReturning(){return new t({...this.#e,queryNode:d.cloneWithoutReturning(this.#e.queryNode)})}$call(e){return e(this)}$if(e,i){return e?i(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(),i=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?i.rows:[new lr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0),i.numChangedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(Fe,"don't await UpdateQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var ci=r({is(t){return t.kind==="CommonTableExpressionNameNode"},create(t,e){return r({kind:"CommonTableExpressionNameNode",table:X.create(t),columns:e?r(e.map(m.create)):void 0})}});var it=r({is(t){return t.kind==="CommonTableExpressionNode"},create(t,e){return r({kind:"CommonTableExpressionNode",name:t,expression:e})},cloneWith(t,e){return r({...t,...e})}});var kt=class t{#e;constructor(e){this.#e=r(e)}materialized(){return new t({...this.#e,node:it.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new t({...this.#e,node:it.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}};u(kt,"don't await CTEBuilder instances. They are never executed directly and are always just a part of a query.");function hi(t,e){let i=e(lo()).toOperationNode();return C(t)?t(hn(i)).toOperationNode():it.create(mo(t),i)}function hn(t){return e=>new kt({node:it.create(mo(e),t)})}function mo(t){if(t.includes("(")){let e=t.split(/[\(\)]/),i=e[0],o=e[1].split(",").map(s=>s.trim());return ci.create(i,o)}else return ci.create(t)}var At=r({is(t){return t.kind==="WithNode"},create(t,e){return r({kind:"WithNode",expressions:r([t]),...e})},cloneWithExpression(t,e){return r({...t,expressions:r([...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 i=0;i<t;++i)e+=mn();return e}function mn(){return fo[~~(Math.random()*fo.length)]}function N(){return new mi}var mi=class{#e;get queryId(){return this.#e===void 0&&(this.#e=No(8)),this.#e}};var ke=class{nodeStack=[];#e=r({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),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.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)});transformNode(e){if(!e)return e;this.nodeStack.push(e);let i=this.transformNodeImpl(e);return this.nodeStack.pop(),r(i)}transformNodeImpl(e){return this.#e[e.kind](e)}transformNodeList(e){return e&&r(e.map(i=>this.transformNode(i)))}transformSelectQuery(e){return{kind:"SelectQueryNode",from:this.transformNode(e.from),selections:this.transformNodeList(e.selections),distinctOn:this.transformNodeList(e.distinctOn),joins:this.transformNodeList(e.joins),groupBy:this.transformNode(e.groupBy),orderBy:this.transformNode(e.orderBy),where:this.transformNode(e.where),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),limit:this.transformNode(e.limit),offset:this.transformNode(e.offset),with:this.transformNode(e.with),having:this.transformNode(e.having),explain:this.transformNode(e.explain),setOperations:this.transformNodeList(e.setOperations),fetch:this.transformNode(e.fetch),top:this.transformNode(e.top)}}transformSelection(e){return{kind:"SelectionNode",selection:this.transformNode(e.selection)}}transformColumn(e){return{kind:"ColumnNode",column:this.transformNode(e.column)}}transformAlias(e){return{kind:"AliasNode",node:this.transformNode(e.node),alias:this.transformNode(e.alias)}}transformTable(e){return{kind:"TableNode",table:this.transformNode(e.table)}}transformFrom(e){return{kind:"FromNode",froms:this.transformNodeList(e.froms)}}transformReference(e){return{kind:"ReferenceNode",column:this.transformNode(e.column),table:this.transformNode(e.table)}}transformAnd(e){return{kind:"AndNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformOr(e){return{kind:"OrNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformValueList(e){return{kind:"ValueListNode",values:this.transformNodeList(e.values)}}transformParens(e){return{kind:"ParensNode",node:this.transformNode(e.node)}}transformJoin(e){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table),on:this.transformNode(e.on)}}transformRaw(e){return{kind:"RawNode",sqlFragments:r([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),with:this.transformNode(e.with),ignore:e.ignore,replace:e.replace,explain:this.transformNode(e.explain),defaultValues:e.defaultValues,top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformValues(e){return{kind:"ValuesNode",values:this.transformNodeList(e.values)}}transformDeleteQuery(e){return{kind:"DeleteQueryNode",from:this.transformNode(e.from),using:this.transformNode(e.using),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),returning:this.transformNode(e.returning),with:this.transformNode(e.with),orderBy:this.transformNode(e.orderBy),limit:this.transformNode(e.limit),explain:this.transformNode(e.explain),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformReturning(e){return{kind:"ReturningNode",selections:this.transformNodeList(e.selections)}}transformCreateTable(e){return{kind:"CreateTableNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),constraints:this.transformNodeList(e.constraints),temporary:e.temporary,ifNotExists:e.ifNotExists,onCommit:e.onCommit,frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),selectQuery:this.transformNode(e.selectQuery)}}transformColumnDefinition(e){return{kind:"ColumnDefinitionNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),references:this.transformNode(e.references),primaryKey:e.primaryKey,autoIncrement:e.autoIncrement,unique:e.unique,notNull:e.notNull,unsigned:e.unsigned,defaultTo:this.transformNode(e.defaultTo),check:this.transformNode(e.check),generated:this.transformNode(e.generated),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),nullsNotDistinct:e.nullsNotDistinct,identity:e.identity,ifNotExists:e.ifNotExists}}transformAddColumn(e){return{kind:"AddColumnNode",column:this.transformNode(e.column)}}transformDropTable(e){return{kind:"DropTableNode",table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformOrderBy(e){return{kind:"OrderByNode",items:this.transformNodeList(e.items)}}transformOrderByItem(e){return{kind:"OrderByItemNode",orderBy:this.transformNode(e.orderBy),direction:this.transformNode(e.direction)}}transformGroupBy(e){return{kind:"GroupByNode",items:this.transformNodeList(e.items)}}transformGroupByItem(e){return{kind:"GroupByItemNode",groupBy:this.transformNode(e.groupBy)}}transformUpdateQuery(e){return{kind:"UpdateQueryNode",table:this.transformNode(e.table),from:this.transformNode(e.from),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),updates:this.transformNodeList(e.updates),returning:this.transformNode(e.returning),with:this.transformNode(e.with),explain:this.transformNode(e.explain),limit:this.transformNode(e.limit),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformColumnUpdate(e){return{kind:"ColumnUpdateNode",column:this.transformNode(e.column),value:this.transformNode(e.value)}}transformLimit(e){return{kind:"LimitNode",limit:this.transformNode(e.limit)}}transformOffset(e){return{kind:"OffsetNode",offset:this.transformNode(e.offset)}}transformOnConflict(e){return{kind:"OnConflictNode",columns:this.transformNodeList(e.columns),constraint:this.transformNode(e.constraint),indexExpression:this.transformNode(e.indexExpression),indexWhere:this.transformNode(e.indexWhere),updates:this.transformNodeList(e.updates),updateWhere:this.transformNode(e.updateWhere),doNothing:e.doNothing}}transformOnDuplicateKey(e){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(e.updates)}}transformCreateIndex(e){return{kind:"CreateIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists,where:this.transformNode(e.where),nullsNotDistinct:e.nullsNotDistinct}}transformList(e){return{kind:"ListNode",items:this.transformNodeList(e.items)}}transformDropIndex(e){return{kind:"DropIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformPrimaryKeyConstraint(e){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name)}}transformUniqueConstraint(e){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name),nullsNotDistinct:e.nullsNotDistinct}}transformForeignKeyConstraint(e){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(e.columns),references:this.transformNode(e.references),name:this.transformNode(e.name),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformSetOperation(e){return{kind:"SetOperationNode",operator:e.operator,expression:this.transformNode(e.expression),all:e.all}}transformReferences(e){return{kind:"ReferencesNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformCheckConstraint(e){return{kind:"CheckConstraintNode",expression:this.transformNode(e.expression),name:this.transformNode(e.name)}}transformWith(e){return{kind:"WithNode",expressions:this.transformNodeList(e.expressions),recursive:e.recursive}}transformCommonTableExpression(e){return{kind:"CommonTableExpressionNode",name:this.transformNode(e.name),materialized:e.materialized,expression:this.transformNode(e.expression)}}transformCommonTableExpressionName(e){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns)}}transformHaving(e){return{kind:"HavingNode",having:this.transformNode(e.having)}}transformCreateSchema(e){return{kind:"CreateSchemaNode",schema:this.transformNode(e.schema),ifNotExists:e.ifNotExists}}transformDropSchema(e){return{kind:"DropSchemaNode",schema:this.transformNode(e.schema),ifExists:e.ifExists,cascade:e.cascade}}transformAlterTable(e){return{kind:"AlterTableNode",table:this.transformNode(e.table),renameTo:this.transformNode(e.renameTo),setSchema:this.transformNode(e.setSchema),columnAlterations:this.transformNodeList(e.columnAlterations),addConstraint:this.transformNode(e.addConstraint),dropConstraint:this.transformNode(e.dropConstraint),addIndex:this.transformNode(e.addIndex),dropIndex:this.transformNode(e.dropIndex)}}transformDropColumn(e){return{kind:"DropColumnNode",column:this.transformNode(e.column)}}transformRenameColumn(e){return{kind:"RenameColumnNode",column:this.transformNode(e.column),renameTo:this.transformNode(e.renameTo)}}transformAlterColumn(e){return{kind:"AlterColumnNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),dataTypeExpression:this.transformNode(e.dataTypeExpression),setDefault:this.transformNode(e.setDefault),dropDefault:e.dropDefault,setNotNull:e.setNotNull,dropNotNull:e.dropNotNull}}transformModifyColumn(e){return{kind:"ModifyColumnNode",column:this.transformNode(e.column)}}transformAddConstraint(e){return{kind:"AddConstraintNode",constraint:this.transformNode(e.constraint)}}transformDropConstraint(e){return{kind:"DropConstraintNode",constraintName:this.transformNode(e.constraintName),ifExists:e.ifExists,modifier:e.modifier}}transformCreateView(e){return{kind:"CreateViewNode",name:this.transformNode(e.name),temporary:e.temporary,orReplace:e.orReplace,ifNotExists:e.ifNotExists,materialized:e.materialized,columns:this.transformNodeList(e.columns),as:this.transformNode(e.as)}}transformDropView(e){return{kind:"DropViewNode",name:this.transformNode(e.name),ifExists:e.ifExists,materialized:e.materialized,cascade:e.cascade}}transformGenerated(e){return{kind:"GeneratedNode",byDefault:e.byDefault,always:e.always,identity:e.identity,stored:e.stored,expression:this.transformNode(e.expression)}}transformDefaultValue(e){return{kind:"DefaultValueNode",defaultValue:this.transformNode(e.defaultValue)}}transformOn(e){return{kind:"OnNode",on:this.transformNode(e.on)}}transformSelectModifier(e){return{kind:"SelectModifierNode",modifier:e.modifier,rawModifier:this.transformNode(e.rawModifier),of:this.transformNodeList(e.of)}}transformCreateType(e){return{kind:"CreateTypeNode",name:this.transformNode(e.name),enum:this.transformNode(e.enum)}}transformDropType(e){return{kind:"DropTypeNode",name:this.transformNode(e.name),ifExists:e.ifExists}}transformExplain(e){return{kind:"ExplainNode",format:e.format,options:this.transformNode(e.options)}}transformSchemableIdentifier(e){return{kind:"SchemableIdentifierNode",schema:this.transformNode(e.schema),identifier:this.transformNode(e.identifier)}}transformAggregateFunction(e){return{kind:"AggregateFunctionNode",aggregated:this.transformNodeList(e.aggregated),distinct:e.distinct,filter:this.transformNode(e.filter),func:e.func,over:this.transformNode(e.over)}}transformOver(e){return{kind:"OverNode",orderBy:this.transformNode(e.orderBy),partitionBy:this.transformNode(e.partitionBy)}}transformPartitionBy(e){return{kind:"PartitionByNode",items:this.transformNodeList(e.items)}}transformPartitionByItem(e){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(e.partitionBy)}}transformBinaryOperation(e){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(e.leftOperand),operator:this.transformNode(e.operator),rightOperand:this.transformNode(e.rightOperand)}}transformUnaryOperation(e){return{kind:"UnaryOperationNode",operator:this.transformNode(e.operator),operand:this.transformNode(e.operand)}}transformUsing(e){return{kind:"UsingNode",tables:this.transformNodeList(e.tables)}}transformFunction(e){return{kind:"FunctionNode",func:e.func,arguments:this.transformNodeList(e.arguments)}}transformCase(e){return{kind:"CaseNode",value:this.transformNode(e.value),when:this.transformNodeList(e.when),else:this.transformNode(e.else),isStatement:e.isStatement}}transformWhen(e){return{kind:"WhenNode",condition:this.transformNode(e.condition),result:this.transformNode(e.result)}}transformJSONReference(e){return{kind:"JSONReferenceNode",reference:this.transformNode(e.reference),traversal:this.transformNode(e.traversal)}}transformJSONPath(e){return{kind:"JSONPathNode",inOperator:this.transformNode(e.inOperator),pathLegs:this.transformNodeList(e.pathLegs)}}transformJSONPathLeg(e){return{kind:"JSONPathLegNode",type:e.type,value:e.value}}transformJSONOperatorChain(e){return{kind:"JSONOperatorChainNode",operator:this.transformNode(e.operator),values:this.transformNodeList(e.values)}}transformTuple(e){return{kind:"TupleNode",values:this.transformNodeList(e.values)}}transformMergeQuery(e){return{kind:"MergeQueryNode",into:this.transformNode(e.into),using:this.transformNode(e.using),whens:this.transformNodeList(e.whens),with:this.transformNode(e.with),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformMatched(e){return{kind:"MatchedNode",not:e.not,bySource:e.bySource}}transformAddIndex(e){return{kind:"AddIndexNode",name:this.transformNode(e.name),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists}}transformCast(e){return{kind:"CastNode",expression:this.transformNode(e.expression),dataType:this.transformNode(e.dataType)}}transformFetch(e){return{kind:"FetchNode",rowCount:this.transformNode(e.rowCount),modifier:e.modifier}}transformTop(e){return{kind:"TopNode",expression:e.expression,modifiers:e.modifiers}}transformOutput(e){return{kind:"OutputNode",selections:this.transformNodeList(e.selections)}}transformDataType(e){return e}transformSelectAll(e){return e}transformIdentifier(e){return e}transformValue(e){return e}transformPrimitiveValueList(e){return e}transformOperator(e){return e}transformDefaultInsertValue(e){return e}};var ln=r({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0}),fr=class extends ke{#e;#t=new Set;#r=new Set;constructor(e){super(),this.#e=e}transformNodeImpl(e){if(!this.#i(e))return super.transformNodeImpl(e);let i=this.#s(e);for(let a of i)this.#r.add(a);let o=this.#o(e);for(let a of o)this.#t.add(a);let s=super.transformNodeImpl(e);for(let a of o)this.#t.delete(a);for(let a of i)this.#r.delete(a);return s}transformSchemableIdentifier(e){let i=super.transformSchemableIdentifier(e);return i.schema||!this.#t.has(e.identifier.name)?i:{...i,schema:c.create(this.#e)}}transformReferences(e){let i=super.transformReferences(e);return i.table.table.schema?i:{...i,table:X.createWithSchema(this.#e,i.table.table.identifier.name)}}#i(e){return e.kind in ln}#o(e){let i=new Set;if("name"in e&&e.name&&U.is(e.name)&&this.#a(e.name,i),"from"in e&&e.from)for(let o of e.from.froms)this.#n(o,i);if("into"in e&&e.into&&this.#n(e.into,i),"table"in e&&e.table&&this.#n(e.table,i),"joins"in e&&e.joins)for(let o of e.joins)this.#n(o.table,i);return"using"in e&&e.using&&this.#n(e.using,i),i}#s(e){let i=new Set;return"with"in e&&e.with&&this.#u(e.with,i),i}#n(e,i){let o=X.is(e)?e:P.is(e)&&X.is(e.node)?e.node:null;o&&this.#a(o.table,i)}#a(e,i){let o=e.identifier.name;!this.#t.has(o)&&!this.#r.has(o)&&i.add(o)}#u(e,i){for(let o of e.expressions){let s=o.name.table.table.identifier.name;this.#r.has(s)||i.add(s)}}};var oe=class{#e;constructor(e){this.#e=new fr(e)}transformQuery(e){return this.#e.transformNode(e.node)}async transformResult(e){return e.result}};var yo=r({is(t){return t.kind==="MatchedNode"},create(t,e=!1){return r({kind:"MatchedNode",not:t,bySource:e})}});function li(t,e,i){return xe.create(_e([yo.create(!t.isMatched,t.bySource),...e&&e.length>0?[e.length===3&&i?k(e[0],e[1],e[2]):g(e)]:[]],"and",!1))}function ot(t){return W(t)?T.create([t],[]):b(t)?t.toOperationNode():t}var Et=class{#e;#t;#r;constructor(){this.#e=new Promise((e,i)=>{this.#r=i,this.#t=e})}get promise(){return this.#e}resolve=e=>{this.#t&&this.#t(e)};reject=e=>{this.#r&&this.#r(e)}};var wo=new Set;function xo(t){wo.has(t)||(wo.add(t),console.log(t))}var fn=r([]),nt=class{#e;constructor(e=fn){this.#e=e}get plugins(){return this.#e}transformQuery(e,i){for(let o of this.#e){let s=o.transformQuery({node:e,queryId:i});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,i){return await this.provideConnection(async o=>{let s=await o.executeQuery(e),a=await this.#t(s,i);return Nn(s,a),a})}async*stream(e,i,o){let s=new Et,a=new Et;this.provideConnection(async l=>(s.resolve(l),await a.promise)).catch(l=>s.reject(l));let p=await s.promise;try{for await(let l of p.streamQuery(e,i))yield await this.#t(l,o)}finally{a.resolve()}}async#t(e,i){for(let o of this.#e)e=await o.transformResult({result:e,queryId:i});return e}};function Nn(t,e){let{numAffectedRows:i}=t;i===void 0&&t.numUpdatedOrDeletedRows===void 0||i!==void 0&&e.numAffectedRows!==void 0||xo("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}var fi=class t extends nt{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([])}},Ae=new fi;var Nr=class{numChangedRows;constructor(e){this.numChangedRows=e}};var Rt=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}using(...e){return new ge({...this.#e,queryNode:E.cloneWithUsing(this.#e.queryNode,S("Using",e))})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,D(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,F(e))})}};u(Rt,"don't await MergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var ge=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}whenMatched(){return this.#t([])}whenMatchedAnd(...e){return this.#t(e)}whenMatchedAndRef(e,i,o){return this.#t([e,i,o],!0)}#t(e,i){return new Dt({...this.#e,queryNode:E.cloneWithWhen(this.#e.queryNode,li({isMatched:!0},e,i))})}whenNotMatched(){return this.#r([])}whenNotMatchedAnd(...e){return this.#r(e)}whenNotMatchedAndRef(e,i,o){return this.#r([e,i,o],!0)}whenNotMatchedBySource(){return this.#r([],!1,!0)}whenNotMatchedBySourceAnd(...e){return this.#r(e,!1,!0)}whenNotMatchedBySourceAndRef(e,i,o){return this.#r([e,i,o],!0,!0)}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,D(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,F(e))})}#r(e,i=!1,o=!1){let s={...this.#e,queryNode:E.cloneWithWhen(this.#e.queryNode,li({isMatched:!1,bySource:o},e,i))},a=o?Dt:yr;return new a(s)}$call(e){return e(this)}$if(e,i){return e?i(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(),i=await this.#e.executor.executeQuery(e,this.#e.queryId);return e.query.output&&this.#e.executor.adapter.supportsOutput?i.rows:[new Nr(i.numAffectedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}};u(ge,"don't await WheneableMergeQueryBuilder instances directly. To execute the query you need to call `execute`.");var Dt=class{#e;constructor(e){this.#e=r(e)}thenDelete(){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,ot("delete"))})}thenDoNothing(){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,ot("do nothing"))})}thenUpdate(e){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,ot(e(new Fe({queryId:this.#e.queryId,executor:Ae,queryNode:pe.createWithoutTable()}))))})}thenUpdateSet(...e){return this.thenUpdate(i=>i.set(...e))}};u(Dt,"don't await MatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var yr=class{#e;constructor(e){this.#e=r(e)}thenDoNothing(){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,ot("do nothing"))})}thenInsertValues(e){let[i,o]=dr(e);return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,ot(A.cloneWith(A.createWithoutInto(),{columns:i,values:o})))})}};u(yr,"don't await NotMatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var st=class t{#e;constructor(e){this.#e=r(e)}selectFrom(e){return Bt({queryId:N(),executor:this.#e.executor,queryNode:h.createFrom(me(e),this.#e.withNode)})}selectNoFrom(e){return Bt({queryId:N(),executor:this.#e.executor,queryNode:h.cloneWithSelections(h.create(this.#e.withNode),D(e))})}insertInto(e){return new tt({queryId:N(),executor:this.#e.executor,queryNode:A.create(y(e),this.#e.withNode)})}replaceInto(e){return new tt({queryId:N(),executor:this.#e.executor,queryNode:A.create(y(e),this.#e.withNode,!0)})}deleteFrom(e){return new St({queryId:N(),executor:this.#e.executor,queryNode:ce.create(me(e),this.#e.withNode)})}updateTable(e){return new Fe({queryId:N(),executor:this.#e.executor,queryNode:pe.create(Ee(e),this.#e.withNode)})}mergeInto(e){return new Rt({queryId:N(),executor:this.#e.executor,queryNode:E.create(Ni(e),this.#e.withNode)})}with(e,i){let o=hi(e,i);return new t({...this.#e,withNode:this.#e.withNode?At.cloneWithExpression(this.#e.withNode,o):At.create(o)})}withRecursive(e,i){let o=hi(e,i);return new t({...this.#e,withNode:this.#e.withNode?At.cloneWithExpression(this.#e.withNode,o):At.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 oe(e))})}};function lo(){return new st({executor:Ae})}function go(t,e){return new Wt({joinNode:We.create(t,Ee(e))})}function Oo(){return new Tt({overNode:Ct.create()})}function S(t,e){if(e.length===3)return wn(t,e[0],e[1],e[2]);if(e.length===2)return yn(t,e[0],e[1]);throw new Error("not implemented")}function yn(t,e,i){return i(go(t,e)).toOperationNode()}function wn(t,e,i,o){return We.createWithOn(t,Ee(e),k(i,"=",o))}var bo=r({is(t){return t.kind==="OffsetNode"},create(t){return r({kind:"OffsetNode",offset:t})}});var vo=r({is(t){return t.kind==="GroupByItemNode"},create(t){return r({kind:"GroupByItemNode",groupBy:t})}});function Co(t){return t=C(t)?t(re()):t,ye(t).map(vo.create)}var wr=r({is(t){return t.kind==="SetOperationNode"},create(t,e,i){return r({kind:"SetOperationNode",operator:t,expression:e,all:i})}});function ze(t,e,i){return C(e)&&(e=e(xr())),Q(e)||(e=[e]),e.map(o=>wr.create(t,$(o),i))}var w=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new Qt(this,e)}or(...e){return new yi(te.create(this.#e,g(e)))}and(...e){return new wi(J.create(this.#e,g(e)))}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},Qt=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return P.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():c.create(this.#t))}},yi=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new Qt(this,e)}or(...e){return new t(te.create(this.#e,g(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return de.create(this.#e)}},wi=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new Qt(this,e)}and(...e){return new t(J.create(this.#e,g(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return de.create(this.#e)}};var Wo={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:I.create(t),modifier:e}}};function To(t,e){if(!ve(t)&&!Ge(t))throw new Error(`Invalid fetch row count: ${t}`);if(!xn(e))throw new Error(`Invalid fetch modifier: ${e}`);return Wo.create(t,e)}function xn(t){return t==="only"||t==="with ties"}var gr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,k(e,i,o))})}having(...e){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,g(e))})}havingRef(e,i,o){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,k(e,i,o))})}select(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,D(e))})}distinctOn(e){return new t({...this.#e,queryNode:h.cloneWithDistinctOn(this.#e.queryNode,ye(e))})}modifyFront(e){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,ue.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.createWithExpression(e.toOperationNode()))})}distinct(){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,ue.create("Distinct"))})}forUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForUpdate",e?gt(e).map(y):void 0))})}forShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForShare",e?gt(e).map(y):void 0))})}forKeyShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForKeyShare",e?gt(e).map(y):void 0))})}forNoKeyUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForNoKeyUpdate",e?gt(e).map(y):void 0))})}skipLocked(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("SkipLocked"))})}noWait(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("NoWait"))})}selectAll(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,F(e))})}innerJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("FullJoin",e))})}innerJoinLateral(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LateralInnerJoin",e))})}leftJoinLateral(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LateralLeftJoin",e))})}orderBy(...e){return new t({...this.#e,queryNode:h.cloneWithOrderByItems(this.#e.queryNode,qe(e))})}groupBy(e){return new t({...this.#e,queryNode:h.cloneWithGroupByItems(this.#e.queryNode,Co(e))})}limit(e){return new t({...this.#e,queryNode:h.cloneWithLimit(this.#e.queryNode,rt.create(x(e)))})}offset(e){return new t({...this.#e,queryNode:h.cloneWithOffset(this.#e.queryNode,bo.create(x(e)))})}fetch(e,i="only"){return new t({...this.#e,queryNode:h.cloneWithFetch(this.#e.queryNode,To(e,i))})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}union(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,ze("union",e,!1))})}unionAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,ze("union",e,!0))})}intersect(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,ze("intersect",e,!1))})}intersectAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,ze("intersect",e,!0))})}except(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,ze("except",e,!1))})}exceptAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,ze("except",e,!0))})}as(e){return new Or(this,e)}clearSelect(){return new t({...this.#e,queryNode:h.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new t({...this.#e,queryNode:d.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:h.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new t({...this.#e,queryNode:h.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:h.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new t({...this.#e,queryNode:h.cloneWithoutGroupBy(this.#e.queryNode)})}$call(e){return e(this)}$if(e,i){return e?i(this):new t({...this.#e})}$castTo(){return new t(this.#e)}$narrowType(){return new t(this.#e)}$assertType(){return new t(this.#e)}$asTuple(){return new w(this.toOperationNode())}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=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(gr,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function Bt(t){return new gr(t)}var Or=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return P.create(this.#e.toOperationNode(),c.create(this.#t))}};u(Or,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");var Oe=r({is(t){return t.kind==="AggregateFunctionNode"},create(t,e=[]){return r({kind:"AggregateFunctionNode",func:t,aggregated:e})},cloneWithDistinct(t){return r({...t,distinct:!0})},cloneWithFilter(t,e){return r({...t,filter:t.filter?B.cloneWithOperation(t.filter,"And",e):B.create(e)})},cloneWithOrFilter(t,e){return r({...t,filter:t.filter?B.cloneWithOperation(t.filter,"Or",e):B.create(e)})},cloneWithOver(t,e){return r({...t,over:e})}});var xi=r({is(t){return t.kind==="FunctionNode"},create(t,e){return r({kind:"FunctionNode",func:t,arguments:e})}});var Me=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}as(e){return new gi(this,e)}distinct(){return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithDistinct(this.#e.aggregateFunctionNode)})}filterWhere(...e){return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithFilter(this.#e.aggregateFunctionNode,g(e))})}filterWhereRef(e,i,o){return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithFilter(this.#e.aggregateFunctionNode,k(e,i,o))})}over(e){let i=Oo();return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithOver(this.#e.aggregateFunctionNode,(e?e(i):i).toOperationNode())})}$call(e){return e(this)}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e.aggregateFunctionNode}};u(Me,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var gi=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return P.create(this.#e.toOperationNode(),c.create(this.#t))}};function br(){let t=(i,o)=>new w(xi.create(i,ye(o??[]))),e=(i,o)=>new Me({aggregateFunctionNode:Oe.create(i,o?ye(o):void 0)});return Object.assign(t,{agg:e,avg(i){return e("avg",[i])},coalesce(...i){return t("coalesce",i)},count(i){return e("count",[i])},countAll(i){return new Me({aggregateFunctionNode:Oe.create("count",F(i))})},max(i){return e("max",[i])},min(i){return e("min",[i])},sum(i){return e("sum",[i])},any(i){return t("any",[i])},jsonAgg(i){return new Me({aggregateFunctionNode:Oe.create("json_agg",[W(i)?y(i):i.toOperationNode()])})},toJson(i){return new w(xi.create("to_json",[W(i)?y(i):i.toOperationNode()]))}})}var qo=r({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return r({kind:"UnaryOperationNode",operator:t,operand:e})}});function Io(t,e){return qo.create(G.create(t),R(e))}var Y=r({is(t){return t.kind==="CaseNode"},create(t){return r({kind:"CaseNode",value:t})},cloneWithWhen(t,e){return r({...t,when:r(t.when?[...t.when,e]:[e])})},cloneWithThen(t,e){return r({...t,when:t.when?r([...t.when.slice(0,-1),xe.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return r({...t,...e})}});var at=class{#e;constructor(e){this.#e=r(e)}when(...e){return new vr({...this.#e,node:Y.cloneWithWhen(this.#e.node,xe.create(g(e)))})}},vr=class{#e;constructor(e){this.#e=r(e)}then(e){return new Oi({...this.#e,node:Y.cloneWithThen(this.#e.node,sr(e)?vt(e):x(e))})}},Oi=class{#e;constructor(e){this.#e=r(e)}when(...e){return new vr({...this.#e,node:Y.cloneWithWhen(this.#e.node,xe.create(g(e)))})}else(e){return new bi({...this.#e,node:Y.cloneWith(this.#e.node,{else:sr(e)?vt(e):x(e)})})}end(){return new w(Y.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new w(Y.cloneWith(this.#e.node,{isStatement:!0}))}},bi=class{#e;constructor(e){this.#e=r(e)}end(){return new w(Y.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new w(Y.cloneWith(this.#e.node,{isStatement:!0}))}};var vi=r({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return r({kind:"JSONPathLegNode",type:t,value:e})}});var Re=class{#e;constructor(e){this.#e=e}at(e){return this.#t("ArrayLocation",e)}key(e){return this.#t("Member",e)}#t(e,i){return Xe.is(this.#e)?new Cr(Xe.cloneWithTraversal(this.#e,Ie.is(this.#e.traversal)?Ie.cloneWithLeg(this.#e.traversal,vi.create(e,i)):or.cloneWithValue(this.#e.traversal,I.createImmediate(i)))):new Cr(Ie.cloneWithLeg(this.#e,vi.create(e,i)))}},Cr=class extends Re{#e;constructor(e){super(e),this.#e=e}get expressionType(){}as(e){return new Ci(this,e)}$castTo(){return new Re(this.#e)}$notNull(){return new Re(this.#e)}toOperationNode(){return this.#e}},Ci=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return P.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():c.create(this.#t))}};var Wi=r({is(t){return t.kind==="TupleNode"},create(t){return r({kind:"TupleNode",values:r(t)})}});var gn=["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"],On=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],So=r({is(t){return t.kind==="DataTypeNode"},create(t){return r({kind:"DataTypeNode",dataType:t})}});function ko(t){return!!(gn.includes(t)||On.some(e=>e.test(t)))}function ne(t){if(b(t))return t.toOperationNode();if(ko(t))return So.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}var Ao=r({is(t){return t.kind==="CastNode"},create(t,e){return r({kind:"CastNode",expression:t,dataType:e})}});function xr(t=Ae){function e(s,a,p){return new w(ar(s,a,p))}function i(s,a){return new w(Io(s,a))}let o=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(s){return Bt({queryId:N(),executor:t,queryNode:h.createFrom(me(s))})},case(s){return new at({node:Y.create(j(s)?void 0:R(s))})},ref(s,a){return j(a)?new w(H(s)):new Re(Xi(s,a))},jsonPath(){return new Re(Ie.create())},table(s){return new w(y(s))},val(s){return new w(x(s))},refTuple(...s){return new w(Wi.create(s.map(R)))},tuple(...s){return new w(Wi.create(s.map(x)))},lit(s){return new w(vt(s))},unary:i,not(s){return i("not",s)},exists(s){return i("exists",s)},neg(s){return i("-",s)},between(s,a,p){return new w(Te.create(R(s),G.create("between"),J.create(x(a),x(p))))},betweenSymmetric(s,a,p){return new w(Te.create(R(s),G.create("between symmetric"),J.create(x(a),x(p))))},and(s){return Q(s)?new w(_e(s,"and")):new w(ii(s,"and"))},or(s){return Q(s)?new w(_e(s,"or")):new w(ii(s,"or"))},parens(...s){let a=g(s);return de.is(a)?new w(a):new w(de.create(a))},cast(s,a){return new w(Ao.create(R(s),ne(a)))},withSchema(s){return xr(t.withPluginAtFront(new oe(s)))}});return o.fn=br(),o.eb=o,o}function re(t){return xr()}function $(t){if(b(t))return t.toOperationNode();if(C(t))return t(re()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function ur(t){if(b(t))return t.toOperationNode();if(C(t))return t(re()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Ne(t){return Ki(t)||ji(t)||C(t)}function me(t){return Q(t)?t.map(e=>Ee(e)):[Ee(t)]}function Ee(t){return W(t)?Ni(t):ur(t)}function Ni(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(Eo);return P.create(y(i),c.create(o))}else return y(t)}function y(t){let e=".";if(t.includes(e)){let[i,o]=t.split(e).map(Eo);return X.createWithSchema(i,o)}else return X.create(t)}function Eo(t){return t.trim()}var Ti=r({is(t){return t.kind==="AddColumnNode"},create(t){return r({kind:"AddColumnNode",column:t})}});var O=r({is(t){return t.kind==="ColumnDefinitionNode"},create(t,e){return r({kind:"ColumnDefinitionNode",column:m.create(t),dataType:e})},cloneWithFrontModifier(t,e){return r({...t,frontModifiers:t.frontModifiers?r([...t.frontModifiers,e]):[e]})},cloneWithEndModifier(t,e){return r({...t,endModifiers:t.endModifiers?r([...t.endModifiers,e]):[e]})},cloneWith(t,e){return r({...t,...e})}});var qi=r({is(t){return t.kind==="DropColumnNode"},create(t){return r({kind:"DropColumnNode",column:m.create(t)})}});var Ii=r({is(t){return t.kind==="RenameColumnNode"},create(t,e){return r({kind:"RenameColumnNode",column:m.create(t),renameTo:m.create(e)})}});var ut=r({is(t){return t.kind==="CheckConstraintNode"},create(t,e){return r({kind:"CheckConstraintNode",expression:t,name:e?c.create(e):void 0})}});var Ro=["no action","restrict","cascade","set null","set default"],dt=r({is(t){return t.kind==="ReferencesNode"},create(t,e){return r({kind:"ReferencesNode",table:t,columns:r([...e])})},cloneWithOnDelete(t,e){return r({...t,onDelete:e})},cloneWithOnUpdate(t,e){return r({...t,onUpdate:e})}});function Wr(t){return b(t)?t.toOperationNode():I.createImmediate(t)}var Lt=r({is(t){return t.kind==="GeneratedNode"},create(t){return r({kind:"GeneratedNode",...t})},createWithExpression(t){return r({kind:"GeneratedNode",always:!0,expression:t})},cloneWith(t,e){return r({...t,...e})}});var Do=r({is(t){return t.kind==="DefaultValueNode"},create(t){return r({kind:"DefaultValueNode",defaultValue:t})}});function pt(t){if(Ro.includes(t))return t;throw new Error(`invalid OnModifyForeignAction ${t}`)}var le=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 i=H(e);if(!i.table||He.is(i.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:dt.create(i.table,[i.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:dt.cloneWithOnDelete(this.#e.references,pt(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:dt.cloneWithOnUpdate(this.#e.references,pt(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:Do.create(Wr(e))}))}check(e){return new t(O.cloneWith(this.#e,{check:ut.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new t(O.cloneWith(this.#e,{generated:Lt.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Lt.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Lt.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:Lt.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}};u(le,"don't await ColumnDefinitionBuilder instances directly.");var Si=r({is(t){return t.kind==="ModifyColumnNode"},create(t){return r({kind:"ModifyColumnNode",column:t})}});var Ve=r({is(t){return t.kind==="ForeignKeyConstraintNode"},create(t,e,i,o){return r({kind:"ForeignKeyConstraintNode",columns:t,references:dt.create(e,i),name:o?c.create(o):void 0})},cloneWith(t,e){return r({...t,...e})}});var Ue=class t{#e;constructor(e){this.#e=e}onDelete(e){return new t(Ve.cloneWith(this.#e,{onDelete:pt(e)}))}onUpdate(e){return new t(Ve.cloneWith(this.#e,{onUpdate:pt(e)}))}$call(e){return e(this)}toOperationNode(){return this.#e}};u(Ue,"don't await ForeignKeyConstraintBuilder instances directly.");var ct=r({is(t){return t.kind==="AddConstraintNode"},create(t){return r({kind:"AddConstraintNode",constraint:t})}});var ht=r({is(t){return t.kind==="UniqueConstraintNode"},create(t,e,i){return r({kind:"UniqueConstraintNode",columns:r(t.map(m.create)),name:e?c.create(e):void 0,nullsNotDistinct:i})},cloneWith(t,e){return r({...t,...e})}});var mt=r({is(t){return t.kind==="DropConstraintNode"},create(t){return r({kind:"DropConstraintNode",constraintName:c.create(t)})},cloneWith(t,e){return r({...t,...e})}});var lt=r({is(t){return t.kind==="AlterColumnNode"},create(t,e,i){return r({kind:"AlterColumnNode",column:m.create(t),[e]:i})}});var ft=class{#e;constructor(e){this.#e=e}setDataType(e){return new De(lt.create(this.#e,"dataType",ne(e)))}setDefault(e){return new De(lt.create(this.#e,"setDefault",Wr(e)))}dropDefault(){return new De(lt.create(this.#e,"dropDefault",!0))}setNotNull(){return new De(lt.create(this.#e,"setNotNull",!0))}dropNotNull(){return new De(lt.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}};u(ft,"don't await AlterColumnBuilder instances");var De=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}};u(De,"don't await AlteredColumnBuilder instances");var fe=class{#e;constructor(e){this.#e=r(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)}};u(fe,"don't await AlterTableExecutor instances directly. To execute the query you need to call `execute`");var Pt=class t{#e;constructor(e){this.#e=r(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)})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(f.cloneWithTableProps(this.#e.node,{addConstraint:ct.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)}};u(Pt,"don't await AlterTableAddForeignKeyConstraintBuilder instances directly. To execute the query you need to call `execute`");var Ft=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:mt.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:mt.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:mt.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)}};u(Ft,"don't await AlterTableDropConstraintBuilder instances directly. To execute the query you need to call `execute`");var Tr=r({is(t){return t.kind==="PrimaryKeyConstraintNode"},create(t,e){return r({kind:"PrimaryKeyConstraintNode",columns:r(t.map(m.create)),name:e?c.create(e):void 0})}});var Be=r({is(t){return t.kind==="AddIndexNode"},create(t){return r({kind:"AddIndexNode",name:c.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var zt=class t{#e;constructor(e){this.#e=r(e)}unique(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWithColumns(this.#e.node.addIndex,[Ze(e)])})})}columns(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWithColumns(this.#e.node.addIndex,e.map(Ze))})})}expression(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWith(this.#e.node.addIndex,{using:T.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)}};u(zt,"don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`");var Je=class t{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}nullsNotDistinct(){return new t(ht.cloneWith(this.#e,{nullsNotDistinct:!0}))}};u(Je,"don't await UniqueConstraintNodeBuilder instances directly.");var Mt=class{#e;constructor(e){this.#e=r(e)}renameTo(e){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{renameTo:y(e)})})}setSchema(e){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{setSchema:c.create(e)})})}alterColumn(e,i){let o=i(new ft(e));return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,qi.create(e))})}renameColumn(e,i){return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ii.create(e,i))})}addColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ti.create(s.toOperationNode()))})}modifyColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Si.create(s.toOperationNode()))})}addUniqueConstraint(e,i,o=ae){let s=o(new Je(ht.create(i,e)));return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:ct.create(s.toOperationNode())})})}addCheckConstraint(e,i){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:ct.create(ut.create(i.toOperationNode(),e))})})}addForeignKeyConstraint(e,i,o,s){return new Pt({...this.#e,constraintBuilder:new Ue(Ve.create(i.map(m.create),y(o),s.map(m.create),e))})}addPrimaryKeyConstraint(e,i){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:ct.create(Tr.create(i,e))})})}dropConstraint(e){return new Ft({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:mt.create(e)})})}addIndex(e){return new zt({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.create(e)})})}dropIndex(e){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropIndex:Ce.create(e)})})}$call(e){return e(this)}};u(Mt,"don't await AlterTableBuilder instances");var Qe=class t{#e;constructor(e){this.#e=r(e)}alterColumn(e,i){let o=i(new ft(e));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,qi.create(e))})}renameColumn(e,i){return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ii.create(e,i))})}addColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ti.create(s.toOperationNode()))})}modifyColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Si.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)}};u(Qe,"don't await AlterTableColumnAlteringBuilder instances directly. To execute the query you need to call `execute`");var Nt=class extends ke{transformValue(e){return{...super.transformValue(e),immediate:!0}}};var Vt=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{table:y(e)})})}column(e){return new t({...this.#e,node:ee.cloneWithColumns(this.#e.node,[Ze(e)])})}columns(e){return new t({...this.#e,node:ee.cloneWithColumns(this.#e.node,e.map(Ze))})}expression(e){return new t({...this.#e,node:ee.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{using:T.createWithSql(e)})})}where(...e){let i=new Nt;return new t({...this.#e,node:d.cloneWithWhere(this.#e.node,i.transformNode(g(e)))})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};u(Vt,"don't await CreateIndexBuilder instances directly. To execute the query you need to call `execute`");var Ut=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:_t.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};u(Ut,"don't await CreateSchemaBuilder instances directly. To execute the query you need to call `execute`");function Bo(t){if($i.includes(t))return t;throw new Error(`invalid OnCommitAction ${t}`)}var Jt=class t{#e;constructor(e){this.#e=r(e)}temporary(){return new t({...this.#e,node:L.cloneWith(this.#e.node,{temporary:!0})})}onCommit(e){return new t({...this.#e,node:L.cloneWith(this.#e.node,{onCommit:Bo(e)})})}ifNotExists(){return new t({...this.#e,node:L.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new t({...this.#e,node:L.cloneWithColumn(this.#e.node,s.toOperationNode())})}addPrimaryKeyConstraint(e,i){return new t({...this.#e,node:L.cloneWithConstraint(this.#e.node,Tr.create(i,e))})}addUniqueConstraint(e,i,o=ae){let s=o(new Je(ht.create(i,e)));return new t({...this.#e,node:L.cloneWithConstraint(this.#e.node,s.toOperationNode())})}addCheckConstraint(e,i){return new t({...this.#e,node:L.cloneWithConstraint(this.#e.node,ut.create(i.toOperationNode(),e))})}addForeignKeyConstraint(e,i,o,s,a=ae){let p=a(new Ue(Ve.create(i.map(m.create),y(o),s.map(m.create),e)));return new t({...this.#e,node:L.cloneWithConstraint(this.#e.node,p.toOperationNode())})}modifyFront(e){return new t({...this.#e,node:L.cloneWithFrontModifier(this.#e.node,e.toOperationNode())})}modifyEnd(e){return new t({...this.#e,node:L.cloneWithEndModifier(this.#e.node,e.toOperationNode())})}as(e){return new t({...this.#e,node:L.cloneWith(this.#e.node,{selectQuery:$(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)}};u(Jt,"don't await CreateTableBuilder instances directly. To execute the query you need to call `execute`");var $t=class t{#e;constructor(e){this.#e=r(e)}on(e){return new t({...this.#e,node:Ce.cloneWith(this.#e.node,{table:y(e)})})}ifExists(){return new t({...this.#e,node:Ce.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Ce.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)}};u($t,"don't await DropIndexBuilder instances directly. To execute the query you need to call `execute`");var Kt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Ot.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Ot.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)}};u(Kt,"don't await DropSchemaBuilder instances directly. To execute the query you need to call `execute`");var jt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:bt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:bt.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)}};u(jt,"don't await DropTableBuilder instances directly. To execute the query you need to call `execute`");var se=r({is(t){return t.kind==="CreateViewNode"},create(t){return r({kind:"CreateViewNode",name:U.create(t)})},cloneWith(t,e){return r({...t,...e})}});var qr=class{#e=new Nt;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}};var Gt=class t{#e;constructor(e){this.#e=r(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(ei)})})}as(e){let i=e.withPlugin(new qr).toOperationNode();return new t({...this.#e,node:se.cloneWith(this.#e.node,{as:i})})}$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)}};u(Gt,"don't await CreateViewBuilder instances directly. To execute the query you need to call `execute`");var yt=r({is(t){return t.kind==="DropViewNode"},create(t){return r({kind:"DropViewNode",name:U.create(t)})},cloneWith(t,e){return r({...t,...e})}});var Ht=class t{#e;constructor(e){this.#e=r(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)}};u(Ht,"don't await DropViewBuilder instances directly. To execute the query you need to call `execute`");var Ir=r({is(t){return t.kind==="CreateTypeNode"},create(t){return r({kind:"CreateTypeNode",name:t})},cloneWithEnum(t,e){return r({...t,enum:Se.create(e.map(i=>I.createImmediate(i)))})}});var Yt=class t{#e;constructor(e){this.#e=r(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(e){return new t({...this.#e,node:Ir.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)}};u(Yt,"don't await CreateTypeBuilder instances directly. To execute the query you need to call `execute`");var Sr=r({is(t){return t.kind==="DropTypeNode"},create(t){return r({kind:"DropTypeNode",name:t})},cloneWith(t,e){return r({...t,...e})}});var Xt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Sr.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)}};u(Xt,"don't await DropTypeBuilder instances directly. To execute the query you need to call `execute`");function ki(t){let e=".";if(t.includes(e)){let i=t.split(e).map(bn);if(i.length===2)return U.createWithSchema(i[0],i[1]);throw new Error(`invalid schemable identifier ${t}`)}else return U.create(t)}function bn(t){return t.trim()}var kr=class t{#e;constructor(e){this.#e=e}createTable(e){return new Jt({queryId:N(),executor:this.#e,node:L.create(y(e))})}dropTable(e){return new jt({queryId:N(),executor:this.#e,node:bt.create(y(e))})}createIndex(e){return new Vt({queryId:N(),executor:this.#e,node:ee.create(e)})}dropIndex(e){return new $t({queryId:N(),executor:this.#e,node:Ce.create(e)})}createSchema(e){return new Ut({queryId:N(),executor:this.#e,node:_t.create(e)})}dropSchema(e){return new Kt({queryId:N(),executor:this.#e,node:Ot.create(e)})}alterTable(e){return new Mt({queryId:N(),executor:this.#e,node:f.create(y(e))})}createView(e){return new Gt({queryId:N(),executor:this.#e,node:se.create(e)})}dropView(e){return new Ht({queryId:N(),executor:this.#e,node:yt.create(e)})}createType(e){return new Yt({queryId:N(),executor:this.#e,node:Ir.create(ki(e))})}dropType(e){return new Xt({queryId:N(),executor:this.#e,node:Sr.create(ki(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 oe(e)))}};var Ar=class{ref(e){return new tr(e)}};var Er=class{#e;constructor(e){this.#e=e}async provideConnection(e){let i=await this.#e.acquireConnection();try{return await e(i)}finally{await this.#e.releaseConnection(i)}}};var Rr=class t extends nt{#e;#t;#r;constructor(e,i,o,s=[]){super(s),this.#e=e,this.#t=i,this.#r=o}get adapter(){return this.#t}compileQuery(e){return this.#e.compileQuery(e)}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 Ai(){return typeof performance<"u"&&C(performance.now)?performance.now():Date.now()}var Dr=class{#e;#t;#r;#i;#o;#s=new WeakSet;constructor(e,i){this.#i=!1,this.#e=e,this.#t=i}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.#s.has(e)||(this.#n()&&this.#a(e),this.#s.add(e)),e}async releaseConnection(e){await this.#e.releaseConnection(e)}beginTransaction(e,i){return this.#e.beginTransaction(e,i)}commitTransaction(e){return this.#e.commitTransaction(e)}rollbackTransaction(e){return this.#e.rollbackTransaction(e)}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)}#n(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#a(e){let i=e.executeQuery;e.executeQuery=async o=>{let s,a=Ai();try{return await i.call(e,o)}catch(p){throw s=p,await this.#u(p,o,a),p}finally{s||await this.#p(o,a)}}}async#u(e,i,o){await this.#t.error(()=>({level:"error",error:e,query:i,queryDurationMillis:this.#d(o)}))}async#p(e,i){await this.#t.query(()=>({level:"query",query:e,queryDurationMillis:this.#d(i)}))}#d(e){return Ai()-e}};var vn=()=>{},Zt=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(vn);return this.#t=this.#r(e).finally(()=>{this.#t=void 0}),this.#t}async#r(e){return await e(this.#e)}};var Qo=["read uncommitted","read committed","repeatable read","serializable","snapshot"];var Fv=r(["query","error"]),Br=class{#e;#t;constructor(e){C(e)?(this.#t=e,this.#e=r({query:!0,error:!0})):(this.#t=Cn,this.#e=r({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 Cn(t){t.level==="query"?(console.log(`kysely:query: ${t.query.sql}`),console.log(`kysely:query: duration: ${t.queryDurationMillis.toFixed(1)}ms`)):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 M(t)&&C(t.compile)}var wt=class t extends st{#e;constructor(e){let i,o;if(Wn(e))i={executor:e.executor},o={...e};else{let s=e.dialect,a=s.createDriver(),p=s.createQueryCompiler(),l=s.createAdapter(),v=new Br(e.log??[]),q=new Dr(a,v),z=new Er(q),K=new Rr(p,l,z,e.plugins??[]);i={executor:K},o={config:e,executor:K,dialect:s,driver:q}}super(i),this.#e=r(o)}get schema(){return new kr(this.#e.executor)}get dynamic(){return new Ar}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new at({node:Y.create(j(e)?void 0:$(e))})}get fn(){return br()}transaction(){return new Lr({...this.#e})}connection(){return new Qr({...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 oe(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,i=N()){let o=Lo(e)?e.compile():e;return this.getExecutor().executeQuery(o,i)}},Ei=class t extends wt{#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 oe(e))})}withTables(){return new t({...this.#e})}};function Wn(t){return M(t)&&M(t.config)&&M(t.driver)&&M(t.executor)&&M(t.dialect)}var Qr=class{#e;constructor(e){this.#e=r(e)}async execute(e){return this.#e.executor.provideConnection(async i=>{let o=this.#e.executor.withConnectionProvider(new Zt(i)),s=new wt({...this.#e,executor:o});return await e(s)})}};u(Qr,"don't await ConnectionBuilder instances directly. To execute the query you need to call the `execute` method");var Lr=class t{#e;constructor(e){this.#e=r(e)}setIsolationLevel(e){return new t({...this.#e,isolationLevel:e})}async execute(e){let{isolationLevel:i,...o}=this.#e,s={isolationLevel:i};return Tn(s),this.#e.executor.provideConnection(async a=>{let p=this.#e.executor.withConnectionProvider(new Zt(a)),l=new Ei({...o,executor:p});try{await this.#e.driver.beginTransaction(a,s);let v=await e(l);return await this.#e.driver.commitTransaction(a),v}catch(v){throw await this.#e.driver.rollbackTransaction(a),v}})}};u(Lr,"don't await TransactionBuilder instances directly. To execute the transaction you need to call the `execute` method");function Tn(t){if(t.isolationLevel&&!Qo.includes(t.isolationLevel))throw new Error(`invalid transaction isolation level ${t.isolationLevel}`)}var Pr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isRawBuilder(){return!0}as(e){return new Fr(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?r([...this.#e.plugins,e]):r([e])})}toOperationNode(){return this.#r(this.#t())}compile(e){return this.#i(this.#t(e))}async execute(e){let i=this.#t(e);return i.executeQuery(this.#i(i),this.#e.queryId)}#t(e){let i=e!==void 0?e.getExecutor():Ae;return this.#e.plugins!==void 0?i.withPlugins(this.#e.plugins):i}#r(e){return e.transformQuery(this.#e.rawNode,this.#e.queryId)}#i(e){return e.compileQuery(this.#r(e),this.#e.queryId)}};function be(t){return new Pr(t)}u(Pr,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Fr=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}get rawBuilder(){return this.#e}toOperationNode(){return P.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():c.create(this.#t))}};u(Fr,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");var _=Object.assign((t,...e)=>be({queryId:N(),rawNode:T.create(t,e?.map(Po)??[])}),{ref(t){return be({queryId:N(),rawNode:T.createWithChild(H(t))})},val(t){return be({queryId:N(),rawNode:T.createWithChild(x(t))})},value(t){return this.val(t)},table(t){return be({queryId:N(),rawNode:T.createWithChild(y(t))})},id(...t){let e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",be({queryId:N(),rawNode:T.create(e,t.map(c.create))})},lit(t){return be({queryId:N(),rawNode:T.createWithChild(I.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return be({queryId:N(),rawNode:T.createWithSql(t)})},join(t,e=_`, `){let i=new Array(2*t.length-1),o=e.toOperationNode();for(let s=0;s<t.length;++s)i[2*s]=Po(t[s]),s!==t.length-1&&(i[2*s+1]=o);return be({queryId:N(),rawNode:T.createWithChildren(i)})}});function Po(t){return b(t)?t.toOperationNode():x(t)}var zr=class{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=r({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),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.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)});visitNode=e=>{this.nodeStack.push(e),this.#e[e.kind](e),this.nodeStack.pop()}};var Mr=class extends zr{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(e){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(e),r({query:e,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(e){let i=this.parentNode!==void 0&&!de.is(this.parentNode)&&!A.is(this.parentNode)&&!L.is(this.parentNode)&&!se.is(this.parentNode)&&!wr.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),i&&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])," ")),i&&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,i=", "){let o=e.length-1;for(let s=0;s<=o;s++)this.visitNode(e[s]),s<o&&this.append(i)}visitWhere(e){this.append("where "),this.visitNode(e.where)}visitHaving(e){this.append("having "),this.visitNode(e.having)}visitInsertQuery(e){let i=this.nodeStack.find(d.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!E.is(i)&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append(e.replace?"replace":"insert"),e.ignore&&this.append(" ignore"),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(i)&&this.append(")")}visitValues(e){this.append("values "),this.compileList(e.values)}visitDeleteQuery(e){let i=this.nodeStack.find(d.is)!==e;!i&&e.explain&&(this.visitNode(e.explain),this.append(" ")),i&&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)),i&&this.append(")")}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(!W(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:i}=e;for(let o=0;o<i.length;++o)this.appendValue(i[o]),o!==i.length-1&&this.append(", ");this.append(")")}visitParens(e){this.append("("),this.visitNode(e.node),this.append(")")}visitJoin(e){this.append(In[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:i,parameters:o}=e;for(let s=0;s<i.length;++s)this.append(i[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.direction&&(this.append(" "),this.visitNode(e.direction))}visitGroupBy(e){this.append("group by "),this.compileList(e.items)}visitGroupByItem(e){this.visitNode(e.groupBy)}visitUpdateQuery(e){let i=this.nodeStack.find(d.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!E.is(i)&&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&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.returning&&(this.append(" "),this.visitNode(e.returning)),o&&!E.is(i)&&this.append(")")}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(")")}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(")")}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))}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 "),Le(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.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")}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))}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(qn[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),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 G.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 i of e.pathLegs)this.visitNode(i);this.append("'")}visitJSONPathLeg(e){let i=e.type==="ArrayLocation";this.append(i?"[":"."),this.append(String(e.value)),i&&this.append("]")}visitJSONOperatorChain(e){for(let i=0,o=e.values.length;i<o;i++)i===o-1?this.visitNode(e.operator):this.append("->"),this.visitNode(e.values[i])}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.output&&(this.append(" "),this.visitNode(e.output))}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}`)}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 i=this.getLeftIdentifierWrapper(),o=this.getRightIdentifierWrapper(),s="";for(let a of e)s+=a,a===i?s+=i:a===o&&(s+=o);return s}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(W(e))this.append(`'${e}'`);else if(ve(e)||Le(e))this.append(e.toString());else if(je(e))this.append("null");else if(Ji(e))this.appendImmediateValue(e.toISOString());else if(Ge(e))this.appendImmediateValue(e.toString());else throw new Error(`invalid immediate value ${e}`)}sortSelectModifiers(e){return e.sort((i,o)=>i.modifier&&o.modifier?Fo[i.modifier]-Fo[o.modifier]:1),r(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},qn=r({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),Fo=r({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),In=r({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",Using:"using"});var Vr=class{async init(){}async acquireConnection(){return new Ri}async beginTransaction(){}async commitTransaction(){}async rollbackTransaction(){}async releaseConnection(){}async destroy(){}},Ri=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 Sn=/"/g,Jr=class extends Mr{sanitizeIdentifier(e){return e.replace(Sn,'""')}};var kn=BigInt("3853314791062309107"),$r=class extends Ur{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,i){await _`select pg_advisory_xact_lock(${_.lit(kn)})`.execute(e)}async releaseMigrationLock(e,i){}};function zo(t){return new wt({dialect:{createAdapter:()=>new t.Adapter,createDriver:()=>new Vr,createIntrospector:()=>null,createQueryCompiler:()=>new t.QueryCompiler},plugins:[...t.noParameters?[new Di]:[]]})}var Di=class{#e=new Bi;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}},Bi=class extends ke{transformPrimitiveValueList(e){return Se.create(e.values.map(I.createImmediate))}transformValue(e){return{...super.transformValue(e),immediate:!0}}};function $e(t){let e=t.compile();return{parameters:e.parameters,sql:e.sql}}function Mo(t,e){let i=An(t,e);return o=>o.where(s=>s.and(i.map(([a,p])=>s(a,p===null?"is":"=",p))))}function An(t,e){return Object.entries(Object.values(e).reduce((i,o)=>{let{isInPrimaryKey:s,name:a}=o;return s&&(i[a]=t[a]),i},{}))}function Ke(t){return zo({...t,Adapter:$r,QueryCompiler:Jr})}function Qi(t,e){let{table:i,rows:o}=t,{name:s,schema:a,columns:p}=i,l=Ke(e),v=Object.values(p).map(({name:q})=>`${s}.${q}`);return $e(l.withSchema(a).insertInto(s).values(o).returning(v).returning(q=>[q.cast("ctid","text").as("ctid")]))}function Li(t,e){let{pageIndex:i,pageSize:o,sortOrder:s,table:{name:a,schema:p,columns:l}}=t,v=Ke(e),q=Object.values(l).map(({name:z})=>`${a}.${z}`);return $e(v.with("count",z=>z.withSchema(p).selectFrom(a).select(K=>K.cast(v.fn.coalesce(v.fn.countAll(),_.lit(0)),"text").as("oid"))).withSchema(p).selectFrom([a,"count"]).select(z=>[z.cast("ctid","text").as("ctid"),z.ref("count.oid").as("oid")]).select(q).$call(z=>s.reduce((K,xt)=>K.orderBy(xt.column,xt.direction),z)).limit(o).offset(_.lit(BigInt(i)*BigInt(o))))}function En(){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 Pi(t,e){let{changes:i,row:o,table:{columns:s,name:a,schema:p}}=t,l=Ke(e),v=Object.values(s).map(({name:q})=>`${a}.${q}`);return $e(l.withSchema(p).updateTable(a).set(i).$call(Mo(o,s)).returning(v).returning(q=>[q.cast("ctid","text").as("ctid"),q.cast(q.fn("floor",[q(q.fn("extract",[_`epoch from now()`]),"*",1e6)]),"text").as("__ps_updated_at__")]))}function Vo(t){return _`(select coalesce(json_agg(agg), '[]') from ${t} as agg)`}var Rn="r",Dn="v",Bn=[Rn,Dn];function Fi(t){return $e(Ke(t).selectFrom("pg_catalog.pg_class as cls").innerJoin("pg_catalog.pg_namespace as ns","cls.relnamespace","ns.oid").$call(Qn).where("cls.relkind","in",Bn).select(e=>["ns.nspname as schema","cls.relname as name",Vo(e.selectFrom("pg_catalog.pg_attribute as att").innerJoin("pg_catalog.pg_type as typ","typ.oid","att.atttypid").innerJoin("pg_catalog.pg_namespace as tns","tns.oid","typ.typnamespace").leftJoin("pg_catalog.pg_constraint as con",i=>i.on("con.contype","=","p").onRef("con.conrelid","=","cls.oid").on(o=>o("att.attnum","=",o.fn.any("con.conkey")))).whereRef("att.attrelid","=","cls.oid").where("att.attnum",">=",0).where("att.attisdropped","!=",!0).where("att.attgenerated","=","").select(i=>["att.attname as name","typ.typname as datatype","tns.nspname as datatype_schema",i("con.conkey","is not",null).$castTo().as("pk"),i("att.attgenerated","!=","").$castTo().as("computed")])).as("columns")]))}function zi(){return[{schema:"public",name:"users",columns:[{name:"id",datatype:"bigint",datatype_schema:"public",pk:!0,computed:!1},{name:"name",datatype:"varchar",datatype_schema:"public",pk:!1,computed:!1},{name:"role",datatype:"varchar",datatype_schema:"public",pk:!1,computed:!1},{name:"created_at",datatype:"timestamptz",datatype_schema:"public",pk:!1,computed:!1},{name:"deleted_at",datatype:"timestamptz",datatype_schema:"public",pk:!1,computed:!1}]}]}function Mi(){let t=Ke();return $e(t.selectNoFrom(t.fn("current_setting",[_.lit("timezone")]).as("timezone")))}function Vi(){return[{timezone:"UTC"}]}function Qn(t){return t.where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema")}function Ln(t){let{executor:e,...i}=t;return{defaultSchema:"public",async introspect(o){try{let s=Fi(i),a=Mi(),[[p,l],[v,q]]=await Promise.all([e.execute(s,o),e.execute(a,o)]),z=p||v;if(z)return[z];let[K]=q;return K?[null,Uo(l,K.timezone)]:[new Error("Timezone not found")]}catch(s){return[s]}},async query(o,s){try{let a=Li(o,i),[p,l]=await e.execute(a,s);return p?[p]:[null,{filteredRowCount:l[0]?.oid||"0",rows:l}]}catch(a){return[a]}},async insert(o,s){try{let a=Qi(o,i),[p,l]=await e.execute(a,s);return p?[p]:[null,{rows:l}]}catch(a){return[a]}},async update(o,s){try{let a=Pi(o,i),[p,l]=await e.execute(a,s);if(p)return[p];let[v]=l;return v?[null,{row:v}]:[new Error("Update failed")]}catch(a){return[a]}}}}function Uo(t,e){return t.reduce((i,o)=>{let{schemas:s}=i,{columns:a,name:p,schema:l}=o,v=a.reduce((q,{computed:z,datatype:K,datatype_schema:xt,name:Kr,pk:Jo})=>{let jr=K.startsWith("_"),Gr=jr?K.slice(1):K;return{...q,[Kr]:{name:Kr,schema:l,table:Kr,isInPrimaryKey:Jo,datatype:{...Ui[Gr]||{group:"raw"},isArray:jr,name:jr?`${Gr}[]`:Gr,schema:xt},computed:z}}},{});return(s[l]||={tables:{}}).tables[p]={columns:v,name:p,schema:l},i},{schemas:{public:{tables:{}}},timezone:e})}function Pn(){let t=zi(),[{timezone:e}]=Vi();return Uo(t,e)}0&&(module.exports={createPostgresAdapter,getInsertQuery,getSelectQuery,getTablesQuery,getTimezoneQuery,getUpdateQuery,mockIntrospect,mockSelectQuery,mockTablesQuery,mockTimezoneQuery});
1
+ "use strict";var Gr=Object.defineProperty;var Jo=Object.getOwnPropertyDescriptor;var $o=Object.getOwnPropertyNames;var Ko=Object.prototype.hasOwnProperty;var jo=(t,e)=>{for(var i in e)Gr(t,i,{get:e[i],enumerable:!0})},Go=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of $o(e))!Ko.call(t,s)&&s!==i&&Gr(t,s,{get:()=>e[s],enumerable:!(o=Jo(e,s))||o.enumerable});return t};var Ho=t=>Go(Gr({},"__esModule",{value:!0}),t);var Pn={};jo(Pn,{createPostgresAdapter:()=>Qn,getInsertQuery:()=>Bi,getSelectQuery:()=>Qi,getTablesQuery:()=>Pi,getTimezoneQuery:()=>zi,getUpdateQuery:()=>Li,mockIntrospect:()=>Ln,mockSelectQuery:()=>An,mockTablesQuery:()=>Fi,mockTimezoneQuery:()=>Mi});module.exports=Ho(Pn);var Vi={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"}};function K(t){return typeof t>"u"||t===void 0}function W(t){return typeof t=="string"}function ve(t){return typeof t=="number"}function Pe(t){return typeof t=="boolean"}function Ge(t){return t===null}function Ui(t){return t instanceof Date}function He(t){return typeof t=="bigint"}function C(t){return typeof t=="function"}function M(t){return typeof t=="object"&&t!==null}function r(t){return Object.freeze(t)}function gt(t){return L(t)?t:[t]}function L(t){return Array.isArray(t)}function ae(t){return t}var f=r({is(t){return t.kind==="AlterTableNode"},create(t){return r({kind:"AlterTableNode",table:t})},cloneWithTableProps(t,e){return r({...t,...e})},cloneWithColumnAlteration(t,e){return r({...t,columnAlterations:t.columnAlterations?[...t.columnAlterations,e]:[e]})}});var c=r({is(t){return t.kind==="IdentifierNode"},create(t){return r({kind:"IdentifierNode",name:t})}});var ee=r({is(t){return t.kind==="CreateIndexNode"},create(t){return r({kind:"CreateIndexNode",name:c.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var _t=r({is(t){return t.kind==="CreateSchemaNode"},create(t,e){return r({kind:"CreateSchemaNode",schema:c.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var Ji=["preserve rows","delete rows","drop"],P=r({is(t){return t.kind==="CreateTableNode"},create(t){return r({kind:"CreateTableNode",table:t,columns:r([])})},cloneWithColumn(t,e){return r({...t,columns:r([...t.columns,e])})},cloneWithConstraint(t,e){return r({...t,constraints:t.constraints?r([...t.constraints,e]):r([e])})},cloneWithFrontModifier(t,e){return r({...t,frontModifiers:t.frontModifiers?r([...t.frontModifiers,e]):r([e])})},cloneWithEndModifier(t,e){return r({...t,endModifiers:t.endModifiers?r([...t.endModifiers,e]):r([e])})},cloneWith(t,e){return r({...t,...e})}});var U=r({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return r({kind:"SchemableIdentifierNode",identifier:c.create(t)})},createWithSchema(t,e){return r({kind:"SchemableIdentifierNode",schema:c.create(t),identifier:c.create(e)})}});var Ce=r({is(t){return t.kind==="DropIndexNode"},create(t,e){return r({kind:"DropIndexNode",name:U.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var Ot=r({is(t){return t.kind==="DropSchemaNode"},create(t,e){return r({kind:"DropSchemaNode",schema:c.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var bt=r({is(t){return t.kind==="DropTableNode"},create(t,e){return r({kind:"DropTableNode",table:t,...e})},cloneWith(t,e){return r({...t,...e})}});var F=r({is(t){return t.kind==="AliasNode"},create(t,e){return r({kind:"AliasNode",node:t,alias:e})}});var X=r({is(t){return t.kind==="TableNode"},create(t){return r({kind:"TableNode",table:U.create(t)})},createWithSchema(t,e){return r({kind:"TableNode",table:U.createWithSchema(t,e)})}});function b(t){return M(t)&&C(t.toOperationNode)}function $i(t){return M(t)&&"expressionType"in t&&b(t)}function Ki(t){return M(t)&&"expression"in t&&W(t.alias)&&b(t)}var ue=r({is(t){return t.kind==="SelectModifierNode"},create(t,e){return r({kind:"SelectModifierNode",modifier:t,of:e})},createWithExpression(t){return r({kind:"SelectModifierNode",rawModifier:t})}});var J=r({is(t){return t.kind==="AndNode"},create(t,e){return r({kind:"AndNode",left:t,right:e})}});var te=r({is(t){return t.kind==="OrNode"},create(t,e){return r({kind:"OrNode",left:t,right:e})}});var er=r({is(t){return t.kind==="OnNode"},create(t){return r({kind:"OnNode",on:t})},cloneWithOperation(t,e,i){return r({...t,on:e==="And"?J.create(t.on,i):te.create(t.on,i)})}});var We=r({is(t){return t.kind==="JoinNode"},create(t,e){return r({kind:"JoinNode",joinType:t,table:e,on:void 0})},createWithOn(t,e,i){return r({kind:"JoinNode",joinType:t,table:e,on:er.create(i)})},cloneWithOn(t,e){return r({...t,on:t.on?er.cloneWithOperation(t.on,"And",e):er.create(e)})}});var Te=r({is(t){return t.kind==="BinaryOperationNode"},create(t,e,i){return r({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:i})}});var Yo=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Xo=["+","-","*","/","%","^","&","|","#","<<",">>"],ji=["->","->>"],Zo=[...Yo,...Xo,"&&","||"],_o=["exists","not exists"],en=["not","-",..._o],Gi=[...Zo,...ji,...en,"between","between symmetric"],j=r({is(t){return t.kind==="OperatorNode"},create(t){return r({kind:"OperatorNode",operator:t})}});function Hr(t){return W(t)&&ji.includes(t)}var m=r({is(t){return t.kind==="ColumnNode"},create(t){return r({kind:"ColumnNode",column:c.create(t)})}});var Ye=r({is(t){return t.kind==="SelectAllNode"},create(){return r({kind:"SelectAllNode"})}});var Xe=r({is(t){return t.kind==="ReferenceNode"},create(t,e){return r({kind:"ReferenceNode",table:e,column:t})},createSelectAll(t){return r({kind:"ReferenceNode",table:t,column:Ye.create()})}});var tr=class{#e;get dynamicReference(){return this.#e}get refType(){}constructor(e){this.#e=e}toOperationNode(){return Yr(this.#e)}};function rr(t){return M(t)&&b(t)&&W(t.dynamicReference)}var ir=r({is(t){return t.kind==="OrderByItemNode"},create(t,e){return r({kind:"OrderByItemNode",orderBy:t,direction:e})}});var T=r({is(t){return t.kind==="RawNode"},create(t,e){return r({kind:"RawNode",sqlFragments:r(t),parameters:r(e)})},createWithSql(t){return T.create([t],[])},createWithChild(t){return T.create(["",""],[t])},createWithChildren(t){return T.create(new Array(t.length+1).fill(""),t)}});function Zr(t){return t==="asc"||t==="desc"}function qe(t){if(t.length===2)return[Xr(t[0],t[1])];if(t.length===1){let[e]=t;return Array.isArray(e)?e.map(i=>Xr(i)):[Xr(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Xr(t,e){let i=tn(t);if(ir.is(i)){if(e)throw new Error("Cannot specify direction twice!");return i}return ir.create(i,Hi(e))}function tn(t){if(Ne(t))return $(t);if(rr(t))return t.toOperationNode();let[e,i]=t.split(" ");if(i){if(!Zr(i))throw new Error(`Invalid order by direction: ${i}`);return ir.create(G(e),Hi(i))}return G(t)}function Hi(t){if(t)return t==="asc"||t==="desc"?T.createWithSql(t):t.toOperationNode()}var Ze=r({is(t){return t.kind==="JSONReferenceNode"},create(t,e){return r({kind:"JSONReferenceNode",reference:t,traversal:e})},cloneWithTraversal(t,e){return r({...t,traversal:e})}});var or=r({is(t){return t.kind==="JSONOperatorChainNode"},create(t){return r({kind:"JSONOperatorChainNode",operator:t,values:r([])})},cloneWithValue(t,e){return r({...t,values:r([...t.values,e])})}});var Ie=r({is(t){return t.kind==="JSONPathNode"},create(t){return r({kind:"JSONPathNode",inOperator:t,pathLegs:r([])})},cloneWithLeg(t,e){return r({...t,pathLegs:r([...t.pathLegs,e])})}});function Yr(t){return W(t)?G(t):t.toOperationNode()}function ye(t){return L(t)?t.map(e=>D(e)):[D(t)]}function D(t){return Ne(t)?$(t):Yr(t)}function Yi(t,e){let i=G(t);if(Hr(e))return Ze.create(i,or.create(j.create(e)));let o=e.slice(0,-1);if(Hr(o))return Ze.create(i,Ie.create(j.create(o)));throw new Error(`Invalid JSON operator: ${e}`)}function G(t){let e=".";if(!t.includes(e))return Xe.create(m.create(t));let i=t.split(e).map(ei);if(i.length===3)return rn(i);if(i.length===2)return on(i);throw new Error(`invalid column reference ${t}`)}function Xi(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(ei);return F.create(G(i),c.create(o))}else return G(t)}function _r(t){return m.create(t)}function _e(t){let e=" ";if(t.includes(e)){let[i,o]=t.split(e).map(ei);if(!Zr(o))throw new Error(`invalid order direction "${o}" next to "${i}"`);return qe([i,o])[0]}else return _r(t)}function rn(t){let[e,i,o]=t;return Xe.create(m.create(o),X.createWithSchema(e,i))}function on(t){let[e,i]=t;return Xe.create(m.create(i),X.create(e))}function ei(t){return t.trim()}var nr=r({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return r({kind:"PrimitiveValueListNode",values:r([...t])})}});var Se=r({is(t){return t.kind==="ValueListNode"},create(t){return r({kind:"ValueListNode",values:r(t)})}});var I=r({is(t){return t.kind==="ValueNode"},create(t){return r({kind:"ValueNode",value:t})},createImmediate(t){return r({kind:"ValueNode",value:t,immediate:!0})}});function Zi(t){return L(t)?nn(t):x(t)}function x(t){return Ne(t)?$(t):I.create(t)}function sr(t){return ve(t)||Pe(t)||Ge(t)}function vt(t){if(!sr(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return I.createImmediate(t)}function nn(t){return t.some(Ne)?Se.create(t.map(e=>x(e))):nr.create(t)}var de=r({is(t){return t.kind==="ParensNode"},create(t){return r({kind:"ParensNode",node:t})}});function g(t){if(t.length===3)return ar(t[0],t[1],t[2]);if(t.length===1)return x(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function ar(t,e,i){return sn(e)&&eo(i)?Te.create(D(t),ti(e),I.createImmediate(i)):Te.create(D(t),ti(e),Zi(i))}function k(t,e,i){return Te.create(D(t),ti(e),D(i))}function ri(t,e){return et(Object.entries(t).filter(([,i])=>!K(i)).map(([i,o])=>ar(i,eo(o)?"is":"=",o)),e)}function et(t,e,i=!0){let o=e==="and"?J.create:te.create;if(t.length===0)return Te.create(I.createImmediate(1),j.create("="),I.createImmediate(e==="and"?1:0));let s=_i(t[0]);for(let a=1;a<t.length;++a)s=o(s,_i(t[a]));return t.length>1&&i?de.create(s):s}function sn(t){return t==="is"||t==="is not"}function eo(t){return Ge(t)||Pe(t)}function ti(t){if(W(t)&&Gi.includes(t))return j.create(t);if(b(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function _i(t){return b(t)?t.toOperationNode():t}var we=r({is(t){return t.kind==="OrderByNode"},create(t){return r({kind:"OrderByNode",items:r([...t])})},cloneWithItems(t,e){return r({...t,items:r([...t.items,...e])})}});var ii=r({is(t){return t.kind==="PartitionByNode"},create(t){return r({kind:"PartitionByNode",items:r(t)})},cloneWithItems(t,e){return r({...t,items:r([...t.items,...e])})}});var Ct=r({is(t){return t.kind==="OverNode"},create(){return r({kind:"OverNode"})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?we.cloneWithItems(t.orderBy,e):we.create(e)})},cloneWithPartitionByItems(t,e){return r({...t,partitionBy:t.partitionBy?ii.cloneWithItems(t.partitionBy,e):ii.create(e)})}});var Fe=r({is(t){return t.kind==="FromNode"},create(t){return r({kind:"FromNode",froms:r(t)})},cloneWithFroms(t,e){return r({...t,froms:r([...t.froms,...e])})}});var oi=r({is(t){return t.kind==="GroupByNode"},create(t){return r({kind:"GroupByNode",items:r(t)})},cloneWithItems(t,e){return r({...t,items:r([...t.items,...e])})}});var ni=r({is(t){return t.kind==="HavingNode"},create(t){return r({kind:"HavingNode",having:t})},cloneWithOperation(t,e,i){return r({...t,having:e==="And"?J.create(t.having,i):te.create(t.having,i)})}});var h=r({is(t){return t.kind==="SelectQueryNode"},create(t){return r({kind:"SelectQueryNode",...t&&{with:t}})},createFrom(t,e){return r({kind:"SelectQueryNode",from:Fe.create(t),...e&&{with:e}})},cloneWithSelections(t,e){return r({...t,selections:t.selections?r([...t.selections,...e]):r(e)})},cloneWithDistinctOn(t,e){return r({...t,distinctOn:t.distinctOn?r([...t.distinctOn,...e]):r(e)})},cloneWithFrontModifier(t,e){return r({...t,frontModifiers:t.frontModifiers?r([...t.frontModifiers,e]):r([e])})},cloneWithEndModifier(t,e){return r({...t,endModifiers:t.endModifiers?r([...t.endModifiers,e]):r([e])})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?we.cloneWithItems(t.orderBy,e):we.create(e)})},cloneWithGroupByItems(t,e){return r({...t,groupBy:t.groupBy?oi.cloneWithItems(t.groupBy,e):oi.create(e)})},cloneWithLimit(t,e){return r({...t,limit:e})},cloneWithOffset(t,e){return r({...t,offset:e})},cloneWithFetch(t,e){return r({...t,fetch:e})},cloneWithHaving(t,e){return r({...t,having:t.having?ni.cloneWithOperation(t.having,"And",e):ni.create(e)})},cloneWithSetOperations(t,e){return r({...t,setOperations:t.setOperations?r([...t.setOperations,...e]):r([...e])})},cloneWithoutSelections(t){return r({...t,selections:[]})},cloneWithoutLimit(t){return r({...t,limit:void 0})},cloneWithoutOffset(t){return r({...t,offset:void 0})},cloneWithoutOrderBy(t){return r({...t,orderBy:void 0})},cloneWithoutGroupBy(t){return r({...t,groupBy:void 0})}});function u(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var Wt=class t{#e;constructor(e){this.#e=r(e)}on(...e){return new t({...this.#e,joinNode:We.cloneWithOn(this.#e.joinNode,g(e))})}onRef(e,i,o){return new t({...this.#e,joinNode:We.cloneWithOn(this.#e.joinNode,k(e,i,o))})}onTrue(){return new t({...this.#e,joinNode:We.cloneWithOn(this.#e.joinNode,T.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return this.#e.joinNode}};u(Wt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");var to=r({is(t){return t.kind==="PartitionByItemNode"},create(t){return r({kind:"PartitionByItemNode",partitionBy:t})}});function ro(t){return ye(t).map(to.create)}var Tt=class t{#e;constructor(e){this.#e=r(e)}orderBy(e,i){return new t({overNode:Ct.cloneWithOrderByItems(this.#e.overNode,qe([e,i]))})}partitionBy(e){return new t({overNode:Ct.cloneWithPartitionByItems(this.#e.overNode,ro(e))})}$call(e){return e(this)}toOperationNode(){return this.#e.overNode}};u(Tt,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");var tt=r({is(t){return t.kind==="SelectionNode"},create(t){return r({kind:"SelectionNode",selection:t})},createSelectAll(){return r({kind:"SelectionNode",selection:Ye.create()})},createSelectAllFromTable(t){return r({kind:"SelectionNode",selection:Xe.createSelectAll(t)})}});function B(t){return C(t)?B(t(re())):L(t)?t.map(e=>io(e)):[io(t)]}function io(t){return W(t)?tt.create(Xi(t)):rr(t)?tt.create(t.toOperationNode()):tt.create(ur(t))}function z(t){return t?Array.isArray(t)?t.map(oo):[oo(t)]:[tt.createSelectAll()]}function oo(t){if(W(t))return tt.createSelectAllFromTable(y(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}var no=r({is(t){return t.kind==="ValuesNode"},create(t){return r({kind:"ValuesNode",values:r(t)})}});var so=r({is(t){return t.kind==="DefaultInsertValueNode"},create(){return r({kind:"DefaultInsertValueNode"})}});function dr(t){let e=C(t)?t(re()):t,i=L(e)?e:r([e]);return an(i)}function an(t){let e=un(t);return[r([...e.keys()].map(m.create)),no.create(t.map(i=>dn(i,e)))]}function un(t){let e=new Map;for(let i of t){let o=Object.keys(i);for(let s of o)!e.has(s)&&i[s]!==void 0&&e.set(s,e.size)}return e}function dn(t,e){let i=Object.keys(t),o=Array.from({length:e.size}),s=!1;for(let p of i){let l=e.get(p);if(K(l))continue;let v=t[p];(K(v)||Ne(v))&&(s=!0),o[l]=v}if(i.length<e.size||s){let p=so.create();return Se.create(o.map(l=>K(l)?p:x(l)))}return nr.create(o)}var A=r({is(t){return t.kind==="InsertQueryNode"},create(t,e,i){return r({kind:"InsertQueryNode",into:t,...e&&{with:e},replace:i})},createWithoutInto(){return r({kind:"InsertQueryNode"})},cloneWith(t,e){return r({...t,...e})}});var pe=r({is(t){return t.kind==="UpdateQueryNode"},create(t,e){return r({kind:"UpdateQueryNode",table:t,...e&&{with:e}})},createWithoutTable(){return r({kind:"UpdateQueryNode"})},cloneWithFromItems(t,e){return r({...t,from:t.from?Fe.cloneWithFroms(t.from,e):Fe.create(e)})},cloneWithUpdates(t,e){return r({...t,updates:t.updates?r([...t.updates,...e]):e})},cloneWithLimit(t,e){return r({...t,limit:e})}});var si=r({is(t){return t.kind==="UsingNode"},create(t){return r({kind:"UsingNode",tables:r(t)})},cloneWithTables(t,e){return r({...t,tables:r([...t.tables,...e])})}});var ce=r({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return r({kind:"DeleteQueryNode",from:Fe.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?we.cloneWithItems(t.orderBy,e):we.create(e)})},cloneWithoutOrderBy(t){return r({...t,orderBy:void 0})},cloneWithLimit(t,e){return r({...t,limit:e})},cloneWithoutLimit(t){return r({...t,limit:void 0})},cloneWithUsing(t,e){return r({...t,using:t.using!==void 0?si.cloneWithTables(t.using,e):si.create(e)})}});var Q=r({is(t){return t.kind==="WhereNode"},create(t){return r({kind:"WhereNode",where:t})},cloneWithOperation(t,e,i){return r({...t,where:e==="And"?J.create(t.where,i):te.create(t.where,i)})}});var ai=r({is(t){return t.kind==="ReturningNode"},create(t){return r({kind:"ReturningNode",selections:r(t)})},cloneWithSelections(t,e){return r({...t,selections:t.selections?r([...t.selections,...e]):r(e)})}});var ao=r({is(t){return t.kind==="ExplainNode"},create(t,e){return r({kind:"ExplainNode",format:t,options:e})}});var xe=r({is(t){return t.kind==="WhenNode"},create(t){return r({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return r({...t,result:e})}});var E=r({is(t){return t.kind==="MergeQueryNode"},create(t,e){return r({kind:"MergeQueryNode",into:t,...e&&{with:e}})},cloneWithUsing(t,e){return r({...t,using:e})},cloneWithWhen(t,e){return r({...t,whens:t.whens?r([...t.whens,e]):r([e])})},cloneWithThen(t,e){return r({...t,whens:t.whens?r([...t.whens.slice(0,-1),xe.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}});var ui=r({is(t){return t.kind==="OutputNode"},create(t){return r({kind:"OutputNode",selections:r(t)})},cloneWithSelections(t,e){return r({...t,selections:t.selections?r([...t.selections,...e]):r(e)})}});var d=r({is(t){return h.is(t)||A.is(t)||pe.is(t)||ce.is(t)||E.is(t)},cloneWithWhere(t,e){return r({...t,where:t.where?Q.cloneWithOperation(t.where,"And",e):Q.create(e)})},cloneWithJoin(t,e){return r({...t,joins:t.joins?r([...t.joins,e]):r([e])})},cloneWithReturning(t,e){return r({...t,returning:t.returning?ai.cloneWithSelections(t.returning,e):ai.create(e)})},cloneWithoutReturning(t){return r({...t,returning:void 0})},cloneWithoutWhere(t){return r({...t,where:void 0})},cloneWithExplain(t,e,i){return r({...t,explain:ao.create(e,i?.toOperationNode())})},cloneWithTop(t,e){return r({...t,top:e})},cloneWithOutput(t,e){return r({...t,output:t.output?ui.cloneWithSelections(t.output,e):ui.create(e)})}});var di=r({is(t){return t.kind==="ColumnUpdateNode"},create(t,e){return r({kind:"ColumnUpdateNode",column:t,value:e})}});function uo(...t){return t.length===2?[di.create(D(t[0]),x(t[1]))]:qt(t[0])}function qt(t){let e=C(t)?t(re()):t;return Object.entries(e).filter(([i,o])=>o!==void 0).map(([i,o])=>di.create(m.create(i),x(o)))}var po=r({is(t){return t.kind==="OnDuplicateKeyNode"},create(t){return r({kind:"OnDuplicateKeyNode",updates:t})}});var pr=class{insertId;numInsertedOrUpdatedRows;constructor(e,i){this.insertId=e,this.numInsertedOrUpdatedRows=i}};var Z=class extends Error{node;constructor(e){super("no result"),this.node=e}};function he(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}var V=r({is(t){return t.kind==="OnConflictNode"},create(){return r({kind:"OnConflictNode"})},cloneWith(t,e){return r({...t,...e})},cloneWithIndexWhere(t,e){return r({...t,indexWhere:t.indexWhere?Q.cloneWithOperation(t.indexWhere,"And",e):Q.create(e)})},cloneWithIndexOrWhere(t,e){return r({...t,indexWhere:t.indexWhere?Q.cloneWithOperation(t.indexWhere,"Or",e):Q.create(e)})},cloneWithUpdateWhere(t,e){return r({...t,updateWhere:t.updateWhere?Q.cloneWithOperation(t.updateWhere,"And",e):Q.create(e)})},cloneWithUpdateOrWhere(t,e){return r({...t,updateWhere:t.updateWhere?Q.cloneWithOperation(t.updateWhere,"Or",e):Q.create(e)})},cloneWithoutIndexWhere(t){return r({...t,indexWhere:void 0})},cloneWithoutUpdateWhere(t){return r({...t,updateWhere:void 0})}});var It=class t{#e;constructor(e){this.#e=r(e)}column(e){let i=m.create(e);return new t({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?r([...this.#e.onConflictNode.columns,i]):r([i])})})}columns(e){let i=e.map(m.create);return new t({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?r([...this.#e.onConflictNode.columns,...i]):r(i)})})}constraint(e){return new t({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{constraint:c.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,g(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:V.cloneWithIndexWhere(this.#e.onConflictNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:V.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new cr({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(e){return new hr({...this.#e,onConflictNode:V.cloneWith(this.#e.onConflictNode,{updates:qt(e)})})}$call(e){return e(this)}};u(It,"don't await OnConflictBuilder instances.");var cr=class{#e;constructor(e){this.#e=r(e)}toOperationNode(){return this.#e.onConflictNode}};u(cr,"don't await OnConflictDoNothingBuilder instances.");var hr=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,onConflictNode:V.cloneWithUpdateWhere(this.#e.onConflictNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:V.cloneWithUpdateWhere(this.#e.onConflictNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:V.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(e){return e(this)}toOperationNode(){return this.#e.onConflictNode}};u(hr,"don't await OnConflictUpdateBuilder instances.");var co=r({is(t){return t.kind==="TopNode"},create(t,e){return r({kind:"TopNode",expression:t,modifiers:e})}});function ie(t,e){if(!ve(t)&&!He(t))throw new Error(`Invalid top expression: ${t}`);if(!K(e)&&!pn(e))throw new Error(`Invalid top modifiers: ${e}`);return co.create(t,e)}function pn(t){return t==="percent"||t==="with ties"||t==="percent with ties"}var rt=class t{#e;constructor(e){this.#e=r(e)}values(e){let[i,o]=dr(e);return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{columns:i,values:o})})}columns(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{columns:r(e.map(m.create))})})}expression(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{values:$(e)})})}defaultValues(){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{defaultValues:!0})})}ignore(){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{ignore:!0})})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}onConflict(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{onConflict:e(new It({onConflictNode:V.create()})).toOperationNode()})})}onDuplicateKeyUpdate(e){return new t({...this.#e,queryNode:A.cloneWith(this.#e.queryNode,{onDuplicateKey:po.create(qt(e))})})}returning(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,B(e))})}returningAll(){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,z())})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,B(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,z(e))})}clearReturning(){return new t({...this.#e,queryNode:d.cloneWithoutReturning(this.#e.queryNode)})}$call(e){return e(this)}$if(e,i){return e?i(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(),i=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?i.rows:[new pr(i.insertId,i.numAffectedRows??i.numUpdatedOrDeletedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(rt,"don't await InsertQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var mr=class{numDeletedRows;constructor(e){this.numDeletedRows=e}};var it=r({is(t){return t.kind==="LimitNode"},create(t){return r({kind:"LimitNode",limit:t})}});var St=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:d.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}using(e){return new t({...this.#e,queryNode:ce.cloneWithUsing(this.#e.queryNode,me(e))})}innerJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("FullJoin",e))})}returning(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,B(e))})}returningAll(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,z(e))})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,B(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,z(e))})}clearReturning(){return new t({...this.#e,queryNode:d.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:ce.cloneWithoutLimit(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:ce.cloneWithoutOrderBy(this.#e.queryNode)})}orderBy(e,i){return new t({...this.#e,queryNode:ce.cloneWithOrderByItems(this.#e.queryNode,qe([e,i]))})}limit(e){return new t({...this.#e,queryNode:ce.cloneWithLimit(this.#e.queryNode,it.create(x(e)))})}$call(e){return e(this)}$if(e,i){return e?i(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(),i=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?i.rows:[new mr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(St,"don't await DeleteQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var lr=class{numUpdatedRows;numChangedRows;constructor(e,i){this.numUpdatedRows=e,this.numChangedRows=i}};var ze=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,k(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:d.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}from(e){return new t({...this.#e,queryNode:pe.cloneWithFromItems(this.#e.queryNode,me(e))})}innerJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("FullJoin",e))})}limit(e){return new t({...this.#e,queryNode:pe.cloneWithLimit(this.#e.queryNode,it.create(x(e)))})}set(...e){return new t({...this.#e,queryNode:pe.cloneWithUpdates(this.#e.queryNode,uo(...e))})}returning(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,B(e))})}returningAll(e){return new t({...this.#e,queryNode:d.cloneWithReturning(this.#e.queryNode,z(e))})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,B(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,z(e))})}clearReturning(){return new t({...this.#e,queryNode:d.cloneWithoutReturning(this.#e.queryNode)})}$call(e){return e(this)}$if(e,i){return e?i(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(),i=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?i.rows:[new lr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0),i.numChangedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(ze,"don't await UpdateQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var pi=r({is(t){return t.kind==="CommonTableExpressionNameNode"},create(t,e){return r({kind:"CommonTableExpressionNameNode",table:X.create(t),columns:e?r(e.map(m.create)):void 0})}});var ot=r({is(t){return t.kind==="CommonTableExpressionNode"},create(t,e){return r({kind:"CommonTableExpressionNode",name:t,expression:e})},cloneWith(t,e){return r({...t,...e})}});var kt=class t{#e;constructor(e){this.#e=r(e)}materialized(){return new t({...this.#e,node:ot.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new t({...this.#e,node:ot.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}};u(kt,"don't await CTEBuilder instances. They are never executed directly and are always just a part of a query.");function ci(t,e){let i=e(mo()).toOperationNode();return C(t)?t(cn(i)).toOperationNode():ot.create(ho(t),i)}function cn(t){return e=>new kt({node:ot.create(ho(e),t)})}function ho(t){if(t.includes("(")){let e=t.split(/[\(\)]/),i=e[0],o=e[1].split(",").map(s=>s.trim());return pi.create(i,o)}else return pi.create(t)}var At=r({is(t){return t.kind==="WithNode"},create(t,e){return r({kind:"WithNode",expressions:r([t]),...e})},cloneWithExpression(t,e){return r({...t,expressions:r([...t.expressions,e])})}});var lo=["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 fo(t){let e="";for(let i=0;i<t;++i)e+=hn();return e}function hn(){return lo[~~(Math.random()*lo.length)]}function N(){return new hi}var hi=class{#e;get queryId(){return this.#e===void 0&&(this.#e=fo(8)),this.#e}};var ke=class{nodeStack=[];#e=r({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),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.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)});transformNode(e){if(!e)return e;this.nodeStack.push(e);let i=this.transformNodeImpl(e);return this.nodeStack.pop(),r(i)}transformNodeImpl(e){return this.#e[e.kind](e)}transformNodeList(e){return e&&r(e.map(i=>this.transformNode(i)))}transformSelectQuery(e){return{kind:"SelectQueryNode",from:this.transformNode(e.from),selections:this.transformNodeList(e.selections),distinctOn:this.transformNodeList(e.distinctOn),joins:this.transformNodeList(e.joins),groupBy:this.transformNode(e.groupBy),orderBy:this.transformNode(e.orderBy),where:this.transformNode(e.where),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),limit:this.transformNode(e.limit),offset:this.transformNode(e.offset),with:this.transformNode(e.with),having:this.transformNode(e.having),explain:this.transformNode(e.explain),setOperations:this.transformNodeList(e.setOperations),fetch:this.transformNode(e.fetch),top:this.transformNode(e.top)}}transformSelection(e){return{kind:"SelectionNode",selection:this.transformNode(e.selection)}}transformColumn(e){return{kind:"ColumnNode",column:this.transformNode(e.column)}}transformAlias(e){return{kind:"AliasNode",node:this.transformNode(e.node),alias:this.transformNode(e.alias)}}transformTable(e){return{kind:"TableNode",table:this.transformNode(e.table)}}transformFrom(e){return{kind:"FromNode",froms:this.transformNodeList(e.froms)}}transformReference(e){return{kind:"ReferenceNode",column:this.transformNode(e.column),table:this.transformNode(e.table)}}transformAnd(e){return{kind:"AndNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformOr(e){return{kind:"OrNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformValueList(e){return{kind:"ValueListNode",values:this.transformNodeList(e.values)}}transformParens(e){return{kind:"ParensNode",node:this.transformNode(e.node)}}transformJoin(e){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table),on:this.transformNode(e.on)}}transformRaw(e){return{kind:"RawNode",sqlFragments:r([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),with:this.transformNode(e.with),ignore:e.ignore,replace:e.replace,explain:this.transformNode(e.explain),defaultValues:e.defaultValues,top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformValues(e){return{kind:"ValuesNode",values:this.transformNodeList(e.values)}}transformDeleteQuery(e){return{kind:"DeleteQueryNode",from:this.transformNode(e.from),using:this.transformNode(e.using),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),returning:this.transformNode(e.returning),with:this.transformNode(e.with),orderBy:this.transformNode(e.orderBy),limit:this.transformNode(e.limit),explain:this.transformNode(e.explain),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformReturning(e){return{kind:"ReturningNode",selections:this.transformNodeList(e.selections)}}transformCreateTable(e){return{kind:"CreateTableNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),constraints:this.transformNodeList(e.constraints),temporary:e.temporary,ifNotExists:e.ifNotExists,onCommit:e.onCommit,frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),selectQuery:this.transformNode(e.selectQuery)}}transformColumnDefinition(e){return{kind:"ColumnDefinitionNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),references:this.transformNode(e.references),primaryKey:e.primaryKey,autoIncrement:e.autoIncrement,unique:e.unique,notNull:e.notNull,unsigned:e.unsigned,defaultTo:this.transformNode(e.defaultTo),check:this.transformNode(e.check),generated:this.transformNode(e.generated),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),nullsNotDistinct:e.nullsNotDistinct,identity:e.identity,ifNotExists:e.ifNotExists}}transformAddColumn(e){return{kind:"AddColumnNode",column:this.transformNode(e.column)}}transformDropTable(e){return{kind:"DropTableNode",table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformOrderBy(e){return{kind:"OrderByNode",items:this.transformNodeList(e.items)}}transformOrderByItem(e){return{kind:"OrderByItemNode",orderBy:this.transformNode(e.orderBy),direction:this.transformNode(e.direction)}}transformGroupBy(e){return{kind:"GroupByNode",items:this.transformNodeList(e.items)}}transformGroupByItem(e){return{kind:"GroupByItemNode",groupBy:this.transformNode(e.groupBy)}}transformUpdateQuery(e){return{kind:"UpdateQueryNode",table:this.transformNode(e.table),from:this.transformNode(e.from),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),updates:this.transformNodeList(e.updates),returning:this.transformNode(e.returning),with:this.transformNode(e.with),explain:this.transformNode(e.explain),limit:this.transformNode(e.limit),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformColumnUpdate(e){return{kind:"ColumnUpdateNode",column:this.transformNode(e.column),value:this.transformNode(e.value)}}transformLimit(e){return{kind:"LimitNode",limit:this.transformNode(e.limit)}}transformOffset(e){return{kind:"OffsetNode",offset:this.transformNode(e.offset)}}transformOnConflict(e){return{kind:"OnConflictNode",columns:this.transformNodeList(e.columns),constraint:this.transformNode(e.constraint),indexExpression:this.transformNode(e.indexExpression),indexWhere:this.transformNode(e.indexWhere),updates:this.transformNodeList(e.updates),updateWhere:this.transformNode(e.updateWhere),doNothing:e.doNothing}}transformOnDuplicateKey(e){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(e.updates)}}transformCreateIndex(e){return{kind:"CreateIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists,where:this.transformNode(e.where),nullsNotDistinct:e.nullsNotDistinct}}transformList(e){return{kind:"ListNode",items:this.transformNodeList(e.items)}}transformDropIndex(e){return{kind:"DropIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformPrimaryKeyConstraint(e){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name)}}transformUniqueConstraint(e){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name),nullsNotDistinct:e.nullsNotDistinct}}transformForeignKeyConstraint(e){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(e.columns),references:this.transformNode(e.references),name:this.transformNode(e.name),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformSetOperation(e){return{kind:"SetOperationNode",operator:e.operator,expression:this.transformNode(e.expression),all:e.all}}transformReferences(e){return{kind:"ReferencesNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformCheckConstraint(e){return{kind:"CheckConstraintNode",expression:this.transformNode(e.expression),name:this.transformNode(e.name)}}transformWith(e){return{kind:"WithNode",expressions:this.transformNodeList(e.expressions),recursive:e.recursive}}transformCommonTableExpression(e){return{kind:"CommonTableExpressionNode",name:this.transformNode(e.name),materialized:e.materialized,expression:this.transformNode(e.expression)}}transformCommonTableExpressionName(e){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns)}}transformHaving(e){return{kind:"HavingNode",having:this.transformNode(e.having)}}transformCreateSchema(e){return{kind:"CreateSchemaNode",schema:this.transformNode(e.schema),ifNotExists:e.ifNotExists}}transformDropSchema(e){return{kind:"DropSchemaNode",schema:this.transformNode(e.schema),ifExists:e.ifExists,cascade:e.cascade}}transformAlterTable(e){return{kind:"AlterTableNode",table:this.transformNode(e.table),renameTo:this.transformNode(e.renameTo),setSchema:this.transformNode(e.setSchema),columnAlterations:this.transformNodeList(e.columnAlterations),addConstraint:this.transformNode(e.addConstraint),dropConstraint:this.transformNode(e.dropConstraint),addIndex:this.transformNode(e.addIndex),dropIndex:this.transformNode(e.dropIndex)}}transformDropColumn(e){return{kind:"DropColumnNode",column:this.transformNode(e.column)}}transformRenameColumn(e){return{kind:"RenameColumnNode",column:this.transformNode(e.column),renameTo:this.transformNode(e.renameTo)}}transformAlterColumn(e){return{kind:"AlterColumnNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),dataTypeExpression:this.transformNode(e.dataTypeExpression),setDefault:this.transformNode(e.setDefault),dropDefault:e.dropDefault,setNotNull:e.setNotNull,dropNotNull:e.dropNotNull}}transformModifyColumn(e){return{kind:"ModifyColumnNode",column:this.transformNode(e.column)}}transformAddConstraint(e){return{kind:"AddConstraintNode",constraint:this.transformNode(e.constraint)}}transformDropConstraint(e){return{kind:"DropConstraintNode",constraintName:this.transformNode(e.constraintName),ifExists:e.ifExists,modifier:e.modifier}}transformCreateView(e){return{kind:"CreateViewNode",name:this.transformNode(e.name),temporary:e.temporary,orReplace:e.orReplace,ifNotExists:e.ifNotExists,materialized:e.materialized,columns:this.transformNodeList(e.columns),as:this.transformNode(e.as)}}transformDropView(e){return{kind:"DropViewNode",name:this.transformNode(e.name),ifExists:e.ifExists,materialized:e.materialized,cascade:e.cascade}}transformGenerated(e){return{kind:"GeneratedNode",byDefault:e.byDefault,always:e.always,identity:e.identity,stored:e.stored,expression:this.transformNode(e.expression)}}transformDefaultValue(e){return{kind:"DefaultValueNode",defaultValue:this.transformNode(e.defaultValue)}}transformOn(e){return{kind:"OnNode",on:this.transformNode(e.on)}}transformSelectModifier(e){return{kind:"SelectModifierNode",modifier:e.modifier,rawModifier:this.transformNode(e.rawModifier),of:this.transformNodeList(e.of)}}transformCreateType(e){return{kind:"CreateTypeNode",name:this.transformNode(e.name),enum:this.transformNode(e.enum)}}transformDropType(e){return{kind:"DropTypeNode",name:this.transformNode(e.name),ifExists:e.ifExists}}transformExplain(e){return{kind:"ExplainNode",format:e.format,options:this.transformNode(e.options)}}transformSchemableIdentifier(e){return{kind:"SchemableIdentifierNode",schema:this.transformNode(e.schema),identifier:this.transformNode(e.identifier)}}transformAggregateFunction(e){return{kind:"AggregateFunctionNode",aggregated:this.transformNodeList(e.aggregated),distinct:e.distinct,filter:this.transformNode(e.filter),func:e.func,over:this.transformNode(e.over)}}transformOver(e){return{kind:"OverNode",orderBy:this.transformNode(e.orderBy),partitionBy:this.transformNode(e.partitionBy)}}transformPartitionBy(e){return{kind:"PartitionByNode",items:this.transformNodeList(e.items)}}transformPartitionByItem(e){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(e.partitionBy)}}transformBinaryOperation(e){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(e.leftOperand),operator:this.transformNode(e.operator),rightOperand:this.transformNode(e.rightOperand)}}transformUnaryOperation(e){return{kind:"UnaryOperationNode",operator:this.transformNode(e.operator),operand:this.transformNode(e.operand)}}transformUsing(e){return{kind:"UsingNode",tables:this.transformNodeList(e.tables)}}transformFunction(e){return{kind:"FunctionNode",func:e.func,arguments:this.transformNodeList(e.arguments)}}transformCase(e){return{kind:"CaseNode",value:this.transformNode(e.value),when:this.transformNodeList(e.when),else:this.transformNode(e.else),isStatement:e.isStatement}}transformWhen(e){return{kind:"WhenNode",condition:this.transformNode(e.condition),result:this.transformNode(e.result)}}transformJSONReference(e){return{kind:"JSONReferenceNode",reference:this.transformNode(e.reference),traversal:this.transformNode(e.traversal)}}transformJSONPath(e){return{kind:"JSONPathNode",inOperator:this.transformNode(e.inOperator),pathLegs:this.transformNodeList(e.pathLegs)}}transformJSONPathLeg(e){return{kind:"JSONPathLegNode",type:e.type,value:e.value}}transformJSONOperatorChain(e){return{kind:"JSONOperatorChainNode",operator:this.transformNode(e.operator),values:this.transformNodeList(e.values)}}transformTuple(e){return{kind:"TupleNode",values:this.transformNodeList(e.values)}}transformMergeQuery(e){return{kind:"MergeQueryNode",into:this.transformNode(e.into),using:this.transformNode(e.using),whens:this.transformNodeList(e.whens),with:this.transformNode(e.with),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformMatched(e){return{kind:"MatchedNode",not:e.not,bySource:e.bySource}}transformAddIndex(e){return{kind:"AddIndexNode",name:this.transformNode(e.name),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists}}transformCast(e){return{kind:"CastNode",expression:this.transformNode(e.expression),dataType:this.transformNode(e.dataType)}}transformFetch(e){return{kind:"FetchNode",rowCount:this.transformNode(e.rowCount),modifier:e.modifier}}transformTop(e){return{kind:"TopNode",expression:e.expression,modifiers:e.modifiers}}transformOutput(e){return{kind:"OutputNode",selections:this.transformNodeList(e.selections)}}transformDataType(e){return e}transformSelectAll(e){return e}transformIdentifier(e){return e}transformValue(e){return e}transformPrimitiveValueList(e){return e}transformOperator(e){return e}transformDefaultInsertValue(e){return e}};var mn=r({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0}),fr=class extends ke{#e;#t=new Set;#r=new Set;constructor(e){super(),this.#e=e}transformNodeImpl(e){if(!this.#i(e))return super.transformNodeImpl(e);let i=this.#s(e);for(let a of i)this.#r.add(a);let o=this.#o(e);for(let a of o)this.#t.add(a);let s=super.transformNodeImpl(e);for(let a of o)this.#t.delete(a);for(let a of i)this.#r.delete(a);return s}transformSchemableIdentifier(e){let i=super.transformSchemableIdentifier(e);return i.schema||!this.#t.has(e.identifier.name)?i:{...i,schema:c.create(this.#e)}}transformReferences(e){let i=super.transformReferences(e);return i.table.table.schema?i:{...i,table:X.createWithSchema(this.#e,i.table.table.identifier.name)}}#i(e){return e.kind in mn}#o(e){let i=new Set;if("name"in e&&e.name&&U.is(e.name)&&this.#a(e.name,i),"from"in e&&e.from)for(let o of e.from.froms)this.#n(o,i);if("into"in e&&e.into&&this.#n(e.into,i),"table"in e&&e.table&&this.#n(e.table,i),"joins"in e&&e.joins)for(let o of e.joins)this.#n(o.table,i);return"using"in e&&e.using&&this.#n(e.using,i),i}#s(e){let i=new Set;return"with"in e&&e.with&&this.#u(e.with,i),i}#n(e,i){let o=X.is(e)?e:F.is(e)&&X.is(e.node)?e.node:null;o&&this.#a(o.table,i)}#a(e,i){let o=e.identifier.name;!this.#t.has(o)&&!this.#r.has(o)&&i.add(o)}#u(e,i){for(let o of e.expressions){let s=o.name.table.table.identifier.name;this.#r.has(s)||i.add(s)}}};var oe=class{#e;constructor(e){this.#e=new fr(e)}transformQuery(e){return this.#e.transformNode(e.node)}async transformResult(e){return e.result}};var No=r({is(t){return t.kind==="MatchedNode"},create(t,e=!1){return r({kind:"MatchedNode",not:t,bySource:e})}});function mi(t,e,i){return xe.create(et([No.create(!t.isMatched,t.bySource),...e&&e.length>0?[e.length===3&&i?k(e[0],e[1],e[2]):g(e)]:[]],"and",!1))}function nt(t){return W(t)?T.create([t],[]):b(t)?t.toOperationNode():t}var Et=class{#e;#t;#r;constructor(){this.#e=new Promise((e,i)=>{this.#r=i,this.#t=e})}get promise(){return this.#e}resolve=e=>{this.#t&&this.#t(e)};reject=e=>{this.#r&&this.#r(e)}};var yo=new Set;function wo(t){yo.has(t)||(yo.add(t),console.log(t))}var ln=r([]),st=class{#e;constructor(e=ln){this.#e=e}get plugins(){return this.#e}transformQuery(e,i){for(let o of this.#e){let s=o.transformQuery({node:e,queryId:i});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,i){return await this.provideConnection(async o=>{let s=await o.executeQuery(e),a=await this.#t(s,i);return fn(s,a),a})}async*stream(e,i,o){let s=new Et,a=new Et;this.provideConnection(async l=>(s.resolve(l),await a.promise)).catch(l=>s.reject(l));let p=await s.promise;try{for await(let l of p.streamQuery(e,i))yield await this.#t(l,o)}finally{a.resolve()}}async#t(e,i){for(let o of this.#e)e=await o.transformResult({result:e,queryId:i});return e}};function fn(t,e){let{numAffectedRows:i}=t;i===void 0&&t.numUpdatedOrDeletedRows===void 0||i!==void 0&&e.numAffectedRows!==void 0||wo("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}var li=class t extends st{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([])}},Ae=new li;var Nr=class{numChangedRows;constructor(e){this.numChangedRows=e}};var Rt=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}using(...e){return new ge({...this.#e,queryNode:E.cloneWithUsing(this.#e.queryNode,S("Using",e))})}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,B(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,z(e))})}};u(Rt,"don't await MergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var ge=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}whenMatched(){return this.#t([])}whenMatchedAnd(...e){return this.#t(e)}whenMatchedAndRef(e,i,o){return this.#t([e,i,o],!0)}#t(e,i){return new Dt({...this.#e,queryNode:E.cloneWithWhen(this.#e.queryNode,mi({isMatched:!0},e,i))})}whenNotMatched(){return this.#r([])}whenNotMatchedAnd(...e){return this.#r(e)}whenNotMatchedAndRef(e,i,o){return this.#r([e,i,o],!0)}whenNotMatchedBySource(){return this.#r([],!1,!0)}whenNotMatchedBySourceAnd(...e){return this.#r(e,!1,!0)}whenNotMatchedBySourceAndRef(e,i,o){return this.#r([e,i,o],!0,!0)}output(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,B(e))})}outputAll(e){return new t({...this.#e,queryNode:d.cloneWithOutput(this.#e.queryNode,z(e))})}#r(e,i=!1,o=!1){let s={...this.#e,queryNode:E.cloneWithWhen(this.#e.queryNode,mi({isMatched:!1,bySource:o},e,i))},a=o?Dt:yr;return new a(s)}$call(e){return e(this)}$if(e,i){return e?i(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(),i=await this.#e.executor.executeQuery(e,this.#e.queryId);return e.query.output&&this.#e.executor.adapter.supportsOutput?i.rows:[new Nr(i.numAffectedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}};u(ge,"don't await WheneableMergeQueryBuilder instances directly. To execute the query you need to call `execute`.");var Dt=class{#e;constructor(e){this.#e=r(e)}thenDelete(){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,nt("delete"))})}thenDoNothing(){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,nt("do nothing"))})}thenUpdate(e){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,nt(e(new ze({queryId:this.#e.queryId,executor:Ae,queryNode:pe.createWithoutTable()}))))})}thenUpdateSet(...e){return this.thenUpdate(i=>i.set(...e))}};u(Dt,"don't await MatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var yr=class{#e;constructor(e){this.#e=r(e)}thenDoNothing(){return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,nt("do nothing"))})}thenInsertValues(e){let[i,o]=dr(e);return new ge({...this.#e,queryNode:E.cloneWithThen(this.#e.queryNode,nt(A.cloneWith(A.createWithoutInto(),{columns:i,values:o})))})}};u(yr,"don't await NotMatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var at=class t{#e;constructor(e){this.#e=r(e)}selectFrom(e){return Bt({queryId:N(),executor:this.#e.executor,queryNode:h.createFrom(me(e),this.#e.withNode)})}selectNoFrom(e){return Bt({queryId:N(),executor:this.#e.executor,queryNode:h.cloneWithSelections(h.create(this.#e.withNode),B(e))})}insertInto(e){return new rt({queryId:N(),executor:this.#e.executor,queryNode:A.create(y(e),this.#e.withNode)})}replaceInto(e){return new rt({queryId:N(),executor:this.#e.executor,queryNode:A.create(y(e),this.#e.withNode,!0)})}deleteFrom(e){return new St({queryId:N(),executor:this.#e.executor,queryNode:ce.create(me(e),this.#e.withNode)})}updateTable(e){return new ze({queryId:N(),executor:this.#e.executor,queryNode:pe.create(Ee(e),this.#e.withNode)})}mergeInto(e){return new Rt({queryId:N(),executor:this.#e.executor,queryNode:E.create(fi(e),this.#e.withNode)})}with(e,i){let o=ci(e,i);return new t({...this.#e,withNode:this.#e.withNode?At.cloneWithExpression(this.#e.withNode,o):At.create(o)})}withRecursive(e,i){let o=ci(e,i);return new t({...this.#e,withNode:this.#e.withNode?At.cloneWithExpression(this.#e.withNode,o):At.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 oe(e))})}};function mo(){return new at({executor:Ae})}function xo(t,e){return new Wt({joinNode:We.create(t,Ee(e))})}function go(){return new Tt({overNode:Ct.create()})}function S(t,e){if(e.length===3)return yn(t,e[0],e[1],e[2]);if(e.length===2)return Nn(t,e[0],e[1]);throw new Error("not implemented")}function Nn(t,e,i){return i(xo(t,e)).toOperationNode()}function yn(t,e,i,o){return We.createWithOn(t,Ee(e),k(i,"=",o))}var Oo=r({is(t){return t.kind==="OffsetNode"},create(t){return r({kind:"OffsetNode",offset:t})}});var bo=r({is(t){return t.kind==="GroupByItemNode"},create(t){return r({kind:"GroupByItemNode",groupBy:t})}});function vo(t){return t=C(t)?t(re()):t,ye(t).map(bo.create)}var wr=r({is(t){return t.kind==="SetOperationNode"},create(t,e,i){return r({kind:"SetOperationNode",operator:t,expression:e,all:i})}});function Me(t,e,i){return C(e)&&(e=e(xr())),L(e)||(e=[e]),e.map(o=>wr.create(t,$(o),i))}var w=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new Qt(this,e)}or(...e){return new Ni(te.create(this.#e,g(e)))}and(...e){return new yi(J.create(this.#e,g(e)))}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},Qt=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return F.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():c.create(this.#t))}},Ni=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new Qt(this,e)}or(...e){return new t(te.create(this.#e,g(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return de.create(this.#e)}},yi=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new Qt(this,e)}and(...e){return new t(J.create(this.#e,g(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:I.create(t),modifier:e}}};function Wo(t,e){if(!ve(t)&&!He(t))throw new Error(`Invalid fetch row count: ${t}`);if(!wn(e))throw new Error(`Invalid fetch modifier: ${e}`);return Co.create(t,e)}function wn(t){return t==="only"||t==="with ties"}var gr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,g(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:d.cloneWithWhere(this.#e.queryNode,k(e,i,o))})}having(...e){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,g(e))})}havingRef(e,i,o){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,k(e,i,o))})}select(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,B(e))})}distinctOn(e){return new t({...this.#e,queryNode:h.cloneWithDistinctOn(this.#e.queryNode,ye(e))})}modifyFront(e){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,ue.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.createWithExpression(e.toOperationNode()))})}distinct(){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,ue.create("Distinct"))})}forUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForUpdate",e?gt(e).map(y):void 0))})}forShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForShare",e?gt(e).map(y):void 0))})}forKeyShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForKeyShare",e?gt(e).map(y):void 0))})}forNoKeyUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("ForNoKeyUpdate",e?gt(e).map(y):void 0))})}skipLocked(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("SkipLocked"))})}noWait(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,ue.create("NoWait"))})}selectAll(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,z(e))})}innerJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("FullJoin",e))})}innerJoinLateral(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LateralInnerJoin",e))})}leftJoinLateral(...e){return new t({...this.#e,queryNode:d.cloneWithJoin(this.#e.queryNode,S("LateralLeftJoin",e))})}orderBy(...e){return new t({...this.#e,queryNode:h.cloneWithOrderByItems(this.#e.queryNode,qe(e))})}groupBy(e){return new t({...this.#e,queryNode:h.cloneWithGroupByItems(this.#e.queryNode,vo(e))})}limit(e){return new t({...this.#e,queryNode:h.cloneWithLimit(this.#e.queryNode,it.create(x(e)))})}offset(e){return new t({...this.#e,queryNode:h.cloneWithOffset(this.#e.queryNode,Oo.create(x(e)))})}fetch(e,i="only"){return new t({...this.#e,queryNode:h.cloneWithFetch(this.#e.queryNode,Wo(e,i))})}top(e,i){return new t({...this.#e,queryNode:d.cloneWithTop(this.#e.queryNode,ie(e,i))})}union(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Me("union",e,!1))})}unionAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Me("union",e,!0))})}intersect(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Me("intersect",e,!1))})}intersectAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Me("intersect",e,!0))})}except(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Me("except",e,!1))})}exceptAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Me("except",e,!0))})}as(e){return new Or(this,e)}clearSelect(){return new t({...this.#e,queryNode:h.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new t({...this.#e,queryNode:d.cloneWithoutWhere(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:h.cloneWithoutLimit(this.#e.queryNode)})}clearOffset(){return new t({...this.#e,queryNode:h.cloneWithoutOffset(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:h.cloneWithoutOrderBy(this.#e.queryNode)})}clearGroupBy(){return new t({...this.#e,queryNode:h.cloneWithoutGroupBy(this.#e.queryNode)})}$call(e){return e(this)}$if(e,i){return e?i(this):new t({...this.#e})}$castTo(){return new t(this.#e)}$narrowType(){return new t(this.#e)}$assertType(){return new t(this.#e)}$asTuple(){return new w(this.toOperationNode())}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=Z){let i=await this.executeTakeFirst();if(i===void 0)throw he(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}async*stream(e=100){let i=this.compile(),o=this.#e.executor.stream(i,e,this.#e.queryId);for await(let s of o)yield*s.rows}async explain(e,i){return await new t({...this.#e,queryNode:d.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};u(gr,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function Bt(t){return new gr(t)}var Or=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}get isAliasedSelectQueryBuilder(){return!0}toOperationNode(){return F.create(this.#e.toOperationNode(),c.create(this.#t))}};u(Or,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");var Oe=r({is(t){return t.kind==="AggregateFunctionNode"},create(t,e=[]){return r({kind:"AggregateFunctionNode",func:t,aggregated:e})},cloneWithDistinct(t){return r({...t,distinct:!0})},cloneWithFilter(t,e){return r({...t,filter:t.filter?Q.cloneWithOperation(t.filter,"And",e):Q.create(e)})},cloneWithOrFilter(t,e){return r({...t,filter:t.filter?Q.cloneWithOperation(t.filter,"Or",e):Q.create(e)})},cloneWithOver(t,e){return r({...t,over:e})}});var wi=r({is(t){return t.kind==="FunctionNode"},create(t,e){return r({kind:"FunctionNode",func:t,arguments:e})}});var Ve=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}as(e){return new xi(this,e)}distinct(){return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithDistinct(this.#e.aggregateFunctionNode)})}filterWhere(...e){return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithFilter(this.#e.aggregateFunctionNode,g(e))})}filterWhereRef(e,i,o){return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithFilter(this.#e.aggregateFunctionNode,k(e,i,o))})}over(e){let i=go();return new t({...this.#e,aggregateFunctionNode:Oe.cloneWithOver(this.#e.aggregateFunctionNode,(e?e(i):i).toOperationNode())})}$call(e){return e(this)}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e.aggregateFunctionNode}};u(Ve,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var xi=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return F.create(this.#e.toOperationNode(),c.create(this.#t))}};function br(){let t=(i,o)=>new w(wi.create(i,ye(o??[]))),e=(i,o)=>new Ve({aggregateFunctionNode:Oe.create(i,o?ye(o):void 0)});return Object.assign(t,{agg:e,avg(i){return e("avg",[i])},coalesce(...i){return t("coalesce",i)},count(i){return e("count",[i])},countAll(i){return new Ve({aggregateFunctionNode:Oe.create("count",z(i))})},max(i){return e("max",[i])},min(i){return e("min",[i])},sum(i){return e("sum",[i])},any(i){return t("any",[i])},jsonAgg(i){return new Ve({aggregateFunctionNode:Oe.create("json_agg",[W(i)?y(i):i.toOperationNode()])})},toJson(i){return new w(wi.create("to_json",[W(i)?y(i):i.toOperationNode()]))}})}var To=r({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return r({kind:"UnaryOperationNode",operator:t,operand:e})}});function qo(t,e){return To.create(j.create(t),D(e))}var H=r({is(t){return t.kind==="CaseNode"},create(t){return r({kind:"CaseNode",value:t})},cloneWithWhen(t,e){return r({...t,when:r(t.when?[...t.when,e]:[e])})},cloneWithThen(t,e){return r({...t,when:t.when?r([...t.when.slice(0,-1),xe.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return r({...t,...e})}});var ut=class{#e;constructor(e){this.#e=r(e)}when(...e){return new vr({...this.#e,node:H.cloneWithWhen(this.#e.node,xe.create(g(e)))})}},vr=class{#e;constructor(e){this.#e=r(e)}then(e){return new gi({...this.#e,node:H.cloneWithThen(this.#e.node,sr(e)?vt(e):x(e))})}},gi=class{#e;constructor(e){this.#e=r(e)}when(...e){return new vr({...this.#e,node:H.cloneWithWhen(this.#e.node,xe.create(g(e)))})}else(e){return new Oi({...this.#e,node:H.cloneWith(this.#e.node,{else:sr(e)?vt(e):x(e)})})}end(){return new w(H.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new w(H.cloneWith(this.#e.node,{isStatement:!0}))}},Oi=class{#e;constructor(e){this.#e=r(e)}end(){return new w(H.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new w(H.cloneWith(this.#e.node,{isStatement:!0}))}};var bi=r({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return r({kind:"JSONPathLegNode",type:t,value:e})}});var Re=class{#e;constructor(e){this.#e=e}at(e){return this.#t("ArrayLocation",e)}key(e){return this.#t("Member",e)}#t(e,i){return Ze.is(this.#e)?new Cr(Ze.cloneWithTraversal(this.#e,Ie.is(this.#e.traversal)?Ie.cloneWithLeg(this.#e.traversal,bi.create(e,i)):or.cloneWithValue(this.#e.traversal,I.createImmediate(i)))):new Cr(Ie.cloneWithLeg(this.#e,bi.create(e,i)))}},Cr=class extends Re{#e;constructor(e){super(e),this.#e=e}get expressionType(){}as(e){return new vi(this,e)}$castTo(){return new Re(this.#e)}$notNull(){return new Re(this.#e)}toOperationNode(){return this.#e}},vi=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return F.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():c.create(this.#t))}};var Ci=r({is(t){return t.kind==="TupleNode"},create(t){return r({kind:"TupleNode",values:r(t)})}});var xn=["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"],gn=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],Io=r({is(t){return t.kind==="DataTypeNode"},create(t){return r({kind:"DataTypeNode",dataType:t})}});function So(t){return!!(xn.includes(t)||gn.some(e=>e.test(t)))}function ne(t){if(b(t))return t.toOperationNode();if(So(t))return Io.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}var ko=r({is(t){return t.kind==="CastNode"},create(t,e){return r({kind:"CastNode",expression:t,dataType:e})}});function xr(t=Ae){function e(s,a,p){return new w(ar(s,a,p))}function i(s,a){return new w(qo(s,a))}let o=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(s){return Bt({queryId:N(),executor:t,queryNode:h.createFrom(me(s))})},case(s){return new ut({node:H.create(K(s)?void 0:D(s))})},ref(s,a){return K(a)?new w(G(s)):new Re(Yi(s,a))},jsonPath(){return new Re(Ie.create())},table(s){return new w(y(s))},val(s){return new w(x(s))},refTuple(...s){return new w(Ci.create(s.map(D)))},tuple(...s){return new w(Ci.create(s.map(x)))},lit(s){return new w(vt(s))},unary:i,not(s){return i("not",s)},exists(s){return i("exists",s)},neg(s){return i("-",s)},between(s,a,p){return new w(Te.create(D(s),j.create("between"),J.create(x(a),x(p))))},betweenSymmetric(s,a,p){return new w(Te.create(D(s),j.create("between symmetric"),J.create(x(a),x(p))))},and(s){return L(s)?new w(et(s,"and")):new w(ri(s,"and"))},or(s){return L(s)?new w(et(s,"or")):new w(ri(s,"or"))},parens(...s){let a=g(s);return de.is(a)?new w(a):new w(de.create(a))},cast(s,a){return new w(ko.create(D(s),ne(a)))},withSchema(s){return xr(t.withPluginAtFront(new oe(s)))}});return o.fn=br(),o.eb=o,o}function re(t){return xr()}function $(t){if(b(t))return t.toOperationNode();if(C(t))return t(re()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function ur(t){if(b(t))return t.toOperationNode();if(C(t))return t(re()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function Ne(t){return $i(t)||Ki(t)||C(t)}function me(t){return L(t)?t.map(e=>Ee(e)):[Ee(t)]}function Ee(t){return W(t)?fi(t):ur(t)}function fi(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(Ao);return F.create(y(i),c.create(o))}else return y(t)}function y(t){let e=".";if(t.includes(e)){let[i,o]=t.split(e).map(Ao);return X.createWithSchema(i,o)}else return X.create(t)}function Ao(t){return t.trim()}var Wi=r({is(t){return t.kind==="AddColumnNode"},create(t){return r({kind:"AddColumnNode",column:t})}});var O=r({is(t){return t.kind==="ColumnDefinitionNode"},create(t,e){return r({kind:"ColumnDefinitionNode",column:m.create(t),dataType:e})},cloneWithFrontModifier(t,e){return r({...t,frontModifiers:t.frontModifiers?r([...t.frontModifiers,e]):[e]})},cloneWithEndModifier(t,e){return r({...t,endModifiers:t.endModifiers?r([...t.endModifiers,e]):[e]})},cloneWith(t,e){return r({...t,...e})}});var Ti=r({is(t){return t.kind==="DropColumnNode"},create(t){return r({kind:"DropColumnNode",column:m.create(t)})}});var qi=r({is(t){return t.kind==="RenameColumnNode"},create(t,e){return r({kind:"RenameColumnNode",column:m.create(t),renameTo:m.create(e)})}});var dt=r({is(t){return t.kind==="CheckConstraintNode"},create(t,e){return r({kind:"CheckConstraintNode",expression:t,name:e?c.create(e):void 0})}});var Eo=["no action","restrict","cascade","set null","set default"],pt=r({is(t){return t.kind==="ReferencesNode"},create(t,e){return r({kind:"ReferencesNode",table:t,columns:r([...e])})},cloneWithOnDelete(t,e){return r({...t,onDelete:e})},cloneWithOnUpdate(t,e){return r({...t,onUpdate:e})}});function Wr(t){return b(t)?t.toOperationNode():I.createImmediate(t)}var Lt=r({is(t){return t.kind==="GeneratedNode"},create(t){return r({kind:"GeneratedNode",...t})},createWithExpression(t){return r({kind:"GeneratedNode",always:!0,expression:t})},cloneWith(t,e){return r({...t,...e})}});var Ro=r({is(t){return t.kind==="DefaultValueNode"},create(t){return r({kind:"DefaultValueNode",defaultValue:t})}});function ct(t){if(Eo.includes(t))return t;throw new Error(`invalid OnModifyForeignAction ${t}`)}var le=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 i=G(e);if(!i.table||Ye.is(i.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:pt.create(i.table,[i.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:pt.cloneWithOnDelete(this.#e.references,ct(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:pt.cloneWithOnUpdate(this.#e.references,ct(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:Ro.create(Wr(e))}))}check(e){return new t(O.cloneWith(this.#e,{check:dt.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new t(O.cloneWith(this.#e,{generated:Lt.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Lt.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Lt.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:Lt.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}};u(le,"don't await ColumnDefinitionBuilder instances directly.");var Ii=r({is(t){return t.kind==="ModifyColumnNode"},create(t){return r({kind:"ModifyColumnNode",column:t})}});var Ue=r({is(t){return t.kind==="ForeignKeyConstraintNode"},create(t,e,i,o){return r({kind:"ForeignKeyConstraintNode",columns:t,references:pt.create(e,i),name:o?c.create(o):void 0})},cloneWith(t,e){return r({...t,...e})}});var Je=class t{#e;constructor(e){this.#e=e}onDelete(e){return new t(Ue.cloneWith(this.#e,{onDelete:ct(e)}))}onUpdate(e){return new t(Ue.cloneWith(this.#e,{onUpdate:ct(e)}))}$call(e){return e(this)}toOperationNode(){return this.#e}};u(Je,"don't await ForeignKeyConstraintBuilder instances directly.");var ht=r({is(t){return t.kind==="AddConstraintNode"},create(t){return r({kind:"AddConstraintNode",constraint:t})}});var mt=r({is(t){return t.kind==="UniqueConstraintNode"},create(t,e,i){return r({kind:"UniqueConstraintNode",columns:r(t.map(m.create)),name:e?c.create(e):void 0,nullsNotDistinct:i})},cloneWith(t,e){return r({...t,...e})}});var lt=r({is(t){return t.kind==="DropConstraintNode"},create(t){return r({kind:"DropConstraintNode",constraintName:c.create(t)})},cloneWith(t,e){return r({...t,...e})}});var ft=r({is(t){return t.kind==="AlterColumnNode"},create(t,e,i){return r({kind:"AlterColumnNode",column:m.create(t),[e]:i})}});var Nt=class{#e;constructor(e){this.#e=e}setDataType(e){return new De(ft.create(this.#e,"dataType",ne(e)))}setDefault(e){return new De(ft.create(this.#e,"setDefault",Wr(e)))}dropDefault(){return new De(ft.create(this.#e,"dropDefault",!0))}setNotNull(){return new De(ft.create(this.#e,"setNotNull",!0))}dropNotNull(){return new De(ft.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}};u(Nt,"don't await AlterColumnBuilder instances");var De=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}};u(De,"don't await AlteredColumnBuilder instances");var fe=class{#e;constructor(e){this.#e=r(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)}};u(fe,"don't await AlterTableExecutor instances directly. To execute the query you need to call `execute`");var Pt=class t{#e;constructor(e){this.#e=r(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)})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(f.cloneWithTableProps(this.#e.node,{addConstraint:ht.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)}};u(Pt,"don't await AlterTableAddForeignKeyConstraintBuilder instances directly. To execute the query you need to call `execute`");var Ft=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:lt.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:lt.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:lt.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)}};u(Ft,"don't await AlterTableDropConstraintBuilder instances directly. To execute the query you need to call `execute`");var Tr=r({is(t){return t.kind==="PrimaryKeyConstraintNode"},create(t,e){return r({kind:"PrimaryKeyConstraintNode",columns:r(t.map(m.create)),name:e?c.create(e):void 0})}});var Be=r({is(t){return t.kind==="AddIndexNode"},create(t){return r({kind:"AddIndexNode",name:c.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var zt=class t{#e;constructor(e){this.#e=r(e)}unique(){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWithColumns(this.#e.node.addIndex,[_e(e)])})})}columns(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWithColumns(this.#e.node.addIndex,e.map(_e))})})}expression(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new t({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.cloneWith(this.#e.node.addIndex,{using:T.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)}};u(zt,"don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`");var $e=class t{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}nullsNotDistinct(){return new t(mt.cloneWith(this.#e,{nullsNotDistinct:!0}))}};u($e,"don't await UniqueConstraintNodeBuilder instances directly.");var Mt=class{#e;constructor(e){this.#e=r(e)}renameTo(e){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{renameTo:y(e)})})}setSchema(e){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{setSchema:c.create(e)})})}alterColumn(e,i){let o=i(new Nt(e));return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ti.create(e))})}renameColumn(e,i){return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,qi.create(e,i))})}addColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Wi.create(s.toOperationNode()))})}modifyColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new Qe({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ii.create(s.toOperationNode()))})}addUniqueConstraint(e,i,o=ae){let s=o(new $e(mt.create(i,e)));return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:ht.create(s.toOperationNode())})})}addCheckConstraint(e,i){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:ht.create(dt.create(i.toOperationNode(),e))})})}addForeignKeyConstraint(e,i,o,s){return new Pt({...this.#e,constraintBuilder:new Je(Ue.create(i.map(m.create),y(o),s.map(m.create),e))})}addPrimaryKeyConstraint(e,i){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addConstraint:ht.create(Tr.create(i,e))})})}dropConstraint(e){return new Ft({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropConstraint:lt.create(e)})})}addIndex(e){return new zt({...this.#e,node:f.cloneWithTableProps(this.#e.node,{addIndex:Be.create(e)})})}dropIndex(e){return new fe({...this.#e,node:f.cloneWithTableProps(this.#e.node,{dropIndex:Ce.create(e)})})}$call(e){return e(this)}};u(Mt,"don't await AlterTableBuilder instances");var Qe=class t{#e;constructor(e){this.#e=r(e)}alterColumn(e,i){let o=i(new Nt(e));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ti.create(e))})}renameColumn(e,i){return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,qi.create(e,i))})}addColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Wi.create(s.toOperationNode()))})}modifyColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new t({...this.#e,node:f.cloneWithColumnAlteration(this.#e.node,Ii.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)}};u(Qe,"don't await AlterTableColumnAlteringBuilder instances directly. To execute the query you need to call `execute`");var yt=class extends ke{transformValue(e){return{...super.transformValue(e),immediate:!0}}};var Vt=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{table:y(e)})})}column(e){return new t({...this.#e,node:ee.cloneWithColumns(this.#e.node,[_e(e)])})}columns(e){return new t({...this.#e,node:ee.cloneWithColumns(this.#e.node,e.map(_e))})}expression(e){return new t({...this.#e,node:ee.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new t({...this.#e,node:ee.cloneWith(this.#e.node,{using:T.createWithSql(e)})})}where(...e){let i=new yt;return new t({...this.#e,node:d.cloneWithWhere(this.#e.node,i.transformNode(g(e)))})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};u(Vt,"don't await CreateIndexBuilder instances directly. To execute the query you need to call `execute`");var Ut=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:_t.cloneWith(this.#e.node,{ifNotExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};u(Ut,"don't await CreateSchemaBuilder instances directly. To execute the query you need to call `execute`");function Do(t){if(Ji.includes(t))return t;throw new Error(`invalid OnCommitAction ${t}`)}var Jt=class t{#e;constructor(e){this.#e=r(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:Do(e)})})}ifNotExists(){return new t({...this.#e,node:P.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,i,o=ae){let s=o(new le(O.create(e,ne(i))));return new t({...this.#e,node:P.cloneWithColumn(this.#e.node,s.toOperationNode())})}addPrimaryKeyConstraint(e,i){return new t({...this.#e,node:P.cloneWithConstraint(this.#e.node,Tr.create(i,e))})}addUniqueConstraint(e,i,o=ae){let s=o(new $e(mt.create(i,e)));return new t({...this.#e,node:P.cloneWithConstraint(this.#e.node,s.toOperationNode())})}addCheckConstraint(e,i){return new t({...this.#e,node:P.cloneWithConstraint(this.#e.node,dt.create(i.toOperationNode(),e))})}addForeignKeyConstraint(e,i,o,s,a=ae){let p=a(new Je(Ue.create(i.map(m.create),y(o),s.map(m.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:$(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)}};u(Jt,"don't await CreateTableBuilder instances directly. To execute the query you need to call `execute`");var $t=class t{#e;constructor(e){this.#e=r(e)}on(e){return new t({...this.#e,node:Ce.cloneWith(this.#e.node,{table:y(e)})})}ifExists(){return new t({...this.#e,node:Ce.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Ce.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)}};u($t,"don't await DropIndexBuilder instances directly. To execute the query you need to call `execute`");var Kt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Ot.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Ot.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)}};u(Kt,"don't await DropSchemaBuilder instances directly. To execute the query you need to call `execute`");var jt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:bt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:bt.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)}};u(jt,"don't await DropTableBuilder instances directly. To execute the query you need to call `execute`");var se=r({is(t){return t.kind==="CreateViewNode"},create(t){return r({kind:"CreateViewNode",name:U.create(t)})},cloneWith(t,e){return r({...t,...e})}});var qr=class{#e=new yt;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}};var Gt=class t{#e;constructor(e){this.#e=r(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(_r)})})}as(e){let i=e.withPlugin(new qr).toOperationNode();return new t({...this.#e,node:se.cloneWith(this.#e.node,{as:i})})}$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)}};u(Gt,"don't await CreateViewBuilder instances directly. To execute the query you need to call `execute`");var wt=r({is(t){return t.kind==="DropViewNode"},create(t){return r({kind:"DropViewNode",name:U.create(t)})},cloneWith(t,e){return r({...t,...e})}});var Ht=class t{#e;constructor(e){this.#e=r(e)}materialized(){return new t({...this.#e,node:wt.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new t({...this.#e,node:wt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:wt.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};u(Ht,"don't await DropViewBuilder instances directly. To execute the query you need to call `execute`");var Ir=r({is(t){return t.kind==="CreateTypeNode"},create(t){return r({kind:"CreateTypeNode",name:t})},cloneWithEnum(t,e){return r({...t,enum:Se.create(e.map(i=>I.createImmediate(i)))})}});var Yt=class t{#e;constructor(e){this.#e=r(e)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}asEnum(e){return new t({...this.#e,node:Ir.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)}};u(Yt,"don't await CreateTypeBuilder instances directly. To execute the query you need to call `execute`");var Sr=r({is(t){return t.kind==="DropTypeNode"},create(t){return r({kind:"DropTypeNode",name:t})},cloneWith(t,e){return r({...t,...e})}});var Xt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Sr.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)}};u(Xt,"don't await DropTypeBuilder instances directly. To execute the query you need to call `execute`");function Si(t){let e=".";if(t.includes(e)){let i=t.split(e).map(On);if(i.length===2)return U.createWithSchema(i[0],i[1]);throw new Error(`invalid schemable identifier ${t}`)}else return U.create(t)}function On(t){return t.trim()}var kr=class t{#e;constructor(e){this.#e=e}createTable(e){return new Jt({queryId:N(),executor:this.#e,node:P.create(y(e))})}dropTable(e){return new jt({queryId:N(),executor:this.#e,node:bt.create(y(e))})}createIndex(e){return new Vt({queryId:N(),executor:this.#e,node:ee.create(e)})}dropIndex(e){return new $t({queryId:N(),executor:this.#e,node:Ce.create(e)})}createSchema(e){return new Ut({queryId:N(),executor:this.#e,node:_t.create(e)})}dropSchema(e){return new Kt({queryId:N(),executor:this.#e,node:Ot.create(e)})}alterTable(e){return new Mt({queryId:N(),executor:this.#e,node:f.create(y(e))})}createView(e){return new Gt({queryId:N(),executor:this.#e,node:se.create(e)})}dropView(e){return new Ht({queryId:N(),executor:this.#e,node:wt.create(e)})}createType(e){return new Yt({queryId:N(),executor:this.#e,node:Ir.create(Si(e))})}dropType(e){return new Xt({queryId:N(),executor:this.#e,node:Sr.create(Si(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 oe(e)))}};var Ar=class{ref(e){return new tr(e)}};var Er=class{#e;constructor(e){this.#e=e}async provideConnection(e){let i=await this.#e.acquireConnection();try{return await e(i)}finally{await this.#e.releaseConnection(i)}}};var Rr=class t extends st{#e;#t;#r;constructor(e,i,o,s=[]){super(s),this.#e=e,this.#t=i,this.#r=o}get adapter(){return this.#t}compileQuery(e){return this.#e.compileQuery(e)}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 ki(){return typeof performance<"u"&&C(performance.now)?performance.now():Date.now()}var Dr=class{#e;#t;#r;#i;#o;#s=new WeakSet;constructor(e,i){this.#i=!1,this.#e=e,this.#t=i}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.#s.has(e)||(this.#n()&&this.#a(e),this.#s.add(e)),e}async releaseConnection(e){await this.#e.releaseConnection(e)}beginTransaction(e,i){return this.#e.beginTransaction(e,i)}commitTransaction(e){return this.#e.commitTransaction(e)}rollbackTransaction(e){return this.#e.rollbackTransaction(e)}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)}#n(){return this.#t.isLevelEnabled("query")||this.#t.isLevelEnabled("error")}#a(e){let i=e.executeQuery;e.executeQuery=async o=>{let s,a=ki();try{return await i.call(e,o)}catch(p){throw s=p,await this.#u(p,o,a),p}finally{s||await this.#p(o,a)}}}async#u(e,i,o){await this.#t.error(()=>({level:"error",error:e,query:i,queryDurationMillis:this.#d(o)}))}async#p(e,i){await this.#t.query(()=>({level:"query",query:e,queryDurationMillis:this.#d(i)}))}#d(e){return ki()-e}};var bn=()=>{},Zt=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(bn);return this.#t=this.#r(e).finally(()=>{this.#t=void 0}),this.#t}async#r(e){return await e(this.#e)}};var Bo=["read uncommitted","read committed","repeatable read","serializable","snapshot"];var Pv=r(["query","error"]),Br=class{#e;#t;constructor(e){C(e)?(this.#t=e,this.#e=r({query:!0,error:!0})):(this.#t=vn,this.#e=r({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 vn(t){t.level==="query"?(console.log(`kysely:query: ${t.query.sql}`),console.log(`kysely:query: duration: ${t.queryDurationMillis.toFixed(1)}ms`)):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 Qo(t){return M(t)&&C(t.compile)}var xt=class t extends at{#e;constructor(e){let i,o;if(Cn(e))i={executor:e.executor},o={...e};else{let s=e.dialect,a=s.createDriver(),p=s.createQueryCompiler(),l=s.createAdapter(),v=new Br(e.log??[]),q=new Dr(a,v),R=new Er(q),_=new Rr(p,l,R,e.plugins??[]);i={executor:_},o={config:e,executor:_,dialect:s,driver:q}}super(i),this.#e=r(o)}get schema(){return new kr(this.#e.executor)}get dynamic(){return new Ar}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new ut({node:H.create(K(e)?void 0:$(e))})}get fn(){return br()}transaction(){return new Lr({...this.#e})}connection(){return new Qr({...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 oe(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,i=N()){let o=Qo(e)?e.compile():e;return this.getExecutor().executeQuery(o,i)}},Ai=class t extends xt{#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 oe(e))})}withTables(){return new t({...this.#e})}};function Cn(t){return M(t)&&M(t.config)&&M(t.driver)&&M(t.executor)&&M(t.dialect)}var Qr=class{#e;constructor(e){this.#e=r(e)}async execute(e){return this.#e.executor.provideConnection(async i=>{let o=this.#e.executor.withConnectionProvider(new Zt(i)),s=new xt({...this.#e,executor:o});return await e(s)})}};u(Qr,"don't await ConnectionBuilder instances directly. To execute the query you need to call the `execute` method");var Lr=class t{#e;constructor(e){this.#e=r(e)}setIsolationLevel(e){return new t({...this.#e,isolationLevel:e})}async execute(e){let{isolationLevel:i,...o}=this.#e,s={isolationLevel:i};return Wn(s),this.#e.executor.provideConnection(async a=>{let p=this.#e.executor.withConnectionProvider(new Zt(a)),l=new Ai({...o,executor:p});try{await this.#e.driver.beginTransaction(a,s);let v=await e(l);return await this.#e.driver.commitTransaction(a),v}catch(v){throw await this.#e.driver.rollbackTransaction(a),v}})}};u(Lr,"don't await TransactionBuilder instances directly. To execute the transaction you need to call the `execute` method");function Wn(t){if(t.isolationLevel&&!Bo.includes(t.isolationLevel))throw new Error(`invalid transaction isolation level ${t.isolationLevel}`)}var Pr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isRawBuilder(){return!0}as(e){return new Fr(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?r([...this.#e.plugins,e]):r([e])})}toOperationNode(){return this.#r(this.#t())}compile(e){return this.#i(this.#t(e))}async execute(e){let i=this.#t(e);return i.executeQuery(this.#i(i),this.#e.queryId)}#t(e){let i=e!==void 0?e.getExecutor():Ae;return this.#e.plugins!==void 0?i.withPlugins(this.#e.plugins):i}#r(e){return e.transformQuery(this.#e.rawNode,this.#e.queryId)}#i(e){return e.compileQuery(this.#r(e),this.#e.queryId)}};function be(t){return new Pr(t)}u(Pr,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Fr=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}get rawBuilder(){return this.#e}toOperationNode(){return F.create(this.#e.toOperationNode(),b(this.#t)?this.#t.toOperationNode():c.create(this.#t))}};u(Fr,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");var Y=Object.assign((t,...e)=>be({queryId:N(),rawNode:T.create(t,e?.map(Lo)??[])}),{ref(t){return be({queryId:N(),rawNode:T.createWithChild(G(t))})},val(t){return be({queryId:N(),rawNode:T.createWithChild(x(t))})},value(t){return this.val(t)},table(t){return be({queryId:N(),rawNode:T.createWithChild(y(t))})},id(...t){let e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",be({queryId:N(),rawNode:T.create(e,t.map(c.create))})},lit(t){return be({queryId:N(),rawNode:T.createWithChild(I.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return be({queryId:N(),rawNode:T.createWithSql(t)})},join(t,e=Y`, `){let i=new Array(2*t.length-1),o=e.toOperationNode();for(let s=0;s<t.length;++s)i[2*s]=Lo(t[s]),s!==t.length-1&&(i[2*s+1]=o);return be({queryId:N(),rawNode:T.createWithChildren(i)})}});function Lo(t){return b(t)?t.toOperationNode():x(t)}var zr=class{nodeStack=[];get parentNode(){return this.nodeStack[this.nodeStack.length-2]}#e=r({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),ForeignKeyConstraintNode:this.visitForeignKeyConstraint.bind(this),CreateViewNode:this.visitCreateView.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)});visitNode=e=>{this.nodeStack.push(e),this.#e[e.kind](e),this.nodeStack.pop()}};var Mr=class extends zr{#e="";#t=[];get numParameters(){return this.#t.length}compileQuery(e){return this.#e="",this.#t=[],this.nodeStack.splice(0,this.nodeStack.length),this.visitNode(e),r({query:e,sql:this.getSql(),parameters:[...this.#t]})}getSql(){return this.#e}visitSelectQuery(e){let i=this.parentNode!==void 0&&!de.is(this.parentNode)&&!A.is(this.parentNode)&&!P.is(this.parentNode)&&!se.is(this.parentNode)&&!wr.is(this.parentNode);this.parentNode===void 0&&e.explain&&(this.visitNode(e.explain),this.append(" ")),i&&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])," ")),i&&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,i=", "){let o=e.length-1;for(let s=0;s<=o;s++)this.visitNode(e[s]),s<o&&this.append(i)}visitWhere(e){this.append("where "),this.visitNode(e.where)}visitHaving(e){this.append("having "),this.visitNode(e.having)}visitInsertQuery(e){let i=this.nodeStack.find(d.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!E.is(i)&&this.append("("),e.with&&(this.visitNode(e.with),this.append(" ")),this.append(e.replace?"replace":"insert"),e.ignore&&this.append(" ignore"),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(i)&&this.append(")")}visitValues(e){this.append("values "),this.compileList(e.values)}visitDeleteQuery(e){let i=this.nodeStack.find(d.is)!==e;!i&&e.explain&&(this.visitNode(e.explain),this.append(" ")),i&&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)),i&&this.append(")")}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(!W(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:i}=e;for(let o=0;o<i.length;++o)this.appendValue(i[o]),o!==i.length-1&&this.append(", ");this.append(")")}visitParens(e){this.append("("),this.visitNode(e.node),this.append(")")}visitJoin(e){this.append(qn[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:i,parameters:o}=e;for(let s=0;s<i.length;++s)this.append(i[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.direction&&(this.append(" "),this.visitNode(e.direction))}visitGroupBy(e){this.append("group by "),this.compileList(e.items)}visitGroupByItem(e){this.visitNode(e.groupBy)}visitUpdateQuery(e){let i=this.nodeStack.find(d.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!E.is(i)&&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&&(this.append(" "),this.compileList(e.joins," ")),e.where&&(this.append(" "),this.visitNode(e.where)),e.limit&&(this.append(" "),this.visitNode(e.limit)),e.returning&&(this.append(" "),this.visitNode(e.returning)),o&&!E.is(i)&&this.append(")")}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(")")}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(")")}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))}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 "),Pe(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.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")}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))}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(Tn[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),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 j.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 i of e.pathLegs)this.visitNode(i);this.append("'")}visitJSONPathLeg(e){let i=e.type==="ArrayLocation";this.append(i?"[":"."),this.append(String(e.value)),i&&this.append("]")}visitJSONOperatorChain(e){for(let i=0,o=e.values.length;i<o;i++)i===o-1?this.visitNode(e.operator):this.append("->"),this.visitNode(e.values[i])}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.output&&(this.append(" "),this.visitNode(e.output))}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}`)}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 i=this.getLeftIdentifierWrapper(),o=this.getRightIdentifierWrapper(),s="";for(let a of e)s+=a,a===i?s+=i:a===o&&(s+=o);return s}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(W(e))this.append(`'${e}'`);else if(ve(e)||Pe(e))this.append(e.toString());else if(Ge(e))this.append("null");else if(Ui(e))this.appendImmediateValue(e.toISOString());else if(He(e))this.appendImmediateValue(e.toString());else throw new Error(`invalid immediate value ${e}`)}sortSelectModifiers(e){return e.sort((i,o)=>i.modifier&&o.modifier?Po[i.modifier]-Po[o.modifier]:1),r(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},Tn=r({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),Po=r({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),qn=r({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",Using:"using"});var Vr=class{async init(){}async acquireConnection(){return new Ei}async beginTransaction(){}async commitTransaction(){}async rollbackTransaction(){}async releaseConnection(){}async destroy(){}},Ei=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 In=/"/g,Jr=class extends Mr{sanitizeIdentifier(e){return e.replace(In,'""')}};var Sn=BigInt("3853314791062309107"),$r=class extends Ur{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,i){await Y`select pg_advisory_xact_lock(${Y.lit(Sn)})`.execute(e)}async releaseMigrationLock(e,i){}};function Fo(t){return new xt({dialect:{createAdapter:()=>new t.Adapter,createDriver:()=>new Vr,createIntrospector:()=>null,createQueryCompiler:()=>new t.QueryCompiler},plugins:[...t.noParameters?[new Ri]:[]]})}var Ri=class{#e=new Di;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}},Di=class extends ke{transformPrimitiveValueList(e){return Se.create(e.values.map(I.createImmediate))}transformValue(e){return{...super.transformValue(e),immediate:!0}}};function Ke(t){let e=t.compile();return{parameters:e.parameters,sql:e.sql}}function zo(t,e){let i=kn(t,e);return o=>o.where(s=>s.and(i.map(([a,p])=>s(a,p===null?"is":"=",p))))}function kn(t,e){return Object.entries(Object.values(e).reduce((i,o)=>{let{isInPrimaryKey:s,name:a}=o;return s&&(i[a]=t[a]),i},{}))}function je(t){return Fo({...t,Adapter:$r,QueryCompiler:Jr})}function Bi(t,e){let{table:i,rows:o}=t,{name:s,schema:a,columns:p}=i,l=je(e),v=Object.values(p).map(({name:q})=>`${s}.${q}`);return Ke(l.withSchema(a).insertInto(s).values(o).returning(v).returning(q=>[q.cast("ctid","text").as("ctid")]))}function Qi(t,e){let{pageIndex:i,pageSize:o,sortOrder:s,table:{name:a,schema:p,columns:l}}=t,v=je(e),q=Object.values(l).map(({name:R})=>`${a}.${R}`);return Ke(v.with("count",R=>R.withSchema(p).selectFrom(a).select(_=>_.cast(v.fn.coalesce(v.fn.countAll(),Y.lit(0)),"text").as("oid"))).withSchema(p).selectFrom([a,"count"]).select(R=>[R.cast("ctid","text").as("ctid"),R.ref("count.oid").as("oid")]).select(q).$call(R=>s.reduce((_,Le)=>_.orderBy(Le.column,Le.direction),R)).limit(o).offset(Y.lit(BigInt(i)*BigInt(o))))}function An(){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 Li(t,e){let{changes:i,row:o,table:{columns:s,name:a,schema:p}}=t,l=je(e),v=Object.values(s).map(({name:q})=>`${a}.${q}`);return Ke(l.withSchema(p).updateTable(a).set(i).$call(zo(o,s)).returning(v).returning(q=>[q.cast("ctid","text").as("ctid"),q.cast(q.fn("floor",[q(q.fn("extract",[Y`epoch from now()`]),"*",1e6)]),"text").as("__ps_updated_at__")]))}function Mo(t){return Y`(select coalesce(json_agg(agg), '[]') from ${t} as agg)`}var En="r",Rn="v",Dn=[En,Rn];function Pi(t){return Ke(je(t).selectFrom("pg_catalog.pg_class as cls").innerJoin("pg_catalog.pg_namespace as ns","cls.relnamespace","ns.oid").$call(Bn).where("cls.relkind","in",Dn).select(e=>["ns.nspname as schema","cls.relname as name",Mo(e.selectFrom("pg_catalog.pg_attribute as att").innerJoin("pg_catalog.pg_type as typ","typ.oid","att.atttypid").leftJoin("pg_catalog.pg_constraint as con",i=>i.on("con.contype","=","p").onRef("con.conrelid","=","cls.oid").on(o=>Y`${o.ref("att.attnum")} = ANY(${o.ref("con.conkey")})`)).whereRef("att.attrelid","=","cls.oid").where("att.attnum",">=",0).where("att.attisdropped","!=",!0).where("att.attgenerated","=","").select(i=>["att.attname as name","typ.typname as datatype",i("con.conkey","is not",null).$castTo().as("pk"),i("att.attgenerated","!=","").$castTo().as("computed")])).as("columns")]))}function Fi(){return[{schema:"public",name:"users",columns:[{name:"id",datatype:"bigint",pk:!0,computed:!1},{name:"name",datatype:"varchar",pk:!1,computed:!1},{name:"role",datatype:"varchar",pk:!1,computed:!1},{name:"created_at",datatype:"timestamptz",pk:!1,computed:!1},{name:"deleted_at",datatype:"timestamptz",pk:!1,computed:!1}]}]}function zi(){let t=je();return Ke(t.selectNoFrom(t.fn("current_setting",[Y.lit("timezone")]).as("timezone")))}function Mi(){return[{timezone:"UTC"}]}function Bn(t){return t.where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema")}function Qn(t){let{executor:e,...i}=t;return{defaultSchema:"public",async introspect(o){try{let s=Pi(i),a=zi(),[[p,l],[v,q]]=await Promise.all([e.execute(s,o),e.execute(a,o)]),R=p||v;if(R)return[R];let[_]=q;return _?[null,Vo(l,_.timezone)]:[new Error("Timezone not found")]}catch(s){return[s]}},async query(o,s){try{let a=Qi(o,i),[p,l]=await e.execute(a,s);return p?[p]:[null,{filteredRowCount:l[0]?.oid||"0",rows:l}]}catch(a){return[a]}},async insert(o,s){try{let a=Bi(o,i),[p,l]=await e.execute(a,s);return p?[p]:[null,{rows:l}]}catch(a){return[a]}},async update(o,s){try{let a=Li(o,i),[p,l]=await e.execute(a,s);if(p)return[p];let[v]=l;return v?[null,{row:v}]:[new Error("Update failed")]}catch(a){return[a]}}}}function Vo(t,e){return t.reduce((i,o)=>{let{schemas:s}=i,{columns:a,name:p,schema:l}=o,v=a.reduce((q,{datatype:R,computed:_,name:Le,pk:Uo})=>{let Kr=R.startsWith("_"),jr=Kr?R.slice(1):R;return{...q,[Le]:{name:Le,schema:l,table:Le,isInPrimaryKey:Uo,datatype:{...Vi[jr]||{group:"raw"},isArray:Kr,name:Kr?`${jr}[]`:jr},computed:_}}},{});return(s[l]||={tables:{}}).tables[p]={columns:v,name:p,schema:l},i},{schemas:{public:{tables:{}}},timezone:e})}function Ln(){let t=Fi(),[{timezone:e}]=Mi();return Vo(t,e)}0&&(module.exports={createPostgresAdapter,getInsertQuery,getSelectQuery,getTablesQuery,getTimezoneQuery,getUpdateQuery,mockIntrospect,mockSelectQuery,mockTablesQuery,mockTimezoneQuery});