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