@prisma/studio-core 0.0.0-dev.202504141517 → 0.0.0-dev.202504141546

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 jr=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Fo=Object.getOwnPropertyNames;var Mo=Object.prototype.hasOwnProperty;var Vo=(t,e)=>{for(var i in e)jr(t,i,{get:e[i],enumerable:!0})},zo=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Fo(e))!Mo.call(t,s)&&s!==i&&jr(t,s,{get:()=>e[s],enumerable:!(o=Po(e,s))||o.enumerable});return t};var Uo=t=>zo(jr({},"__esModule",{value:!0}),t);var Rn={};Vo(Rn,{createPostgresAdapter:()=>En,getSelectQuery:()=>Di,getTablesQuery:()=>Bi,getTimezoneQuery:()=>Sn,mockSelectQuery:()=>bn,mockTablesQuery:()=>In,mockTimezoneQuery:()=>kn});module.exports=Uo(Rn);function U(t){return typeof t>"u"||t===void 0}function C(t){return typeof t=="string"}function xe(t){return typeof t=="number"}function De(t){return typeof t=="boolean"}function ze(t){return t===null}function Li(t){return t instanceof Date}function Ue(t){return typeof t=="bigint"}function v(t){return typeof t=="function"}function P(t){return typeof t=="object"&&t!==null}function r(t){return Object.freeze(t)}function lt(t){return D(t)?t:[t]}function D(t){return Array.isArray(t)}function ie(t){return t}var m=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 p=r({is(t){return t.kind==="IdentifierNode"},create(t){return r({kind:"IdentifierNode",name:t})}});var Y=r({is(t){return t.kind==="CreateIndexNode"},create(t){return r({kind:"CreateIndexNode",name:p.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var Xt=r({is(t){return t.kind==="CreateSchemaNode"},create(t,e){return r({kind:"CreateSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var Pi=["preserve rows","delete rows","drop"],B=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 M=r({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return r({kind:"SchemableIdentifierNode",identifier:p.create(t)})},createWithSchema(t,e){return r({kind:"SchemableIdentifierNode",schema:p.create(t),identifier:p.create(e)})}});var Oe=r({is(t){return t.kind==="DropIndexNode"},create(t,e){return r({kind:"DropIndexNode",name:M.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var ft=r({is(t){return t.kind==="DropSchemaNode"},create(t,e){return r({kind:"DropSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var Nt=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 Q=r({is(t){return t.kind==="AliasNode"},create(t,e){return r({kind:"AliasNode",node:t,alias:e})}});var G=r({is(t){return t.kind==="TableNode"},create(t){return r({kind:"TableNode",table:M.create(t)})},createWithSchema(t,e){return r({kind:"TableNode",table:M.createWithSchema(t,e)})}});function g(t){return P(t)&&v(t.toOperationNode)}function Fi(t){return P(t)&&"expressionType"in t&&g(t)}function Mi(t){return P(t)&&"expression"in t&&C(t.alias)&&g(t)}var oe=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 V=r({is(t){return t.kind==="AndNode"},create(t,e){return r({kind:"AndNode",left:t,right:e})}});var X=r({is(t){return t.kind==="OrNode"},create(t,e){return r({kind:"OrNode",left:t,right:e})}});var Zt=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"?V.create(t.on,i):X.create(t.on,i)})}});var ge=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:Zt.create(i)})},cloneWithOn(t,e){return r({...t,on:t.on?Zt.cloneWithOperation(t.on,"And",e):Zt.create(e)})}});var ve=r({is(t){return t.kind==="BinaryOperationNode"},create(t,e,i){return r({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:i})}});var Jo=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],$o=["+","-","*","/","%","^","&","|","#","<<",">>"],Vi=["->","->>"],Ko=[...Jo,...$o,"&&","||"],jo=["exists","not exists"],Go=["not","-",...jo],zi=[...Ko,...Vi,...Go,"between","between symmetric"],J=r({is(t){return t.kind==="OperatorNode"},create(t){return r({kind:"OperatorNode",operator:t})}});function Gr(t){return C(t)&&Vi.includes(t)}var c=r({is(t){return t.kind==="ColumnNode"},create(t){return r({kind:"ColumnNode",column:p.create(t)})}});var Je=r({is(t){return t.kind==="SelectAllNode"},create(){return r({kind:"SelectAllNode"})}});var $e=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:Je.create()})}});var _t=class{#e;get dynamicReference(){return this.#e}get refType(){}constructor(e){this.#e=e}toOperationNode(){return Hr(this.#e)}};function er(t){return P(t)&&g(t)&&C(t.dynamicReference)}var tr=r({is(t){return t.kind==="OrderByItemNode"},create(t,e){return r({kind:"OrderByItemNode",orderBy:t,direction:e})}});var b=r({is(t){return t.kind==="RawNode"},create(t,e){return r({kind:"RawNode",sqlFragments:r(t),parameters:r(e)})},createWithSql(t){return b.create([t],[])},createWithChild(t){return b.create(["",""],[t])},createWithChildren(t){return b.create(new Array(t.length+1).fill(""),t)}});function Xr(t){return t==="asc"||t==="desc"}function Ce(t){if(t.length===2)return[Yr(t[0],t[1])];if(t.length===1){let[e]=t;return Array.isArray(e)?e.map(i=>Yr(i)):[Yr(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Yr(t,e){let i=Ho(t);if(tr.is(i)){if(e)throw new Error("Cannot specify direction twice!");return i}return tr.create(i,Ui(e))}function Ho(t){if(ce(t))return z(t);if(er(t))return t.toOperationNode();let[e,i]=t.split(" ");if(i){if(!Xr(i))throw new Error(`Invalid order by direction: ${i}`);return tr.create($(e),Ui(i))}return $(t)}function Ui(t){if(t)return t==="asc"||t==="desc"?b.createWithSql(t):t.toOperationNode()}var Ke=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 rr=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 be=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 Hr(t){return C(t)?$(t):t.toOperationNode()}function me(t){return D(t)?t.map(e=>A(e)):[A(t)]}function A(t){return ce(t)?z(t):Hr(t)}function Ji(t,e){let i=$(t);if(Gr(e))return Ke.create(i,rr.create(J.create(e)));let o=e.slice(0,-1);if(Gr(o))return Ke.create(i,be.create(J.create(o)));throw new Error(`Invalid JSON operator: ${e}`)}function $(t){let e=".";if(!t.includes(e))return $e.create(c.create(t));let i=t.split(e).map(_r);if(i.length===3)return Yo(i);if(i.length===2)return Xo(i);throw new Error(`invalid column reference ${t}`)}function $i(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(_r);return Q.create($(i),p.create(o))}else return $(t)}function Zr(t){return c.create(t)}function je(t){let e=" ";if(t.includes(e)){let[i,o]=t.split(e).map(_r);if(!Xr(o))throw new Error(`invalid order direction "${o}" next to "${i}"`);return Ce([i,o])[0]}else return Zr(t)}function Yo(t){let[e,i,o]=t;return $e.create(c.create(o),G.createWithSchema(e,i))}function Xo(t){let[e,i]=t;return $e.create(c.create(i),G.create(e))}function _r(t){return t.trim()}var ir=r({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return r({kind:"PrimitiveValueListNode",values:r([...t])})}});var We=r({is(t){return t.kind==="ValueListNode"},create(t){return r({kind:"ValueListNode",values:r(t)})}});var W=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 Ki(t){return D(t)?Zo(t):y(t)}function y(t){return ce(t)?z(t):W.create(t)}function or(t){return xe(t)||De(t)||ze(t)}function yt(t){if(!or(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return W.createImmediate(t)}function Zo(t){return t.some(ce)?We.create(t.map(e=>y(e))):ir.create(t)}var ne=r({is(t){return t.kind==="ParensNode"},create(t){return r({kind:"ParensNode",node:t})}});function w(t){if(t.length===3)return nr(t[0],t[1],t[2]);if(t.length===1)return y(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function nr(t,e,i){return _o(e)&&Gi(i)?ve.create(A(t),ei(e),W.createImmediate(i)):ve.create(A(t),ei(e),Ki(i))}function I(t,e,i){return ve.create(A(t),ei(e),A(i))}function ti(t,e){return Ge(Object.entries(t).filter(([,i])=>!U(i)).map(([i,o])=>nr(i,Gi(o)?"is":"=",o)),e)}function Ge(t,e,i=!0){let o=e==="and"?V.create:X.create;if(t.length===0)return ve.create(W.createImmediate(1),J.create("="),W.createImmediate(e==="and"?1:0));let s=ji(t[0]);for(let d=1;d<t.length;++d)s=o(s,ji(t[d]));return t.length>1&&i?ne.create(s):s}function _o(t){return t==="is"||t==="is not"}function Gi(t){return ze(t)||De(t)}function ei(t){if(C(t)&&zi.includes(t))return J.create(t);if(g(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function ji(t){return g(t)?t.toOperationNode():t}var le=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 ri=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 wt=r({is(t){return t.kind==="OverNode"},create(){return r({kind:"OverNode"})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?le.cloneWithItems(t.orderBy,e):le.create(e)})},cloneWithPartitionByItems(t,e){return r({...t,partitionBy:t.partitionBy?ri.cloneWithItems(t.partitionBy,e):ri.create(e)})}});var Be=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 ii=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 oi=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"?V.create(t.having,i):X.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:Be.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?le.cloneWithItems(t.orderBy,e):le.create(e)})},cloneWithGroupByItems(t,e){return r({...t,groupBy:t.groupBy?ii.cloneWithItems(t.groupBy,e):ii.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?oi.cloneWithOperation(t.having,"And",e):oi.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 a(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var xt=class t{#e;constructor(e){this.#e=r(e)}on(...e){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,w(e))})}onRef(e,i,o){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,I(e,i,o))})}onTrue(){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,b.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return this.#e.joinNode}};a(xt,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");var Hi=r({is(t){return t.kind==="PartitionByItemNode"},create(t){return r({kind:"PartitionByItemNode",partitionBy:t})}});function Yi(t){return me(t).map(Hi.create)}var Ot=class t{#e;constructor(e){this.#e=r(e)}orderBy(e,i){return new t({overNode:wt.cloneWithOrderByItems(this.#e.overNode,Ce([e,i]))})}partitionBy(e){return new t({overNode:wt.cloneWithPartitionByItems(this.#e.overNode,Yi(e))})}$call(e){return e(this)}toOperationNode(){return this.#e.overNode}};a(Ot,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");var He=r({is(t){return t.kind==="SelectionNode"},create(t){return r({kind:"SelectionNode",selection:t})},createSelectAll(){return r({kind:"SelectionNode",selection:Je.create()})},createSelectAllFromTable(t){return r({kind:"SelectionNode",selection:$e.createSelectAll(t)})}});function E(t){return v(t)?E(t(Z())):D(t)?t.map(e=>Xi(e)):[Xi(t)]}function Xi(t){return C(t)?He.create($i(t)):er(t)?He.create(t.toOperationNode()):He.create(sr(t))}function L(t){return t?Array.isArray(t)?t.map(Zi):[Zi(t)]:[He.createSelectAll()]}function Zi(t){if(C(t))return He.createSelectAllFromTable(f(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}var _i=r({is(t){return t.kind==="ValuesNode"},create(t){return r({kind:"ValuesNode",values:r(t)})}});var eo=r({is(t){return t.kind==="DefaultInsertValueNode"},create(){return r({kind:"DefaultInsertValueNode"})}});function ar(t){let e=v(t)?t(Z()):t,i=D(e)?e:r([e]);return en(i)}function en(t){let e=tn(t);return[r([...e.keys()].map(c.create)),_i.create(t.map(i=>rn(i,e)))]}function tn(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 rn(t,e){let i=Object.keys(t),o=Array.from({length:e.size}),s=!1;for(let x of i){let T=e.get(x);if(U(T))continue;let j=t[x];(U(j)||ce(j))&&(s=!0),o[T]=j}if(i.length<e.size||s){let x=eo.create();return We.create(o.map(T=>U(T)?x:y(T)))}return ir.create(o)}var S=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 se=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?Be.cloneWithFroms(t.from,e):Be.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 ni=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 ae=r({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return r({kind:"DeleteQueryNode",from:Be.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?le.cloneWithItems(t.orderBy,e):le.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?ni.cloneWithTables(t.using,e):ni.create(e)})}});var R=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"?V.create(t.where,i):X.create(t.where,i)})}});var si=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 to=r({is(t){return t.kind==="ExplainNode"},create(t,e){return r({kind:"ExplainNode",format:t,options:e})}});var fe=r({is(t){return t.kind==="WhenNode"},create(t){return r({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return r({...t,result:e})}});var k=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),fe.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}});var ai=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 u=r({is(t){return h.is(t)||S.is(t)||se.is(t)||ae.is(t)||k.is(t)},cloneWithWhere(t,e){return r({...t,where:t.where?R.cloneWithOperation(t.where,"And",e):R.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?si.cloneWithSelections(t.returning,e):si.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:to.create(e,i?.toOperationNode())})},cloneWithTop(t,e){return r({...t,top:e})},cloneWithOutput(t,e){return r({...t,output:t.output?ai.cloneWithSelections(t.output,e):ai.create(e)})}});var ui=r({is(t){return t.kind==="ColumnUpdateNode"},create(t,e){return r({kind:"ColumnUpdateNode",column:t,value:e})}});function ro(...t){return t.length===2?[ui.create(A(t[0]),y(t[1]))]:gt(t[0])}function gt(t){let e=v(t)?t(Z()):t;return Object.entries(e).filter(([i,o])=>o!==void 0).map(([i,o])=>ui.create(c.create(i),y(o)))}var io=r({is(t){return t.kind==="OnDuplicateKeyNode"},create(t){return r({kind:"OnDuplicateKeyNode",updates:t})}});var ur=class{insertId;numInsertedOrUpdatedRows;constructor(e,i){this.insertId=e,this.numInsertedOrUpdatedRows=i}};var H=class extends Error{node;constructor(e){super("no result"),this.node=e}};function ue(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}var F=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?R.cloneWithOperation(t.indexWhere,"And",e):R.create(e)})},cloneWithIndexOrWhere(t,e){return r({...t,indexWhere:t.indexWhere?R.cloneWithOperation(t.indexWhere,"Or",e):R.create(e)})},cloneWithUpdateWhere(t,e){return r({...t,updateWhere:t.updateWhere?R.cloneWithOperation(t.updateWhere,"And",e):R.create(e)})},cloneWithUpdateOrWhere(t,e){return r({...t,updateWhere:t.updateWhere?R.cloneWithOperation(t.updateWhere,"Or",e):R.create(e)})},cloneWithoutIndexWhere(t){return r({...t,indexWhere:void 0})},cloneWithoutUpdateWhere(t){return r({...t,updateWhere:void 0})}});var vt=class t{#e;constructor(e){this.#e=r(e)}column(e){let i=c.create(e);return new t({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?r([...this.#e.onConflictNode.columns,i]):r([i])})})}columns(e){let i=e.map(c.create);return new t({...this.#e,onConflictNode:F.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:F.cloneWith(this.#e.onConflictNode,{constraint:p.create(e)})})}expression(e){return new t({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{indexExpression:e.toOperationNode()})})}where(...e){return new t({...this.#e,onConflictNode:F.cloneWithIndexWhere(this.#e.onConflictNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:F.cloneWithIndexWhere(this.#e.onConflictNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:F.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new dr({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(e){return new pr({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{updates:gt(e)})})}$call(e){return e(this)}};a(vt,"don't await OnConflictBuilder instances.");var dr=class{#e;constructor(e){this.#e=r(e)}toOperationNode(){return this.#e.onConflictNode}};a(dr,"don't await OnConflictDoNothingBuilder instances.");var pr=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,onConflictNode:F.cloneWithUpdateWhere(this.#e.onConflictNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:F.cloneWithUpdateWhere(this.#e.onConflictNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:F.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(e){return e(this)}toOperationNode(){return this.#e.onConflictNode}};a(pr,"don't await OnConflictUpdateBuilder instances.");var oo=r({is(t){return t.kind==="TopNode"},create(t,e){return r({kind:"TopNode",expression:t,modifiers:e})}});function _(t,e){if(!xe(t)&&!Ue(t))throw new Error(`Invalid top expression: ${t}`);if(!U(e)&&!on(e))throw new Error(`Invalid top modifiers: ${e}`);return oo.create(t,e)}function on(t){return t==="percent"||t==="with ties"||t==="percent with ties"}var Ye=class t{#e;constructor(e){this.#e=r(e)}values(e){let[i,o]=ar(e);return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{columns:i,values:o})})}columns(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{columns:r(e.map(c.create))})})}expression(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{values:z(e)})})}defaultValues(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{defaultValues:!0})})}ignore(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{ignore:!0})})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}onConflict(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{onConflict:e(new vt({onConflictNode:F.create()})).toOperationNode()})})}onDuplicateKeyUpdate(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{onDuplicateKey:io.create(gt(e))})})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,L())})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}clearReturning(){return new t({...this.#e,queryNode:u.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 ur(i.insertId,i.numAffectedRows??i.numUpdatedOrDeletedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=H){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(Ye,"don't await InsertQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var hr=class{numDeletedRows;constructor(e){this.numDeletedRows=e}};var Xe=r({is(t){return t.kind==="LimitNode"},create(t){return r({kind:"LimitNode",limit:t})}});var Ct=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:u.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}using(e){return new t({...this.#e,queryNode:ae.cloneWithUsing(this.#e.queryNode,de(e))})}innerJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("FullJoin",e))})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,L(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}clearReturning(){return new t({...this.#e,queryNode:u.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:ae.cloneWithoutLimit(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:ae.cloneWithoutOrderBy(this.#e.queryNode)})}orderBy(e,i){return new t({...this.#e,queryNode:ae.cloneWithOrderByItems(this.#e.queryNode,Ce([e,i]))})}limit(e){return new t({...this.#e,queryNode:ae.cloneWithLimit(this.#e.queryNode,Xe.create(y(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 hr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=H){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(Ct,"don't await DeleteQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var cr=class{numUpdatedRows;numChangedRows;constructor(e,i){this.numUpdatedRows=e,this.numChangedRows=i}};var Qe=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:u.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}from(e){return new t({...this.#e,queryNode:se.cloneWithFromItems(this.#e.queryNode,de(e))})}innerJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("FullJoin",e))})}limit(e){return new t({...this.#e,queryNode:se.cloneWithLimit(this.#e.queryNode,Xe.create(y(e)))})}set(...e){return new t({...this.#e,queryNode:se.cloneWithUpdates(this.#e.queryNode,ro(...e))})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,L(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}clearReturning(){return new t({...this.#e,queryNode:u.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 cr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0),i.numChangedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=H){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(Qe,"don't await UpdateQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var di=r({is(t){return t.kind==="CommonTableExpressionNameNode"},create(t,e){return r({kind:"CommonTableExpressionNameNode",table:G.create(t),columns:e?r(e.map(c.create)):void 0})}});var Ze=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 bt=class t{#e;constructor(e){this.#e=r(e)}materialized(){return new t({...this.#e,node:Ze.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new t({...this.#e,node:Ze.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}};a(bt,"don't await CTEBuilder instances. They are never executed directly and are always just a part of a query.");function pi(t,e){let i=e(so()).toOperationNode();return v(t)?t(nn(i)).toOperationNode():Ze.create(no(t),i)}function nn(t){return e=>new bt({node:Ze.create(no(e),t)})}function no(t){if(t.includes("(")){let e=t.split(/[\(\)]/),i=e[0],o=e[1].split(",").map(s=>s.trim());return di.create(i,o)}else return di.create(t)}var Wt=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 ao=["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 uo(t){let e="";for(let i=0;i<t;++i)e+=sn();return e}function sn(){return ao[~~(Math.random()*ao.length)]}function l(){return new hi}var hi=class{#e;get queryId(){return this.#e===void 0&&(this.#e=uo(8)),this.#e}};var qe=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 an=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}),mr=class extends qe{#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 d of i)this.#r.add(d);let o=this.#o(e);for(let d of o)this.#t.add(d);let s=super.transformNodeImpl(e);for(let d of o)this.#t.delete(d);for(let d of i)this.#r.delete(d);return s}transformSchemableIdentifier(e){let i=super.transformSchemableIdentifier(e);return i.schema||!this.#t.has(e.identifier.name)?i:{...i,schema:p.create(this.#e)}}transformReferences(e){let i=super.transformReferences(e);return i.table.table.schema?i:{...i,table:G.createWithSchema(this.#e,i.table.table.identifier.name)}}#i(e){return e.kind in an}#o(e){let i=new Set;if("name"in e&&e.name&&M.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=G.is(e)?e:Q.is(e)&&G.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 ee=class{#e;constructor(e){this.#e=new mr(e)}transformQuery(e){return this.#e.transformNode(e.node)}async transformResult(e){return e.result}};var po=r({is(t){return t.kind==="MatchedNode"},create(t,e=!1){return r({kind:"MatchedNode",not:t,bySource:e})}});function ci(t,e,i){return fe.create(Ge([po.create(!t.isMatched,t.bySource),...e&&e.length>0?[e.length===3&&i?I(e[0],e[1],e[2]):w(e)]:[]],"and",!1))}function _e(t){return C(t)?b.create([t],[]):g(t)?t.toOperationNode():t}var qt=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 ho=new Set;function co(t){ho.has(t)||(ho.add(t),console.log(t))}var un=r([]),et=class{#e;constructor(e=un){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),d=await this.#t(s,i);return dn(s,d),d})}async*stream(e,i,o){let s=new qt,d=new qt;this.provideConnection(async T=>(s.resolve(T),await d.promise)).catch(T=>s.reject(T));let x=await s.promise;try{for await(let T of x.streamQuery(e,i))yield await this.#t(T,o)}finally{d.resolve()}}async#t(e,i){for(let o of this.#e)e=await o.transformResult({result:e,queryId:i});return e}};function dn(t,e){let{numAffectedRows:i}=t;i===void 0&&t.numUpdatedOrDeletedRows===void 0||i!==void 0&&e.numAffectedRows!==void 0||co("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}var mi=class t extends et{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([])}},Te=new mi;var lr=class{numChangedRows;constructor(e){this.numChangedRows=e}};var Tt=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}using(...e){return new Ne({...this.#e,queryNode:k.cloneWithUsing(this.#e.queryNode,q("Using",e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}};a(Tt,"don't await MergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var Ne=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(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 It({...this.#e,queryNode:k.cloneWithWhen(this.#e.queryNode,ci({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:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}#r(e,i=!1,o=!1){let s={...this.#e,queryNode:k.cloneWithWhen(this.#e.queryNode,ci({isMatched:!1,bySource:o},e,i))},d=o?It:fr;return new d(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 lr(i.numAffectedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=H){let i=await this.executeTakeFirst();if(i===void 0)throw ue(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}};a(Ne,"don't await WheneableMergeQueryBuilder instances directly. To execute the query you need to call `execute`.");var It=class{#e;constructor(e){this.#e=r(e)}thenDelete(){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e("delete"))})}thenDoNothing(){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e("do nothing"))})}thenUpdate(e){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e(e(new Qe({queryId:this.#e.queryId,executor:Te,queryNode:se.createWithoutTable()}))))})}thenUpdateSet(...e){return this.thenUpdate(i=>i.set(...e))}};a(It,"don't await MatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var fr=class{#e;constructor(e){this.#e=r(e)}thenDoNothing(){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e("do nothing"))})}thenInsertValues(e){let[i,o]=ar(e);return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e(S.cloneWith(S.createWithoutInto(),{columns:i,values:o})))})}};a(fr,"don't await NotMatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var tt=class t{#e;constructor(e){this.#e=r(e)}selectFrom(e){return St({queryId:l(),executor:this.#e.executor,queryNode:h.createFrom(de(e),this.#e.withNode)})}selectNoFrom(e){return St({queryId:l(),executor:this.#e.executor,queryNode:h.cloneWithSelections(h.create(this.#e.withNode),E(e))})}insertInto(e){return new Ye({queryId:l(),executor:this.#e.executor,queryNode:S.create(f(e),this.#e.withNode)})}replaceInto(e){return new Ye({queryId:l(),executor:this.#e.executor,queryNode:S.create(f(e),this.#e.withNode,!0)})}deleteFrom(e){return new Ct({queryId:l(),executor:this.#e.executor,queryNode:ae.create(de(e),this.#e.withNode)})}updateTable(e){return new Qe({queryId:l(),executor:this.#e.executor,queryNode:se.create(Ie(e),this.#e.withNode)})}mergeInto(e){return new Tt({queryId:l(),executor:this.#e.executor,queryNode:k.create(li(e),this.#e.withNode)})}with(e,i){let o=pi(e,i);return new t({...this.#e,withNode:this.#e.withNode?Wt.cloneWithExpression(this.#e.withNode,o):Wt.create(o)})}withRecursive(e,i){let o=pi(e,i);return new t({...this.#e,withNode:this.#e.withNode?Wt.cloneWithExpression(this.#e.withNode,o):Wt.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 ee(e))})}};function so(){return new tt({executor:Te})}function mo(t,e){return new xt({joinNode:ge.create(t,Ie(e))})}function lo(){return new Ot({overNode:wt.create()})}function q(t,e){if(e.length===3)return hn(t,e[0],e[1],e[2]);if(e.length===2)return pn(t,e[0],e[1]);throw new Error("not implemented")}function pn(t,e,i){return i(mo(t,e)).toOperationNode()}function hn(t,e,i,o){return ge.createWithOn(t,Ie(e),I(i,"=",o))}var fo=r({is(t){return t.kind==="OffsetNode"},create(t){return r({kind:"OffsetNode",offset:t})}});var No=r({is(t){return t.kind==="GroupByItemNode"},create(t){return r({kind:"GroupByItemNode",groupBy:t})}});function yo(t){return t=v(t)?t(Z()):t,me(t).map(No.create)}var Nr=r({is(t){return t.kind==="SetOperationNode"},create(t,e,i){return r({kind:"SetOperationNode",operator:t,expression:e,all:i})}});function Le(t,e,i){return v(e)&&(e=e(yr())),D(e)||(e=[e]),e.map(o=>Nr.create(t,z(o),i))}var N=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new kt(this,e)}or(...e){return new fi(X.create(this.#e,w(e)))}and(...e){return new Ni(V.create(this.#e,w(e)))}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},kt=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Q.create(this.#e.toOperationNode(),g(this.#t)?this.#t.toOperationNode():p.create(this.#t))}},fi=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new kt(this,e)}or(...e){return new t(X.create(this.#e,w(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return ne.create(this.#e)}},Ni=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new kt(this,e)}and(...e){return new t(V.create(this.#e,w(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return ne.create(this.#e)}};var wo={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:W.create(t),modifier:e}}};function xo(t,e){if(!xe(t)&&!Ue(t))throw new Error(`Invalid fetch row count: ${t}`);if(!cn(e))throw new Error(`Invalid fetch modifier: ${e}`);return wo.create(t,e)}function cn(t){return t==="only"||t==="with ties"}var wr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,i,o))})}having(...e){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,w(e))})}havingRef(e,i,o){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,I(e,i,o))})}select(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,E(e))})}distinctOn(e){return new t({...this.#e,queryNode:h.cloneWithDistinctOn(this.#e.queryNode,me(e))})}modifyFront(e){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,oe.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.createWithExpression(e.toOperationNode()))})}distinct(){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,oe.create("Distinct"))})}forUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForUpdate",e?lt(e).map(f):void 0))})}forShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForShare",e?lt(e).map(f):void 0))})}forKeyShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForKeyShare",e?lt(e).map(f):void 0))})}forNoKeyUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForNoKeyUpdate",e?lt(e).map(f):void 0))})}skipLocked(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("SkipLocked"))})}noWait(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("NoWait"))})}selectAll(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,L(e))})}innerJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("FullJoin",e))})}innerJoinLateral(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("LateralInnerJoin",e))})}leftJoinLateral(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,q("LateralLeftJoin",e))})}orderBy(...e){return new t({...this.#e,queryNode:h.cloneWithOrderByItems(this.#e.queryNode,Ce(e))})}groupBy(e){return new t({...this.#e,queryNode:h.cloneWithGroupByItems(this.#e.queryNode,yo(e))})}limit(e){return new t({...this.#e,queryNode:h.cloneWithLimit(this.#e.queryNode,Xe.create(y(e)))})}offset(e){return new t({...this.#e,queryNode:h.cloneWithOffset(this.#e.queryNode,fo.create(y(e)))})}fetch(e,i="only"){return new t({...this.#e,queryNode:h.cloneWithFetch(this.#e.queryNode,xo(e,i))})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}union(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("union",e,!1))})}unionAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("union",e,!0))})}intersect(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("intersect",e,!1))})}intersectAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("intersect",e,!0))})}except(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("except",e,!1))})}exceptAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("except",e,!0))})}as(e){return new xr(this,e)}clearSelect(){return new t({...this.#e,queryNode:h.cloneWithoutSelections(this.#e.queryNode)})}clearWhere(){return new t({...this.#e,queryNode:u.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 N(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=H){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(wr,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function St(t){return new wr(t)}var xr=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 Q.create(this.#e.toOperationNode(),p.create(this.#t))}};a(xr,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");var ye=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?R.cloneWithOperation(t.filter,"And",e):R.create(e)})},cloneWithOrFilter(t,e){return r({...t,filter:t.filter?R.cloneWithOperation(t.filter,"Or",e):R.create(e)})},cloneWithOver(t,e){return r({...t,over:e})}});var yi=r({is(t){return t.kind==="FunctionNode"},create(t,e){return r({kind:"FunctionNode",func:t,arguments:e})}});var Pe=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}as(e){return new wi(this,e)}distinct(){return new t({...this.#e,aggregateFunctionNode:ye.cloneWithDistinct(this.#e.aggregateFunctionNode)})}filterWhere(...e){return new t({...this.#e,aggregateFunctionNode:ye.cloneWithFilter(this.#e.aggregateFunctionNode,w(e))})}filterWhereRef(e,i,o){return new t({...this.#e,aggregateFunctionNode:ye.cloneWithFilter(this.#e.aggregateFunctionNode,I(e,i,o))})}over(e){let i=lo();return new t({...this.#e,aggregateFunctionNode:ye.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}};a(Pe,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var wi=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Q.create(this.#e.toOperationNode(),p.create(this.#t))}};function Or(){let t=(i,o)=>new N(yi.create(i,me(o??[]))),e=(i,o)=>new Pe({aggregateFunctionNode:ye.create(i,o?me(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 Pe({aggregateFunctionNode:ye.create("count",L(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 Pe({aggregateFunctionNode:ye.create("json_agg",[C(i)?f(i):i.toOperationNode()])})},toJson(i){return new N(yi.create("to_json",[C(i)?f(i):i.toOperationNode()]))}})}var Oo=r({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return r({kind:"UnaryOperationNode",operator:t,operand:e})}});function go(t,e){return Oo.create(J.create(t),A(e))}var K=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),fe.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return r({...t,...e})}});var rt=class{#e;constructor(e){this.#e=r(e)}when(...e){return new gr({...this.#e,node:K.cloneWithWhen(this.#e.node,fe.create(w(e)))})}},gr=class{#e;constructor(e){this.#e=r(e)}then(e){return new xi({...this.#e,node:K.cloneWithThen(this.#e.node,or(e)?yt(e):y(e))})}},xi=class{#e;constructor(e){this.#e=r(e)}when(...e){return new gr({...this.#e,node:K.cloneWithWhen(this.#e.node,fe.create(w(e)))})}else(e){return new Oi({...this.#e,node:K.cloneWith(this.#e.node,{else:or(e)?yt(e):y(e)})})}end(){return new N(K.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new N(K.cloneWith(this.#e.node,{isStatement:!0}))}},Oi=class{#e;constructor(e){this.#e=r(e)}end(){return new N(K.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new N(K.cloneWith(this.#e.node,{isStatement:!0}))}};var gi=r({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return r({kind:"JSONPathLegNode",type:t,value:e})}});var Se=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 Ke.is(this.#e)?new vr(Ke.cloneWithTraversal(this.#e,be.is(this.#e.traversal)?be.cloneWithLeg(this.#e.traversal,gi.create(e,i)):rr.cloneWithValue(this.#e.traversal,W.createImmediate(i)))):new vr(be.cloneWithLeg(this.#e,gi.create(e,i)))}},vr=class extends Se{#e;constructor(e){super(e),this.#e=e}get expressionType(){}as(e){return new vi(this,e)}$castTo(){return new Se(this.#e)}$notNull(){return new Se(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 Q.create(this.#e.toOperationNode(),g(this.#t)?this.#t.toOperationNode():p.create(this.#t))}};var Ci=r({is(t){return t.kind==="TupleNode"},create(t){return r({kind:"TupleNode",values:r(t)})}});var mn=["varchar","char","text","integer","int2","int4","int8","smallint","bigint","boolean","real","double precision","float4","float8","decimal","numeric","binary","bytea","date","datetime","time","timetz","timestamp","timestamptz","serial","bigserial","uuid","json","jsonb","blob","varbinary"],ln=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],vo=r({is(t){return t.kind==="DataTypeNode"},create(t){return r({kind:"DataTypeNode",dataType:t})}});function Co(t){return!!(mn.includes(t)||ln.some(e=>e.test(t)))}function te(t){if(g(t))return t.toOperationNode();if(Co(t))return vo.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}var bo=r({is(t){return t.kind==="CastNode"},create(t,e){return r({kind:"CastNode",expression:t,dataType:e})}});function yr(t=Te){function e(s,d,x){return new N(nr(s,d,x))}function i(s,d){return new N(go(s,d))}let o=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(s){return St({queryId:l(),executor:t,queryNode:h.createFrom(de(s))})},case(s){return new rt({node:K.create(U(s)?void 0:A(s))})},ref(s,d){return U(d)?new N($(s)):new Se(Ji(s,d))},jsonPath(){return new Se(be.create())},table(s){return new N(f(s))},val(s){return new N(y(s))},refTuple(...s){return new N(Ci.create(s.map(A)))},tuple(...s){return new N(Ci.create(s.map(y)))},lit(s){return new N(yt(s))},unary:i,not(s){return i("not",s)},exists(s){return i("exists",s)},neg(s){return i("-",s)},between(s,d,x){return new N(ve.create(A(s),J.create("between"),V.create(y(d),y(x))))},betweenSymmetric(s,d,x){return new N(ve.create(A(s),J.create("between symmetric"),V.create(y(d),y(x))))},and(s){return D(s)?new N(Ge(s,"and")):new N(ti(s,"and"))},or(s){return D(s)?new N(Ge(s,"or")):new N(ti(s,"or"))},parens(...s){let d=w(s);return ne.is(d)?new N(d):new N(ne.create(d))},cast(s,d){return new N(bo.create(A(s),te(d)))},withSchema(s){return yr(t.withPluginAtFront(new ee(s)))}});return o.fn=Or(),o.eb=o,o}function Z(t){return yr()}function z(t){if(g(t))return t.toOperationNode();if(v(t))return t(Z()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function sr(t){if(g(t))return t.toOperationNode();if(v(t))return t(Z()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function ce(t){return Fi(t)||Mi(t)||v(t)}function de(t){return D(t)?t.map(e=>Ie(e)):[Ie(t)]}function Ie(t){return C(t)?li(t):sr(t)}function li(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(Wo);return Q.create(f(i),p.create(o))}else return f(t)}function f(t){let e=".";if(t.includes(e)){let[i,o]=t.split(e).map(Wo);return G.createWithSchema(i,o)}else return G.create(t)}function Wo(t){return t.trim()}var bi=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:c.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 Wi=r({is(t){return t.kind==="DropColumnNode"},create(t){return r({kind:"DropColumnNode",column:c.create(t)})}});var qi=r({is(t){return t.kind==="RenameColumnNode"},create(t,e){return r({kind:"RenameColumnNode",column:c.create(t),renameTo:c.create(e)})}});var it=r({is(t){return t.kind==="CheckConstraintNode"},create(t,e){return r({kind:"CheckConstraintNode",expression:t,name:e?p.create(e):void 0})}});var qo=["no action","restrict","cascade","set null","set default"],ot=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 Cr(t){return g(t)?t.toOperationNode():W.createImmediate(t)}var At=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 To=r({is(t){return t.kind==="DefaultValueNode"},create(t){return r({kind:"DefaultValueNode",defaultValue:t})}});function nt(t){if(qo.includes(t))return t;throw new Error(`invalid OnModifyForeignAction ${t}`)}var pe=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=$(e);if(!i.table||Je.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:ot.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:ot.cloneWithOnDelete(this.#e.references,nt(e))}))}onUpdate(e){if(!this.#e.references)throw new Error("on update constraint can only be added for foreign keys");return new t(O.cloneWith(this.#e,{references:ot.cloneWithOnUpdate(this.#e.references,nt(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:To.create(Cr(e))}))}check(e){return new t(O.cloneWith(this.#e,{check:it.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new t(O.cloneWith(this.#e,{generated:At.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new t(O.cloneWith(this.#e,{generated:At.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new t(O.cloneWith(this.#e,{generated:At.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:At.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}};a(pe,"don't await ColumnDefinitionBuilder instances directly.");var Ti=r({is(t){return t.kind==="ModifyColumnNode"},create(t){return r({kind:"ModifyColumnNode",column:t})}});var Fe=r({is(t){return t.kind==="ForeignKeyConstraintNode"},create(t,e,i,o){return r({kind:"ForeignKeyConstraintNode",columns:t,references:ot.create(e,i),name:o?p.create(o):void 0})},cloneWith(t,e){return r({...t,...e})}});var Me=class t{#e;constructor(e){this.#e=e}onDelete(e){return new t(Fe.cloneWith(this.#e,{onDelete:nt(e)}))}onUpdate(e){return new t(Fe.cloneWith(this.#e,{onUpdate:nt(e)}))}$call(e){return e(this)}toOperationNode(){return this.#e}};a(Me,"don't await ForeignKeyConstraintBuilder instances directly.");var st=r({is(t){return t.kind==="AddConstraintNode"},create(t){return r({kind:"AddConstraintNode",constraint:t})}});var at=r({is(t){return t.kind==="UniqueConstraintNode"},create(t,e,i){return r({kind:"UniqueConstraintNode",columns:r(t.map(c.create)),name:e?p.create(e):void 0,nullsNotDistinct:i})},cloneWith(t,e){return r({...t,...e})}});var ut=r({is(t){return t.kind==="DropConstraintNode"},create(t){return r({kind:"DropConstraintNode",constraintName:p.create(t)})},cloneWith(t,e){return r({...t,...e})}});var dt=r({is(t){return t.kind==="AlterColumnNode"},create(t,e,i){return r({kind:"AlterColumnNode",column:c.create(t),[e]:i})}});var pt=class{#e;constructor(e){this.#e=e}setDataType(e){return new ke(dt.create(this.#e,"dataType",te(e)))}setDefault(e){return new ke(dt.create(this.#e,"setDefault",Cr(e)))}dropDefault(){return new ke(dt.create(this.#e,"dropDefault",!0))}setNotNull(){return new ke(dt.create(this.#e,"setNotNull",!0))}dropNotNull(){return new ke(dt.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}};a(pt,"don't await AlterColumnBuilder instances");var ke=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}};a(ke,"don't await AlteredColumnBuilder instances");var he=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)}};a(he,"don't await AlterTableExecutor instances directly. To execute the query you need to call `execute`");var Et=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(m.cloneWithTableProps(this.#e.node,{addConstraint:st.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)}};a(Et,"don't await AlterTableAddForeignKeyConstraintBuilder instances directly. To execute the query you need to call `execute`");var Rt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.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)}};a(Rt,"don't await AlterTableDropConstraintBuilder instances directly. To execute the query you need to call `execute`");var br=r({is(t){return t.kind==="PrimaryKeyConstraintNode"},create(t,e){return r({kind:"PrimaryKeyConstraintNode",columns:r(t.map(c.create)),name:e?p.create(e):void 0})}});var Ae=r({is(t){return t.kind==="AddIndexNode"},create(t){return r({kind:"AddIndexNode",name:p.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var Dt=class t{#e;constructor(e){this.#e=r(e)}unique(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWithColumns(this.#e.node.addIndex,[je(e)])})})}columns(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWithColumns(this.#e.node.addIndex,e.map(je))})})}expression(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWith(this.#e.node.addIndex,{using:b.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)}};a(Dt,"don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`");var Ve=class t{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}nullsNotDistinct(){return new t(at.cloneWith(this.#e,{nullsNotDistinct:!0}))}};a(Ve,"don't await UniqueConstraintNodeBuilder instances directly.");var Bt=class{#e;constructor(e){this.#e=r(e)}renameTo(e){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{renameTo:f(e)})})}setSchema(e){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{setSchema:p.create(e)})})}alterColumn(e,i){let o=i(new pt(e));return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Wi.create(e))})}renameColumn(e,i){return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,qi.create(e,i))})}addColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,bi.create(s.toOperationNode()))})}modifyColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ti.create(s.toOperationNode()))})}addUniqueConstraint(e,i,o=ie){let s=o(new Ve(at.create(i,e)));return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:st.create(s.toOperationNode())})})}addCheckConstraint(e,i){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:st.create(it.create(i.toOperationNode(),e))})})}addForeignKeyConstraint(e,i,o,s){return new Et({...this.#e,constraintBuilder:new Me(Fe.create(i.map(c.create),f(o),s.map(c.create),e))})}addPrimaryKeyConstraint(e,i){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:st.create(br.create(i,e))})})}dropConstraint(e){return new Rt({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.create(e)})})}addIndex(e){return new Dt({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.create(e)})})}dropIndex(e){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropIndex:Oe.create(e)})})}$call(e){return e(this)}};a(Bt,"don't await AlterTableBuilder instances");var Ee=class t{#e;constructor(e){this.#e=r(e)}alterColumn(e,i){let o=i(new pt(e));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Wi.create(e))})}renameColumn(e,i){return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,qi.create(e,i))})}addColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,bi.create(s.toOperationNode()))})}modifyColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ti.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)}};a(Ee,"don't await AlterTableColumnAlteringBuilder instances directly. To execute the query you need to call `execute`");var ht=class extends qe{transformValue(e){return{...super.transformValue(e),immediate:!0}}};var Qt=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{table:f(e)})})}column(e){return new t({...this.#e,node:Y.cloneWithColumns(this.#e.node,[je(e)])})}columns(e){return new t({...this.#e,node:Y.cloneWithColumns(this.#e.node,e.map(je))})}expression(e){return new t({...this.#e,node:Y.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{using:b.createWithSql(e)})})}where(...e){let i=new ht;return new t({...this.#e,node:u.cloneWithWhere(this.#e.node,i.transformNode(w(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)}};a(Qt,"don't await CreateIndexBuilder instances directly. To execute the query you need to call `execute`");var Lt=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:Xt.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)}};a(Lt,"don't await CreateSchemaBuilder instances directly. To execute the query you need to call `execute`");function Io(t){if(Pi.includes(t))return t;throw new Error(`invalid OnCommitAction ${t}`)}var Pt=class t{#e;constructor(e){this.#e=r(e)}temporary(){return new t({...this.#e,node:B.cloneWith(this.#e.node,{temporary:!0})})}onCommit(e){return new t({...this.#e,node:B.cloneWith(this.#e.node,{onCommit:Io(e)})})}ifNotExists(){return new t({...this.#e,node:B.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new t({...this.#e,node:B.cloneWithColumn(this.#e.node,s.toOperationNode())})}addPrimaryKeyConstraint(e,i){return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,br.create(i,e))})}addUniqueConstraint(e,i,o=ie){let s=o(new Ve(at.create(i,e)));return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,s.toOperationNode())})}addCheckConstraint(e,i){return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,it.create(i.toOperationNode(),e))})}addForeignKeyConstraint(e,i,o,s,d=ie){let x=d(new Me(Fe.create(i.map(c.create),f(o),s.map(c.create),e)));return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,x.toOperationNode())})}modifyFront(e){return new t({...this.#e,node:B.cloneWithFrontModifier(this.#e.node,e.toOperationNode())})}modifyEnd(e){return new t({...this.#e,node:B.cloneWithEndModifier(this.#e.node,e.toOperationNode())})}as(e){return new t({...this.#e,node:B.cloneWith(this.#e.node,{selectQuery:z(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)}};a(Pt,"don't await CreateTableBuilder instances directly. To execute the query you need to call `execute`");var Ft=class t{#e;constructor(e){this.#e=r(e)}on(e){return new t({...this.#e,node:Oe.cloneWith(this.#e.node,{table:f(e)})})}ifExists(){return new t({...this.#e,node:Oe.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Oe.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)}};a(Ft,"don't await DropIndexBuilder instances directly. To execute the query you need to call `execute`");var Mt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:ft.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:ft.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)}};a(Mt,"don't await DropSchemaBuilder instances directly. To execute the query you need to call `execute`");var Vt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Nt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Nt.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)}};a(Vt,"don't await DropTableBuilder instances directly. To execute the query you need to call `execute`");var re=r({is(t){return t.kind==="CreateViewNode"},create(t){return r({kind:"CreateViewNode",name:M.create(t)})},cloneWith(t,e){return r({...t,...e})}});var Wr=class{#e=new ht;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}};var zt=class t{#e;constructor(e){this.#e=r(e)}temporary(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{orReplace:!0})})}columns(e){return new t({...this.#e,node:re.cloneWith(this.#e.node,{columns:e.map(Zr)})})}as(e){let i=e.withPlugin(new Wr).toOperationNode();return new t({...this.#e,node:re.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)}};a(zt,"don't await CreateViewBuilder instances directly. To execute the query you need to call `execute`");var ct=r({is(t){return t.kind==="DropViewNode"},create(t){return r({kind:"DropViewNode",name:M.create(t)})},cloneWith(t,e){return r({...t,...e})}});var Ut=class t{#e;constructor(e){this.#e=r(e)}materialized(){return new t({...this.#e,node:ct.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new t({...this.#e,node:ct.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:ct.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};a(Ut,"don't await DropViewBuilder instances directly. To execute the query you need to call `execute`");var qr=r({is(t){return t.kind==="CreateTypeNode"},create(t){return r({kind:"CreateTypeNode",name:t})},cloneWithEnum(t,e){return r({...t,enum:We.create(e.map(i=>W.createImmediate(i)))})}});var Jt=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:qr.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)}};a(Jt,"don't await CreateTypeBuilder instances directly. To execute the query you need to call `execute`");var Tr=r({is(t){return t.kind==="DropTypeNode"},create(t){return r({kind:"DropTypeNode",name:t})},cloneWith(t,e){return r({...t,...e})}});var $t=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Tr.cloneWith(this.#e.node,{ifExists:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};a($t,"don't await DropTypeBuilder instances directly. To execute the query you need to call `execute`");function Ii(t){let e=".";if(t.includes(e)){let i=t.split(e).map(fn);if(i.length===2)return M.createWithSchema(i[0],i[1]);throw new Error(`invalid schemable identifier ${t}`)}else return M.create(t)}function fn(t){return t.trim()}var Ir=class t{#e;constructor(e){this.#e=e}createTable(e){return new Pt({queryId:l(),executor:this.#e,node:B.create(f(e))})}dropTable(e){return new Vt({queryId:l(),executor:this.#e,node:Nt.create(f(e))})}createIndex(e){return new Qt({queryId:l(),executor:this.#e,node:Y.create(e)})}dropIndex(e){return new Ft({queryId:l(),executor:this.#e,node:Oe.create(e)})}createSchema(e){return new Lt({queryId:l(),executor:this.#e,node:Xt.create(e)})}dropSchema(e){return new Mt({queryId:l(),executor:this.#e,node:ft.create(e)})}alterTable(e){return new Bt({queryId:l(),executor:this.#e,node:m.create(f(e))})}createView(e){return new zt({queryId:l(),executor:this.#e,node:re.create(e)})}dropView(e){return new Ut({queryId:l(),executor:this.#e,node:ct.create(e)})}createType(e){return new Jt({queryId:l(),executor:this.#e,node:qr.create(Ii(e))})}dropType(e){return new $t({queryId:l(),executor:this.#e,node:Tr.create(Ii(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 ee(e)))}};var Sr=class{ref(e){return new _t(e)}};var kr=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 Ar=class t extends et{#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 Si(){return typeof performance<"u"&&v(performance.now)?performance.now():Date.now()}var Er=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,d=Si();try{return await i.call(e,o)}catch(x){throw s=x,await this.#u(x,o,d),x}finally{s||await this.#p(o,d)}}}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 Si()-e}};var Nn=()=>{},Kt=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(Nn);return this.#t=this.#r(e).finally(()=>{this.#t=void 0}),this.#t}async#r(e){return await e(this.#e)}};var So=["read uncommitted","read committed","repeatable read","serializable","snapshot"];var AC=r(["query","error"]),Rr=class{#e;#t;constructor(e){v(e)?(this.#t=e,this.#e=r({query:!0,error:!0})):(this.#t=yn,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 yn(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 ko(t){return P(t)&&v(t.compile)}var mt=class t extends tt{#e;constructor(e){let i,o;if(wn(e))i={executor:e.executor},o={...e};else{let s=e.dialect,d=s.createDriver(),x=s.createQueryCompiler(),T=s.createAdapter(),j=new Rr(e.log??[]),Ht=new Er(d,j),Jr=new kr(Ht),Yt=new Ar(x,T,Jr,e.plugins??[]);i={executor:Yt},o={config:e,executor:Yt,dialect:s,driver:Ht}}super(i),this.#e=r(o)}get schema(){return new Ir(this.#e.executor)}get dynamic(){return new Sr}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new rt({node:K.create(U(e)?void 0:z(e))})}get fn(){return Or()}transaction(){return new Br({...this.#e})}connection(){return new Dr({...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 ee(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=l()){let o=ko(e)?e.compile():e;return this.getExecutor().executeQuery(o,i)}},ki=class t extends mt{#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 ee(e))})}withTables(){return new t({...this.#e})}};function wn(t){return P(t)&&P(t.config)&&P(t.driver)&&P(t.executor)&&P(t.dialect)}var Dr=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 Kt(i)),s=new mt({...this.#e,executor:o});return await e(s)})}};a(Dr,"don't await ConnectionBuilder instances directly. To execute the query you need to call the `execute` method");var Br=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 xn(s),this.#e.executor.provideConnection(async d=>{let x=this.#e.executor.withConnectionProvider(new Kt(d)),T=new ki({...o,executor:x});try{await this.#e.driver.beginTransaction(d,s);let j=await e(T);return await this.#e.driver.commitTransaction(d),j}catch(j){throw await this.#e.driver.rollbackTransaction(d),j}})}};a(Br,"don't await TransactionBuilder instances directly. To execute the transaction you need to call the `execute` method");function xn(t){if(t.isolationLevel&&!So.includes(t.isolationLevel))throw new Error(`invalid transaction isolation level ${t.isolationLevel}`)}var Qr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isRawBuilder(){return!0}as(e){return new Lr(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():Te;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 we(t){return new Qr(t)}a(Qr,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Lr=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 Q.create(this.#e.toOperationNode(),g(this.#t)?this.#t.toOperationNode():p.create(this.#t))}};a(Lr,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");var Re=Object.assign((t,...e)=>we({queryId:l(),rawNode:b.create(t,e?.map(Ao)??[])}),{ref(t){return we({queryId:l(),rawNode:b.createWithChild($(t))})},val(t){return we({queryId:l(),rawNode:b.createWithChild(y(t))})},value(t){return this.val(t)},table(t){return we({queryId:l(),rawNode:b.createWithChild(f(t))})},id(...t){let e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",we({queryId:l(),rawNode:b.create(e,t.map(p.create))})},lit(t){return we({queryId:l(),rawNode:b.createWithChild(W.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return we({queryId:l(),rawNode:b.createWithSql(t)})},join(t,e=Re`, `){let i=new Array(2*t.length-1),o=e.toOperationNode();for(let s=0;s<t.length;++s)i[2*s]=Ao(t[s]),s!==t.length-1&&(i[2*s+1]=o);return we({queryId:l(),rawNode:b.createWithChildren(i)})}});function Ao(t){return g(t)?t.toOperationNode():y(t)}var Pr=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 Fr=class extends Pr{#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&&!ne.is(this.parentNode)&&!S.is(this.parentNode)&&!B.is(this.parentNode)&&!re.is(this.parentNode)&&!Nr.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(u.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!k.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&&!k.is(i)&&this.append(")")}visitValues(e){this.append("values "),this.compileList(e.values)}visitDeleteQuery(e){let i=this.nodeStack.find(u.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(!C(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(gn[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(u.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!k.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&&!k.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 "),De(e.materialized)&&(e.materialized||this.append("not "),this.append("materialized ")),this.visitNode(e.expression)}visitCommonTableExpressionName(e){this.visitNode(e.table),e.columns&&(this.append("("),this.compileList(e.columns),this.append(")"))}visitAlterTable(e){this.append("alter table "),this.visitNode(e.table),this.append(" "),e.renameTo&&(this.append("rename to "),this.visitNode(e.renameTo)),e.setSchema&&(this.append("set schema "),this.visitNode(e.setSchema)),e.addConstraint&&this.visitNode(e.addConstraint),e.dropConstraint&&this.visitNode(e.dropConstraint),e.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(On[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 d of e)s+=d,d===i?s+=i:d===o&&(s+=o);return s}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(C(e))this.append(`'${e}'`);else if(xe(e)||De(e))this.append(e.toString());else if(ze(e))this.append("null");else if(Li(e))this.appendImmediateValue(e.toISOString());else if(Ue(e))this.appendImmediateValue(e.toString());else throw new Error(`invalid immediate value ${e}`)}sortSelectModifiers(e){return e.sort((i,o)=>i.modifier&&o.modifier?Eo[i.modifier]-Eo[o.modifier]:1),r(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},On=r({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),Eo=r({ForKeyShare:1,ForNoKeyUpdate:1,ForUpdate:1,ForShare:1,NoWait:2,SkipLocked:2,Distinct:0}),gn=r({InnerJoin:"inner join",LeftJoin:"left join",RightJoin:"right join",FullJoin:"full join",LateralInnerJoin:"inner join lateral",LateralLeftJoin:"left join lateral",Using:"using"});var Mr=class{async init(){}async acquireConnection(){return new Ai}async beginTransaction(){}async commitTransaction(){}async rollbackTransaction(){}async releaseConnection(){}async destroy(){}},Ai=class{async executeQuery(){return{rows:[]}}async*streamQuery(){}};var Vr=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}};var vn=/"/g,zr=class extends Fr{sanitizeIdentifier(e){return e.replace(vn,'""')}};var Cn=BigInt("3853314791062309107"),Ur=class extends Vr{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,i){await Re`select pg_advisory_xact_lock(${Re.lit(Cn)})`.execute(e)}async releaseMigrationLock(e,i){}};function Ro(t){return new mt({dialect:{createAdapter:()=>new t.Adapter,createDriver:()=>new Mr,createIntrospector:()=>null,createQueryCompiler:()=>new t.QueryCompiler},plugins:[...t.noParameters?[new Ei]:[]]})}var Ei=class{#e=new Ri;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}},Ri=class extends qe{transformPrimitiveValueList(e){return We.create(e.values.map(W.createImmediate))}transformValue(e){return{...super.transformValue(e),immediate:!0}}};function jt(t){let e=t.compile();return{parameters:e.parameters,sql:e.sql}}function Gt(t){return Ro({...t,Adapter:Ur,QueryCompiler:zr})}function Di(t,e){return jt(Gt(e).withSchema(t.schema||"public").selectFrom(t.table).select(i=>i.cast("ctid","text").as("ctid")).selectAll())}function bn(){return[{ctid:"(0,23)",id:"829368924892g49-agsd89-2983h289-asdg",name:"John Doe",role:"admin",created_at:"2021-01-01T00:00:00.000Z"}]}function Do(t){return Re`(select coalesce(json_agg(agg), '[]') from ${t} as agg)`}var Wn="r",qn="v",Tn=[Wn,qn];function Bi(t){return jt(Gt(t).selectFrom("pg_catalog.pg_class as cls").innerJoin("pg_catalog.pg_namespace as ns","cls.relnamespace","ns.oid").$call(An).where("cls.relkind","in",Tn).select(e=>["ns.nspname as schema","cls.relname as name",Do(e.selectFrom("pg_catalog.pg_attribute as att").innerJoin("pg_catalog.pg_type as typ","att.atttypid","typ.oid").whereRef("att.attrelid","=","cls.oid").where("att.attnum",">=",0).where("att.attisdropped","!=",!0).select(["att.attname as name","typ.typname as datatype"])).as("columns")]))}function In(){return[{schema:"public",name:"users",columns:[{name:"id",datatype:"bigint"},{name:"name",datatype:"varchar"},{name:"role",datatype:"varchar"},{name:"created_at",datatype:"timestamptz"}]}]}function Sn(){let t=Gt();return jt(t.selectNoFrom(t.fn("current_setting",[Re.lit("timezone")]).as("timezone")))}function kn(){return[{timezone:"UTC"}]}function An(t){return t.where("ns.nspname","!~","^pg_").where("ns.nspname","!=","information_schema")}function En(t){let{executor:e,...i}=t;return{defaultSchema:"public",async introspect(o){try{let s=Bi(i),[d,x]=await e.execute(s,o);return d?[d]:[null,x.reduce((j,Ht)=>{let{schemas:Jr}=j,{columns:Yt,name:$r,schema:Kr}=Ht,Bo=Yt.reduce((Qo,{name:Qi,...Lo})=>({...Qo,[Qi]:{name:Qi,schema:Kr,table:$r,datatype:{group:"string",name:Lo.datatype}}}),{});return(Jr[Kr]||={tables:{}}).tables[$r]={columns:Bo,name:$r,schema:Kr},j},{schemas:{public:{tables:{}}}})]}catch(s){return[s]}},async query(o,s){try{let d=Di(o,i),[x,T]=await e.execute(d,s);return x?[x]:[null,{rows:T}]}catch(d){return[d]}}}}0&&(module.exports={createPostgresAdapter,getSelectQuery,getTablesQuery,getTimezoneQuery,mockSelectQuery,mockTablesQuery,mockTimezoneQuery});
1
+ "use strict";var jr=Object.defineProperty;var Uo=Object.getOwnPropertyDescriptor;var Jo=Object.getOwnPropertyNames;var $o=Object.prototype.hasOwnProperty;var Ko=(t,e)=>{for(var i in e)jr(t,i,{get:e[i],enumerable:!0})},jo=(t,e,i,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Jo(e))!$o.call(t,s)&&s!==i&&jr(t,s,{get:()=>e[s],enumerable:!(o=Uo(e,s))||o.enumerable});return t};var Go=t=>jo(jr({},"__esModule",{value:!0}),t);var Ln={};Ko(Ln,{createPostgresAdapter:()=>Qn,getSelectQuery:()=>Di,getTablesQuery:()=>Bi,getTimezoneQuery:()=>Qi,mockSelectQuery:()=>Sn,mockTablesQuery:()=>Rn,mockTimezoneQuery:()=>Dn});module.exports=Go(Ln);function U(t){return typeof t>"u"||t===void 0}function b(t){return typeof t=="string"}function xe(t){return typeof t=="number"}function De(t){return typeof t=="boolean"}function ze(t){return t===null}function Fi(t){return t instanceof Date}function Ue(t){return typeof t=="bigint"}function v(t){return typeof t=="function"}function P(t){return typeof t=="object"&&t!==null}function r(t){return Object.freeze(t)}function ft(t){return D(t)?t:[t]}function D(t){return Array.isArray(t)}function ie(t){return t}var m=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 p=r({is(t){return t.kind==="IdentifierNode"},create(t){return r({kind:"IdentifierNode",name:t})}});var Y=r({is(t){return t.kind==="CreateIndexNode"},create(t){return r({kind:"CreateIndexNode",name:p.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var Zt=r({is(t){return t.kind==="CreateSchemaNode"},create(t,e){return r({kind:"CreateSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var Mi=["preserve rows","delete rows","drop"],B=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 M=r({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return r({kind:"SchemableIdentifierNode",identifier:p.create(t)})},createWithSchema(t,e){return r({kind:"SchemableIdentifierNode",schema:p.create(t),identifier:p.create(e)})}});var Oe=r({is(t){return t.kind==="DropIndexNode"},create(t,e){return r({kind:"DropIndexNode",name:M.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var Nt=r({is(t){return t.kind==="DropSchemaNode"},create(t,e){return r({kind:"DropSchemaNode",schema:p.create(t),...e})},cloneWith(t,e){return r({...t,...e})}});var yt=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 Q=r({is(t){return t.kind==="AliasNode"},create(t,e){return r({kind:"AliasNode",node:t,alias:e})}});var j=r({is(t){return t.kind==="TableNode"},create(t){return r({kind:"TableNode",table:M.create(t)})},createWithSchema(t,e){return r({kind:"TableNode",table:M.createWithSchema(t,e)})}});function g(t){return P(t)&&v(t.toOperationNode)}function Vi(t){return P(t)&&"expressionType"in t&&g(t)}function zi(t){return P(t)&&"expression"in t&&b(t.alias)&&g(t)}var oe=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 V=r({is(t){return t.kind==="AndNode"},create(t,e){return r({kind:"AndNode",left:t,right:e})}});var X=r({is(t){return t.kind==="OrNode"},create(t,e){return r({kind:"OrNode",left:t,right:e})}});var _t=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"?V.create(t.on,i):X.create(t.on,i)})}});var ge=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:_t.create(i)})},cloneWithOn(t,e){return r({...t,on:t.on?_t.cloneWithOperation(t.on,"And",e):_t.create(e)})}});var ve=r({is(t){return t.kind==="BinaryOperationNode"},create(t,e,i){return r({kind:"BinaryOperationNode",leftOperand:t,operator:e,rightOperand:i})}});var Ho=["=","==","!=","<>",">",">=","<","<=","in","not in","is","is not","like","not like","match","ilike","not ilike","@>","<@","^@","&&","?","?&","?|","!<","!>","<=>","!~","~","~*","!~*","@@","@@@","!!","<->","regexp","is distinct from","is not distinct from"],Yo=["+","-","*","/","%","^","&","|","#","<<",">>"],Ui=["->","->>"],Xo=[...Ho,...Yo,"&&","||"],Zo=["exists","not exists"],_o=["not","-",...Zo],Ji=[...Xo,...Ui,..._o,"between","between symmetric"],J=r({is(t){return t.kind==="OperatorNode"},create(t){return r({kind:"OperatorNode",operator:t})}});function Gr(t){return b(t)&&Ui.includes(t)}var c=r({is(t){return t.kind==="ColumnNode"},create(t){return r({kind:"ColumnNode",column:p.create(t)})}});var Je=r({is(t){return t.kind==="SelectAllNode"},create(){return r({kind:"SelectAllNode"})}});var $e=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:Je.create()})}});var er=class{#e;get dynamicReference(){return this.#e}get refType(){}constructor(e){this.#e=e}toOperationNode(){return Hr(this.#e)}};function tr(t){return P(t)&&g(t)&&b(t.dynamicReference)}var rr=r({is(t){return t.kind==="OrderByItemNode"},create(t,e){return r({kind:"OrderByItemNode",orderBy:t,direction:e})}});var C=r({is(t){return t.kind==="RawNode"},create(t,e){return r({kind:"RawNode",sqlFragments:r(t),parameters:r(e)})},createWithSql(t){return C.create([t],[])},createWithChild(t){return C.create(["",""],[t])},createWithChildren(t){return C.create(new Array(t.length+1).fill(""),t)}});function Xr(t){return t==="asc"||t==="desc"}function be(t){if(t.length===2)return[Yr(t[0],t[1])];if(t.length===1){let[e]=t;return Array.isArray(e)?e.map(i=>Yr(i)):[Yr(e)]}throw new Error(`Invalid number of arguments at order by! expected 1-2, received ${t.length}`)}function Yr(t,e){let i=en(t);if(rr.is(i)){if(e)throw new Error("Cannot specify direction twice!");return i}return rr.create(i,$i(e))}function en(t){if(ce(t))return z(t);if(tr(t))return t.toOperationNode();let[e,i]=t.split(" ");if(i){if(!Xr(i))throw new Error(`Invalid order by direction: ${i}`);return rr.create($(e),$i(i))}return $(t)}function $i(t){if(t)return t==="asc"||t==="desc"?C.createWithSql(t):t.toOperationNode()}var Ke=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 ir=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 Ce=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 Hr(t){return b(t)?$(t):t.toOperationNode()}function me(t){return D(t)?t.map(e=>A(e)):[A(t)]}function A(t){return ce(t)?z(t):Hr(t)}function Ki(t,e){let i=$(t);if(Gr(e))return Ke.create(i,ir.create(J.create(e)));let o=e.slice(0,-1);if(Gr(o))return Ke.create(i,Ce.create(J.create(o)));throw new Error(`Invalid JSON operator: ${e}`)}function $(t){let e=".";if(!t.includes(e))return $e.create(c.create(t));let i=t.split(e).map(_r);if(i.length===3)return tn(i);if(i.length===2)return rn(i);throw new Error(`invalid column reference ${t}`)}function ji(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(_r);return Q.create($(i),p.create(o))}else return $(t)}function Zr(t){return c.create(t)}function je(t){let e=" ";if(t.includes(e)){let[i,o]=t.split(e).map(_r);if(!Xr(o))throw new Error(`invalid order direction "${o}" next to "${i}"`);return be([i,o])[0]}else return Zr(t)}function tn(t){let[e,i,o]=t;return $e.create(c.create(o),j.createWithSchema(e,i))}function rn(t){let[e,i]=t;return $e.create(c.create(i),j.create(e))}function _r(t){return t.trim()}var or=r({is(t){return t.kind==="PrimitiveValueListNode"},create(t){return r({kind:"PrimitiveValueListNode",values:r([...t])})}});var We=r({is(t){return t.kind==="ValueListNode"},create(t){return r({kind:"ValueListNode",values:r(t)})}});var q=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 Gi(t){return D(t)?on(t):y(t)}function y(t){return ce(t)?z(t):q.create(t)}function nr(t){return xe(t)||De(t)||ze(t)}function wt(t){if(!nr(t))throw new Error(`unsafe immediate value ${JSON.stringify(t)}`);return q.createImmediate(t)}function on(t){return t.some(ce)?We.create(t.map(e=>y(e))):or.create(t)}var ne=r({is(t){return t.kind==="ParensNode"},create(t){return r({kind:"ParensNode",node:t})}});function w(t){if(t.length===3)return sr(t[0],t[1],t[2]);if(t.length===1)return y(t[0]);throw new Error(`invalid arguments: ${JSON.stringify(t)}`)}function sr(t,e,i){return nn(e)&&Yi(i)?ve.create(A(t),ei(e),q.createImmediate(i)):ve.create(A(t),ei(e),Gi(i))}function I(t,e,i){return ve.create(A(t),ei(e),A(i))}function ti(t,e){return Ge(Object.entries(t).filter(([,i])=>!U(i)).map(([i,o])=>sr(i,Yi(o)?"is":"=",o)),e)}function Ge(t,e,i=!0){let o=e==="and"?V.create:X.create;if(t.length===0)return ve.create(q.createImmediate(1),J.create("="),q.createImmediate(e==="and"?1:0));let s=Hi(t[0]);for(let d=1;d<t.length;++d)s=o(s,Hi(t[d]));return t.length>1&&i?ne.create(s):s}function nn(t){return t==="is"||t==="is not"}function Yi(t){return ze(t)||De(t)}function ei(t){if(b(t)&&Ji.includes(t))return J.create(t);if(g(t))return t.toOperationNode();throw new Error(`invalid operator ${JSON.stringify(t)}`)}function Hi(t){return g(t)?t.toOperationNode():t}var le=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 ri=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 xt=r({is(t){return t.kind==="OverNode"},create(){return r({kind:"OverNode"})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?le.cloneWithItems(t.orderBy,e):le.create(e)})},cloneWithPartitionByItems(t,e){return r({...t,partitionBy:t.partitionBy?ri.cloneWithItems(t.partitionBy,e):ri.create(e)})}});var Be=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 ii=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 oi=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"?V.create(t.having,i):X.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:Be.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?le.cloneWithItems(t.orderBy,e):le.create(e)})},cloneWithGroupByItems(t,e){return r({...t,groupBy:t.groupBy?ii.cloneWithItems(t.groupBy,e):ii.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?oi.cloneWithOperation(t.having,"And",e):oi.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 a(t,e){Object.defineProperties(t.prototype,{then:{enumerable:!1,value:()=>{throw new Error(e)}}})}var Ot=class t{#e;constructor(e){this.#e=r(e)}on(...e){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,w(e))})}onRef(e,i,o){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,I(e,i,o))})}onTrue(){return new t({...this.#e,joinNode:ge.cloneWithOn(this.#e.joinNode,C.createWithSql("true"))})}$call(e){return e(this)}toOperationNode(){return this.#e.joinNode}};a(Ot,"don't await JoinBuilder instances. They are never executed directly and are always just a part of a query.");var Xi=r({is(t){return t.kind==="PartitionByItemNode"},create(t){return r({kind:"PartitionByItemNode",partitionBy:t})}});function Zi(t){return me(t).map(Xi.create)}var gt=class t{#e;constructor(e){this.#e=r(e)}orderBy(e,i){return new t({overNode:xt.cloneWithOrderByItems(this.#e.overNode,be([e,i]))})}partitionBy(e){return new t({overNode:xt.cloneWithPartitionByItems(this.#e.overNode,Zi(e))})}$call(e){return e(this)}toOperationNode(){return this.#e.overNode}};a(gt,"don't await OverBuilder instances. They are never executed directly and are always just a part of a query.");var He=r({is(t){return t.kind==="SelectionNode"},create(t){return r({kind:"SelectionNode",selection:t})},createSelectAll(){return r({kind:"SelectionNode",selection:Je.create()})},createSelectAllFromTable(t){return r({kind:"SelectionNode",selection:$e.createSelectAll(t)})}});function E(t){return v(t)?E(t(Z())):D(t)?t.map(e=>_i(e)):[_i(t)]}function _i(t){return b(t)?He.create(ji(t)):tr(t)?He.create(t.toOperationNode()):He.create(ar(t))}function L(t){return t?Array.isArray(t)?t.map(eo):[eo(t)]:[He.createSelectAll()]}function eo(t){if(b(t))return He.createSelectAllFromTable(f(t));throw new Error(`invalid value selectAll expression: ${JSON.stringify(t)}`)}var to=r({is(t){return t.kind==="ValuesNode"},create(t){return r({kind:"ValuesNode",values:r(t)})}});var ro=r({is(t){return t.kind==="DefaultInsertValueNode"},create(){return r({kind:"DefaultInsertValueNode"})}});function ur(t){let e=v(t)?t(Z()):t,i=D(e)?e:r([e]);return sn(i)}function sn(t){let e=an(t);return[r([...e.keys()].map(c.create)),to.create(t.map(i=>un(i,e)))]}function an(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 un(t,e){let i=Object.keys(t),o=Array.from({length:e.size}),s=!1;for(let x of i){let W=e.get(x);if(U(W))continue;let H=t[x];(U(H)||ce(H))&&(s=!0),o[W]=H}if(i.length<e.size||s){let x=ro.create();return We.create(o.map(W=>U(W)?x:y(W)))}return or.create(o)}var S=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 se=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?Be.cloneWithFroms(t.from,e):Be.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 ni=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 ae=r({is(t){return t.kind==="DeleteQueryNode"},create(t,e){return r({kind:"DeleteQueryNode",from:Be.create(t),...e&&{with:e}})},cloneWithOrderByItems(t,e){return r({...t,orderBy:t.orderBy?le.cloneWithItems(t.orderBy,e):le.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?ni.cloneWithTables(t.using,e):ni.create(e)})}});var R=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"?V.create(t.where,i):X.create(t.where,i)})}});var si=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 io=r({is(t){return t.kind==="ExplainNode"},create(t,e){return r({kind:"ExplainNode",format:t,options:e})}});var fe=r({is(t){return t.kind==="WhenNode"},create(t){return r({kind:"WhenNode",condition:t})},cloneWithResult(t,e){return r({...t,result:e})}});var k=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),fe.cloneWithResult(t.whens[t.whens.length-1],e)]):void 0})}});var ai=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 u=r({is(t){return h.is(t)||S.is(t)||se.is(t)||ae.is(t)||k.is(t)},cloneWithWhere(t,e){return r({...t,where:t.where?R.cloneWithOperation(t.where,"And",e):R.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?si.cloneWithSelections(t.returning,e):si.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:io.create(e,i?.toOperationNode())})},cloneWithTop(t,e){return r({...t,top:e})},cloneWithOutput(t,e){return r({...t,output:t.output?ai.cloneWithSelections(t.output,e):ai.create(e)})}});var ui=r({is(t){return t.kind==="ColumnUpdateNode"},create(t,e){return r({kind:"ColumnUpdateNode",column:t,value:e})}});function oo(...t){return t.length===2?[ui.create(A(t[0]),y(t[1]))]:vt(t[0])}function vt(t){let e=v(t)?t(Z()):t;return Object.entries(e).filter(([i,o])=>o!==void 0).map(([i,o])=>ui.create(c.create(i),y(o)))}var no=r({is(t){return t.kind==="OnDuplicateKeyNode"},create(t){return r({kind:"OnDuplicateKeyNode",updates:t})}});var dr=class{insertId;numInsertedOrUpdatedRows;constructor(e,i){this.insertId=e,this.numInsertedOrUpdatedRows=i}};var G=class extends Error{node;constructor(e){super("no result"),this.node=e}};function ue(t){return Object.prototype.hasOwnProperty.call(t,"prototype")}var F=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?R.cloneWithOperation(t.indexWhere,"And",e):R.create(e)})},cloneWithIndexOrWhere(t,e){return r({...t,indexWhere:t.indexWhere?R.cloneWithOperation(t.indexWhere,"Or",e):R.create(e)})},cloneWithUpdateWhere(t,e){return r({...t,updateWhere:t.updateWhere?R.cloneWithOperation(t.updateWhere,"And",e):R.create(e)})},cloneWithUpdateOrWhere(t,e){return r({...t,updateWhere:t.updateWhere?R.cloneWithOperation(t.updateWhere,"Or",e):R.create(e)})},cloneWithoutIndexWhere(t){return r({...t,indexWhere:void 0})},cloneWithoutUpdateWhere(t){return r({...t,updateWhere:void 0})}});var bt=class t{#e;constructor(e){this.#e=r(e)}column(e){let i=c.create(e);return new t({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{columns:this.#e.onConflictNode.columns?r([...this.#e.onConflictNode.columns,i]):r([i])})})}columns(e){let i=e.map(c.create);return new t({...this.#e,onConflictNode:F.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:F.cloneWith(this.#e.onConflictNode,{constraint:p.create(e)})})}expression(e){return new t({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{indexExpression:e.toOperationNode()})})}where(...e){return new t({...this.#e,onConflictNode:F.cloneWithIndexWhere(this.#e.onConflictNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:F.cloneWithIndexWhere(this.#e.onConflictNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:F.cloneWithoutIndexWhere(this.#e.onConflictNode)})}doNothing(){return new pr({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{doNothing:!0})})}doUpdateSet(e){return new hr({...this.#e,onConflictNode:F.cloneWith(this.#e.onConflictNode,{updates:vt(e)})})}$call(e){return e(this)}};a(bt,"don't await OnConflictBuilder instances.");var pr=class{#e;constructor(e){this.#e=r(e)}toOperationNode(){return this.#e.onConflictNode}};a(pr,"don't await OnConflictDoNothingBuilder instances.");var hr=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,onConflictNode:F.cloneWithUpdateWhere(this.#e.onConflictNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,onConflictNode:F.cloneWithUpdateWhere(this.#e.onConflictNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,onConflictNode:F.cloneWithoutUpdateWhere(this.#e.onConflictNode)})}$call(e){return e(this)}toOperationNode(){return this.#e.onConflictNode}};a(hr,"don't await OnConflictUpdateBuilder instances.");var so=r({is(t){return t.kind==="TopNode"},create(t,e){return r({kind:"TopNode",expression:t,modifiers:e})}});function _(t,e){if(!xe(t)&&!Ue(t))throw new Error(`Invalid top expression: ${t}`);if(!U(e)&&!dn(e))throw new Error(`Invalid top modifiers: ${e}`);return so.create(t,e)}function dn(t){return t==="percent"||t==="with ties"||t==="percent with ties"}var Ye=class t{#e;constructor(e){this.#e=r(e)}values(e){let[i,o]=ur(e);return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{columns:i,values:o})})}columns(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{columns:r(e.map(c.create))})})}expression(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{values:z(e)})})}defaultValues(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{defaultValues:!0})})}ignore(){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{ignore:!0})})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}onConflict(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{onConflict:e(new bt({onConflictNode:F.create()})).toOperationNode()})})}onDuplicateKeyUpdate(e){return new t({...this.#e,queryNode:S.cloneWith(this.#e.queryNode,{onDuplicateKey:no.create(vt(e))})})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,L())})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}clearReturning(){return new t({...this.#e,queryNode:u.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 dr(i.insertId,i.numAffectedRows??i.numUpdatedOrDeletedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=G){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(Ye,"don't await InsertQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var cr=class{numDeletedRows;constructor(e){this.numDeletedRows=e}};var Xe=r({is(t){return t.kind==="LimitNode"},create(t){return r({kind:"LimitNode",limit:t})}});var Ct=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:u.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}using(e){return new t({...this.#e,queryNode:ae.cloneWithUsing(this.#e.queryNode,de(e))})}innerJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("FullJoin",e))})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,L(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}clearReturning(){return new t({...this.#e,queryNode:u.cloneWithoutReturning(this.#e.queryNode)})}clearLimit(){return new t({...this.#e,queryNode:ae.cloneWithoutLimit(this.#e.queryNode)})}clearOrderBy(){return new t({...this.#e,queryNode:ae.cloneWithoutOrderBy(this.#e.queryNode)})}orderBy(e,i){return new t({...this.#e,queryNode:ae.cloneWithOrderByItems(this.#e.queryNode,be([e,i]))})}limit(e){return new t({...this.#e,queryNode:ae.cloneWithLimit(this.#e.queryNode,Xe.create(y(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 cr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0))]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=G){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(Ct,"don't await DeleteQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var mr=class{numUpdatedRows;numChangedRows;constructor(e,i){this.numUpdatedRows=e,this.numChangedRows=i}};var Qe=class t{#e;constructor(e){this.#e=r(e)}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,i,o))})}clearWhere(){return new t({...this.#e,queryNode:u.cloneWithoutWhere(this.#e.queryNode)})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}from(e){return new t({...this.#e,queryNode:se.cloneWithFromItems(this.#e.queryNode,de(e))})}innerJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("FullJoin",e))})}limit(e){return new t({...this.#e,queryNode:se.cloneWithLimit(this.#e.queryNode,Xe.create(y(e)))})}set(...e){return new t({...this.#e,queryNode:se.cloneWithUpdates(this.#e.queryNode,oo(...e))})}returning(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,E(e))})}returningAll(e){return new t({...this.#e,queryNode:u.cloneWithReturning(this.#e.queryNode,L(e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}clearReturning(){return new t({...this.#e,queryNode:u.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 mr(i.numAffectedRows??i.numUpdatedOrDeletedRows??BigInt(0),i.numChangedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=G){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(Qe,"don't await UpdateQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");var di=r({is(t){return t.kind==="CommonTableExpressionNameNode"},create(t,e){return r({kind:"CommonTableExpressionNameNode",table:j.create(t),columns:e?r(e.map(c.create)):void 0})}});var Ze=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 Wt=class t{#e;constructor(e){this.#e=r(e)}materialized(){return new t({...this.#e,node:Ze.cloneWith(this.#e.node,{materialized:!0})})}notMaterialized(){return new t({...this.#e,node:Ze.cloneWith(this.#e.node,{materialized:!1})})}toOperationNode(){return this.#e.node}};a(Wt,"don't await CTEBuilder instances. They are never executed directly and are always just a part of a query.");function pi(t,e){let i=e(uo()).toOperationNode();return v(t)?t(pn(i)).toOperationNode():Ze.create(ao(t),i)}function pn(t){return e=>new Wt({node:Ze.create(ao(e),t)})}function ao(t){if(t.includes("(")){let e=t.split(/[\(\)]/),i=e[0],o=e[1].split(",").map(s=>s.trim());return di.create(i,o)}else return di.create(t)}var qt=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 po=["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 ho(t){let e="";for(let i=0;i<t;++i)e+=hn();return e}function hn(){return po[~~(Math.random()*po.length)]}function l(){return new hi}var hi=class{#e;get queryId(){return this.#e===void 0&&(this.#e=ho(8)),this.#e}};var qe=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 cn=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}),lr=class extends qe{#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 d of i)this.#r.add(d);let o=this.#o(e);for(let d of o)this.#t.add(d);let s=super.transformNodeImpl(e);for(let d of o)this.#t.delete(d);for(let d of i)this.#r.delete(d);return s}transformSchemableIdentifier(e){let i=super.transformSchemableIdentifier(e);return i.schema||!this.#t.has(e.identifier.name)?i:{...i,schema:p.create(this.#e)}}transformReferences(e){let i=super.transformReferences(e);return i.table.table.schema?i:{...i,table:j.createWithSchema(this.#e,i.table.table.identifier.name)}}#i(e){return e.kind in cn}#o(e){let i=new Set;if("name"in e&&e.name&&M.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=j.is(e)?e:Q.is(e)&&j.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 ee=class{#e;constructor(e){this.#e=new lr(e)}transformQuery(e){return this.#e.transformNode(e.node)}async transformResult(e){return e.result}};var co=r({is(t){return t.kind==="MatchedNode"},create(t,e=!1){return r({kind:"MatchedNode",not:t,bySource:e})}});function ci(t,e,i){return fe.create(Ge([co.create(!t.isMatched,t.bySource),...e&&e.length>0?[e.length===3&&i?I(e[0],e[1],e[2]):w(e)]:[]],"and",!1))}function _e(t){return b(t)?C.create([t],[]):g(t)?t.toOperationNode():t}var Tt=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 mo=new Set;function lo(t){mo.has(t)||(mo.add(t),console.log(t))}var mn=r([]),et=class{#e;constructor(e=mn){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),d=await this.#t(s,i);return ln(s,d),d})}async*stream(e,i,o){let s=new Tt,d=new Tt;this.provideConnection(async W=>(s.resolve(W),await d.promise)).catch(W=>s.reject(W));let x=await s.promise;try{for await(let W of x.streamQuery(e,i))yield await this.#t(W,o)}finally{d.resolve()}}async#t(e,i){for(let o of this.#e)e=await o.transformResult({result:e,queryId:i});return e}};function ln(t,e){let{numAffectedRows:i}=t;i===void 0&&t.numUpdatedOrDeletedRows===void 0||i!==void 0&&e.numAffectedRows!==void 0||lo("kysely:warning: outdated driver/plugin detected! QueryResult.numUpdatedOrDeletedRows is deprecated and will be removed in a future release.")}var mi=class t extends et{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([])}},Te=new mi;var fr=class{numChangedRows;constructor(e){this.numChangedRows=e}};var It=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}using(...e){return new Ne({...this.#e,queryNode:k.cloneWithUsing(this.#e.queryNode,T("Using",e))})}output(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}};a(It,"don't await MergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var Ne=class t{#e;constructor(e){this.#e=r(e)}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(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 St({...this.#e,queryNode:k.cloneWithWhen(this.#e.queryNode,ci({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:u.cloneWithOutput(this.#e.queryNode,E(e))})}outputAll(e){return new t({...this.#e,queryNode:u.cloneWithOutput(this.#e.queryNode,L(e))})}#r(e,i=!1,o=!1){let s={...this.#e,queryNode:k.cloneWithWhen(this.#e.queryNode,ci({isMatched:!1,bySource:o},e,i))},d=o?St:Nr;return new d(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 fr(i.numAffectedRows)]}async executeTakeFirst(){let[e]=await this.execute();return e}async executeTakeFirstOrThrow(e=G){let i=await this.executeTakeFirst();if(i===void 0)throw ue(e)?new e(this.toOperationNode()):e(this.toOperationNode());return i}};a(Ne,"don't await WheneableMergeQueryBuilder instances directly. To execute the query you need to call `execute`.");var St=class{#e;constructor(e){this.#e=r(e)}thenDelete(){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e("delete"))})}thenDoNothing(){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e("do nothing"))})}thenUpdate(e){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e(e(new Qe({queryId:this.#e.queryId,executor:Te,queryNode:se.createWithoutTable()}))))})}thenUpdateSet(...e){return this.thenUpdate(i=>i.set(...e))}};a(St,"don't await MatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var Nr=class{#e;constructor(e){this.#e=r(e)}thenDoNothing(){return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e("do nothing"))})}thenInsertValues(e){let[i,o]=ur(e);return new Ne({...this.#e,queryNode:k.cloneWithThen(this.#e.queryNode,_e(S.cloneWith(S.createWithoutInto(),{columns:i,values:o})))})}};a(Nr,"don't await NotMatchedThenableMergeQueryBuilder instances directly. To execute the query you need to call `execute` when available.");var tt=class t{#e;constructor(e){this.#e=r(e)}selectFrom(e){return kt({queryId:l(),executor:this.#e.executor,queryNode:h.createFrom(de(e),this.#e.withNode)})}selectNoFrom(e){return kt({queryId:l(),executor:this.#e.executor,queryNode:h.cloneWithSelections(h.create(this.#e.withNode),E(e))})}insertInto(e){return new Ye({queryId:l(),executor:this.#e.executor,queryNode:S.create(f(e),this.#e.withNode)})}replaceInto(e){return new Ye({queryId:l(),executor:this.#e.executor,queryNode:S.create(f(e),this.#e.withNode,!0)})}deleteFrom(e){return new Ct({queryId:l(),executor:this.#e.executor,queryNode:ae.create(de(e),this.#e.withNode)})}updateTable(e){return new Qe({queryId:l(),executor:this.#e.executor,queryNode:se.create(Ie(e),this.#e.withNode)})}mergeInto(e){return new It({queryId:l(),executor:this.#e.executor,queryNode:k.create(li(e),this.#e.withNode)})}with(e,i){let o=pi(e,i);return new t({...this.#e,withNode:this.#e.withNode?qt.cloneWithExpression(this.#e.withNode,o):qt.create(o)})}withRecursive(e,i){let o=pi(e,i);return new t({...this.#e,withNode:this.#e.withNode?qt.cloneWithExpression(this.#e.withNode,o):qt.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 ee(e))})}};function uo(){return new tt({executor:Te})}function fo(t,e){return new Ot({joinNode:ge.create(t,Ie(e))})}function No(){return new gt({overNode:xt.create()})}function T(t,e){if(e.length===3)return Nn(t,e[0],e[1],e[2]);if(e.length===2)return fn(t,e[0],e[1]);throw new Error("not implemented")}function fn(t,e,i){return i(fo(t,e)).toOperationNode()}function Nn(t,e,i,o){return ge.createWithOn(t,Ie(e),I(i,"=",o))}var yo=r({is(t){return t.kind==="OffsetNode"},create(t){return r({kind:"OffsetNode",offset:t})}});var wo=r({is(t){return t.kind==="GroupByItemNode"},create(t){return r({kind:"GroupByItemNode",groupBy:t})}});function xo(t){return t=v(t)?t(Z()):t,me(t).map(wo.create)}var yr=r({is(t){return t.kind==="SetOperationNode"},create(t,e,i){return r({kind:"SetOperationNode",operator:t,expression:e,all:i})}});function Le(t,e,i){return v(e)&&(e=e(wr())),D(e)||(e=[e]),e.map(o=>yr.create(t,z(o),i))}var N=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new At(this,e)}or(...e){return new fi(X.create(this.#e,w(e)))}and(...e){return new Ni(V.create(this.#e,w(e)))}$castTo(){return new t(this.#e)}$notNull(){return new t(this.#e)}toOperationNode(){return this.#e}},At=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Q.create(this.#e.toOperationNode(),g(this.#t)?this.#t.toOperationNode():p.create(this.#t))}},fi=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new At(this,e)}or(...e){return new t(X.create(this.#e,w(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return ne.create(this.#e)}},Ni=class t{#e;constructor(e){this.#e=e}get expressionType(){}as(e){return new At(this,e)}and(...e){return new t(V.create(this.#e,w(e)))}$castTo(){return new t(this.#e)}toOperationNode(){return ne.create(this.#e)}};var Oo={is(t){return t.kind==="FetchNode"},create(t,e){return{kind:"FetchNode",rowCount:q.create(t),modifier:e}}};function go(t,e){if(!xe(t)&&!Ue(t))throw new Error(`Invalid fetch row count: ${t}`);if(!yn(e))throw new Error(`Invalid fetch modifier: ${e}`);return Oo.create(t,e)}function yn(t){return t==="only"||t==="with ties"}var xr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isSelectQueryBuilder(){return!0}where(...e){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,w(e))})}whereRef(e,i,o){return new t({...this.#e,queryNode:u.cloneWithWhere(this.#e.queryNode,I(e,i,o))})}having(...e){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,w(e))})}havingRef(e,i,o){return new t({...this.#e,queryNode:h.cloneWithHaving(this.#e.queryNode,I(e,i,o))})}select(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,E(e))})}distinctOn(e){return new t({...this.#e,queryNode:h.cloneWithDistinctOn(this.#e.queryNode,me(e))})}modifyFront(e){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,oe.createWithExpression(e.toOperationNode()))})}modifyEnd(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.createWithExpression(e.toOperationNode()))})}distinct(){return new t({...this.#e,queryNode:h.cloneWithFrontModifier(this.#e.queryNode,oe.create("Distinct"))})}forUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForUpdate",e?ft(e).map(f):void 0))})}forShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForShare",e?ft(e).map(f):void 0))})}forKeyShare(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForKeyShare",e?ft(e).map(f):void 0))})}forNoKeyUpdate(e){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("ForNoKeyUpdate",e?ft(e).map(f):void 0))})}skipLocked(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("SkipLocked"))})}noWait(){return new t({...this.#e,queryNode:h.cloneWithEndModifier(this.#e.queryNode,oe.create("NoWait"))})}selectAll(e){return new t({...this.#e,queryNode:h.cloneWithSelections(this.#e.queryNode,L(e))})}innerJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("InnerJoin",e))})}leftJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("LeftJoin",e))})}rightJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("RightJoin",e))})}fullJoin(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("FullJoin",e))})}innerJoinLateral(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("LateralInnerJoin",e))})}leftJoinLateral(...e){return new t({...this.#e,queryNode:u.cloneWithJoin(this.#e.queryNode,T("LateralLeftJoin",e))})}orderBy(...e){return new t({...this.#e,queryNode:h.cloneWithOrderByItems(this.#e.queryNode,be(e))})}groupBy(e){return new t({...this.#e,queryNode:h.cloneWithGroupByItems(this.#e.queryNode,xo(e))})}limit(e){return new t({...this.#e,queryNode:h.cloneWithLimit(this.#e.queryNode,Xe.create(y(e)))})}offset(e){return new t({...this.#e,queryNode:h.cloneWithOffset(this.#e.queryNode,yo.create(y(e)))})}fetch(e,i="only"){return new t({...this.#e,queryNode:h.cloneWithFetch(this.#e.queryNode,go(e,i))})}top(e,i){return new t({...this.#e,queryNode:u.cloneWithTop(this.#e.queryNode,_(e,i))})}union(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("union",e,!1))})}unionAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("union",e,!0))})}intersect(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("intersect",e,!1))})}intersectAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("intersect",e,!0))})}except(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("except",e,!1))})}exceptAll(e){return new t({...this.#e,queryNode:h.cloneWithSetOperations(this.#e.queryNode,Le("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:u.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 N(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=G){let i=await this.executeTakeFirst();if(i===void 0)throw ue(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:u.cloneWithExplain(this.#e.queryNode,e,i)}).execute()}};a(xr,"don't await SelectQueryBuilder instances directly. To execute the query you need to call `execute` or `executeTakeFirst`.");function kt(t){return new xr(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 Q.create(this.#e.toOperationNode(),p.create(this.#t))}};a(Or,"don't await AliasedSelectQueryBuilder instances directly. AliasedSelectQueryBuilder should never be executed directly since it's always a part of another query.");var ye=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?R.cloneWithOperation(t.filter,"And",e):R.create(e)})},cloneWithOrFilter(t,e){return r({...t,filter:t.filter?R.cloneWithOperation(t.filter,"Or",e):R.create(e)})},cloneWithOver(t,e){return r({...t,over:e})}});var yi=r({is(t){return t.kind==="FunctionNode"},create(t,e){return r({kind:"FunctionNode",func:t,arguments:e})}});var Pe=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}as(e){return new wi(this,e)}distinct(){return new t({...this.#e,aggregateFunctionNode:ye.cloneWithDistinct(this.#e.aggregateFunctionNode)})}filterWhere(...e){return new t({...this.#e,aggregateFunctionNode:ye.cloneWithFilter(this.#e.aggregateFunctionNode,w(e))})}filterWhereRef(e,i,o){return new t({...this.#e,aggregateFunctionNode:ye.cloneWithFilter(this.#e.aggregateFunctionNode,I(e,i,o))})}over(e){let i=No();return new t({...this.#e,aggregateFunctionNode:ye.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}};a(Pe,"don't await AggregateFunctionBuilder instances. They are never executed directly and are always just a part of a query.");var wi=class{#e;#t;constructor(e,i){this.#e=e,this.#t=i}get expression(){return this.#e}get alias(){return this.#t}toOperationNode(){return Q.create(this.#e.toOperationNode(),p.create(this.#t))}};function gr(){let t=(i,o)=>new N(yi.create(i,me(o??[]))),e=(i,o)=>new Pe({aggregateFunctionNode:ye.create(i,o?me(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 Pe({aggregateFunctionNode:ye.create("count",L(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 Pe({aggregateFunctionNode:ye.create("json_agg",[b(i)?f(i):i.toOperationNode()])})},toJson(i){return new N(yi.create("to_json",[b(i)?f(i):i.toOperationNode()]))}})}var vo=r({is(t){return t.kind==="UnaryOperationNode"},create(t,e){return r({kind:"UnaryOperationNode",operator:t,operand:e})}});function bo(t,e){return vo.create(J.create(t),A(e))}var K=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),fe.cloneWithResult(t.when[t.when.length-1],e)]):void 0})},cloneWith(t,e){return r({...t,...e})}});var rt=class{#e;constructor(e){this.#e=r(e)}when(...e){return new vr({...this.#e,node:K.cloneWithWhen(this.#e.node,fe.create(w(e)))})}},vr=class{#e;constructor(e){this.#e=r(e)}then(e){return new xi({...this.#e,node:K.cloneWithThen(this.#e.node,nr(e)?wt(e):y(e))})}},xi=class{#e;constructor(e){this.#e=r(e)}when(...e){return new vr({...this.#e,node:K.cloneWithWhen(this.#e.node,fe.create(w(e)))})}else(e){return new Oi({...this.#e,node:K.cloneWith(this.#e.node,{else:nr(e)?wt(e):y(e)})})}end(){return new N(K.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new N(K.cloneWith(this.#e.node,{isStatement:!0}))}},Oi=class{#e;constructor(e){this.#e=r(e)}end(){return new N(K.cloneWith(this.#e.node,{isStatement:!1}))}endCase(){return new N(K.cloneWith(this.#e.node,{isStatement:!0}))}};var gi=r({is(t){return t.kind==="JSONPathLegNode"},create(t,e){return r({kind:"JSONPathLegNode",type:t,value:e})}});var Se=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 Ke.is(this.#e)?new br(Ke.cloneWithTraversal(this.#e,Ce.is(this.#e.traversal)?Ce.cloneWithLeg(this.#e.traversal,gi.create(e,i)):ir.cloneWithValue(this.#e.traversal,q.createImmediate(i)))):new br(Ce.cloneWithLeg(this.#e,gi.create(e,i)))}},br=class extends Se{#e;constructor(e){super(e),this.#e=e}get expressionType(){}as(e){return new vi(this,e)}$castTo(){return new Se(this.#e)}$notNull(){return new Se(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 Q.create(this.#e.toOperationNode(),g(this.#t)?this.#t.toOperationNode():p.create(this.#t))}};var bi=r({is(t){return t.kind==="TupleNode"},create(t){return r({kind:"TupleNode",values:r(t)})}});var wn=["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"],xn=[/^varchar\(\d+\)$/,/^char\(\d+\)$/,/^decimal\(\d+, \d+\)$/,/^numeric\(\d+, \d+\)$/,/^binary\(\d+\)$/,/^datetime\(\d+\)$/,/^time\(\d+\)$/,/^timetz\(\d+\)$/,/^timestamp\(\d+\)$/,/^timestamptz\(\d+\)$/,/^varbinary\(\d+\)$/],Co=r({is(t){return t.kind==="DataTypeNode"},create(t){return r({kind:"DataTypeNode",dataType:t})}});function Wo(t){return!!(wn.includes(t)||xn.some(e=>e.test(t)))}function te(t){if(g(t))return t.toOperationNode();if(Wo(t))return Co.create(t);throw new Error(`invalid column data type ${JSON.stringify(t)}`)}var qo=r({is(t){return t.kind==="CastNode"},create(t,e){return r({kind:"CastNode",expression:t,dataType:e})}});function wr(t=Te){function e(s,d,x){return new N(sr(s,d,x))}function i(s,d){return new N(bo(s,d))}let o=Object.assign(e,{fn:void 0,eb:void 0,selectFrom(s){return kt({queryId:l(),executor:t,queryNode:h.createFrom(de(s))})},case(s){return new rt({node:K.create(U(s)?void 0:A(s))})},ref(s,d){return U(d)?new N($(s)):new Se(Ki(s,d))},jsonPath(){return new Se(Ce.create())},table(s){return new N(f(s))},val(s){return new N(y(s))},refTuple(...s){return new N(bi.create(s.map(A)))},tuple(...s){return new N(bi.create(s.map(y)))},lit(s){return new N(wt(s))},unary:i,not(s){return i("not",s)},exists(s){return i("exists",s)},neg(s){return i("-",s)},between(s,d,x){return new N(ve.create(A(s),J.create("between"),V.create(y(d),y(x))))},betweenSymmetric(s,d,x){return new N(ve.create(A(s),J.create("between symmetric"),V.create(y(d),y(x))))},and(s){return D(s)?new N(Ge(s,"and")):new N(ti(s,"and"))},or(s){return D(s)?new N(Ge(s,"or")):new N(ti(s,"or"))},parens(...s){let d=w(s);return ne.is(d)?new N(d):new N(ne.create(d))},cast(s,d){return new N(qo.create(A(s),te(d)))},withSchema(s){return wr(t.withPluginAtFront(new ee(s)))}});return o.fn=gr(),o.eb=o,o}function Z(t){return wr()}function z(t){if(g(t))return t.toOperationNode();if(v(t))return t(Z()).toOperationNode();throw new Error(`invalid expression: ${JSON.stringify(t)}`)}function ar(t){if(g(t))return t.toOperationNode();if(v(t))return t(Z()).toOperationNode();throw new Error(`invalid aliased expression: ${JSON.stringify(t)}`)}function ce(t){return Vi(t)||zi(t)||v(t)}function de(t){return D(t)?t.map(e=>Ie(e)):[Ie(t)]}function Ie(t){return b(t)?li(t):ar(t)}function li(t){let e=" as ";if(t.includes(e)){let[i,o]=t.split(e).map(To);return Q.create(f(i),p.create(o))}else return f(t)}function f(t){let e=".";if(t.includes(e)){let[i,o]=t.split(e).map(To);return j.createWithSchema(i,o)}else return j.create(t)}function To(t){return t.trim()}var Ci=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:c.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 Wi=r({is(t){return t.kind==="DropColumnNode"},create(t){return r({kind:"DropColumnNode",column:c.create(t)})}});var qi=r({is(t){return t.kind==="RenameColumnNode"},create(t,e){return r({kind:"RenameColumnNode",column:c.create(t),renameTo:c.create(e)})}});var it=r({is(t){return t.kind==="CheckConstraintNode"},create(t,e){return r({kind:"CheckConstraintNode",expression:t,name:e?p.create(e):void 0})}});var Io=["no action","restrict","cascade","set null","set default"],ot=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 Cr(t){return g(t)?t.toOperationNode():q.createImmediate(t)}var Et=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 So=r({is(t){return t.kind==="DefaultValueNode"},create(t){return r({kind:"DefaultValueNode",defaultValue:t})}});function nt(t){if(Io.includes(t))return t;throw new Error(`invalid OnModifyForeignAction ${t}`)}var pe=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=$(e);if(!i.table||Je.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:ot.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:ot.cloneWithOnDelete(this.#e.references,nt(e))}))}onUpdate(e){if(!this.#e.references)throw new Error("on update constraint can only be added for foreign keys");return new t(O.cloneWith(this.#e,{references:ot.cloneWithOnUpdate(this.#e.references,nt(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:So.create(Cr(e))}))}check(e){return new t(O.cloneWith(this.#e,{check:it.create(e.toOperationNode())}))}generatedAlwaysAs(e){return new t(O.cloneWith(this.#e,{generated:Et.createWithExpression(e.toOperationNode())}))}generatedAlwaysAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Et.create({identity:!0,always:!0})}))}generatedByDefaultAsIdentity(){return new t(O.cloneWith(this.#e,{generated:Et.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:Et.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}};a(pe,"don't await ColumnDefinitionBuilder instances directly.");var Ti=r({is(t){return t.kind==="ModifyColumnNode"},create(t){return r({kind:"ModifyColumnNode",column:t})}});var Fe=r({is(t){return t.kind==="ForeignKeyConstraintNode"},create(t,e,i,o){return r({kind:"ForeignKeyConstraintNode",columns:t,references:ot.create(e,i),name:o?p.create(o):void 0})},cloneWith(t,e){return r({...t,...e})}});var Me=class t{#e;constructor(e){this.#e=e}onDelete(e){return new t(Fe.cloneWith(this.#e,{onDelete:nt(e)}))}onUpdate(e){return new t(Fe.cloneWith(this.#e,{onUpdate:nt(e)}))}$call(e){return e(this)}toOperationNode(){return this.#e}};a(Me,"don't await ForeignKeyConstraintBuilder instances directly.");var st=r({is(t){return t.kind==="AddConstraintNode"},create(t){return r({kind:"AddConstraintNode",constraint:t})}});var at=r({is(t){return t.kind==="UniqueConstraintNode"},create(t,e,i){return r({kind:"UniqueConstraintNode",columns:r(t.map(c.create)),name:e?p.create(e):void 0,nullsNotDistinct:i})},cloneWith(t,e){return r({...t,...e})}});var ut=r({is(t){return t.kind==="DropConstraintNode"},create(t){return r({kind:"DropConstraintNode",constraintName:p.create(t)})},cloneWith(t,e){return r({...t,...e})}});var dt=r({is(t){return t.kind==="AlterColumnNode"},create(t,e,i){return r({kind:"AlterColumnNode",column:c.create(t),[e]:i})}});var pt=class{#e;constructor(e){this.#e=e}setDataType(e){return new ke(dt.create(this.#e,"dataType",te(e)))}setDefault(e){return new ke(dt.create(this.#e,"setDefault",Cr(e)))}dropDefault(){return new ke(dt.create(this.#e,"dropDefault",!0))}setNotNull(){return new ke(dt.create(this.#e,"setNotNull",!0))}dropNotNull(){return new ke(dt.create(this.#e,"dropNotNull",!0))}$call(e){return e(this)}};a(pt,"don't await AlterColumnBuilder instances");var ke=class{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}};a(ke,"don't await AlteredColumnBuilder instances");var he=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)}};a(he,"don't await AlterTableExecutor instances directly. To execute the query you need to call `execute`");var Rt=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(m.cloneWithTableProps(this.#e.node,{addConstraint:st.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)}};a(Rt,"don't await AlterTableAddForeignKeyConstraintBuilder instances directly. To execute the query you need to call `execute`");var Dt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.cloneWith(this.#e.node.dropConstraint,{ifExists:!0})})})}cascade(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.cloneWith(this.#e.node.dropConstraint,{modifier:"cascade"})})})}restrict(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.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)}};a(Dt,"don't await AlterTableDropConstraintBuilder instances directly. To execute the query you need to call `execute`");var Wr=r({is(t){return t.kind==="PrimaryKeyConstraintNode"},create(t,e){return r({kind:"PrimaryKeyConstraintNode",columns:r(t.map(c.create)),name:e?p.create(e):void 0})}});var Ae=r({is(t){return t.kind==="AddIndexNode"},create(t){return r({kind:"AddIndexNode",name:p.create(t)})},cloneWith(t,e){return r({...t,...e})},cloneWithColumns(t,e){return r({...t,columns:[...t.columns||[],...e]})}});var Bt=class t{#e;constructor(e){this.#e=r(e)}unique(){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWith(this.#e.node.addIndex,{unique:!0})})})}column(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWithColumns(this.#e.node.addIndex,[je(e)])})})}columns(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWithColumns(this.#e.node.addIndex,e.map(je))})})}expression(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWithColumns(this.#e.node.addIndex,[e.toOperationNode()])})})}using(e){return new t({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.cloneWith(this.#e.node.addIndex,{using:C.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)}};a(Bt,"don't await AlterTableAddIndexBuilder instances directly. To execute the query you need to call `execute`");var Ve=class t{#e;constructor(e){this.#e=e}toOperationNode(){return this.#e}nullsNotDistinct(){return new t(at.cloneWith(this.#e,{nullsNotDistinct:!0}))}};a(Ve,"don't await UniqueConstraintNodeBuilder instances directly.");var Qt=class{#e;constructor(e){this.#e=r(e)}renameTo(e){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{renameTo:f(e)})})}setSchema(e){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{setSchema:p.create(e)})})}alterColumn(e,i){let o=i(new pt(e));return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Wi.create(e))})}renameColumn(e,i){return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,qi.create(e,i))})}addColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ci.create(s.toOperationNode()))})}modifyColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new Ee({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ti.create(s.toOperationNode()))})}addUniqueConstraint(e,i,o=ie){let s=o(new Ve(at.create(i,e)));return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:st.create(s.toOperationNode())})})}addCheckConstraint(e,i){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:st.create(it.create(i.toOperationNode(),e))})})}addForeignKeyConstraint(e,i,o,s){return new Rt({...this.#e,constraintBuilder:new Me(Fe.create(i.map(c.create),f(o),s.map(c.create),e))})}addPrimaryKeyConstraint(e,i){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addConstraint:st.create(Wr.create(i,e))})})}dropConstraint(e){return new Dt({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropConstraint:ut.create(e)})})}addIndex(e){return new Bt({...this.#e,node:m.cloneWithTableProps(this.#e.node,{addIndex:Ae.create(e)})})}dropIndex(e){return new he({...this.#e,node:m.cloneWithTableProps(this.#e.node,{dropIndex:Oe.create(e)})})}$call(e){return e(this)}};a(Qt,"don't await AlterTableBuilder instances");var Ee=class t{#e;constructor(e){this.#e=r(e)}alterColumn(e,i){let o=i(new pt(e));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,o.toOperationNode())})}dropColumn(e){return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Wi.create(e))})}renameColumn(e,i){return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,qi.create(e,i))})}addColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ci.create(s.toOperationNode()))})}modifyColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new t({...this.#e,node:m.cloneWithColumnAlteration(this.#e.node,Ti.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)}};a(Ee,"don't await AlterTableColumnAlteringBuilder instances directly. To execute the query you need to call `execute`");var ht=class extends qe{transformValue(e){return{...super.transformValue(e),immediate:!0}}};var Lt=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{ifNotExists:!0})})}unique(){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{unique:!0})})}nullsNotDistinct(){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{nullsNotDistinct:!0})})}on(e){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{table:f(e)})})}column(e){return new t({...this.#e,node:Y.cloneWithColumns(this.#e.node,[je(e)])})}columns(e){return new t({...this.#e,node:Y.cloneWithColumns(this.#e.node,e.map(je))})}expression(e){return new t({...this.#e,node:Y.cloneWithColumns(this.#e.node,[e.toOperationNode()])})}using(e){return new t({...this.#e,node:Y.cloneWith(this.#e.node,{using:C.createWithSql(e)})})}where(...e){let i=new ht;return new t({...this.#e,node:u.cloneWithWhere(this.#e.node,i.transformNode(w(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)}};a(Lt,"don't await CreateIndexBuilder instances directly. To execute the query you need to call `execute`");var Pt=class t{#e;constructor(e){this.#e=r(e)}ifNotExists(){return new t({...this.#e,node:Zt.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)}};a(Pt,"don't await CreateSchemaBuilder instances directly. To execute the query you need to call `execute`");function ko(t){if(Mi.includes(t))return t;throw new Error(`invalid OnCommitAction ${t}`)}var Ft=class t{#e;constructor(e){this.#e=r(e)}temporary(){return new t({...this.#e,node:B.cloneWith(this.#e.node,{temporary:!0})})}onCommit(e){return new t({...this.#e,node:B.cloneWith(this.#e.node,{onCommit:ko(e)})})}ifNotExists(){return new t({...this.#e,node:B.cloneWith(this.#e.node,{ifNotExists:!0})})}addColumn(e,i,o=ie){let s=o(new pe(O.create(e,te(i))));return new t({...this.#e,node:B.cloneWithColumn(this.#e.node,s.toOperationNode())})}addPrimaryKeyConstraint(e,i){return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,Wr.create(i,e))})}addUniqueConstraint(e,i,o=ie){let s=o(new Ve(at.create(i,e)));return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,s.toOperationNode())})}addCheckConstraint(e,i){return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,it.create(i.toOperationNode(),e))})}addForeignKeyConstraint(e,i,o,s,d=ie){let x=d(new Me(Fe.create(i.map(c.create),f(o),s.map(c.create),e)));return new t({...this.#e,node:B.cloneWithConstraint(this.#e.node,x.toOperationNode())})}modifyFront(e){return new t({...this.#e,node:B.cloneWithFrontModifier(this.#e.node,e.toOperationNode())})}modifyEnd(e){return new t({...this.#e,node:B.cloneWithEndModifier(this.#e.node,e.toOperationNode())})}as(e){return new t({...this.#e,node:B.cloneWith(this.#e.node,{selectQuery:z(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)}};a(Ft,"don't await CreateTableBuilder instances directly. To execute the query you need to call `execute`");var Mt=class t{#e;constructor(e){this.#e=r(e)}on(e){return new t({...this.#e,node:Oe.cloneWith(this.#e.node,{table:f(e)})})}ifExists(){return new t({...this.#e,node:Oe.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Oe.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)}};a(Mt,"don't await DropIndexBuilder instances directly. To execute the query you need to call `execute`");var Vt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Nt.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:Nt.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)}};a(Vt,"don't await DropSchemaBuilder instances directly. To execute the query you need to call `execute`");var zt=class t{#e;constructor(e){this.#e=r(e)}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)}};a(zt,"don't await DropTableBuilder instances directly. To execute the query you need to call `execute`");var re=r({is(t){return t.kind==="CreateViewNode"},create(t){return r({kind:"CreateViewNode",name:M.create(t)})},cloneWith(t,e){return r({...t,...e})}});var qr=class{#e=new ht;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}};var Ut=class t{#e;constructor(e){this.#e=r(e)}temporary(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{temporary:!0})})}materialized(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{materialized:!0})})}ifNotExists(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{ifNotExists:!0})})}orReplace(){return new t({...this.#e,node:re.cloneWith(this.#e.node,{orReplace:!0})})}columns(e){return new t({...this.#e,node:re.cloneWith(this.#e.node,{columns:e.map(Zr)})})}as(e){let i=e.withPlugin(new qr).toOperationNode();return new t({...this.#e,node:re.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)}};a(Ut,"don't await CreateViewBuilder instances directly. To execute the query you need to call `execute`");var ct=r({is(t){return t.kind==="DropViewNode"},create(t){return r({kind:"DropViewNode",name:M.create(t)})},cloneWith(t,e){return r({...t,...e})}});var Jt=class t{#e;constructor(e){this.#e=r(e)}materialized(){return new t({...this.#e,node:ct.cloneWith(this.#e.node,{materialized:!0})})}ifExists(){return new t({...this.#e,node:ct.cloneWith(this.#e.node,{ifExists:!0})})}cascade(){return new t({...this.#e,node:ct.cloneWith(this.#e.node,{cascade:!0})})}$call(e){return e(this)}toOperationNode(){return this.#e.executor.transformQuery(this.#e.node,this.#e.queryId)}compile(){return this.#e.executor.compileQuery(this.toOperationNode(),this.#e.queryId)}async execute(){await this.#e.executor.executeQuery(this.compile(),this.#e.queryId)}};a(Jt,"don't await DropViewBuilder instances directly. To execute the query you need to call `execute`");var Tr=r({is(t){return t.kind==="CreateTypeNode"},create(t){return r({kind:"CreateTypeNode",name:t})},cloneWithEnum(t,e){return r({...t,enum:We.create(e.map(i=>q.createImmediate(i)))})}});var $t=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:Tr.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)}};a($t,"don't await CreateTypeBuilder instances directly. To execute the query you need to call `execute`");var Ir=r({is(t){return t.kind==="DropTypeNode"},create(t){return r({kind:"DropTypeNode",name:t})},cloneWith(t,e){return r({...t,...e})}});var Kt=class t{#e;constructor(e){this.#e=r(e)}ifExists(){return new t({...this.#e,node:Ir.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)}};a(Kt,"don't await DropTypeBuilder instances directly. To execute the query you need to call `execute`");function Ii(t){let e=".";if(t.includes(e)){let i=t.split(e).map(On);if(i.length===2)return M.createWithSchema(i[0],i[1]);throw new Error(`invalid schemable identifier ${t}`)}else return M.create(t)}function On(t){return t.trim()}var Sr=class t{#e;constructor(e){this.#e=e}createTable(e){return new Ft({queryId:l(),executor:this.#e,node:B.create(f(e))})}dropTable(e){return new zt({queryId:l(),executor:this.#e,node:yt.create(f(e))})}createIndex(e){return new Lt({queryId:l(),executor:this.#e,node:Y.create(e)})}dropIndex(e){return new Mt({queryId:l(),executor:this.#e,node:Oe.create(e)})}createSchema(e){return new Pt({queryId:l(),executor:this.#e,node:Zt.create(e)})}dropSchema(e){return new Vt({queryId:l(),executor:this.#e,node:Nt.create(e)})}alterTable(e){return new Qt({queryId:l(),executor:this.#e,node:m.create(f(e))})}createView(e){return new Ut({queryId:l(),executor:this.#e,node:re.create(e)})}dropView(e){return new Jt({queryId:l(),executor:this.#e,node:ct.create(e)})}createType(e){return new $t({queryId:l(),executor:this.#e,node:Tr.create(Ii(e))})}dropType(e){return new Kt({queryId:l(),executor:this.#e,node:Ir.create(Ii(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 ee(e)))}};var kr=class{ref(e){return new er(e)}};var Ar=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 Er=class t extends et{#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 Si(){return typeof performance<"u"&&v(performance.now)?performance.now():Date.now()}var Rr=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,d=Si();try{return await i.call(e,o)}catch(x){throw s=x,await this.#u(x,o,d),x}finally{s||await this.#p(o,d)}}}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 Si()-e}};var gn=()=>{},jt=class{#e;#t;constructor(e){this.#e=e}async provideConnection(e){for(;this.#t;)await this.#t.catch(gn);return this.#t=this.#r(e).finally(()=>{this.#t=void 0}),this.#t}async#r(e){return await e(this.#e)}};var Ao=["read uncommitted","read committed","repeatable read","serializable","snapshot"];var Qb=r(["query","error"]),Dr=class{#e;#t;constructor(e){v(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 Eo(t){return P(t)&&v(t.compile)}var mt=class t extends tt{#e;constructor(e){let i,o;if(bn(e))i={executor:e.executor},o={...e};else{let s=e.dialect,d=s.createDriver(),x=s.createQueryCompiler(),W=s.createAdapter(),H=new Dr(e.log??[]),Yt=new Rr(d,H),Xt=new Ar(Yt),lt=new Er(x,W,Xt,e.plugins??[]);i={executor:lt},o={config:e,executor:lt,dialect:s,driver:Yt}}super(i),this.#e=r(o)}get schema(){return new Sr(this.#e.executor)}get dynamic(){return new kr}get introspection(){return this.#e.dialect.createIntrospector(this.withoutPlugins())}case(e){return new rt({node:K.create(U(e)?void 0:z(e))})}get fn(){return gr()}transaction(){return new Qr({...this.#e})}connection(){return new Br({...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 ee(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=l()){let o=Eo(e)?e.compile():e;return this.getExecutor().executeQuery(o,i)}},ki=class t extends mt{#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 ee(e))})}withTables(){return new t({...this.#e})}};function bn(t){return P(t)&&P(t.config)&&P(t.driver)&&P(t.executor)&&P(t.dialect)}var Br=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 jt(i)),s=new mt({...this.#e,executor:o});return await e(s)})}};a(Br,"don't await ConnectionBuilder instances directly. To execute the query you need to call the `execute` method");var Qr=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 Cn(s),this.#e.executor.provideConnection(async d=>{let x=this.#e.executor.withConnectionProvider(new jt(d)),W=new ki({...o,executor:x});try{await this.#e.driver.beginTransaction(d,s);let H=await e(W);return await this.#e.driver.commitTransaction(d),H}catch(H){throw await this.#e.driver.rollbackTransaction(d),H}})}};a(Qr,"don't await TransactionBuilder instances directly. To execute the transaction you need to call the `execute` method");function Cn(t){if(t.isolationLevel&&!Ao.includes(t.isolationLevel))throw new Error(`invalid transaction isolation level ${t.isolationLevel}`)}var Lr=class t{#e;constructor(e){this.#e=r(e)}get expressionType(){}get isRawBuilder(){return!0}as(e){return new Pr(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():Te;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 we(t){return new Lr(t)}a(Lr,"don't await RawBuilder instances directly. To execute the query you need to call `execute`");var Pr=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 Q.create(this.#e.toOperationNode(),g(this.#t)?this.#t.toOperationNode():p.create(this.#t))}};a(Pr,"don't await AliasedRawBuilder instances directly. AliasedRawBuilder should never be executed directly since it's always a part of another query.");var Re=Object.assign((t,...e)=>we({queryId:l(),rawNode:C.create(t,e?.map(Ro)??[])}),{ref(t){return we({queryId:l(),rawNode:C.createWithChild($(t))})},val(t){return we({queryId:l(),rawNode:C.createWithChild(y(t))})},value(t){return this.val(t)},table(t){return we({queryId:l(),rawNode:C.createWithChild(f(t))})},id(...t){let e=new Array(t.length+1).fill(".");return e[0]="",e[e.length-1]="",we({queryId:l(),rawNode:C.create(e,t.map(p.create))})},lit(t){return we({queryId:l(),rawNode:C.createWithChild(q.createImmediate(t))})},literal(t){return this.lit(t)},raw(t){return we({queryId:l(),rawNode:C.createWithSql(t)})},join(t,e=Re`, `){let i=new Array(2*t.length-1),o=e.toOperationNode();for(let s=0;s<t.length;++s)i[2*s]=Ro(t[s]),s!==t.length-1&&(i[2*s+1]=o);return we({queryId:l(),rawNode:C.createWithChildren(i)})}});function Ro(t){return g(t)?t.toOperationNode():y(t)}var Fr=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 Fr{#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&&!ne.is(this.parentNode)&&!S.is(this.parentNode)&&!B.is(this.parentNode)&&!re.is(this.parentNode)&&!yr.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(u.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!k.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&&!k.is(i)&&this.append(")")}visitValues(e){this.append("values "),this.compileList(e.values)}visitDeleteQuery(e){let i=this.nodeStack.find(u.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(!b(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(u.is),o=i!==e;!o&&e.explain&&(this.visitNode(e.explain),this.append(" ")),o&&!k.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&&!k.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 "),De(e.materialized)&&(e.materialized||this.append("not "),this.append("materialized ")),this.visitNode(e.expression)}visitCommonTableExpressionName(e){this.visitNode(e.table),e.columns&&(this.append("("),this.compileList(e.columns),this.append(")"))}visitAlterTable(e){this.append("alter table "),this.visitNode(e.table),this.append(" "),e.renameTo&&(this.append("rename to "),this.visitNode(e.renameTo)),e.setSchema&&(this.append("set schema "),this.visitNode(e.setSchema)),e.addConstraint&&this.visitNode(e.addConstraint),e.dropConstraint&&this.visitNode(e.dropConstraint),e.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(Wn[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 d of e)s+=d,d===i?s+=i:d===o&&(s+=o);return s}addParameter(e){this.#t.push(e)}appendImmediateValue(e){if(b(e))this.append(`'${e}'`);else if(xe(e)||De(e))this.append(e.toString());else if(ze(e))this.append("null");else if(Fi(e))this.appendImmediateValue(e.toISOString());else if(Ue(e))this.appendImmediateValue(e.toString());else throw new Error(`invalid immediate value ${e}`)}sortSelectModifiers(e){return e.sort((i,o)=>i.modifier&&o.modifier?Do[i.modifier]-Do[o.modifier]:1),r(e)}compileColumnAlterations(e){this.compileList(e)}announcesNewColumnDataType(){return!0}},Wn=r({ForKeyShare:"for key share",ForNoKeyUpdate:"for no key update",ForUpdate:"for update",ForShare:"for share",NoWait:"nowait",SkipLocked:"skip locked",Distinct:"distinct"}),Do=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 Ai}async beginTransaction(){}async commitTransaction(){}async rollbackTransaction(){}async releaseConnection(){}async destroy(){}},Ai=class{async executeQuery(){return{rows:[]}}async*streamQuery(){}};var zr=class{get supportsCreateIfNotExists(){return!0}get supportsTransactionalDdl(){return!1}get supportsReturning(){return!1}get supportsOutput(){return!1}};var Tn=/"/g,Ur=class extends Mr{sanitizeIdentifier(e){return e.replace(Tn,'""')}};var In=BigInt("3853314791062309107"),Jr=class extends zr{get supportsTransactionalDdl(){return!0}get supportsReturning(){return!0}async acquireMigrationLock(e,i){await Re`select pg_advisory_xact_lock(${Re.lit(In)})`.execute(e)}async releaseMigrationLock(e,i){}};function Bo(t){return new mt({dialect:{createAdapter:()=>new t.Adapter,createDriver:()=>new Vr,createIntrospector:()=>null,createQueryCompiler:()=>new t.QueryCompiler},plugins:[...t.noParameters?[new Ei]:[]]})}var Ei=class{#e=new Ri;transformQuery(e){return this.#e.transformNode(e.node)}transformResult(e){return Promise.resolve(e.result)}},Ri=class extends qe{transformPrimitiveValueList(e){return We.create(e.values.map(q.createImmediate))}transformValue(e){return{...super.transformValue(e),immediate:!0}}};function Gt(t){let e=t.compile();return{parameters:e.parameters,sql:e.sql}}function Ht(t){return Bo({...t,Adapter:Jr,QueryCompiler:Ur})}function Di(t,e){return Gt(Ht(e).withSchema(t.schema||"public").selectFrom(t.table).select(i=>i.cast("ctid","text").as("ctid")).selectAll())}function Sn(){return[{ctid:"(0,23)",id:"829368924892g49-agsd89-2983h289-asdg",name:"John Doe",role:"admin",created_at:"2021-01-01T00:00:00.000Z"}]}function Qo(t){return Re`(select coalesce(json_agg(agg), '[]') from ${t} as agg)`}var kn="r",An="v",En=[kn,An];function Bi(t){return Gt(Ht(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",En).select(e=>["ns.nspname as schema","cls.relname as name",Qo(e.selectFrom("pg_catalog.pg_attribute as att").innerJoin("pg_catalog.pg_type as typ","att.atttypid","typ.oid").whereRef("att.attrelid","=","cls.oid").where("att.attnum",">=",0).where("att.attisdropped","!=",!0).select(["att.attname as name","typ.typname as datatype"])).as("columns")]))}function Rn(){return[{schema:"public",name:"users",columns:[{name:"id",datatype:"bigint"},{name:"name",datatype:"varchar"},{name:"role",datatype:"varchar"},{name:"created_at",datatype:"timestamptz"}]}]}function Qi(){let t=Ht();return Gt(t.selectNoFrom(t.fn("current_setting",[Re.lit("timezone")]).as("timezone")))}function Dn(){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=Bi(i),d=Qi(),[[x,W],[H,Yt]]=await Promise.all([e.execute(s,o),e.execute(d,o)]),Xt=x||H;if(Xt)return[Xt];let[lt]=Yt;return lt?[null,W.reduce((Li,Lo)=>{let{schemas:Po}=Li,{columns:Fo,name:$r,schema:Kr}=Lo,Mo=Fo.reduce((Vo,{name:Pi,...zo})=>({...Vo,[Pi]:{name:Pi,schema:Kr,table:$r,datatype:{group:"string",name:zo.datatype}}}),{});return(Po[Kr]||={tables:{}}).tables[$r]={columns:Mo,name:$r,schema:Kr},Li},{schemas:{public:{tables:{}}},...lt})]:[new Error("Timezone not found")]}catch(s){return[s]}},async query(o,s){try{let d=Di(o,i),[x,W]=await e.execute(d,s);return x?[x]:[null,{rows:W}]}catch(d){return[d]}}}}0&&(module.exports={createPostgresAdapter,getSelectQuery,getTablesQuery,getTimezoneQuery,mockSelectQuery,mockTablesQuery,mockTimezoneQuery});