equipped 5.3.2 → 5.3.3

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.
Files changed (150) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/errors/index.cjs +11 -0
  3. package/dist/cjs/errors/index.cjs.map +1 -1
  4. package/dist/cjs/errors/index.min.cjs +1 -1
  5. package/dist/cjs/errors/index.min.cjs.map +1 -1
  6. package/dist/cjs/orm/adapters/postgresql/index.cjs +8 -0
  7. package/dist/cjs/orm/adapters/postgresql/index.cjs.map +1 -1
  8. package/dist/cjs/orm/adapters/postgresql/index.min.cjs +5 -5
  9. package/dist/cjs/orm/adapters/postgresql/index.min.cjs.map +1 -1
  10. package/dist/cjs/server/adapters/express/index.cjs +1 -0
  11. package/dist/cjs/server/adapters/express/index.cjs.map +1 -1
  12. package/dist/cjs/server/adapters/express/index.min.cjs +1 -1
  13. package/dist/cjs/server/adapters/express/index.min.cjs.map +1 -1
  14. package/dist/cjs/server/adapters/fastify/index.cjs +1 -0
  15. package/dist/cjs/server/adapters/fastify/index.cjs.map +1 -1
  16. package/dist/cjs/server/adapters/fastify/index.min.cjs +1 -1
  17. package/dist/cjs/server/adapters/fastify/index.min.cjs.map +1 -1
  18. package/dist/cjs/server/index.cjs +1 -0
  19. package/dist/cjs/server/index.cjs.map +1 -1
  20. package/dist/cjs/server/index.min.cjs +4 -4
  21. package/dist/cjs/server/index.min.cjs.map +1 -1
  22. package/dist/cjs/validations/index.cjs +1 -0
  23. package/dist/cjs/validations/index.cjs.map +1 -1
  24. package/dist/cjs/validations/index.min.cjs +1 -1
  25. package/dist/cjs/validations/index.min.cjs.map +1 -1
  26. package/dist/esm/cache/adapters/in-memory/index.min.mjs +1 -1
  27. package/dist/esm/cache/adapters/in-memory/index.mjs +3 -3
  28. package/dist/esm/cache/adapters/redis/index.min.mjs +1 -1
  29. package/dist/esm/cache/adapters/redis/index.mjs +4 -4
  30. package/dist/esm/cache/index.min.mjs +1 -1
  31. package/dist/esm/cache/index.mjs +2 -2
  32. package/dist/esm/{chunk-YDQW6ETS.min.mjs → chunk-4GZ43EQ2.min.mjs} +2 -2
  33. package/dist/esm/{chunk-DAUQA32Q.min.mjs → chunk-5FEVQT6K.min.mjs} +2 -2
  34. package/dist/esm/{chunk-RPPYCWXW.mjs → chunk-74GY55PM.mjs} +2 -2
  35. package/dist/esm/{chunk-CEYT5YBA.mjs → chunk-7N4WUZ7P.mjs} +11 -1
  36. package/dist/esm/chunk-7N4WUZ7P.mjs.map +1 -0
  37. package/dist/esm/{chunk-NNFUYHQ7.mjs → chunk-A332TTED.mjs} +2 -2
  38. package/dist/esm/{chunk-PCEHFZ6G.mjs → chunk-BONYW6LU.mjs} +3 -3
  39. package/dist/esm/{chunk-T2O72JBW.mjs → chunk-C3G4W4ZV.mjs} +3 -3
  40. package/dist/esm/{chunk-X7VNAGLR.min.mjs → chunk-LJZOS62I.min.mjs} +2 -2
  41. package/dist/esm/{chunk-AODOD22O.min.mjs → chunk-MCX2O5IT.min.mjs} +2 -2
  42. package/dist/esm/{chunk-FQYRVHQT.mjs → chunk-MNKDFIVK.mjs} +2 -2
  43. package/dist/esm/{chunk-APSDCRY5.min.mjs → chunk-N3OD4QL2.min.mjs} +8 -8
  44. package/dist/esm/chunk-N3OD4QL2.min.mjs.map +1 -0
  45. package/dist/esm/{chunk-VQO4MSEC.mjs → chunk-RFJ5URMP.mjs} +2 -2
  46. package/dist/esm/{chunk-DAK7OKSH.min.mjs → chunk-RX4XPABH.min.mjs} +2 -2
  47. package/dist/esm/{chunk-ZDBDR3IB.min.mjs → chunk-SPOVKWV3.min.mjs} +2 -2
  48. package/dist/esm/{chunk-RIXTQQUU.mjs → chunk-XESM7IWM.mjs} +2 -2
  49. package/dist/esm/{chunk-26BOI6IL.mjs → chunk-XJKBHQWO.mjs} +3 -3
  50. package/dist/esm/{chunk-XTXAEBXY.min.mjs → chunk-YC6V4HLT.min.mjs} +2 -2
  51. package/dist/esm/{chunk-QCCDJLBH.min.mjs → chunk-YWQTFKNY.min.mjs} +2 -2
  52. package/dist/esm/dbs/adapters/mongodb/index.min.mjs +1 -1
  53. package/dist/esm/dbs/adapters/mongodb/index.mjs +4 -4
  54. package/dist/esm/dbs/index.min.mjs +1 -1
  55. package/dist/esm/dbs/index.mjs +4 -4
  56. package/dist/esm/errors/index.min.mjs +1 -1
  57. package/dist/esm/errors/index.mjs +3 -1
  58. package/dist/esm/events/adapters/kafka/index.min.mjs +1 -1
  59. package/dist/esm/events/adapters/kafka/index.mjs +3 -3
  60. package/dist/esm/events/adapters/rabbitmq/index.min.mjs +1 -1
  61. package/dist/esm/events/adapters/rabbitmq/index.mjs +2 -2
  62. package/dist/esm/index.min.mjs +1 -1
  63. package/dist/esm/index.mjs +1 -1
  64. package/dist/esm/instance/index.min.mjs +1 -1
  65. package/dist/esm/instance/index.mjs +1 -1
  66. package/dist/esm/introspection-TO27QT2X.min.mjs +2 -0
  67. package/dist/esm/{introspection-FGDVYTPP.mjs → introspection-ZUQYVEFC.mjs} +3 -3
  68. package/dist/esm/jobs/adapters/redis/index.min.mjs +1 -1
  69. package/dist/esm/jobs/adapters/redis/index.mjs +4 -4
  70. package/dist/esm/orm/adapters/in-memory/index.min.mjs +1 -1
  71. package/dist/esm/orm/adapters/in-memory/index.mjs +3 -3
  72. package/dist/esm/orm/adapters/json/index.min.mjs +1 -1
  73. package/dist/esm/orm/adapters/json/index.mjs +3 -3
  74. package/dist/esm/orm/adapters/mongodb/index.min.mjs +1 -1
  75. package/dist/esm/orm/adapters/mongodb/index.mjs +2 -2
  76. package/dist/esm/orm/adapters/postgresql/index.min.mjs +2 -2
  77. package/dist/esm/orm/adapters/postgresql/index.mjs +4 -4
  78. package/dist/esm/orm/index.min.mjs +1 -1
  79. package/dist/esm/orm/index.mjs +3 -3
  80. package/dist/esm/server/adapters/express/index.min.mjs +1 -1
  81. package/dist/esm/server/adapters/express/index.mjs +2 -2
  82. package/dist/esm/server/adapters/fastify/index.min.mjs +1 -1
  83. package/dist/esm/server/adapters/fastify/index.mjs +2 -2
  84. package/dist/esm/server/index.min.mjs +1 -1
  85. package/dist/esm/server/index.mjs +1 -1
  86. package/dist/esm/utilities/index.min.mjs +1 -1
  87. package/dist/esm/utilities/index.mjs +2 -2
  88. package/dist/esm/validations/index.min.mjs +1 -1
  89. package/dist/esm/validations/index.mjs +1 -1
  90. package/dist/types/{base-qDndMBf8.d.ts → base-BnwwLupM.d.ts} +1 -1
  91. package/dist/types/cache/adapters/in-memory/index.js +5 -5
  92. package/dist/types/cache/adapters/redis/index.js +4 -4
  93. package/dist/types/cache/index.js +2 -2
  94. package/dist/types/{chunk-H5V6ADFD.js → chunk-7MXHWHRV.js} +1 -1
  95. package/dist/types/{chunk-GDMGPX4C.js → chunk-BKXNLF6X.js} +1 -1
  96. package/dist/types/{chunk-4YQA5GPT.js → chunk-DZFKDZDZ.js} +2 -2
  97. package/dist/types/{chunk-AQIV47BY.js → chunk-GQRSK2KP.js} +4 -4
  98. package/dist/types/{chunk-T7K7PO6G.js → chunk-SZAA5GF6.js} +1 -1
  99. package/dist/types/{chunk-35CDCTLR.js → chunk-UGLZIYAR.js} +1 -1
  100. package/dist/types/{chunk-DA2VYP7D.js → chunk-UR7O43FC.js} +1 -1
  101. package/dist/types/{chunk-OOKJEMQI.js → chunk-X5ZDIXCZ.js} +2 -2
  102. package/dist/types/{chunk-BKDWUJRG.js → chunk-YGIIUOQM.js} +10 -0
  103. package/dist/types/dbs/adapters/mongodb/index.js +4 -4
  104. package/dist/types/dbs/index.js +4 -4
  105. package/dist/types/errors/index.d.ts +8 -3
  106. package/dist/types/errors/index.js +3 -1
  107. package/dist/types/events/adapters/kafka/index.js +3 -3
  108. package/dist/types/events/adapters/rabbitmq/index.js +2 -2
  109. package/dist/types/index.js +1 -1
  110. package/dist/types/instance/index.js +1 -1
  111. package/dist/types/{introspection-FSNS33CQ.js → introspection-ZQMYTW6H.js} +2 -2
  112. package/dist/types/jobs/adapters/redis/index.js +4 -4
  113. package/dist/types/orm/adapters/in-memory/index.js +3 -3
  114. package/dist/types/orm/adapters/json/index.js +3 -3
  115. package/dist/types/orm/adapters/mongodb/index.js +2 -2
  116. package/dist/types/orm/adapters/postgresql/index.js +4 -4
  117. package/dist/types/orm/index.js +3 -3
  118. package/dist/types/{requestError-DdaL8hc3.d.ts → requestError-BmOhSuFb.d.ts} +1 -0
  119. package/dist/types/server/adapters/express/index.d.ts +2 -2
  120. package/dist/types/server/adapters/express/index.js +2 -2
  121. package/dist/types/server/adapters/fastify/index.d.ts +3 -3
  122. package/dist/types/server/adapters/fastify/index.js +2 -2
  123. package/dist/types/server/index.d.ts +4 -4
  124. package/dist/types/server/index.js +1 -1
  125. package/dist/types/utilities/index.js +2 -2
  126. package/dist/types/{validationError-oigtHqBi.d.ts → validationError-C2tVK4s7.d.ts} +1 -1
  127. package/dist/types/validations/index.d.ts +4 -4
  128. package/dist/types/validations/index.js +1 -1
  129. package/package.json +1 -1
  130. package/dist/esm/chunk-APSDCRY5.min.mjs.map +0 -1
  131. package/dist/esm/chunk-CEYT5YBA.mjs.map +0 -1
  132. package/dist/esm/introspection-UDWDS6DV.min.mjs +0 -2
  133. /package/dist/esm/{chunk-YDQW6ETS.min.mjs.map → chunk-4GZ43EQ2.min.mjs.map} +0 -0
  134. /package/dist/esm/{chunk-DAUQA32Q.min.mjs.map → chunk-5FEVQT6K.min.mjs.map} +0 -0
  135. /package/dist/esm/{chunk-RPPYCWXW.mjs.map → chunk-74GY55PM.mjs.map} +0 -0
  136. /package/dist/esm/{chunk-NNFUYHQ7.mjs.map → chunk-A332TTED.mjs.map} +0 -0
  137. /package/dist/esm/{chunk-PCEHFZ6G.mjs.map → chunk-BONYW6LU.mjs.map} +0 -0
  138. /package/dist/esm/{chunk-T2O72JBW.mjs.map → chunk-C3G4W4ZV.mjs.map} +0 -0
  139. /package/dist/esm/{chunk-X7VNAGLR.min.mjs.map → chunk-LJZOS62I.min.mjs.map} +0 -0
  140. /package/dist/esm/{chunk-AODOD22O.min.mjs.map → chunk-MCX2O5IT.min.mjs.map} +0 -0
  141. /package/dist/esm/{chunk-FQYRVHQT.mjs.map → chunk-MNKDFIVK.mjs.map} +0 -0
  142. /package/dist/esm/{chunk-VQO4MSEC.mjs.map → chunk-RFJ5URMP.mjs.map} +0 -0
  143. /package/dist/esm/{chunk-DAK7OKSH.min.mjs.map → chunk-RX4XPABH.min.mjs.map} +0 -0
  144. /package/dist/esm/{chunk-ZDBDR3IB.min.mjs.map → chunk-SPOVKWV3.min.mjs.map} +0 -0
  145. /package/dist/esm/{chunk-RIXTQQUU.mjs.map → chunk-XESM7IWM.mjs.map} +0 -0
  146. /package/dist/esm/{chunk-26BOI6IL.mjs.map → chunk-XJKBHQWO.mjs.map} +0 -0
  147. /package/dist/esm/{chunk-XTXAEBXY.min.mjs.map → chunk-YC6V4HLT.min.mjs.map} +0 -0
  148. /package/dist/esm/{chunk-QCCDJLBH.min.mjs.map → chunk-YWQTFKNY.min.mjs.map} +0 -0
  149. /package/dist/esm/{introspection-FGDVYTPP.mjs.map → introspection-TO27QT2X.min.mjs.map} +0 -0
  150. /package/dist/esm/{introspection-UDWDS6DV.min.mjs.map → introspection-ZUQYVEFC.mjs.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{a as k}from "./chunk-CU2HU5UE.min.mjs";import{f as S,g as F,j as O,k as q,l as C,m as I,n as R,o as P,p as B,q as D,r as T,s as K}from "./chunk-AODOD22O.min.mjs";import{AsyncLocalStorage as _}from"async_hooks";import{v as M,differ as h}from"valleyed";var j=()=>M.object({});function d(a){return structuredClone(a)}var w=(a,e)=>{a.clear();for(let[t,n]of e.entries())a.set(t,n)};function b(a){return typeof a=="object"&&a!==null&&!Array.isArray(a)}function A(a,e){return Array.isArray(a)?(Array.isArray(e)?e:[e]).every(n=>a.some(s=>h.equal(s,n))):b(a)&&b(e)?Object.entries(e).every(([t,n])=>A(a[t],n)):h.equal(a,e)}function f(a,e){if(a===e)return 0;if(a==null)return-1;if(e==null)return 1;if(typeof a=="number"&&typeof e=="number"||typeof a=="string"&&typeof e=="string")return a<e?-1:1;if(typeof a=="boolean"&&typeof e=="boolean")return a===!1?-1:1;let t=JSON.stringify(a),n=JSON.stringify(e);return t===n?0:t<n?-1:1}function L(a,e){return`${e.prefix??""}${e.table}`}function z(a,e){let t=a[e.field],n=e.value;switch(e.op){case"eq":return h.equal(t,n);case"ne":return!h.equal(t,n);case"gt":return f(t,n)>0;case"gte":return f(t,n)>=0;case"lt":return f(t,n)<0;case"lte":return f(t,n)<=0;case"in":return Array.isArray(n)?n.some(s=>h.equal(t,s)):!1;case"notIn":return Array.isArray(n)?!n.some(s=>h.equal(t,s)):!0;case"like":return String(t??"").toLowerCase().includes(String(n??"").toLowerCase());case"exists":return t!=null;case"notExists":return t==null;case"contains":return A(t,n);case"notContains":return!A(t,n);default:return!1}}function x(a,e){if(e instanceof S)return z(a,e);if(e instanceof F){if(e.op==="and")return e.children.every(t=>x(a,t));if(e.op==="or")return e.children.some(t=>x(a,t))}return!0}function y(a,e){for(let t of e.children)if(!x(a,t))return!1;return!0}function E(a,e){let t=a;if(e?.orderBy?.length&&(t=[...t].sort((n,s)=>{for(let i of e.orderBy??[]){let c=f(n[i.field],s[i.field]);if(c!==0)return i.direction==="asc"?c:-c}return 0})),e?.offset!=null&&(t=t.slice(Math.max(0,e.offset))),e?.limit!=null&&(t=t.slice(0,e.limit)),e?.select?.length){let n=new Set(e.select);t=t.map(s=>{let i={};for(let c of n)i[c]=s[c];return i})}return t}function N(a,e,t){if(t instanceof C){let n=Number(a[e]??0);a[e]=n+t.value;return}if(t instanceof I){let n=Number(a[e]??0);a[e]=n*t.value;return}if(t instanceof R){let n=a[e];a[e]=n==null||f(t.value,n)<0?t.value:n;return}if(t instanceof P){let n=a[e];a[e]=n==null||f(t.value,n)>0?t.value:n;return}if(t instanceof B){a[e]=null;return}if(t instanceof D){let n=Array.isArray(a[e])?[...a[e]]:[];n.push(d(t.value)),a[e]=n;return}if(t instanceof T){let n=Array.isArray(a[e])?a[e]:[];a[e]=n.filter(s=>!h.equal(s,t.value));return}if(t instanceof K){let n=b(a[e])?d(a[e]):{};if(b(t.value))for(let[s,i]of Object.entries(t.value))n[s]=d(i);a[e]=n;return}a[e]=d(t)}function $(a,e){let t=d(a);for(let[n,s]of Object.entries(e))N(t,n,s);return t}function v(a,e){let t=d(a);for(let n of e)if(n instanceof q)for(let[s,i]of Object.entries(n.values))t[s]=d(i);else N(t,n.field,n);return t}var U=new _,G=class extends k(j,O){schemaConfigPipe=M.object({table:M.string()});supportedFieldTypes=["string","number","boolean","null","object","array","date"];queryableOps=["eq","ne","gt","gte","lt","lte","in","notIn","like","exists","notExists","contains","notContains"];updateOps=["set","inc","mul","min","max","unset","push","pull","patch"];aggregateOps=["count","countDistinct","sum","avg","min","max"];stores=new Map;migrations=new Map;indexes=new Map;tables=new Map;foreignKeys=new Map;#t=Promise.resolve();constructor(e){super(e)}#n(e){return this.stores.has(e)||this.stores.set(e,new Map),this.stores.get(e)}#e(e,t){return this.#n(L(e,t))}#a(){let e=new Map;for(let[c,o]of this.stores.entries()){let r=new Map;for(let[l,u]of o.entries())r.set(l,d(u));e.set(c,r)}let t=new Map(this.migrations),n=new Map(this.indexes),s=new Map;for(let[c,o]of this.tables.entries())s.set(c,{pk:{...o.pk},fields:new Map(o.fields)});let i=new Map(this.foreignKeys);return{stores:e,migrations:t,indexes:n,tables:s,foreignKeys:i}}#r(e){w(this.stores,e.stores),w(this.migrations,e.migrations),w(this.indexes,e.indexes),w(this.tables,e.tables),w(this.foreignKeys,e.foreignKeys)}async findByPk(e,t,n){let i=this.#e(e,t).get(String(n));return i?d(i):null}async createMany(e,t,n){let s=e.pkField.name,i=this.#e(e,t);return n.map(c=>{let o=d(c);return i.set(String(o[s]),o),d(o)})}async deleteByPk(e,t,n){let s=this.#e(e,t),i=String(n),c=s.get(i);return c?(s.delete(i),d(c)):null}async updateByPk(e,t,n,s){let i=this.#e(e,t),c=String(n),o=i.get(c);if(!o)return null;let r=v(o,s);return i.set(c,r),d(r)}async findMany(e,t,n,s){let c=[...this.#e(e,t).values()].filter(o=>y(o,n)).map(o=>d(o));return E(c,s)}async count(e,t,n){return[...this.#e(e,t).values()].filter(i=>y(i,n)).length}async*iterateMany(e,t,n,s){let i=this.#e(e,t),c=E([...i.values()].filter(r=>y(r,n)).map(r=>d(r)),s),o=typeof s?.batchSize=="number"&&Number.isSafeInteger(s.batchSize)&&s.batchSize>0?s.batchSize:1;for(let r=0;r<c.length;r+=o)for(let l of c.slice(r,r+o))yield l}async updateMany(e,t,n,s){let i=this.#e(e,t),c=[...i.entries()].filter(([,r])=>y(r,n)).map(([r])=>r),o=[];for(let r of c){let l=i.get(r);if(!l)continue;let u=$(l,s);i.set(r,u),o.push(d(u))}return o}async deleteMany(e,t,n){let s=this.#e(e,t),i=e.pkField.name,c=[...s.values()].filter(o=>y(o,n)).map(o=>d(o));for(let o of c)s.delete(String(o[i]));return c}async upsertOne(e,t,n,s,i){let c=this.#e(e,t),o=e.pkField.name,l=[...c.values()].filter(g=>y(g,n))[0];if(l){let g=i.length>0?v(l,i):d(l);return c.set(String(g[o]),g),d(g)}let u=d(s),p=i.length>0?v(u,i):u;return c.set(String(p[o]),p),d(p)}async aggregate(e,t,n){let i=[...this.#e(e,t).values()];if(n.where){let r=n.where;i=i.filter(l=>y(l,r))}let c=new Map;if(n.groupBy.length>0)for(let r of i){let l=JSON.stringify(n.groupBy.map(u=>r[u]));c.has(l)||c.set(l,[]),c.get(l).push(r)}else c.set("__all__",i);let o=[];for(let[,r]of c){let l={};if(n.groupBy.length>0)for(let u of n.groupBy)l[u]=r[0][u];for(let u of n.aggregates)switch(u.fn){case"count":l[u.alias]=r.length;break;case"countDistinct":{let p=new Set(r.map(g=>JSON.stringify(g[u.field])));l[u.alias]=p.size;break}case"sum":l[u.alias]=r.reduce((p,g)=>p+Number(g[u.field]??0),0);break;case"avg":{let p=r.reduce((g,m)=>g+Number(m[u.field]??0),0);l[u.alias]=r.length>0?p/r.length:0;break}case"min":{let p=null;for(let g of r){let m=g[u.field];m!=null&&(p===null||f(m,p)<0)&&(p=m)}l[u.alias]=p;break}case"max":{let p=null;for(let g of r){let m=g[u.field];m!=null&&(p===null||f(m,p)>0)&&(p=m)}l[u.alias]=p;break}}o.push(l)}if(n.having){let r=n.having;return o.filter(l=>y(l,r))}return o}async loadMigrations(){return[...this.migrations.values()].map(e=>({id:e.id,appliedAt:e.appliedAt}))}async recordMigration(e,t){this.migrations.set(e,{id:e,appliedAt:t})}async applyCreateTable(e){let t=new Map;for(let n of e.fields)t.set(n.name,{...n});this.tables.set(e.name,{pk:{name:e.pk.name,type:e.pk.type},fields:t})}async applyDropTable(e){this.tables.delete(e.name)}async applyAddField(e){let t=this.tables.get(e.table);t&&t.fields.set(e.field.name,{...e.field})}async applyDropField(e){let t=this.tables.get(e.table);t&&t.fields.delete(e.name)}async applyModifyField(e){let t=this.tables.get(e.table);t&&(t.fields.delete(e.name),t.fields.set(e.to.name,{...e.to}))}async applyRenameTable(e){let t=this.tables.get(e.from);t&&(this.tables.delete(e.from),this.tables.set(e.to,t))}async applyRenameField(e){let t=this.tables.get(e.table);if(t){let n=t.fields.get(e.from);n&&(t.fields.delete(e.from),t.fields.set(e.to,{...n,name:e.to}))}}async applyAddIndex(e){let t=e.name??`${e.table}_${e.on.join("_")}_idx`;this.indexes.set(t,{table:e.table,on:e.on,unique:e.unique??!1})}async applyDropIndex(e){this.indexes.delete(e.name)}async applyAddForeignKey(e){let t=e.name??`${e.table}_${e.on}_fk`;this.foreignKeys.set(t,{table:e.table,on:e.on,references:{table:e.references.table,column:e.references.column},onDelete:e.onDelete,onUpdate:e.onUpdate})}async applyDropForeignKey(e){this.foreignKeys.delete(e.name)}async introspect(){let e=[];for(let[t,n]of this.tables.entries()){let s=[...n.fields.values()].map(o=>({name:o.name,type:o.type,nullable:o.nullable??!1,...o.default!==void 0?{default:o.default}:{},...o.unique?{unique:!0}:{}})),i=[...this.indexes.entries()].filter(([,o])=>o.table===t).map(([o,r])=>({name:o,on:r.on,unique:r.unique})),c=[...this.foreignKeys.entries()].filter(([,o])=>o.table===t).map(([o,r])=>({name:o,on:r.on,references:{table:r.references.table,column:r.references.column},...r.onDelete?{onDelete:r.onDelete}:{},...r.onUpdate?{onUpdate:r.onUpdate}:{}}));e.push({name:t,pk:{name:n.pk.name,type:n.pk.type},fields:s,indexes:i,foreignKeys:c})}return e}async acquireMigrationLock(e){let t,n=new Promise(i=>{t=i}),s=this.#t;this.#t=n,await s;try{return await e()}finally{t()}}async session(e){if(U.getStore())return e();let t=this.#a();try{return await U.run(!0,e)}catch(n){throw this.#r(t),n}}};export{G as a};
2
- //# sourceMappingURL=chunk-QCCDJLBH.min.mjs.map
1
+ import{a as k}from "./chunk-CU2HU5UE.min.mjs";import{f as S,g as F,j as O,k as q,l as C,m as I,n as R,o as P,p as B,q as D,r as T,s as K}from "./chunk-MCX2O5IT.min.mjs";import{AsyncLocalStorage as _}from"async_hooks";import{v as M,differ as h}from"valleyed";var j=()=>M.object({});function d(a){return structuredClone(a)}var w=(a,e)=>{a.clear();for(let[t,n]of e.entries())a.set(t,n)};function b(a){return typeof a=="object"&&a!==null&&!Array.isArray(a)}function A(a,e){return Array.isArray(a)?(Array.isArray(e)?e:[e]).every(n=>a.some(s=>h.equal(s,n))):b(a)&&b(e)?Object.entries(e).every(([t,n])=>A(a[t],n)):h.equal(a,e)}function f(a,e){if(a===e)return 0;if(a==null)return-1;if(e==null)return 1;if(typeof a=="number"&&typeof e=="number"||typeof a=="string"&&typeof e=="string")return a<e?-1:1;if(typeof a=="boolean"&&typeof e=="boolean")return a===!1?-1:1;let t=JSON.stringify(a),n=JSON.stringify(e);return t===n?0:t<n?-1:1}function L(a,e){return`${e.prefix??""}${e.table}`}function z(a,e){let t=a[e.field],n=e.value;switch(e.op){case"eq":return h.equal(t,n);case"ne":return!h.equal(t,n);case"gt":return f(t,n)>0;case"gte":return f(t,n)>=0;case"lt":return f(t,n)<0;case"lte":return f(t,n)<=0;case"in":return Array.isArray(n)?n.some(s=>h.equal(t,s)):!1;case"notIn":return Array.isArray(n)?!n.some(s=>h.equal(t,s)):!0;case"like":return String(t??"").toLowerCase().includes(String(n??"").toLowerCase());case"exists":return t!=null;case"notExists":return t==null;case"contains":return A(t,n);case"notContains":return!A(t,n);default:return!1}}function x(a,e){if(e instanceof S)return z(a,e);if(e instanceof F){if(e.op==="and")return e.children.every(t=>x(a,t));if(e.op==="or")return e.children.some(t=>x(a,t))}return!0}function y(a,e){for(let t of e.children)if(!x(a,t))return!1;return!0}function E(a,e){let t=a;if(e?.orderBy?.length&&(t=[...t].sort((n,s)=>{for(let i of e.orderBy??[]){let c=f(n[i.field],s[i.field]);if(c!==0)return i.direction==="asc"?c:-c}return 0})),e?.offset!=null&&(t=t.slice(Math.max(0,e.offset))),e?.limit!=null&&(t=t.slice(0,e.limit)),e?.select?.length){let n=new Set(e.select);t=t.map(s=>{let i={};for(let c of n)i[c]=s[c];return i})}return t}function N(a,e,t){if(t instanceof C){let n=Number(a[e]??0);a[e]=n+t.value;return}if(t instanceof I){let n=Number(a[e]??0);a[e]=n*t.value;return}if(t instanceof R){let n=a[e];a[e]=n==null||f(t.value,n)<0?t.value:n;return}if(t instanceof P){let n=a[e];a[e]=n==null||f(t.value,n)>0?t.value:n;return}if(t instanceof B){a[e]=null;return}if(t instanceof D){let n=Array.isArray(a[e])?[...a[e]]:[];n.push(d(t.value)),a[e]=n;return}if(t instanceof T){let n=Array.isArray(a[e])?a[e]:[];a[e]=n.filter(s=>!h.equal(s,t.value));return}if(t instanceof K){let n=b(a[e])?d(a[e]):{};if(b(t.value))for(let[s,i]of Object.entries(t.value))n[s]=d(i);a[e]=n;return}a[e]=d(t)}function $(a,e){let t=d(a);for(let[n,s]of Object.entries(e))N(t,n,s);return t}function v(a,e){let t=d(a);for(let n of e)if(n instanceof q)for(let[s,i]of Object.entries(n.values))t[s]=d(i);else N(t,n.field,n);return t}var U=new _,G=class extends k(j,O){schemaConfigPipe=M.object({table:M.string()});supportedFieldTypes=["string","number","boolean","null","object","array","date"];queryableOps=["eq","ne","gt","gte","lt","lte","in","notIn","like","exists","notExists","contains","notContains"];updateOps=["set","inc","mul","min","max","unset","push","pull","patch"];aggregateOps=["count","countDistinct","sum","avg","min","max"];stores=new Map;migrations=new Map;indexes=new Map;tables=new Map;foreignKeys=new Map;#t=Promise.resolve();constructor(e){super(e)}#n(e){return this.stores.has(e)||this.stores.set(e,new Map),this.stores.get(e)}#e(e,t){return this.#n(L(e,t))}#a(){let e=new Map;for(let[c,o]of this.stores.entries()){let r=new Map;for(let[l,u]of o.entries())r.set(l,d(u));e.set(c,r)}let t=new Map(this.migrations),n=new Map(this.indexes),s=new Map;for(let[c,o]of this.tables.entries())s.set(c,{pk:{...o.pk},fields:new Map(o.fields)});let i=new Map(this.foreignKeys);return{stores:e,migrations:t,indexes:n,tables:s,foreignKeys:i}}#r(e){w(this.stores,e.stores),w(this.migrations,e.migrations),w(this.indexes,e.indexes),w(this.tables,e.tables),w(this.foreignKeys,e.foreignKeys)}async findByPk(e,t,n){let i=this.#e(e,t).get(String(n));return i?d(i):null}async createMany(e,t,n){let s=e.pkField.name,i=this.#e(e,t);return n.map(c=>{let o=d(c);return i.set(String(o[s]),o),d(o)})}async deleteByPk(e,t,n){let s=this.#e(e,t),i=String(n),c=s.get(i);return c?(s.delete(i),d(c)):null}async updateByPk(e,t,n,s){let i=this.#e(e,t),c=String(n),o=i.get(c);if(!o)return null;let r=v(o,s);return i.set(c,r),d(r)}async findMany(e,t,n,s){let c=[...this.#e(e,t).values()].filter(o=>y(o,n)).map(o=>d(o));return E(c,s)}async count(e,t,n){return[...this.#e(e,t).values()].filter(i=>y(i,n)).length}async*iterateMany(e,t,n,s){let i=this.#e(e,t),c=E([...i.values()].filter(r=>y(r,n)).map(r=>d(r)),s),o=typeof s?.batchSize=="number"&&Number.isSafeInteger(s.batchSize)&&s.batchSize>0?s.batchSize:1;for(let r=0;r<c.length;r+=o)for(let l of c.slice(r,r+o))yield l}async updateMany(e,t,n,s){let i=this.#e(e,t),c=[...i.entries()].filter(([,r])=>y(r,n)).map(([r])=>r),o=[];for(let r of c){let l=i.get(r);if(!l)continue;let u=$(l,s);i.set(r,u),o.push(d(u))}return o}async deleteMany(e,t,n){let s=this.#e(e,t),i=e.pkField.name,c=[...s.values()].filter(o=>y(o,n)).map(o=>d(o));for(let o of c)s.delete(String(o[i]));return c}async upsertOne(e,t,n,s,i){let c=this.#e(e,t),o=e.pkField.name,l=[...c.values()].filter(g=>y(g,n))[0];if(l){let g=i.length>0?v(l,i):d(l);return c.set(String(g[o]),g),d(g)}let u=d(s),p=i.length>0?v(u,i):u;return c.set(String(p[o]),p),d(p)}async aggregate(e,t,n){let i=[...this.#e(e,t).values()];if(n.where){let r=n.where;i=i.filter(l=>y(l,r))}let c=new Map;if(n.groupBy.length>0)for(let r of i){let l=JSON.stringify(n.groupBy.map(u=>r[u]));c.has(l)||c.set(l,[]),c.get(l).push(r)}else c.set("__all__",i);let o=[];for(let[,r]of c){let l={};if(n.groupBy.length>0)for(let u of n.groupBy)l[u]=r[0][u];for(let u of n.aggregates)switch(u.fn){case"count":l[u.alias]=r.length;break;case"countDistinct":{let p=new Set(r.map(g=>JSON.stringify(g[u.field])));l[u.alias]=p.size;break}case"sum":l[u.alias]=r.reduce((p,g)=>p+Number(g[u.field]??0),0);break;case"avg":{let p=r.reduce((g,m)=>g+Number(m[u.field]??0),0);l[u.alias]=r.length>0?p/r.length:0;break}case"min":{let p=null;for(let g of r){let m=g[u.field];m!=null&&(p===null||f(m,p)<0)&&(p=m)}l[u.alias]=p;break}case"max":{let p=null;for(let g of r){let m=g[u.field];m!=null&&(p===null||f(m,p)>0)&&(p=m)}l[u.alias]=p;break}}o.push(l)}if(n.having){let r=n.having;return o.filter(l=>y(l,r))}return o}async loadMigrations(){return[...this.migrations.values()].map(e=>({id:e.id,appliedAt:e.appliedAt}))}async recordMigration(e,t){this.migrations.set(e,{id:e,appliedAt:t})}async applyCreateTable(e){let t=new Map;for(let n of e.fields)t.set(n.name,{...n});this.tables.set(e.name,{pk:{name:e.pk.name,type:e.pk.type},fields:t})}async applyDropTable(e){this.tables.delete(e.name)}async applyAddField(e){let t=this.tables.get(e.table);t&&t.fields.set(e.field.name,{...e.field})}async applyDropField(e){let t=this.tables.get(e.table);t&&t.fields.delete(e.name)}async applyModifyField(e){let t=this.tables.get(e.table);t&&(t.fields.delete(e.name),t.fields.set(e.to.name,{...e.to}))}async applyRenameTable(e){let t=this.tables.get(e.from);t&&(this.tables.delete(e.from),this.tables.set(e.to,t))}async applyRenameField(e){let t=this.tables.get(e.table);if(t){let n=t.fields.get(e.from);n&&(t.fields.delete(e.from),t.fields.set(e.to,{...n,name:e.to}))}}async applyAddIndex(e){let t=e.name??`${e.table}_${e.on.join("_")}_idx`;this.indexes.set(t,{table:e.table,on:e.on,unique:e.unique??!1})}async applyDropIndex(e){this.indexes.delete(e.name)}async applyAddForeignKey(e){let t=e.name??`${e.table}_${e.on}_fk`;this.foreignKeys.set(t,{table:e.table,on:e.on,references:{table:e.references.table,column:e.references.column},onDelete:e.onDelete,onUpdate:e.onUpdate})}async applyDropForeignKey(e){this.foreignKeys.delete(e.name)}async introspect(){let e=[];for(let[t,n]of this.tables.entries()){let s=[...n.fields.values()].map(o=>({name:o.name,type:o.type,nullable:o.nullable??!1,...o.default!==void 0?{default:o.default}:{},...o.unique?{unique:!0}:{}})),i=[...this.indexes.entries()].filter(([,o])=>o.table===t).map(([o,r])=>({name:o,on:r.on,unique:r.unique})),c=[...this.foreignKeys.entries()].filter(([,o])=>o.table===t).map(([o,r])=>({name:o,on:r.on,references:{table:r.references.table,column:r.references.column},...r.onDelete?{onDelete:r.onDelete}:{},...r.onUpdate?{onUpdate:r.onUpdate}:{}}));e.push({name:t,pk:{name:n.pk.name,type:n.pk.type},fields:s,indexes:i,foreignKeys:c})}return e}async acquireMigrationLock(e){let t,n=new Promise(i=>{t=i}),s=this.#t;this.#t=n,await s;try{return await e()}finally{t()}}async session(e){if(U.getStore())return e();let t=this.#a();try{return await U.run(!0,e)}catch(n){throw this.#r(t),n}}};export{G as a};
2
+ //# sourceMappingURL=chunk-YWQTFKNY.min.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as O,b as P,c as $}from "../../../chunk-YDQW6ETS.min.mjs";import"../../../chunk-DAK7OKSH.min.mjs";import{g as T}from "../../../chunk-ZDBDR3IB.min.mjs";import"../../../chunk-CU2HU5UE.min.mjs";import{B as w,a as C}from "../../../chunk-APSDCRY5.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import"mongodb";import{differ as v}from"valleyed";import B from"axios";import{v as R}from"valleyed";var S="db-changes",E=class{constructor(a,i,n){this.config=a;this.callbacks=i;this.mapper=n;this.config=R.assert(P(),a)}async configureConnector(a,i){let n=B.create({baseURL:this.config.debeziumUrl});return await n.put(`/connectors/${a}/config`,{"topic.prefix":S,"topic.creation.enable":"false","topic.creation.default.replication.factor":"-1","topic.creation.default.partitions":"-1","key.converter":"org.apache.kafka.connect.json.JsonConverter","key.converter.schemas.enable":"false","value.converter":"org.apache.kafka.connect.json.JsonConverter","value.converter.schemas.enable":"false",...i}).then(async()=>(await n.get(`/connectors/${a}/topics`)).data[a]?.topics?.includes?.(a)??!1).catch(l=>{throw new C("Failed to configure watcher",{key:a},l)})}};var k=class extends E{#e=!1;constructor(a,i,n,l,f){super(i,l,f);let d=r=>r._id?{...r,_id:r._id.$oid??r._id}:void 0,m=n.dbName,c=n.collectionName,e=`${m}.${c}`,t=`${S}.${e}`,o="5f5f65717569707065645f5f",s={_id:o};i.eventBus.stream(t,{skipScope:!0}).subscribe(async r=>{let p=r.op,u=JSON.parse(r.before??"null"),y=JSON.parse(r.after??"null");u&&(u=d(u)),y&&(y=d(y)),!(u?._id===o||y?._id===o)&&(p==="c"&&this.callbacks.created&&y?await this.callbacks.created({before:null,after:this.mapper(y)}):p==="u"&&this.callbacks.updated&&u&&y?await this.callbacks.updated({before:this.mapper(u),after:this.mapper(y),changes:v.from(v.diff(u,y))}):p==="d"&&this.callbacks.deleted&&u&&await this.callbacks.deleted({before:this.mapper(u),after:null}))}),w.on("start",async()=>{this.#e||(this.#e=!0,await T(async()=>await this.configureConnector(t,{"connector.class":"io.debezium.connector.mongodb.MongoDbConnector","capture.mode":"change_streams_update_full_with_pre_image","mongodb.connection.string":a.uri,"collection.include.list":e,"snapshot.mode":"when_needed","capture.scope":"collection","capture.target":e,"heartbeat.interval.ms":"60000","errors.max.retries":"3"})?{done:!0,value:!0}:(await n.findOneAndUpdate(s,{$set:{colName:c}},{upsert:!0}),await n.findOneAndDelete(s),w.get().log.warn(`Waiting for db changes for ${e} to start...`),{done:!1}),6,3e4).catch(r=>w.crash(new C("Failed to start db changes",{dbColName:e},r))))})}};import{AsyncLocalStorage as F}from"async_hooks";import{MongoClient as q,ObjectId as I}from"mongodb";import{v as N}from"valleyed";import{v as x}from"valleyed";var _=()=>x.meta(x.object({uri:x.string()}),{title:"Mongodb Config",$refId:"MongodbConfig"});import"mongodb";var Q=async(h,a)=>{let i=[],n=A(a.where,a.whereType);n&&i.push(n);let l=A(a.auth,a.authType);if(l&&i.push(l),a.search&&a.search.fields.length>0){let D=a.search.fields.map(j=>({[j]:{$regex:new RegExp(a.search.value,"i")}}));i.push({$or:D})}let f={};i.length>0&&(f.$and=i);let d=a.sort.map(D=>[D.field,D.desc?"desc":"asc"]),m=a.all??!1,c=a.limit,e=a.page,t=await h.countDocuments(f),o=a.select?.length?Object.fromEntries(a.select.map(D=>[D,1])):void 0,s=h.find(f,{projection:o});d.length&&(s=s.sort(Object.fromEntries(d))),!m&&c&&(s=s.limit(c),e&&(s=s.skip((e-1)*c)));let r=await s.toArray(),p=1,u=Math.ceil(t/c)||1,y=e>=u?null:e+1,b=e<=p?null:e-1;return{pages:{start:p,last:u,next:y,previous:b,current:e},docs:{limit:c,total:t,count:r.length},results:r}};function U(h){return Object.values($).includes(h.condition)}var A=(h,a="and")=>{let i=(Array.isArray(h)?h:[]).map(n=>{if(U(n))return A(n.value,n.condition);let{field:l}=n,f=l==="id"?"_id":l??"",d=n.value===void 0?"":n.value;return{field:f,value:d,condition:n.condition,isWhere:!0}}).filter(n=>!!n).map(n=>n.isWhere?{[`${n.field}`]:{[`$${n.condition}`]:n.value}}:n);return i.length>0?{[`$${a}`]:i}:null};var M="_id",g=new F(void 0),W=class extends O{constructor(i,n){super(n);this.mongoConfig=i;this.mongoConfig=N.assert(_(),i),this.client=new q(i.uri,{ignoreUndefined:!0}),w.on("start",async()=>{await this.client.connect();let l=this.#e.reduce((d,m)=>(d[m.db]||(d[m.db]=[]),d[m.db].push(m.col),d),{}),f={changeStreamPreAndPostImages:{enabled:!0}};await Promise.all(Object.entries(l).map(async([d,m])=>{let c=this.client.db(d),e=await c.listCollections().toArray();return m.map(async t=>{let o=e.find(s=>s.name===t);o?o.options?.changeStreamPreAndPostImages?.enabled!==f.changeStreamPreAndPostImages.enabled&&await c.command({collMod:t,...f}):await c.createCollection(t,f)})}))}),w.on("close",async()=>this.client.close())}client;#e=[];async session(i){if(g.getStore())return i();let n=await this.client.startSession();return n.withTransaction(async()=>g.run(n,i))}id(){return new I}use(i){let n=this.getScopedDb(i.db);return this.#e.push({db:n,col:i.col}),this.#t(i,this.client.db(n).collection(i.col))}#t(i,n){function l(e,t){let s=(Array.isArray(e)?e:[e]).map(r=>i.mapper(r,t));return Array.isArray(e)?s:s[0]}function f(e,t,o,s){let r={[M]:t,...i.options?.skipAudit?{}:{createdAt:o.getTime(),...s?{}:{updatedAt:o.getTime()}}};return{...e,...r}}function d(e,t,o=!1){return{...e,$set:{...e.$set,...o||Object.keys(e).length>0&&!i.options?.skipAudit?{updatedAt:t.getTime()}:{}}}}let m=this,c={config:i,extras:{collection:n},query:async e=>{let t=await Q(n,e);return{...t,results:l(t.results,e.select)}},findMany:async(e,t={})=>{let{select:o,...s}=t,r=o?.length?Object.fromEntries(o.map(b=>[b,1])):void 0,u=(Array.isArray(s.sort)?s.sort:s.sort?[s.sort]:[]).map(b=>[b.field,b.desc?"desc":"asc"]),y=await n.find(e,{session:g.getStore(),limit:s.limit,sort:u,projection:r}).toArray();return l(y,o)},findOne:async(e,t={})=>(await c.findMany(e,{...t,limit:1})).at(0)??null,findById:async(e,t={})=>await c.findOne({[M]:e},t),insertMany:async(e,t={})=>{let o=t.getTime?.()??new Date,s=e.map((p,u)=>f(p,t.makeId?.(u)??new I().toString(),o));return await n.insertMany(s,{session:g.getStore()}),(await Promise.all(s.map(async p=>await c.findById(p[M])))).filter(p=>!!p)},insertOne:async(e,t={})=>(await c.insertMany([e],t))[0],updateMany:async(e,t,o={})=>{let s=o.getTime?.()??new Date,r=g.getStore(),u=(await n.find(e,{session:r,projection:{[M]:1}}).toArray()).map(b=>b[M]),y={[M]:{$in:u}};return await n.updateMany(y,d(t,s),{session:r}),c.findMany(y)},updateOne:async(e,t,o={})=>{let s=o.getTime?.()??new Date,r=await n.findOneAndUpdate(e,d(t,s),{returnDocument:"after",session:g.getStore()});return r?l(r,void 0):null},updateById:async(e,t,o={})=>await c.updateOne({[M]:e},t,o),upsertOne:async(e,t,o={})=>{let s=o.getTime?.()??new Date,r=await n.findOneAndUpdate(e,{...d("update"in t?t.update:{},s,!0),$setOnInsert:f(t.insert,o.makeId?.()??new I().toString(),s,!0)},{returnDocument:"after",session:g.getStore(),upsert:!0});return l(r,void 0)},deleteMany:async(e,t={})=>{let o=await c.findMany(e,t);return await n.deleteMany(e,{session:g.getStore()}),o},deleteOne:async e=>{let t=await n.findOneAndDelete(e,{session:g.getStore()});return t?l(t,void 0):null},deleteById:async e=>await c.deleteOne({[M]:e}),bulkWrite:async(e,t={})=>{if(!e.length)return;let o=n.initializeUnorderedBulkOp({session:g.getStore()}),s=t.getTime?.()??new Date;e.forEach((r,p)=>{switch(r.op){case"insert":o.insert(f(r.value,r.makeId?.(p)??new I().toString(),s));break;case"delete":o.find(r.filter).delete();break;case"update":o.find(r.filter).update(d(r.value,s));break;case"upsert":o.find(r.filter).upsert().update({...d("update"in r?r.update:{},s,!0),$setOnInsert:f(r.insert,r.makeId?.(p)??new I().toString(),s,!0)});break;default:throw new C("Unknown bulkWrite operation",{operation:r})}}),await o.execute({session:g.getStore()})},watch(e){return m.config.changes||w.crash(new C("Db changes are not enabled in the configuration.",{config:i})),new k(m.mongoConfig,m.config.changes,n,e,t=>i.mapper(t))}};return c}};export{W as MongoDb,k as MongoDbChange,_ as mongoDbConfigPipe};
1
+ import{a as O,b as P,c as $}from "../../../chunk-4GZ43EQ2.min.mjs";import"../../../chunk-RX4XPABH.min.mjs";import{g as T}from "../../../chunk-SPOVKWV3.min.mjs";import"../../../chunk-CU2HU5UE.min.mjs";import{C as w,a as C}from "../../../chunk-N3OD4QL2.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import"mongodb";import{differ as v}from"valleyed";import B from"axios";import{v as R}from"valleyed";var S="db-changes",E=class{constructor(a,i,n){this.config=a;this.callbacks=i;this.mapper=n;this.config=R.assert(P(),a)}async configureConnector(a,i){let n=B.create({baseURL:this.config.debeziumUrl});return await n.put(`/connectors/${a}/config`,{"topic.prefix":S,"topic.creation.enable":"false","topic.creation.default.replication.factor":"-1","topic.creation.default.partitions":"-1","key.converter":"org.apache.kafka.connect.json.JsonConverter","key.converter.schemas.enable":"false","value.converter":"org.apache.kafka.connect.json.JsonConverter","value.converter.schemas.enable":"false",...i}).then(async()=>(await n.get(`/connectors/${a}/topics`)).data[a]?.topics?.includes?.(a)??!1).catch(l=>{throw new C("Failed to configure watcher",{key:a},l)})}};var k=class extends E{#e=!1;constructor(a,i,n,l,f){super(i,l,f);let d=r=>r._id?{...r,_id:r._id.$oid??r._id}:void 0,m=n.dbName,c=n.collectionName,e=`${m}.${c}`,t=`${S}.${e}`,o="5f5f65717569707065645f5f",s={_id:o};i.eventBus.stream(t,{skipScope:!0}).subscribe(async r=>{let p=r.op,u=JSON.parse(r.before??"null"),y=JSON.parse(r.after??"null");u&&(u=d(u)),y&&(y=d(y)),!(u?._id===o||y?._id===o)&&(p==="c"&&this.callbacks.created&&y?await this.callbacks.created({before:null,after:this.mapper(y)}):p==="u"&&this.callbacks.updated&&u&&y?await this.callbacks.updated({before:this.mapper(u),after:this.mapper(y),changes:v.from(v.diff(u,y))}):p==="d"&&this.callbacks.deleted&&u&&await this.callbacks.deleted({before:this.mapper(u),after:null}))}),w.on("start",async()=>{this.#e||(this.#e=!0,await T(async()=>await this.configureConnector(t,{"connector.class":"io.debezium.connector.mongodb.MongoDbConnector","capture.mode":"change_streams_update_full_with_pre_image","mongodb.connection.string":a.uri,"collection.include.list":e,"snapshot.mode":"when_needed","capture.scope":"collection","capture.target":e,"heartbeat.interval.ms":"60000","errors.max.retries":"3"})?{done:!0,value:!0}:(await n.findOneAndUpdate(s,{$set:{colName:c}},{upsert:!0}),await n.findOneAndDelete(s),w.get().log.warn(`Waiting for db changes for ${e} to start...`),{done:!1}),6,3e4).catch(r=>w.crash(new C("Failed to start db changes",{dbColName:e},r))))})}};import{AsyncLocalStorage as F}from"async_hooks";import{MongoClient as q,ObjectId as I}from"mongodb";import{v as N}from"valleyed";import{v as x}from"valleyed";var _=()=>x.meta(x.object({uri:x.string()}),{title:"Mongodb Config",$refId:"MongodbConfig"});import"mongodb";var Q=async(h,a)=>{let i=[],n=A(a.where,a.whereType);n&&i.push(n);let l=A(a.auth,a.authType);if(l&&i.push(l),a.search&&a.search.fields.length>0){let D=a.search.fields.map(j=>({[j]:{$regex:new RegExp(a.search.value,"i")}}));i.push({$or:D})}let f={};i.length>0&&(f.$and=i);let d=a.sort.map(D=>[D.field,D.desc?"desc":"asc"]),m=a.all??!1,c=a.limit,e=a.page,t=await h.countDocuments(f),o=a.select?.length?Object.fromEntries(a.select.map(D=>[D,1])):void 0,s=h.find(f,{projection:o});d.length&&(s=s.sort(Object.fromEntries(d))),!m&&c&&(s=s.limit(c),e&&(s=s.skip((e-1)*c)));let r=await s.toArray(),p=1,u=Math.ceil(t/c)||1,y=e>=u?null:e+1,b=e<=p?null:e-1;return{pages:{start:p,last:u,next:y,previous:b,current:e},docs:{limit:c,total:t,count:r.length},results:r}};function U(h){return Object.values($).includes(h.condition)}var A=(h,a="and")=>{let i=(Array.isArray(h)?h:[]).map(n=>{if(U(n))return A(n.value,n.condition);let{field:l}=n,f=l==="id"?"_id":l??"",d=n.value===void 0?"":n.value;return{field:f,value:d,condition:n.condition,isWhere:!0}}).filter(n=>!!n).map(n=>n.isWhere?{[`${n.field}`]:{[`$${n.condition}`]:n.value}}:n);return i.length>0?{[`$${a}`]:i}:null};var M="_id",g=new F(void 0),W=class extends O{constructor(i,n){super(n);this.mongoConfig=i;this.mongoConfig=N.assert(_(),i),this.client=new q(i.uri,{ignoreUndefined:!0}),w.on("start",async()=>{await this.client.connect();let l=this.#e.reduce((d,m)=>(d[m.db]||(d[m.db]=[]),d[m.db].push(m.col),d),{}),f={changeStreamPreAndPostImages:{enabled:!0}};await Promise.all(Object.entries(l).map(async([d,m])=>{let c=this.client.db(d),e=await c.listCollections().toArray();return m.map(async t=>{let o=e.find(s=>s.name===t);o?o.options?.changeStreamPreAndPostImages?.enabled!==f.changeStreamPreAndPostImages.enabled&&await c.command({collMod:t,...f}):await c.createCollection(t,f)})}))}),w.on("close",async()=>this.client.close())}client;#e=[];async session(i){if(g.getStore())return i();let n=await this.client.startSession();return n.withTransaction(async()=>g.run(n,i))}id(){return new I}use(i){let n=this.getScopedDb(i.db);return this.#e.push({db:n,col:i.col}),this.#t(i,this.client.db(n).collection(i.col))}#t(i,n){function l(e,t){let s=(Array.isArray(e)?e:[e]).map(r=>i.mapper(r,t));return Array.isArray(e)?s:s[0]}function f(e,t,o,s){let r={[M]:t,...i.options?.skipAudit?{}:{createdAt:o.getTime(),...s?{}:{updatedAt:o.getTime()}}};return{...e,...r}}function d(e,t,o=!1){return{...e,$set:{...e.$set,...o||Object.keys(e).length>0&&!i.options?.skipAudit?{updatedAt:t.getTime()}:{}}}}let m=this,c={config:i,extras:{collection:n},query:async e=>{let t=await Q(n,e);return{...t,results:l(t.results,e.select)}},findMany:async(e,t={})=>{let{select:o,...s}=t,r=o?.length?Object.fromEntries(o.map(b=>[b,1])):void 0,u=(Array.isArray(s.sort)?s.sort:s.sort?[s.sort]:[]).map(b=>[b.field,b.desc?"desc":"asc"]),y=await n.find(e,{session:g.getStore(),limit:s.limit,sort:u,projection:r}).toArray();return l(y,o)},findOne:async(e,t={})=>(await c.findMany(e,{...t,limit:1})).at(0)??null,findById:async(e,t={})=>await c.findOne({[M]:e},t),insertMany:async(e,t={})=>{let o=t.getTime?.()??new Date,s=e.map((p,u)=>f(p,t.makeId?.(u)??new I().toString(),o));return await n.insertMany(s,{session:g.getStore()}),(await Promise.all(s.map(async p=>await c.findById(p[M])))).filter(p=>!!p)},insertOne:async(e,t={})=>(await c.insertMany([e],t))[0],updateMany:async(e,t,o={})=>{let s=o.getTime?.()??new Date,r=g.getStore(),u=(await n.find(e,{session:r,projection:{[M]:1}}).toArray()).map(b=>b[M]),y={[M]:{$in:u}};return await n.updateMany(y,d(t,s),{session:r}),c.findMany(y)},updateOne:async(e,t,o={})=>{let s=o.getTime?.()??new Date,r=await n.findOneAndUpdate(e,d(t,s),{returnDocument:"after",session:g.getStore()});return r?l(r,void 0):null},updateById:async(e,t,o={})=>await c.updateOne({[M]:e},t,o),upsertOne:async(e,t,o={})=>{let s=o.getTime?.()??new Date,r=await n.findOneAndUpdate(e,{...d("update"in t?t.update:{},s,!0),$setOnInsert:f(t.insert,o.makeId?.()??new I().toString(),s,!0)},{returnDocument:"after",session:g.getStore(),upsert:!0});return l(r,void 0)},deleteMany:async(e,t={})=>{let o=await c.findMany(e,t);return await n.deleteMany(e,{session:g.getStore()}),o},deleteOne:async e=>{let t=await n.findOneAndDelete(e,{session:g.getStore()});return t?l(t,void 0):null},deleteById:async e=>await c.deleteOne({[M]:e}),bulkWrite:async(e,t={})=>{if(!e.length)return;let o=n.initializeUnorderedBulkOp({session:g.getStore()}),s=t.getTime?.()??new Date;e.forEach((r,p)=>{switch(r.op){case"insert":o.insert(f(r.value,r.makeId?.(p)??new I().toString(),s));break;case"delete":o.find(r.filter).delete();break;case"update":o.find(r.filter).update(d(r.value,s));break;case"upsert":o.find(r.filter).upsert().update({...d("update"in r?r.update:{},s,!0),$setOnInsert:f(r.insert,r.makeId?.(p)??new I().toString(),s,!0)});break;default:throw new C("Unknown bulkWrite operation",{operation:r})}}),await o.execute({session:g.getStore()})},watch(e){return m.config.changes||w.crash(new C("Db changes are not enabled in the configuration.",{config:i})),new k(m.mongoConfig,m.config.changes,n,e,t=>i.mapper(t))}};return c}};export{W as MongoDb,k as MongoDbChange,_ as mongoDbConfigPipe};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -2,16 +2,16 @@ import {
2
2
  Db,
3
3
  QueryKeys,
4
4
  dbChangeConfigPipe
5
- } from "../../../chunk-T2O72JBW.mjs";
6
- import "../../../chunk-PCEHFZ6G.mjs";
5
+ } from "../../../chunk-C3G4W4ZV.mjs";
6
+ import "../../../chunk-BONYW6LU.mjs";
7
7
  import {
8
8
  retry
9
- } from "../../../chunk-NNFUYHQ7.mjs";
9
+ } from "../../../chunk-A332TTED.mjs";
10
10
  import "../../../chunk-NEF3UYFA.mjs";
11
11
  import {
12
12
  EquippedError,
13
13
  Instance
14
- } from "../../../chunk-CEYT5YBA.mjs";
14
+ } from "../../../chunk-7N4WUZ7P.mjs";
15
15
  import "../../../chunk-VCCS7CAI.mjs";
16
16
  import "../../../chunk-J5LGTIGS.mjs";
17
17
 
@@ -1,2 +1,2 @@
1
- import{a as o,b as r,c as e,d as f,e as m,f as p,g as t}from "../chunk-YDQW6ETS.min.mjs";import"../chunk-DAK7OKSH.min.mjs";import"../chunk-ZDBDR3IB.min.mjs";import"../chunk-CU2HU5UE.min.mjs";import"../chunk-APSDCRY5.min.mjs";import"../chunk-DSUJ5FUL.min.mjs";import"../chunk-AQY7QVYI.min.mjs";export{f as Conditions,o as Db,e as QueryKeys,r as dbChangeConfigPipe,m as queryParamsPipe,p as queryResultsPipe,t as wrapQueryParams};
1
+ import{a as o,b as r,c as e,d as f,e as m,f as p,g as t}from "../chunk-4GZ43EQ2.min.mjs";import"../chunk-RX4XPABH.min.mjs";import"../chunk-SPOVKWV3.min.mjs";import"../chunk-CU2HU5UE.min.mjs";import"../chunk-N3OD4QL2.min.mjs";import"../chunk-DSUJ5FUL.min.mjs";import"../chunk-AQY7QVYI.min.mjs";export{f as Conditions,o as Db,e as QueryKeys,r as dbChangeConfigPipe,m as queryParamsPipe,p as queryResultsPipe,t as wrapQueryParams};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -6,11 +6,11 @@ import {
6
6
  queryParamsPipe,
7
7
  queryResultsPipe,
8
8
  wrapQueryParams
9
- } from "../chunk-T2O72JBW.mjs";
10
- import "../chunk-PCEHFZ6G.mjs";
11
- import "../chunk-NNFUYHQ7.mjs";
9
+ } from "../chunk-C3G4W4ZV.mjs";
10
+ import "../chunk-BONYW6LU.mjs";
11
+ import "../chunk-A332TTED.mjs";
12
12
  import "../chunk-NEF3UYFA.mjs";
13
- import "../chunk-CEYT5YBA.mjs";
13
+ import "../chunk-7N4WUZ7P.mjs";
14
14
  import "../chunk-VCCS7CAI.mjs";
15
15
  import "../chunk-J5LGTIGS.mjs";
16
16
  export {
@@ -1,2 +1,2 @@
1
- import{A as h,a,b,v as c,w as d,x as e,y as f,z as g}from "../chunk-APSDCRY5.min.mjs";import"../chunk-DSUJ5FUL.min.mjs";import"../chunk-AQY7QVYI.min.mjs";export{c as BadRequestError,a as EquippedError,d as NotAuthenticatedError,e as NotAuthorizedError,f as NotFoundError,b as RequestError,g as TokenExpired,h as ValidationError};
1
+ import{A as h,B as i,a,b,v as c,w as d,x as e,y as f,z as g}from "../chunk-N3OD4QL2.min.mjs";import"../chunk-DSUJ5FUL.min.mjs";import"../chunk-AQY7QVYI.min.mjs";export{c as BadRequestError,a as EquippedError,d as NotAuthenticatedError,e as NotAuthorizedError,f as NotFoundError,g as PreconditionRequiredError,b as RequestError,h as TokenExpired,i as ValidationError};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -4,10 +4,11 @@ import {
4
4
  NotAuthenticatedError,
5
5
  NotAuthorizedError,
6
6
  NotFoundError,
7
+ PreconditionRequiredError,
7
8
  RequestError,
8
9
  TokenExpired,
9
10
  ValidationError
10
- } from "../chunk-CEYT5YBA.mjs";
11
+ } from "../chunk-7N4WUZ7P.mjs";
11
12
  import "../chunk-VCCS7CAI.mjs";
12
13
  import "../chunk-J5LGTIGS.mjs";
13
14
  export {
@@ -16,6 +17,7 @@ export {
16
17
  NotAuthenticatedError,
17
18
  NotAuthorizedError,
18
19
  NotFoundError,
20
+ PreconditionRequiredError,
19
21
  RequestError,
20
22
  TokenExpired,
21
23
  ValidationError
@@ -1,2 +1,2 @@
1
- import{a,b}from "../../../chunk-DAK7OKSH.min.mjs";import"../../../chunk-ZDBDR3IB.min.mjs";import"../../../chunk-CU2HU5UE.min.mjs";import"../../../chunk-APSDCRY5.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";export{b as KafkaEventBus,a as kafkaConfigPipe};
1
+ import{a,b}from "../../../chunk-RX4XPABH.min.mjs";import"../../../chunk-SPOVKWV3.min.mjs";import"../../../chunk-CU2HU5UE.min.mjs";import"../../../chunk-N3OD4QL2.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";export{b as KafkaEventBus,a as kafkaConfigPipe};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  KafkaEventBus,
3
3
  kafkaConfigPipe
4
- } from "../../../chunk-PCEHFZ6G.mjs";
5
- import "../../../chunk-NNFUYHQ7.mjs";
4
+ } from "../../../chunk-BONYW6LU.mjs";
5
+ import "../../../chunk-A332TTED.mjs";
6
6
  import "../../../chunk-NEF3UYFA.mjs";
7
- import "../../../chunk-CEYT5YBA.mjs";
7
+ import "../../../chunk-7N4WUZ7P.mjs";
8
8
  import "../../../chunk-VCCS7CAI.mjs";
9
9
  import "../../../chunk-J5LGTIGS.mjs";
10
10
  export {
@@ -1,2 +1,2 @@
1
- import{c as m,e as f}from "../../../chunk-ZDBDR3IB.min.mjs";import{a as u}from "../../../chunk-CU2HU5UE.min.mjs";import{B as a}from "../../../chunk-APSDCRY5.min.mjs";import{a as p}from "../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{connect as C}from"amqp-connection-manager";import{v as r}from"valleyed";var h=()=>r.meta(r.object({uri:r.string(),eventColumnName:r.string()}),{title:"Rabbitmq Config",$refId:"RabbitmqConfig"}),b=class l extends u(h,p){#t;#e;constructor(t){super(t),this.#e=t.eventColumnName,this.#t=C([t.uri]).createChannel({json:!1,setup:async e=>{await e.assertExchange(this.#e,"direct",{durable:!0}),await e.prefetch(1)}})}stream(t,e={}){let i=e.skipScope?t:a.get().getScopedName(t);return{publish:async o=>await this.#t.publish(this.#e,i,JSON.stringify(o),{persistent:!0}),subscribe:async o=>{let v=async()=>{await this.#t.addSetup(async n=>{let y=e.fanout?a.get().getScopedName(`${a.get().id}-fanout-${f.string(10)}`):i,{queue:c}=await n.assertQueue(y,{durable:!e.fanout,exclusive:e.fanout});await n.bindQueue(c,this.#e,i),n.consume(c,async s=>{await a.resolveBeforeCrash(async()=>{if(s)try{await o(m(s.content.toString())),n.ack(s)}catch{n.nack(s)}})},{noAck:!1})})};a.on("start",v,{class:l})}}}};export{b as RabbitMQEventBus,h as rabbitmqConfigPipe};
1
+ import{c as m,e as f}from "../../../chunk-SPOVKWV3.min.mjs";import{a as u}from "../../../chunk-CU2HU5UE.min.mjs";import{C as a}from "../../../chunk-N3OD4QL2.min.mjs";import{a as p}from "../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{connect as C}from"amqp-connection-manager";import{v as r}from"valleyed";var h=()=>r.meta(r.object({uri:r.string(),eventColumnName:r.string()}),{title:"Rabbitmq Config",$refId:"RabbitmqConfig"}),b=class l extends u(h,p){#t;#e;constructor(t){super(t),this.#e=t.eventColumnName,this.#t=C([t.uri]).createChannel({json:!1,setup:async e=>{await e.assertExchange(this.#e,"direct",{durable:!0}),await e.prefetch(1)}})}stream(t,e={}){let i=e.skipScope?t:a.get().getScopedName(t);return{publish:async o=>await this.#t.publish(this.#e,i,JSON.stringify(o),{persistent:!0}),subscribe:async o=>{let v=async()=>{await this.#t.addSetup(async n=>{let y=e.fanout?a.get().getScopedName(`${a.get().id}-fanout-${f.string(10)}`):i,{queue:c}=await n.assertQueue(y,{durable:!e.fanout,exclusive:e.fanout});await n.bindQueue(c,this.#e,i),n.consume(c,async s=>{await a.resolveBeforeCrash(async()=>{if(s)try{await o(m(s.content.toString())),n.ack(s)}catch{n.nack(s)}})},{noAck:!1})})};a.on("start",v,{class:l})}}}};export{b as RabbitMQEventBus,h as rabbitmqConfigPipe};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  parseJSONValue,
3
3
  random_exports
4
- } from "../../../chunk-NNFUYHQ7.mjs";
4
+ } from "../../../chunk-A332TTED.mjs";
5
5
  import {
6
6
  configurable
7
7
  } from "../../../chunk-NEF3UYFA.mjs";
8
8
  import {
9
9
  Instance
10
- } from "../../../chunk-CEYT5YBA.mjs";
10
+ } from "../../../chunk-7N4WUZ7P.mjs";
11
11
  import {
12
12
  EventBus
13
13
  } from "../../../chunk-VCCS7CAI.mjs";
@@ -1,2 +1,2 @@
1
- import{B as o}from "./chunk-APSDCRY5.min.mjs";import"./chunk-DSUJ5FUL.min.mjs";import"./chunk-AQY7QVYI.min.mjs";export{o as Instance};
1
+ import{C as o}from "./chunk-N3OD4QL2.min.mjs";import"./chunk-DSUJ5FUL.min.mjs";import"./chunk-AQY7QVYI.min.mjs";export{o as Instance};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Instance
3
- } from "./chunk-CEYT5YBA.mjs";
3
+ } from "./chunk-7N4WUZ7P.mjs";
4
4
  import "./chunk-VCCS7CAI.mjs";
5
5
  import "./chunk-J5LGTIGS.mjs";
6
6
  export {
@@ -1,2 +1,2 @@
1
- import{B as a}from "../chunk-APSDCRY5.min.mjs";import"../chunk-DSUJ5FUL.min.mjs";import"../chunk-AQY7QVYI.min.mjs";export{a as Instance};
1
+ import{C as a}from "../chunk-N3OD4QL2.min.mjs";import"../chunk-DSUJ5FUL.min.mjs";import"../chunk-AQY7QVYI.min.mjs";export{a as Instance};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Instance
3
- } from "../chunk-CEYT5YBA.mjs";
3
+ } from "../chunk-7N4WUZ7P.mjs";
4
4
  import "../chunk-VCCS7CAI.mjs";
5
5
  import "../chunk-J5LGTIGS.mjs";
6
6
  export {
@@ -0,0 +1,2 @@
1
+ import{a}from "./chunk-LJZOS62I.min.mjs";import"./chunk-N3OD4QL2.min.mjs";import"./chunk-DSUJ5FUL.min.mjs";import"./chunk-AQY7QVYI.min.mjs";export{a as OrmIntrospectionError};
2
+ //# sourceMappingURL=introspection-TO27QT2X.min.mjs.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  OrmIntrospectionError
3
- } from "./chunk-FQYRVHQT.mjs";
4
- import "./chunk-CEYT5YBA.mjs";
3
+ } from "./chunk-MNKDFIVK.mjs";
4
+ import "./chunk-7N4WUZ7P.mjs";
5
5
  import "./chunk-VCCS7CAI.mjs";
6
6
  import "./chunk-J5LGTIGS.mjs";
7
7
  export {
8
8
  OrmIntrospectionError
9
9
  };
10
- //# sourceMappingURL=introspection-FGDVYTPP.mjs.map
10
+ //# sourceMappingURL=introspection-ZUQYVEFC.mjs.map
@@ -1,2 +1,2 @@
1
- import{a as d,b as l}from "../../../chunk-XTXAEBXY.min.mjs";import"../../../chunk-DAUQA32Q.min.mjs";import{e as p}from "../../../chunk-ZDBDR3IB.min.mjs";import{a as n}from "../../../chunk-CU2HU5UE.min.mjs";import{b as c}from "../../../chunk-BJNIUCPT.min.mjs";import{B as s}from "../../../chunk-APSDCRY5.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{Queue as y,Worker as f}from"bullmq";import{v as i}from"valleyed";var h=()=>i.meta(i.object({redisConfig:d(),queueName:i.string()}),{title:"Redis Jobs Config",$refId:"RedisJobsConfig"}),m=class b extends n(h,c){#e;constructor(e){super(e);let t=l.create(e.redisConfig,{maxRetriesPerRequest:null,enableReadyCheck:!1}),a=s.get().getScopedName(e.queueName);this.#e=new y(a,{connection:t.connectionOptions,skipVersionCheck:!0});let r=new f(a,async o=>{switch(o.name){case"DelayedJob":return this.callbacks.onDelayed?.(o.data);case"CronJob":return this.callbacks.onCron?.(o.data.type);case"RepeatableJob":return this.callbacks.onRepeatable?.(o.data)}},{connection:t.connectionOptions,autorun:!1,skipVersionCheck:!0});s.on("start",async()=>{await this.#o(),await Promise.all(this.crons.map(({cron:o,name:u})=>this.#a(u,o))),r.run()},{class:b})}#t(){return[Date.now(),p.string()].join("_")}async#a(e,t){return(await this.#e.add("CronJob",{type:e},{jobId:this.#t(),repeat:{pattern:t},removeOnComplete:!0,backoff:1e3,attempts:3})).id.toString()}async#o(){await this.retryAllFailedJobs();let e=await this.#e.getJobSchedulers();await Promise.all(e.map(t=>this.#e.removeJobScheduler(t.key)))}async addDelayed(e,t){return(await this.#e.add("DelayedJob",e,{jobId:this.#t(),delay:t,removeOnComplete:!0,backoff:1e3,attempts:3})).id.toString()}async addRepeatable(e,t,a){return(await this.#e.add("RepeatableJob",e,{jobId:this.#t(),repeat:{pattern:t,...a?{tz:a}:{}},removeOnComplete:!0,backoff:1e3,attempts:3})).opts?.repeat?.key??""}async removeDelayed(e){let t=await this.#e.getJob(e);t&&await t.remove()}async retryAllFailedJobs(){let e=await this.#e.getFailed();await Promise.all(e.map(t=>t.retry()))}};export{m as RedisJob,h as redisJobsConfigPipe};
1
+ import{a as d,b as l}from "../../../chunk-YC6V4HLT.min.mjs";import"../../../chunk-5FEVQT6K.min.mjs";import{e as p}from "../../../chunk-SPOVKWV3.min.mjs";import{a as n}from "../../../chunk-CU2HU5UE.min.mjs";import{b as c}from "../../../chunk-BJNIUCPT.min.mjs";import{C as s}from "../../../chunk-N3OD4QL2.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{Queue as y,Worker as f}from"bullmq";import{v as i}from"valleyed";var h=()=>i.meta(i.object({redisConfig:d(),queueName:i.string()}),{title:"Redis Jobs Config",$refId:"RedisJobsConfig"}),m=class b extends n(h,c){#e;constructor(e){super(e);let t=l.create(e.redisConfig,{maxRetriesPerRequest:null,enableReadyCheck:!1}),a=s.get().getScopedName(e.queueName);this.#e=new y(a,{connection:t.connectionOptions,skipVersionCheck:!0});let r=new f(a,async o=>{switch(o.name){case"DelayedJob":return this.callbacks.onDelayed?.(o.data);case"CronJob":return this.callbacks.onCron?.(o.data.type);case"RepeatableJob":return this.callbacks.onRepeatable?.(o.data)}},{connection:t.connectionOptions,autorun:!1,skipVersionCheck:!0});s.on("start",async()=>{await this.#o(),await Promise.all(this.crons.map(({cron:o,name:u})=>this.#a(u,o))),r.run()},{class:b})}#t(){return[Date.now(),p.string()].join("_")}async#a(e,t){return(await this.#e.add("CronJob",{type:e},{jobId:this.#t(),repeat:{pattern:t},removeOnComplete:!0,backoff:1e3,attempts:3})).id.toString()}async#o(){await this.retryAllFailedJobs();let e=await this.#e.getJobSchedulers();await Promise.all(e.map(t=>this.#e.removeJobScheduler(t.key)))}async addDelayed(e,t){return(await this.#e.add("DelayedJob",e,{jobId:this.#t(),delay:t,removeOnComplete:!0,backoff:1e3,attempts:3})).id.toString()}async addRepeatable(e,t,a){return(await this.#e.add("RepeatableJob",e,{jobId:this.#t(),repeat:{pattern:t,...a?{tz:a}:{}},removeOnComplete:!0,backoff:1e3,attempts:3})).opts?.repeat?.key??""}async removeDelayed(e){let t=await this.#e.getJob(e);t&&await t.remove()}async retryAllFailedJobs(){let e=await this.#e.getFailed();await Promise.all(e.map(t=>t.retry()))}};export{m as RedisJob,h as redisJobsConfigPipe};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  RedisCache,
3
3
  redisConfigPipe
4
- } from "../../../chunk-26BOI6IL.mjs";
5
- import "../../../chunk-RPPYCWXW.mjs";
4
+ } from "../../../chunk-XJKBHQWO.mjs";
5
+ import "../../../chunk-74GY55PM.mjs";
6
6
  import {
7
7
  random_exports
8
- } from "../../../chunk-NNFUYHQ7.mjs";
8
+ } from "../../../chunk-A332TTED.mjs";
9
9
  import {
10
10
  configurable
11
11
  } from "../../../chunk-NEF3UYFA.mjs";
@@ -14,7 +14,7 @@ import {
14
14
  } from "../../../chunk-DKPZJIIR.mjs";
15
15
  import {
16
16
  Instance
17
- } from "../../../chunk-CEYT5YBA.mjs";
17
+ } from "../../../chunk-7N4WUZ7P.mjs";
18
18
  import "../../../chunk-VCCS7CAI.mjs";
19
19
  import "../../../chunk-J5LGTIGS.mjs";
20
20
 
@@ -1,2 +1,2 @@
1
- import{a}from "../../../chunk-QCCDJLBH.min.mjs";import"../../../chunk-CU2HU5UE.min.mjs";import"../../../chunk-AODOD22O.min.mjs";import"../../../chunk-APSDCRY5.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";export{a as InMemoryAdapter};
1
+ import{a}from "../../../chunk-YWQTFKNY.min.mjs";import"../../../chunk-CU2HU5UE.min.mjs";import"../../../chunk-MCX2O5IT.min.mjs";import"../../../chunk-N3OD4QL2.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";export{a as InMemoryAdapter};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  InMemoryAdapter
3
- } from "../../../chunk-VQO4MSEC.mjs";
3
+ } from "../../../chunk-RFJ5URMP.mjs";
4
4
  import "../../../chunk-NEF3UYFA.mjs";
5
- import "../../../chunk-RIXTQQUU.mjs";
6
- import "../../../chunk-CEYT5YBA.mjs";
5
+ import "../../../chunk-XESM7IWM.mjs";
6
+ import "../../../chunk-7N4WUZ7P.mjs";
7
7
  import "../../../chunk-VCCS7CAI.mjs";
8
8
  import "../../../chunk-J5LGTIGS.mjs";
9
9
  export {
@@ -1,2 +1,2 @@
1
- import{a as l}from "../../../chunk-QCCDJLBH.min.mjs";import{a as d}from "../../../chunk-CU2HU5UE.min.mjs";import{j as p}from "../../../chunk-AODOD22O.min.mjs";import"../../../chunk-APSDCRY5.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{open as w,readFile as h,rename as y,unlink as f,writeFile as b}from"fs/promises";import{v as o}from"valleyed";var k=()=>o.object({filePath:o.string()}),u=class extends d(k,p){schemaConfigPipe=o.object({table:o.string()});#e=l.create({});supportedFieldTypes=this.#e.supportedFieldTypes;queryableOps=this.#e.queryableOps;updateOps=this.#e.updateOps;aggregateOps=this.#e.aggregateOps;#t=Promise.resolve();constructor(e){super(e)}get stores(){return this.#e.stores}#n(){let e={},a=[...this.#e.migrations.values()];a.length>0&&(e.__migrations=a);let t={};for(let[i,s]of this.#e.tables.entries())t[i]={pk:s.pk,fields:Object.fromEntries(s.fields.entries())};Object.keys(t).length>0&&(e.__tables=t);let n={};for(let[i,s]of this.#e.indexes.entries())n[i]={table:s.table,on:[...s.on],unique:s.unique};Object.keys(n).length>0&&(e.__indexes=n);let r={};for(let[i,s]of this.#e.foreignKeys.entries())r[i]={table:s.table,on:s.on,references:s.references,...s.onDelete?{onDelete:s.onDelete}:{},...s.onUpdate?{onUpdate:s.onUpdate}:{}};Object.keys(r).length>0&&(e.__foreignKeys=r);for(let[i,s]of this.stores.entries()){let c={};for(let[m,g]of s.entries())c[m]=g;e[i]=c}return JSON.stringify(e)}async#s(){let e=this.#n(),a=this.config.filePath+".tmp."+process.pid+"."+Date.now();await b(a,e,"utf-8"),await y(a,this.config.filePath)}#a(){let e=this.#t.then(()=>this.#s());return this.#t=e.catch(()=>{}),e}async connect(){let e;try{e=await h(this.config.filePath,"utf-8")}catch{return}let a=JSON.parse(e);if(this.#e.migrations.clear(),Array.isArray(a.__migrations))for(let t of a.__migrations)this.#e.migrations.set(t.id,{id:t.id,appliedAt:t.appliedAt});if(this.#e.tables.clear(),a.__tables&&typeof a.__tables=="object")for(let[t,n]of Object.entries(a.__tables)){let r=new Map;if(n.fields)for(let[i,s]of Object.entries(n.fields))r.set(i,s);this.#e.tables.set(t,{pk:n.pk,fields:r})}if(this.#e.indexes.clear(),a.__indexes&&typeof a.__indexes=="object")for(let[t,n]of Object.entries(a.__indexes))this.#e.indexes.set(t,{table:n.table,on:n.on,unique:n.unique});if(this.#e.foreignKeys.clear(),a.__foreignKeys&&typeof a.__foreignKeys=="object")for(let[t,n]of Object.entries(a.__foreignKeys))this.#e.foreignKeys.set(t,n);this.stores.clear();for(let[t,n]of Object.entries(a)){if(t.startsWith("__"))continue;let r=new Map;for(let[i,s]of Object.entries(n))r.set(i,s);this.stores.set(t,r)}}async disconnect(){await this.#a()}async findByPk(e,a,t){return this.#e.findByPk(e,a,t)}async createMany(e,a,t){let n=await this.#e.createMany(e,a,t);return await this.#a(),n}async updateByPk(e,a,t,n){let r=await this.#e.updateByPk(e,a,t,n);return r&&await this.#a(),r}async deleteByPk(e,a,t){let n=await this.#e.deleteByPk(e,a,t);return n&&await this.#a(),n}async findMany(e,a,t,n){return this.#e.findMany(e,a,t,n)}async count(e,a,t){return this.#e.count(e,a,t)}iterateMany(e,a,t,n){return this.#e.iterateMany(e,a,t,n)}async updateMany(e,a,t,n){let r=await this.#e.updateMany(e,a,t,n);return r.length&&await this.#a(),r}async deleteMany(e,a,t){let n=await this.#e.deleteMany(e,a,t);return n.length&&await this.#a(),n}async upsertOne(e,a,t,n,r){let i=await this.#e.upsertOne(e,a,t,n,r);return await this.#a(),i}async aggregate(e,a,t){return this.#e.aggregate(e,a,t)}async session(e){return this.#e.session(async()=>{let a=await e();return await this.#a(),a})}async loadMigrations(){return await this.connect(),this.#e.loadMigrations()}async recordMigration(e,a){await this.#e.recordMigration(e,a),await this.#a()}async acquireMigrationLock(e){let a=this.config.filePath+".lock",t=Date.now()+3e4;for(;;)try{await(await w(a,"wx")).close();break}catch(n){if(n.code!=="EEXIST")throw n;if(Date.now()>t)throw new Error("Timed out waiting for migration lock");await new Promise(r=>setTimeout(r,50))}try{return await e()}finally{await f(a).catch(()=>{})}}async applyCreateTable(e){await this.#e.applyCreateTable(e),await this.#a()}async applyDropTable(e){await this.#e.applyDropTable(e),await this.#a()}async applyAddField(e){await this.#e.applyAddField(e),await this.#a()}async applyDropField(e){await this.#e.applyDropField(e),await this.#a()}async applyModifyField(e){await this.#e.applyModifyField(e),await this.#a()}async applyRenameTable(e){await this.#e.applyRenameTable(e),await this.#a()}async applyRenameField(e){await this.#e.applyRenameField(e),await this.#a()}async applyAddIndex(e){await this.#e.applyAddIndex(e),await this.#a()}async applyDropIndex(e){await this.#e.applyDropIndex(e),await this.#a()}async applyAddForeignKey(e){await this.#e.applyAddForeignKey(e),await this.#a()}async applyDropForeignKey(e){await this.#e.applyDropForeignKey(e),await this.#a()}async introspect(){return this.#e.introspect()}};export{u as JsonAdapter};
1
+ import{a as l}from "../../../chunk-YWQTFKNY.min.mjs";import{a as d}from "../../../chunk-CU2HU5UE.min.mjs";import{j as p}from "../../../chunk-MCX2O5IT.min.mjs";import"../../../chunk-N3OD4QL2.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{open as w,readFile as h,rename as y,unlink as f,writeFile as b}from"fs/promises";import{v as o}from"valleyed";var k=()=>o.object({filePath:o.string()}),u=class extends d(k,p){schemaConfigPipe=o.object({table:o.string()});#e=l.create({});supportedFieldTypes=this.#e.supportedFieldTypes;queryableOps=this.#e.queryableOps;updateOps=this.#e.updateOps;aggregateOps=this.#e.aggregateOps;#t=Promise.resolve();constructor(e){super(e)}get stores(){return this.#e.stores}#n(){let e={},a=[...this.#e.migrations.values()];a.length>0&&(e.__migrations=a);let t={};for(let[i,s]of this.#e.tables.entries())t[i]={pk:s.pk,fields:Object.fromEntries(s.fields.entries())};Object.keys(t).length>0&&(e.__tables=t);let n={};for(let[i,s]of this.#e.indexes.entries())n[i]={table:s.table,on:[...s.on],unique:s.unique};Object.keys(n).length>0&&(e.__indexes=n);let r={};for(let[i,s]of this.#e.foreignKeys.entries())r[i]={table:s.table,on:s.on,references:s.references,...s.onDelete?{onDelete:s.onDelete}:{},...s.onUpdate?{onUpdate:s.onUpdate}:{}};Object.keys(r).length>0&&(e.__foreignKeys=r);for(let[i,s]of this.stores.entries()){let c={};for(let[m,g]of s.entries())c[m]=g;e[i]=c}return JSON.stringify(e)}async#s(){let e=this.#n(),a=this.config.filePath+".tmp."+process.pid+"."+Date.now();await b(a,e,"utf-8"),await y(a,this.config.filePath)}#a(){let e=this.#t.then(()=>this.#s());return this.#t=e.catch(()=>{}),e}async connect(){let e;try{e=await h(this.config.filePath,"utf-8")}catch{return}let a=JSON.parse(e);if(this.#e.migrations.clear(),Array.isArray(a.__migrations))for(let t of a.__migrations)this.#e.migrations.set(t.id,{id:t.id,appliedAt:t.appliedAt});if(this.#e.tables.clear(),a.__tables&&typeof a.__tables=="object")for(let[t,n]of Object.entries(a.__tables)){let r=new Map;if(n.fields)for(let[i,s]of Object.entries(n.fields))r.set(i,s);this.#e.tables.set(t,{pk:n.pk,fields:r})}if(this.#e.indexes.clear(),a.__indexes&&typeof a.__indexes=="object")for(let[t,n]of Object.entries(a.__indexes))this.#e.indexes.set(t,{table:n.table,on:n.on,unique:n.unique});if(this.#e.foreignKeys.clear(),a.__foreignKeys&&typeof a.__foreignKeys=="object")for(let[t,n]of Object.entries(a.__foreignKeys))this.#e.foreignKeys.set(t,n);this.stores.clear();for(let[t,n]of Object.entries(a)){if(t.startsWith("__"))continue;let r=new Map;for(let[i,s]of Object.entries(n))r.set(i,s);this.stores.set(t,r)}}async disconnect(){await this.#a()}async findByPk(e,a,t){return this.#e.findByPk(e,a,t)}async createMany(e,a,t){let n=await this.#e.createMany(e,a,t);return await this.#a(),n}async updateByPk(e,a,t,n){let r=await this.#e.updateByPk(e,a,t,n);return r&&await this.#a(),r}async deleteByPk(e,a,t){let n=await this.#e.deleteByPk(e,a,t);return n&&await this.#a(),n}async findMany(e,a,t,n){return this.#e.findMany(e,a,t,n)}async count(e,a,t){return this.#e.count(e,a,t)}iterateMany(e,a,t,n){return this.#e.iterateMany(e,a,t,n)}async updateMany(e,a,t,n){let r=await this.#e.updateMany(e,a,t,n);return r.length&&await this.#a(),r}async deleteMany(e,a,t){let n=await this.#e.deleteMany(e,a,t);return n.length&&await this.#a(),n}async upsertOne(e,a,t,n,r){let i=await this.#e.upsertOne(e,a,t,n,r);return await this.#a(),i}async aggregate(e,a,t){return this.#e.aggregate(e,a,t)}async session(e){return this.#e.session(async()=>{let a=await e();return await this.#a(),a})}async loadMigrations(){return await this.connect(),this.#e.loadMigrations()}async recordMigration(e,a){await this.#e.recordMigration(e,a),await this.#a()}async acquireMigrationLock(e){let a=this.config.filePath+".lock",t=Date.now()+3e4;for(;;)try{await(await w(a,"wx")).close();break}catch(n){if(n.code!=="EEXIST")throw n;if(Date.now()>t)throw new Error("Timed out waiting for migration lock");await new Promise(r=>setTimeout(r,50))}try{return await e()}finally{await f(a).catch(()=>{})}}async applyCreateTable(e){await this.#e.applyCreateTable(e),await this.#a()}async applyDropTable(e){await this.#e.applyDropTable(e),await this.#a()}async applyAddField(e){await this.#e.applyAddField(e),await this.#a()}async applyDropField(e){await this.#e.applyDropField(e),await this.#a()}async applyModifyField(e){await this.#e.applyModifyField(e),await this.#a()}async applyRenameTable(e){await this.#e.applyRenameTable(e),await this.#a()}async applyRenameField(e){await this.#e.applyRenameField(e),await this.#a()}async applyAddIndex(e){await this.#e.applyAddIndex(e),await this.#a()}async applyDropIndex(e){await this.#e.applyDropIndex(e),await this.#a()}async applyAddForeignKey(e){await this.#e.applyAddForeignKey(e),await this.#a()}async applyDropForeignKey(e){await this.#e.applyDropForeignKey(e),await this.#a()}async introspect(){return this.#e.introspect()}};export{u as JsonAdapter};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  InMemoryAdapter
3
- } from "../../../chunk-VQO4MSEC.mjs";
3
+ } from "../../../chunk-RFJ5URMP.mjs";
4
4
  import {
5
5
  configurable
6
6
  } from "../../../chunk-NEF3UYFA.mjs";
7
7
  import {
8
8
  OrmAdapter
9
- } from "../../../chunk-RIXTQQUU.mjs";
10
- import "../../../chunk-CEYT5YBA.mjs";
9
+ } from "../../../chunk-XESM7IWM.mjs";
10
+ import "../../../chunk-7N4WUZ7P.mjs";
11
11
  import "../../../chunk-VCCS7CAI.mjs";
12
12
  import "../../../chunk-J5LGTIGS.mjs";
13
13
 
@@ -1,2 +1,2 @@
1
- import{a as k}from "../../../chunk-CU2HU5UE.min.mjs";import{E as C,f as A,g as _,j as v,l as O,m as q,n as D,o as F,p as B,q as S,r as E,s as R}from "../../../chunk-AODOD22O.min.mjs";import{a as d}from "../../../chunk-APSDCRY5.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{AsyncLocalStorage as U}from"async_hooks";import{MongoClient as L}from"mongodb";import{v as x}from"valleyed";function m(s,o){let e=[];for(let r of s.children){let a=T(r,o);a&&e.push(a)}return e.length===0?{}:e.length===1?e[0]:{$and:e}}function b(s,o,e){let r=m(s,e),a=o?.orderBy??[],n=a.length>0?Object.fromEntries(a.map(c=>[h(c.field,e),c.direction==="desc"?-1:1])):void 0,t=o?.select??[],i=t.length>0?Object.fromEntries(t.map(c=>[h(c,e),1])):void 0;return{filter:r,sort:n,limit:o?.limit,skip:o?.offset,projection:i}}function h(s,o){return s==="id"&&o==="_id"?"_id":s}function P(s,o){let e=h(s.field,o);switch(s.op){case"eq":return{[e]:{$eq:s.value}};case"ne":return{[e]:{$ne:s.value}};case"gt":return{[e]:{$gt:s.value}};case"gte":return{[e]:{$gte:s.value}};case"lt":return{[e]:{$lt:s.value}};case"lte":return{[e]:{$lte:s.value}};case"in":return{[e]:{$in:s.value}};case"notIn":return{[e]:{$nin:s.value}};case"like":return{[e]:{$regex:new RegExp(String(s.value),"i")}};case"exists":return{[e]:{$exists:!0,$ne:null}};case"notExists":return{[e]:{$eq:null}};case"contains":return{[e]:{$all:Array.isArray(s.value)?s.value:[s.value]}};case"notContains":return{[e]:{$not:{$all:Array.isArray(s.value)?s.value:[s.value]}}};default:return{[e]:{$eq:s.value}}}}function T(s,o){return s instanceof A?P(s,o):s instanceof _?G(s,o):null}function G(s,o){let e=s.children.map(r=>T(r,o)).filter(r=>r!==null);return e.length===0?null:e.length===1?e[0]:{[s.op==="or"?"$or":"$and"]:e}}function w(s){let o={},e={},r={},a={},n={},t={},i={},c={};for(let[u,p]of Object.entries(s))if(p instanceof O)e[u]=p.value;else if(p instanceof q)r[u]=p.value;else if(p instanceof D)a[u]=p.value;else if(p instanceof F)n[u]=p.value;else if(p instanceof B)t[u]="";else if(p instanceof S)i[u]=p.value;else if(p instanceof E)c[u]=p.value;else if(p instanceof R){let y=p.value;for(let[g,f]of Object.entries(y))o[`${u}.${g}`]=f}else o[u]=p;let l={};return Object.keys(o).length&&(l.$set=o),Object.keys(e).length&&(l.$inc=e),Object.keys(r).length&&(l.$mul=r),Object.keys(a).length&&(l.$min=a),Object.keys(n).length&&(l.$max=n),Object.keys(t).length&&(l.$unset=t),Object.keys(i).length&&(l.$push=i),Object.keys(c).length&&(l.$pull=c),l}function M(s){return w(C(s))}function I(s,o){let e=[];if(s.where){let t=m(s.where,o);Object.keys(t).length>0&&e.push({$match:t})}let r=s.groupBy.length>0?Object.fromEntries(s.groupBy.map(t=>[t,`$${h(t,o)}`])):null,a={};for(let t of s.aggregates){let i=t.field?`$${h(t.field,o)}`:void 0;switch(t.fn){case"count":a[t.alias]={$sum:1};break;case"countDistinct":a[t.alias]={$addToSet:i};break;case"sum":case"avg":case"min":case"max":a[t.alias]={[`$${t.fn}`]:i};break}}e.push({$group:{_id:r,...a}});let n={_id:0};for(let t of s.groupBy)n[t]=`$_id.${t}`;for(let t of s.aggregates)t.fn==="countDistinct"?n[t.alias]={$size:`$${t.alias}`}:n[t.alias]=1;if(e.push({$project:n}),s.having){let t=m(s.having,"");Object.keys(t).length>0&&e.push({$match:t})}return e}var N=()=>x.object({db:x.string(),col:x.string()}),z=()=>x.object({uri:x.string()}),$="equipped_migrations",j=class extends k(z,v){schemaConfigPipe=N();queryableOps=["eq","ne","gt","gte","lt","lte","in","notIn","like","exists","notExists","contains","notContains"];updateOps=["set","inc","mul","min","max","unset","push","pull","patch"];aggregateOps=["count","countDistinct","sum","avg","min","max"];supportedFieldTypes=["string","number","boolean","null","object","array","date"];client;#e=new U;constructor(o,e){super(o),this.client=new L(o.uri,{...e,ignoreUndefined:!0})}#t(o){return this.client.db(o.db).collection(o.col)}async connect(){try{await this.client.connect()}catch(o){throw new d("Failed to connect MongoDB client",{adapter:"mongodb"},o)}}async disconnect(){try{await this.client.close()}catch(o){throw new d("Failed to disconnect MongoDB client",{adapter:"mongodb"},o)}}async findByPk(o,e,r){let a=e;try{let n=o.pkField.name;return await this.#t(a).findOne({[n]:r},{session:this.#e.getStore()})}catch(n){throw new d("MongoDB findByPk failed",{adapter:"mongodb",operation:"findByPk",collection:a.col},n)}}async createMany(o,e,r){let a=e;try{let n=this.#t(a),t=r.map(i=>i);return await n.insertMany(t,{session:this.#e.getStore()}),r}catch(n){throw new d("MongoDB createMany failed",{adapter:"mongodb",operation:"createMany",collection:a.col},n)}}async updateByPk(o,e,r,a){let n=e;try{let t=o.pkField.name,i=this.#t(n),c=M(a);return Object.keys(c).length===0?await i.findOne({[t]:r},{session:this.#e.getStore()}):await i.findOneAndUpdate({[t]:r},c,{returnDocument:"after",session:this.#e.getStore()})}catch(t){throw new d("MongoDB updateByPk failed",{adapter:"mongodb",operation:"updateByPk",collection:n.col},t)}}async deleteByPk(o,e,r){let a=e;try{let n=o.pkField.name;return await this.#t(a).findOneAndDelete({[n]:r},{session:this.#e.getStore()})}catch(n){throw new d("MongoDB deleteByPk failed",{adapter:"mongodb",operation:"deleteByPk",collection:a.col},n)}}async raw(o,e,r){let a=e;try{return await this.#t(a).aggregate(r,{session:this.#e.getStore()}).toArray()}catch(n){throw n instanceof d?n:new d("MongoDB raw failed",{adapter:"mongodb",operation:"raw",collection:a.col},n)}}async aggregate(o,e,r){let a=e;try{let n=o.pkField.name,t=this.#t(a),i=I(r,n);return await t.aggregate(i,{session:this.#e.getStore()}).toArray()}catch(n){throw n instanceof d?n:new d("MongoDB aggregate failed",{adapter:"mongodb",operation:"aggregate",collection:a.col},n)}}async findMany(o,e,r,a){let n=e;try{let t=o.pkField.name,{filter:i,sort:c,limit:l,skip:u,projection:p}=b(r,a,t),g=this.#t(n).find(i,{session:this.#e.getStore(),projection:p});return c&&(g=g.sort(c)),l&&(g=g.limit(l)),u&&(g=g.skip(u)),await g.toArray()}catch(t){throw new d("MongoDB findMany failed",{adapter:"mongodb",operation:"findMany",collection:n.col},t)}}async count(o,e,r){let a=e;try{let n=o.pkField.name;return await this.#t(a).countDocuments(m(r,n),{session:this.#e.getStore()})}catch(n){throw new d("MongoDB count failed",{adapter:"mongodb",operation:"count",collection:a.col},n)}}async*iterateMany(o,e,r,a){let n=e,t;try{let i=o.pkField.name,{filter:c,sort:l,limit:u,skip:p,projection:y}=b(r,a,i);t=this.#t(n).find(c,{session:this.#e.getStore(),projection:y}),l&&(t=t.sort(l)),u&&(t=t.limit(u)),p&&(t=t.skip(p)),a?.batchSize!==void 0&&(t=t.batchSize(a.batchSize));for await(let f of t)yield f}catch(i){throw new d("MongoDB iterateMany failed",{adapter:"mongodb",operation:"iterateMany",collection:n.col},i)}finally{await t?.close()}}async updateMany(o,e,r,a){let n=e;try{let t=o.pkField.name,i=this.#t(n),c=this.#e.getStore(),l=m(r,t),p=(await i.find(l,{session:c,projection:{[t]:1}}).toArray()).map(f=>f[t]),y={[t]:{$in:p}},g=w(a);return Object.keys(g).length>0&&await i.updateMany(y,g,{session:c}),await i.find({[t]:{$in:p}},{session:c}).toArray()}catch(t){throw new d("MongoDB updateMany failed",{adapter:"mongodb",operation:"updateMany",collection:n.col},t)}}async deleteMany(o,e,r){let a=e;try{let n=o.pkField.name,t=this.#t(a),i=this.#e.getStore(),c=m(r,n),l=await t.find(c,{session:i}).toArray();return l.length>0&&await t.deleteMany(c,{session:i}),l}catch(n){throw new d("MongoDB deleteMany failed",{adapter:"mongodb",operation:"deleteMany",collection:a.col},n)}}async upsertOne(o,e,r,a,n){let t=e;try{let i=o.pkField.name,c=this.#t(t),l=m(r,i),u=M(n);return await c.findOneAndUpdate(l,{...u,$setOnInsert:a},{returnDocument:"after",session:this.#e.getStore(),upsert:!0})}catch(i){throw new d("MongoDB upsertOne failed",{adapter:"mongodb",operation:"upsertOne",collection:t.col},i)}}async session(o){if(this.#e.getStore())return o();try{let e=await this.client.startSession();try{return await e.withTransaction(async()=>this.#e.run(e,o))}finally{await e.endSession()}}catch(e){throw e instanceof d?e:new d("MongoDB session failed",{adapter:"mongodb",operation:"session"},e)}}async loadMigrations(){return(await this.client.db().collection($).find({}).toArray()).map(r=>({id:String(r._id),appliedAt:r.appliedAt}))}async recordMigration(o,e){await this.client.db().collection($).insertOne({_id:o,appliedAt:e})}async applyAddIndex(o){let e=this.client.db(),r={};for(let n of o.on)r[n]=1;let a=o.name??`${o.table}_${o.on.join("_")}_idx`;await e.collection(o.table).createIndex(r,{unique:o.unique??!1,name:a})}async applyDropIndex(o){let e=this.client.db(),r=await e.listCollections().toArray();for(let a of r)if((await e.collection(a.name).listIndexes().toArray()).some(t=>t.name===o.name)){await e.collection(a.name).dropIndex(o.name);return}}async introspect(){let o=this.client.db(),e=await o.listCollections().toArray(),r=[];for(let a of e){if(a.name===$)continue;let t=(await o.collection(a.name).listIndexes().toArray()).filter(i=>i.name!=="_id_").map(i=>({name:i.name,on:Object.keys(i.key),unique:!!i.unique}));r.push({name:a.name,pk:void 0,fields:[],indexes:t,foreignKeys:[]})}return r}};export{j as MongoDbAdapter};
1
+ import{a as k}from "../../../chunk-CU2HU5UE.min.mjs";import{E as C,f as A,g as _,j as v,l as O,m as q,n as D,o as F,p as B,q as S,r as E,s as R}from "../../../chunk-MCX2O5IT.min.mjs";import{a as d}from "../../../chunk-N3OD4QL2.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{AsyncLocalStorage as U}from"async_hooks";import{MongoClient as L}from"mongodb";import{v as x}from"valleyed";function m(s,o){let e=[];for(let r of s.children){let a=T(r,o);a&&e.push(a)}return e.length===0?{}:e.length===1?e[0]:{$and:e}}function b(s,o,e){let r=m(s,e),a=o?.orderBy??[],n=a.length>0?Object.fromEntries(a.map(c=>[h(c.field,e),c.direction==="desc"?-1:1])):void 0,t=o?.select??[],i=t.length>0?Object.fromEntries(t.map(c=>[h(c,e),1])):void 0;return{filter:r,sort:n,limit:o?.limit,skip:o?.offset,projection:i}}function h(s,o){return s==="id"&&o==="_id"?"_id":s}function P(s,o){let e=h(s.field,o);switch(s.op){case"eq":return{[e]:{$eq:s.value}};case"ne":return{[e]:{$ne:s.value}};case"gt":return{[e]:{$gt:s.value}};case"gte":return{[e]:{$gte:s.value}};case"lt":return{[e]:{$lt:s.value}};case"lte":return{[e]:{$lte:s.value}};case"in":return{[e]:{$in:s.value}};case"notIn":return{[e]:{$nin:s.value}};case"like":return{[e]:{$regex:new RegExp(String(s.value),"i")}};case"exists":return{[e]:{$exists:!0,$ne:null}};case"notExists":return{[e]:{$eq:null}};case"contains":return{[e]:{$all:Array.isArray(s.value)?s.value:[s.value]}};case"notContains":return{[e]:{$not:{$all:Array.isArray(s.value)?s.value:[s.value]}}};default:return{[e]:{$eq:s.value}}}}function T(s,o){return s instanceof A?P(s,o):s instanceof _?G(s,o):null}function G(s,o){let e=s.children.map(r=>T(r,o)).filter(r=>r!==null);return e.length===0?null:e.length===1?e[0]:{[s.op==="or"?"$or":"$and"]:e}}function w(s){let o={},e={},r={},a={},n={},t={},i={},c={};for(let[u,p]of Object.entries(s))if(p instanceof O)e[u]=p.value;else if(p instanceof q)r[u]=p.value;else if(p instanceof D)a[u]=p.value;else if(p instanceof F)n[u]=p.value;else if(p instanceof B)t[u]="";else if(p instanceof S)i[u]=p.value;else if(p instanceof E)c[u]=p.value;else if(p instanceof R){let y=p.value;for(let[g,f]of Object.entries(y))o[`${u}.${g}`]=f}else o[u]=p;let l={};return Object.keys(o).length&&(l.$set=o),Object.keys(e).length&&(l.$inc=e),Object.keys(r).length&&(l.$mul=r),Object.keys(a).length&&(l.$min=a),Object.keys(n).length&&(l.$max=n),Object.keys(t).length&&(l.$unset=t),Object.keys(i).length&&(l.$push=i),Object.keys(c).length&&(l.$pull=c),l}function M(s){return w(C(s))}function I(s,o){let e=[];if(s.where){let t=m(s.where,o);Object.keys(t).length>0&&e.push({$match:t})}let r=s.groupBy.length>0?Object.fromEntries(s.groupBy.map(t=>[t,`$${h(t,o)}`])):null,a={};for(let t of s.aggregates){let i=t.field?`$${h(t.field,o)}`:void 0;switch(t.fn){case"count":a[t.alias]={$sum:1};break;case"countDistinct":a[t.alias]={$addToSet:i};break;case"sum":case"avg":case"min":case"max":a[t.alias]={[`$${t.fn}`]:i};break}}e.push({$group:{_id:r,...a}});let n={_id:0};for(let t of s.groupBy)n[t]=`$_id.${t}`;for(let t of s.aggregates)t.fn==="countDistinct"?n[t.alias]={$size:`$${t.alias}`}:n[t.alias]=1;if(e.push({$project:n}),s.having){let t=m(s.having,"");Object.keys(t).length>0&&e.push({$match:t})}return e}var N=()=>x.object({db:x.string(),col:x.string()}),z=()=>x.object({uri:x.string()}),$="equipped_migrations",j=class extends k(z,v){schemaConfigPipe=N();queryableOps=["eq","ne","gt","gte","lt","lte","in","notIn","like","exists","notExists","contains","notContains"];updateOps=["set","inc","mul","min","max","unset","push","pull","patch"];aggregateOps=["count","countDistinct","sum","avg","min","max"];supportedFieldTypes=["string","number","boolean","null","object","array","date"];client;#e=new U;constructor(o,e){super(o),this.client=new L(o.uri,{...e,ignoreUndefined:!0})}#t(o){return this.client.db(o.db).collection(o.col)}async connect(){try{await this.client.connect()}catch(o){throw new d("Failed to connect MongoDB client",{adapter:"mongodb"},o)}}async disconnect(){try{await this.client.close()}catch(o){throw new d("Failed to disconnect MongoDB client",{adapter:"mongodb"},o)}}async findByPk(o,e,r){let a=e;try{let n=o.pkField.name;return await this.#t(a).findOne({[n]:r},{session:this.#e.getStore()})}catch(n){throw new d("MongoDB findByPk failed",{adapter:"mongodb",operation:"findByPk",collection:a.col},n)}}async createMany(o,e,r){let a=e;try{let n=this.#t(a),t=r.map(i=>i);return await n.insertMany(t,{session:this.#e.getStore()}),r}catch(n){throw new d("MongoDB createMany failed",{adapter:"mongodb",operation:"createMany",collection:a.col},n)}}async updateByPk(o,e,r,a){let n=e;try{let t=o.pkField.name,i=this.#t(n),c=M(a);return Object.keys(c).length===0?await i.findOne({[t]:r},{session:this.#e.getStore()}):await i.findOneAndUpdate({[t]:r},c,{returnDocument:"after",session:this.#e.getStore()})}catch(t){throw new d("MongoDB updateByPk failed",{adapter:"mongodb",operation:"updateByPk",collection:n.col},t)}}async deleteByPk(o,e,r){let a=e;try{let n=o.pkField.name;return await this.#t(a).findOneAndDelete({[n]:r},{session:this.#e.getStore()})}catch(n){throw new d("MongoDB deleteByPk failed",{adapter:"mongodb",operation:"deleteByPk",collection:a.col},n)}}async raw(o,e,r){let a=e;try{return await this.#t(a).aggregate(r,{session:this.#e.getStore()}).toArray()}catch(n){throw n instanceof d?n:new d("MongoDB raw failed",{adapter:"mongodb",operation:"raw",collection:a.col},n)}}async aggregate(o,e,r){let a=e;try{let n=o.pkField.name,t=this.#t(a),i=I(r,n);return await t.aggregate(i,{session:this.#e.getStore()}).toArray()}catch(n){throw n instanceof d?n:new d("MongoDB aggregate failed",{adapter:"mongodb",operation:"aggregate",collection:a.col},n)}}async findMany(o,e,r,a){let n=e;try{let t=o.pkField.name,{filter:i,sort:c,limit:l,skip:u,projection:p}=b(r,a,t),g=this.#t(n).find(i,{session:this.#e.getStore(),projection:p});return c&&(g=g.sort(c)),l&&(g=g.limit(l)),u&&(g=g.skip(u)),await g.toArray()}catch(t){throw new d("MongoDB findMany failed",{adapter:"mongodb",operation:"findMany",collection:n.col},t)}}async count(o,e,r){let a=e;try{let n=o.pkField.name;return await this.#t(a).countDocuments(m(r,n),{session:this.#e.getStore()})}catch(n){throw new d("MongoDB count failed",{adapter:"mongodb",operation:"count",collection:a.col},n)}}async*iterateMany(o,e,r,a){let n=e,t;try{let i=o.pkField.name,{filter:c,sort:l,limit:u,skip:p,projection:y}=b(r,a,i);t=this.#t(n).find(c,{session:this.#e.getStore(),projection:y}),l&&(t=t.sort(l)),u&&(t=t.limit(u)),p&&(t=t.skip(p)),a?.batchSize!==void 0&&(t=t.batchSize(a.batchSize));for await(let f of t)yield f}catch(i){throw new d("MongoDB iterateMany failed",{adapter:"mongodb",operation:"iterateMany",collection:n.col},i)}finally{await t?.close()}}async updateMany(o,e,r,a){let n=e;try{let t=o.pkField.name,i=this.#t(n),c=this.#e.getStore(),l=m(r,t),p=(await i.find(l,{session:c,projection:{[t]:1}}).toArray()).map(f=>f[t]),y={[t]:{$in:p}},g=w(a);return Object.keys(g).length>0&&await i.updateMany(y,g,{session:c}),await i.find({[t]:{$in:p}},{session:c}).toArray()}catch(t){throw new d("MongoDB updateMany failed",{adapter:"mongodb",operation:"updateMany",collection:n.col},t)}}async deleteMany(o,e,r){let a=e;try{let n=o.pkField.name,t=this.#t(a),i=this.#e.getStore(),c=m(r,n),l=await t.find(c,{session:i}).toArray();return l.length>0&&await t.deleteMany(c,{session:i}),l}catch(n){throw new d("MongoDB deleteMany failed",{adapter:"mongodb",operation:"deleteMany",collection:a.col},n)}}async upsertOne(o,e,r,a,n){let t=e;try{let i=o.pkField.name,c=this.#t(t),l=m(r,i),u=M(n);return await c.findOneAndUpdate(l,{...u,$setOnInsert:a},{returnDocument:"after",session:this.#e.getStore(),upsert:!0})}catch(i){throw new d("MongoDB upsertOne failed",{adapter:"mongodb",operation:"upsertOne",collection:t.col},i)}}async session(o){if(this.#e.getStore())return o();try{let e=await this.client.startSession();try{return await e.withTransaction(async()=>this.#e.run(e,o))}finally{await e.endSession()}}catch(e){throw e instanceof d?e:new d("MongoDB session failed",{adapter:"mongodb",operation:"session"},e)}}async loadMigrations(){return(await this.client.db().collection($).find({}).toArray()).map(r=>({id:String(r._id),appliedAt:r.appliedAt}))}async recordMigration(o,e){await this.client.db().collection($).insertOne({_id:o,appliedAt:e})}async applyAddIndex(o){let e=this.client.db(),r={};for(let n of o.on)r[n]=1;let a=o.name??`${o.table}_${o.on.join("_")}_idx`;await e.collection(o.table).createIndex(r,{unique:o.unique??!1,name:a})}async applyDropIndex(o){let e=this.client.db(),r=await e.listCollections().toArray();for(let a of r)if((await e.collection(a.name).listIndexes().toArray()).some(t=>t.name===o.name)){await e.collection(a.name).dropIndex(o.name);return}}async introspect(){let o=this.client.db(),e=await o.listCollections().toArray(),r=[];for(let a of e){if(a.name===$)continue;let t=(await o.collection(a.name).listIndexes().toArray()).filter(i=>i.name!=="_id_").map(i=>({name:i.name,on:Object.keys(i.key),unique:!!i.unique}));r.push({name:a.name,pk:void 0,fields:[],indexes:t,foreignKeys:[]})}return r}};export{j as MongoDbAdapter};
2
2
  //# sourceMappingURL=index.min.mjs.map
@@ -14,10 +14,10 @@ import {
14
14
  PushOp,
15
15
  UnsetOp,
16
16
  flattenOps
17
- } from "../../../chunk-RIXTQQUU.mjs";
17
+ } from "../../../chunk-XESM7IWM.mjs";
18
18
  import {
19
19
  EquippedError
20
- } from "../../../chunk-CEYT5YBA.mjs";
20
+ } from "../../../chunk-7N4WUZ7P.mjs";
21
21
  import "../../../chunk-VCCS7CAI.mjs";
22
22
  import "../../../chunk-J5LGTIGS.mjs";
23
23
 
@@ -1,9 +1,9 @@
1
- import"../../../chunk-ZDBDR3IB.min.mjs";import{a as U}from "../../../chunk-CU2HU5UE.min.mjs";import{E as S,a as v,f as O,g as B,j as P,l as I,m as D,n as M,o as G,p as Q,q as j,r as H,s as Y}from "../../../chunk-AODOD22O.min.mjs";import{a as f}from "../../../chunk-APSDCRY5.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{AsyncLocalStorage as pe}from"async_hooks";import{Pool as ue}from"pg";import de from"pg-cursor";import{v as E}from"valleyed";function b(a,e){return a==="id"&&e!=="id"?e:a}function K(a,e,t){switch(a.op){case"eq":return a.value===null?`${e} IS NULL`:`${e} = ${t(a.value)}`;case"ne":return a.value===null?`${e} IS NOT NULL`:`${e} != ${t(a.value)}`;case"gt":return`${e} > ${t(a.value)}`;case"gte":return`${e} >= ${t(a.value)}`;case"lt":return`${e} < ${t(a.value)}`;case"lte":return`${e} <= ${t(a.value)}`;case"in":return`${e} = ANY(${t(a.value)})`;case"notIn":return`NOT (${e} = ANY(${t(a.value)}))`;case"like":return`${e} ILIKE ${t(`%${a.value}%`)}`;case"exists":return`${e} IS NOT NULL`;case"notExists":return`${e} IS NULL`;case"contains":return`${e} @> ${t(JSON.stringify(a.value))}::jsonb`;case"notContains":return`NOT (${e} @> ${t(JSON.stringify(a.value))}::jsonb)`;default:return`${e} = ${t(a.value)}`}}function W(a,e,t){return K(a,`"${b(a.field,e)}"`,t)}function A(a,e){return a.children.map(t=>ie(t,e)).filter(t=>t!==null)}function oe(a,e){let t=A(a,e);return t.length===0?null:t.length===1?t[0]:`(${t.join(a.op==="or"?" OR ":" AND ")})`}function ie(a,e){return a instanceof O?e(a):a instanceof B?oe(a,e):null}function N(a,e,t=1){let n=[],o=t;function s(c){return n.push(c),`$${o++}`}let i=A(a,c=>W(c,e,s));return{whereClause:i.length>0?`WHERE ${i.join(" AND ")}`:"",params:n,nextParamIndex:o}}function L(a,e){let t=[],n=e;return{setParts:Object.entries(a).map(([s,r])=>{let i=`"${s}"`;return r instanceof I?(t.push(r.value),`${i} = ${i} + $${n++}`):r instanceof D?(t.push(r.value),`${i} = ${i} * $${n++}`):r instanceof M?(t.push(r.value),`${i} = LEAST(${i}, $${n++})`):r instanceof G?(t.push(r.value),`${i} = GREATEST(${i}, $${n++})`):r instanceof Q?`${i} = NULL`:r instanceof j?(t.push(JSON.stringify(r.value)),`${i} = ${i} || jsonb_build_array($${n++}::jsonb)`):r instanceof H?(t.push(JSON.stringify(r.value)),`${i} = (SELECT COALESCE(jsonb_agg(e), '[]'::jsonb) FROM jsonb_array_elements(${i}) e WHERE e <> $${n++}::jsonb)`):r instanceof Y?(t.push(JSON.stringify(r.value)),`${i} = ${i} || $${n++}::jsonb`):(t.push(r),`${i} = $${n++}`)}),params:t,nextParamIndex:n}}function $(a,e,t,n){let{whereClause:o,params:s,nextParamIndex:r}=N(a,n),i=r,l=(e?.orderBy??[]).map(g=>`"${b(g.field,n)}" ${g.direction.toUpperCase()}`),c=l.length>0?`ORDER BY ${l.join(", ")}`:"",d="";e?.limit!=null&&(s.push(e.limit),d=`LIMIT $${i++}`);let p="";return e?.offset!=null&&(s.push(e.offset),p=`OFFSET $${i++}`),{sql:`SELECT ${e?.select?.length?e.select.map(g=>`"${b(g,n)}"`).join(", "):"*"} FROM "${t}" ${o} ${c} ${d} ${p}`.trim().replace(/\s+/g," "),params:s}}function V(a,e,t){let{whereClause:n,params:o}=N(a,t);return{sql:`SELECT COUNT(*) as count FROM "${e}" ${n}`.trim().replace(/\s+/g," "),params:o}}function X(a,e){let t=Object.keys(e),n=Object.values(e),o=t.map((i,l)=>`$${l+1}`),s=t.map(i=>`"${i}"`).join(", ");return{sql:`INSERT INTO "${a}" (${s}) VALUES (${o.join(", ")}) RETURNING *`,params:n}}function J(a,e,t,n){let{setParts:o,params:s,nextParamIndex:r}=L(n,1),{whereClause:i,params:l}=N(a,t,r),c=[...s,...l];return{sql:`UPDATE "${e}" SET ${o.join(", ")} ${i} RETURNING *`.trim().replace(/\s+/g," "),params:c}}function z(a,e,t,n){let{setParts:o,params:s,nextParamIndex:r}=L(n,1);return s.push(t),{sql:`UPDATE "${a}" SET ${o.join(", ")} WHERE "${e}" = $${r} RETURNING *`.replace(/\s+/g," "),params:s}}function Z(a,e,t){let{whereClause:n,params:o}=N(a,t);return{sql:`DELETE FROM "${e}" ${n} RETURNING *`.trim().replace(/\s+/g," "),params:o}}function ee(a,e,t,n,o){let s=Object.keys(n),r=Object.values(n),i=s.map((y,m)=>`$${m+1}`),l=b(e,t),c,d=[...r];if(Object.keys(o).length>0){let{setParts:y,params:m}=L(o,s.length+1);c=y.join(", "),d.push(...m)}else c=`"${l}" = EXCLUDED."${l}"`;return{sql:`INSERT INTO "${a}" (${s.map(y=>`"${y}"`).join(", ")}) VALUES (${i.join(", ")}) ON CONFLICT ("${l}") DO UPDATE SET ${c} RETURNING *`.replace(/\s+/g," "),params:d}}function te(a,e){if(a.children.length===1&&a.children[0]instanceof O&&a.children[0].op==="eq")return a.children[0].field;let t;if(a.children.length===0)t="empty filter";else if(a.children.length===1){let n=a.children[0];t=`single non-eq filter (op: ${n instanceof O?n.op:"group"})`}else t=`${a.children.length} filter clauses`;throw new v("upsert-filter-incompatible",e,"upsertOne",[{cause:`PostgreSQL upsert requires a single eq filter on a UNIQUE-indexed column; received ${t}`}])}function le(a,e,t){if(a==="count")return"COUNT(*)";let n=`"${b(e,t)}"`;switch(a){case"countDistinct":return`COUNT(DISTINCT ${n})`;case"sum":return`SUM(${n})`;case"avg":return`AVG(${n})`;case"min":return`MIN(${n})`;case"max":return`MAX(${n})`}}function ce(a,e,t,n){return t.has(a)?t.get(a):n.has(a)?`"${b(a,e)}"`:`"${a}"`}function ne(a,e,t){let n=[],o=1;function s(m){return n.push(m),`$${o++}`}let r=[],i=new Map;for(let m of a.aggregates){let g=le(m.fn,m.field,t);i.set(m.alias,g),r.push(`${g} AS "${m.alias}"`)}let l=[];for(let m of a.groupBy){let g=`"${b(m,t)}"`;l.push(g),r.push(`${g} AS "${m}"`)}let c="";if(a.where){let m=q=>W(q,t,s),g=A(a.where,m);g.length>0&&(c=`WHERE ${g.join(" AND ")}`)}let d=l.length>0?`GROUP BY ${l.join(", ")}`:"",p="";if(a.having){let m=new Set(a.groupBy),g=T=>K(T,ce(T.field,t,i,m),s),q=A(a.having,g);q.length>0&&(p=`HAVING ${q.join(" AND ")}`)}return{sql:`SELECT ${r.join(", ")} FROM "${e}" ${c} ${d} ${p}`.trim().replace(/\s+/g," "),params:n}}var me=()=>E.object({host:E.string(),port:E.number(),username:E.string(),password:E.string(),database:E.string(),ssl:E.defaults(E.boolean(),!1)}),R="equipped_migrations",ae=3735928559,ge=1e3,F={string:"text",number:"double precision",boolean:"boolean",date:"timestamptz",null:"text",object:"jsonb",array:"jsonb"},ye={text:"string","character varying":"string",varchar:"string",char:"string",character:"string","double precision":"number",real:"number",integer:"number",smallint:"number",numeric:"number",decimal:"number",boolean:"boolean","timestamp with time zone":"date","timestamp without time zone":"date",timestamptz:"date",timestamp:"date",date:"date",jsonb:"object",json:"object"},re=class extends U(me,P){schemaConfigPipe=E.object({schema:E.optional(E.string()),table:E.string()});supportedFieldTypes=["string","number","boolean","null","object","array","date"];queryableOps=["eq","ne","gt","gte","lt","lte","in","notIn","like","exists","notExists","contains","notContains"];updateOps=["set","inc","mul","min","max","unset","push","pull","patch"];aggregateOps=["count","countDistinct","sum","avg","min","max"];pool;#n=new pe;constructor(e){super(e),this.pool=new ue({host:e.host,port:e.port,user:e.username,password:e.password,database:e.database,ssl:e.ssl?{rejectUnauthorized:!1}:!1})}#e(){return this.#n.getStore()??this.pool}#t(e){return e.schema&&e.schema!=="public"?`${e.schema}.${e.table}`:e.table}async connect(){}async disconnect(){try{await this.pool.end()}catch(e){throw new f("Failed to disconnect PostgreSQL pool",{adapter:"postgresql"},e)}}async findByPk(e,t,n){let o=t;try{let s=this.#t(o),r=e.pkField.name;return(await this.#e().query(`SELECT * FROM "${s}" WHERE "${r}" = $1`,[n])).rows[0]??null}catch(s){throw new f("PostgreSQL findByPk failed",{adapter:"postgresql",operation:"findByPk",table:o.table},s)}}async createMany(e,t,n){let o=t;try{let s=this.#t(o),r=this.#e(),i=[];for(let l of n){let{sql:c,params:d}=X(s,l),p=await r.query(c,d);i.push(p.rows[0])}return i}catch(s){throw new f("PostgreSQL createMany failed",{adapter:"postgresql",operation:"createMany",table:o.table},s)}}async updateByPk(e,t,n,o){let s=t;try{let r=this.#t(s),i=e.pkField.name,l=S(o);if(Object.keys(l).length===0)return(await this.#e().query(`SELECT * FROM "${r}" WHERE "${i}" = $1`,[n])).rows[0]??null;let{sql:c,params:d}=z(r,i,n,l);return(await this.#e().query(c,d)).rows[0]??null}catch(r){throw new f("PostgreSQL updateByPk failed",{adapter:"postgresql",operation:"updateByPk",table:s.table},r)}}async deleteByPk(e,t,n){let o=t;try{let s=this.#t(o),r=e.pkField.name;return(await this.#e().query(`DELETE FROM "${s}" WHERE "${r}" = $1 RETURNING *`,[n])).rows[0]??null}catch(s){throw new f("PostgreSQL deleteByPk failed",{adapter:"postgresql",operation:"deleteByPk",table:o.table},s)}}async raw(e,t,n,o=[]){let s=t;try{return await this.#e().query(n,o)}catch(r){throw r instanceof f?r:new f("PostgreSQL raw failed",{adapter:"postgresql",operation:"raw",table:s.table},r)}}async findMany(e,t,n,o){let s=t;try{let r=this.#t(s),{sql:i,params:l}=$(n,o,r,e.pkField.name);return(await this.#e().query(i,l)).rows}catch(r){throw new f("PostgreSQL findMany failed",{adapter:"postgresql",operation:"findMany",table:s.table},r)}}async count(e,t,n){let o=t;try{let s=this.#t(o),{sql:r,params:i}=V(n,s,e.pkField.name),l=await this.#e().query(r,i);return Number(l.rows[0]?.count??0)}catch(s){throw new f("PostgreSQL count failed",{adapter:"postgresql",operation:"count",table:o.table},s)}}async*iterateMany(e,t,n,o){let s=t,r,i=!1,l;try{let c=this.#t(s),{sql:d,params:p}=$(n,o,c,e.pkField.name),y=this.#n.getStore();y?r=y:(r=await this.pool.connect(),i=!0),l=r.query(new de(d,p));let m=o?.batchSize??ge;for(;;){let g=await l.read(m);if(g.length===0)break;for(let q of g)yield q}}catch(c){throw new f("PostgreSQL iterateMany failed",{adapter:"postgresql",operation:"iterateMany",table:s.table},c)}finally{try{await l?.close()}finally{i&&r?.release()}}}async updateMany(e,t,n,o){let s=t;try{let r=this.#t(s),{sql:i,params:l}=J(n,r,e.pkField.name,o);return(await this.#e().query(i,l)).rows}catch(r){throw new f("PostgreSQL updateMany failed",{adapter:"postgresql",operation:"updateMany",table:s.table},r)}}async deleteMany(e,t,n){let o=t;try{let s=this.#t(o),{sql:r,params:i}=Z(n,s,e.pkField.name);return(await this.#e().query(r,i)).rows}catch(s){throw new f("PostgreSQL deleteMany failed",{adapter:"postgresql",operation:"deleteMany",table:o.table},s)}}async upsertOne(e,t,n,o,s){let r=t;try{let i=this.#t(r),l=te(n,e.name),c=s.length>0?S(s):{},{sql:d,params:p}=ee(i,l,e.pkField.name,o,c);return(await this.#e().query(d,p)).rows[0]}catch(i){throw i instanceof f?i:new f("PostgreSQL upsertOne failed",{adapter:"postgresql",operation:"upsertOne",table:r.table},i)}}async aggregate(e,t,n){let o=t;try{let s=this.#t(o),{sql:r,params:i}=ne(n,s,e.pkField.name);return(await this.#e().query(r,i)).rows.map(c=>{let d={};for(let p of n.aggregates){let y=c[p.alias];p.fn==="min"||p.fn==="max"?d[p.alias]=y:d[p.alias]=Number(typeof y=="string"?y:y??0)}for(let p of n.groupBy)d[p]=c[p];return d})}catch(s){throw s instanceof f?s:new f("PostgreSQL aggregate failed",{adapter:"postgresql",operation:"aggregate",table:o.table},s)}}async loadMigrations(){let e=this.#e();return await e.query(`
1
+ import"../../../chunk-SPOVKWV3.min.mjs";import{a as U}from "../../../chunk-CU2HU5UE.min.mjs";import{E as S,a as v,f as O,g as B,j as P,l as I,m as D,n as M,o as G,p as Q,q as j,r as H,s as Y}from "../../../chunk-MCX2O5IT.min.mjs";import{a as f}from "../../../chunk-N3OD4QL2.min.mjs";import"../../../chunk-DSUJ5FUL.min.mjs";import"../../../chunk-AQY7QVYI.min.mjs";import{AsyncLocalStorage as pe}from"async_hooks";import{Pool as ue}from"pg";import de from"pg-cursor";import{v as E}from"valleyed";function b(a,e){return a==="id"&&e!=="id"?e:a}function K(a,e,t){switch(a.op){case"eq":return a.value===null?`${e} IS NULL`:`${e} = ${t(a.value)}`;case"ne":return a.value===null?`${e} IS NOT NULL`:`${e} != ${t(a.value)}`;case"gt":return`${e} > ${t(a.value)}`;case"gte":return`${e} >= ${t(a.value)}`;case"lt":return`${e} < ${t(a.value)}`;case"lte":return`${e} <= ${t(a.value)}`;case"in":return`${e} = ANY(${t(a.value)})`;case"notIn":return`NOT (${e} = ANY(${t(a.value)}))`;case"like":return`${e} ILIKE ${t(`%${a.value}%`)}`;case"exists":return`${e} IS NOT NULL`;case"notExists":return`${e} IS NULL`;case"contains":return`${e} @> ${t(JSON.stringify(a.value))}::jsonb`;case"notContains":return`NOT (${e} @> ${t(JSON.stringify(a.value))}::jsonb)`;default:return`${e} = ${t(a.value)}`}}function W(a,e,t){return K(a,`"${b(a.field,e)}"`,t)}function A(a,e){return a.children.map(t=>ie(t,e)).filter(t=>t!==null)}function oe(a,e){let t=A(a,e);return t.length===0?null:t.length===1?t[0]:`(${t.join(a.op==="or"?" OR ":" AND ")})`}function ie(a,e){return a instanceof O?e(a):a instanceof B?oe(a,e):null}function N(a,e,t=1){let n=[],o=t;function s(c){return n.push(c),`$${o++}`}let i=A(a,c=>W(c,e,s));return{whereClause:i.length>0?`WHERE ${i.join(" AND ")}`:"",params:n,nextParamIndex:o}}function L(a,e){let t=[],n=e;return{setParts:Object.entries(a).map(([s,r])=>{let i=`"${s}"`;return r instanceof I?(t.push(r.value),`${i} = ${i} + $${n++}`):r instanceof D?(t.push(r.value),`${i} = ${i} * $${n++}`):r instanceof M?(t.push(r.value),`${i} = LEAST(${i}, $${n++})`):r instanceof G?(t.push(r.value),`${i} = GREATEST(${i}, $${n++})`):r instanceof Q?`${i} = NULL`:r instanceof j?(t.push(JSON.stringify(r.value)),`${i} = ${i} || jsonb_build_array($${n++}::jsonb)`):r instanceof H?(t.push(JSON.stringify(r.value)),`${i} = (SELECT COALESCE(jsonb_agg(e), '[]'::jsonb) FROM jsonb_array_elements(${i}) e WHERE e <> $${n++}::jsonb)`):r instanceof Y?(t.push(JSON.stringify(r.value)),`${i} = ${i} || $${n++}::jsonb`):(t.push(r),`${i} = $${n++}`)}),params:t,nextParamIndex:n}}function $(a,e,t,n){let{whereClause:o,params:s,nextParamIndex:r}=N(a,n),i=r,l=(e?.orderBy??[]).map(g=>`"${b(g.field,n)}" ${g.direction.toUpperCase()}`),c=l.length>0?`ORDER BY ${l.join(", ")}`:"",d="";e?.limit!=null&&(s.push(e.limit),d=`LIMIT $${i++}`);let p="";return e?.offset!=null&&(s.push(e.offset),p=`OFFSET $${i++}`),{sql:`SELECT ${e?.select?.length?e.select.map(g=>`"${b(g,n)}"`).join(", "):"*"} FROM "${t}" ${o} ${c} ${d} ${p}`.trim().replace(/\s+/g," "),params:s}}function V(a,e,t){let{whereClause:n,params:o}=N(a,t);return{sql:`SELECT COUNT(*) as count FROM "${e}" ${n}`.trim().replace(/\s+/g," "),params:o}}function X(a,e){let t=Object.keys(e),n=Object.values(e),o=t.map((i,l)=>`$${l+1}`),s=t.map(i=>`"${i}"`).join(", ");return{sql:`INSERT INTO "${a}" (${s}) VALUES (${o.join(", ")}) RETURNING *`,params:n}}function J(a,e,t,n){let{setParts:o,params:s,nextParamIndex:r}=L(n,1),{whereClause:i,params:l}=N(a,t,r),c=[...s,...l];return{sql:`UPDATE "${e}" SET ${o.join(", ")} ${i} RETURNING *`.trim().replace(/\s+/g," "),params:c}}function z(a,e,t,n){let{setParts:o,params:s,nextParamIndex:r}=L(n,1);return s.push(t),{sql:`UPDATE "${a}" SET ${o.join(", ")} WHERE "${e}" = $${r} RETURNING *`.replace(/\s+/g," "),params:s}}function Z(a,e,t){let{whereClause:n,params:o}=N(a,t);return{sql:`DELETE FROM "${e}" ${n} RETURNING *`.trim().replace(/\s+/g," "),params:o}}function ee(a,e,t,n,o){let s=Object.keys(n),r=Object.values(n),i=s.map((y,m)=>`$${m+1}`),l=b(e,t),c,d=[...r];if(Object.keys(o).length>0){let{setParts:y,params:m}=L(o,s.length+1);c=y.join(", "),d.push(...m)}else c=`"${l}" = EXCLUDED."${l}"`;return{sql:`INSERT INTO "${a}" (${s.map(y=>`"${y}"`).join(", ")}) VALUES (${i.join(", ")}) ON CONFLICT ("${l}") DO UPDATE SET ${c} RETURNING *`.replace(/\s+/g," "),params:d}}function te(a,e){if(a.children.length===1&&a.children[0]instanceof O&&a.children[0].op==="eq")return a.children[0].field;let t;if(a.children.length===0)t="empty filter";else if(a.children.length===1){let n=a.children[0];t=`single non-eq filter (op: ${n instanceof O?n.op:"group"})`}else t=`${a.children.length} filter clauses`;throw new v("upsert-filter-incompatible",e,"upsertOne",[{cause:`PostgreSQL upsert requires a single eq filter on a UNIQUE-indexed column; received ${t}`}])}function le(a,e,t){if(a==="count")return"COUNT(*)";let n=`"${b(e,t)}"`;switch(a){case"countDistinct":return`COUNT(DISTINCT ${n})`;case"sum":return`SUM(${n})`;case"avg":return`AVG(${n})`;case"min":return`MIN(${n})`;case"max":return`MAX(${n})`}}function ce(a,e,t,n){return t.has(a)?t.get(a):n.has(a)?`"${b(a,e)}"`:`"${a}"`}function ne(a,e,t){let n=[],o=1;function s(m){return n.push(m),`$${o++}`}let r=[],i=new Map;for(let m of a.aggregates){let g=le(m.fn,m.field,t);i.set(m.alias,g),r.push(`${g} AS "${m.alias}"`)}let l=[];for(let m of a.groupBy){let g=`"${b(m,t)}"`;l.push(g),r.push(`${g} AS "${m}"`)}let c="";if(a.where){let m=q=>W(q,t,s),g=A(a.where,m);g.length>0&&(c=`WHERE ${g.join(" AND ")}`)}let d=l.length>0?`GROUP BY ${l.join(", ")}`:"",p="";if(a.having){let m=new Set(a.groupBy),g=T=>K(T,ce(T.field,t,i,m),s),q=A(a.having,g);q.length>0&&(p=`HAVING ${q.join(" AND ")}`)}return{sql:`SELECT ${r.join(", ")} FROM "${e}" ${c} ${d} ${p}`.trim().replace(/\s+/g," "),params:n}}var me=()=>E.object({host:E.string(),port:E.number(),username:E.string(),password:E.string(),database:E.string(),ssl:E.defaults(E.boolean(),!1)}),R="equipped_migrations",ae=3735928559,ge=1e3,F={string:"text",number:"double precision",boolean:"boolean",date:"timestamptz",null:"text",object:"jsonb",array:"jsonb"},ye={text:"string","character varying":"string",varchar:"string",char:"string",character:"string","double precision":"number",real:"number",integer:"number",smallint:"number",numeric:"number",decimal:"number",boolean:"boolean","timestamp with time zone":"date","timestamp without time zone":"date",timestamptz:"date",timestamp:"date",date:"date",jsonb:"object",json:"object"},re=class extends U(me,P){schemaConfigPipe=E.object({schema:E.optional(E.string()),table:E.string()});supportedFieldTypes=["string","number","boolean","null","object","array","date"];queryableOps=["eq","ne","gt","gte","lt","lte","in","notIn","like","exists","notExists","contains","notContains"];updateOps=["set","inc","mul","min","max","unset","push","pull","patch"];aggregateOps=["count","countDistinct","sum","avg","min","max"];pool;#n=new pe;constructor(e){super(e),this.pool=new ue({host:e.host,port:e.port,user:e.username,password:e.password,database:e.database,ssl:e.ssl?{rejectUnauthorized:!1}:!1})}#e(){return this.#n.getStore()??this.pool}#t(e){return e.schema&&e.schema!=="public"?`${e.schema}.${e.table}`:e.table}async connect(){}async disconnect(){try{await this.pool.end()}catch(e){throw new f("Failed to disconnect PostgreSQL pool",{adapter:"postgresql"},e)}}async findByPk(e,t,n){let o=t;try{let s=this.#t(o),r=e.pkField.name;return(await this.#e().query(`SELECT * FROM "${s}" WHERE "${r}" = $1`,[n])).rows[0]??null}catch(s){throw new f("PostgreSQL findByPk failed",{adapter:"postgresql",operation:"findByPk",table:o.table},s)}}async createMany(e,t,n){let o=t;try{let s=this.#t(o),r=this.#e(),i=[];for(let l of n){let{sql:c,params:d}=X(s,l),p=await r.query(c,d);i.push(p.rows[0])}return i}catch(s){throw new f("PostgreSQL createMany failed",{adapter:"postgresql",operation:"createMany",table:o.table},s)}}async updateByPk(e,t,n,o){let s=t;try{let r=this.#t(s),i=e.pkField.name,l=S(o);if(Object.keys(l).length===0)return(await this.#e().query(`SELECT * FROM "${r}" WHERE "${i}" = $1`,[n])).rows[0]??null;let{sql:c,params:d}=z(r,i,n,l);return(await this.#e().query(c,d)).rows[0]??null}catch(r){throw new f("PostgreSQL updateByPk failed",{adapter:"postgresql",operation:"updateByPk",table:s.table},r)}}async deleteByPk(e,t,n){let o=t;try{let s=this.#t(o),r=e.pkField.name;return(await this.#e().query(`DELETE FROM "${s}" WHERE "${r}" = $1 RETURNING *`,[n])).rows[0]??null}catch(s){throw new f("PostgreSQL deleteByPk failed",{adapter:"postgresql",operation:"deleteByPk",table:o.table},s)}}async raw(e,t,n,o=[]){let s=t;try{return await this.#e().query(n,o)}catch(r){throw r instanceof f?r:new f("PostgreSQL raw failed",{adapter:"postgresql",operation:"raw",table:s.table},r)}}async findMany(e,t,n,o){let s=t;try{let r=this.#t(s),{sql:i,params:l}=$(n,o,r,e.pkField.name);return(await this.#e().query(i,l)).rows}catch(r){throw new f("PostgreSQL findMany failed",{adapter:"postgresql",operation:"findMany",table:s.table},r)}}async count(e,t,n){let o=t;try{let s=this.#t(o),{sql:r,params:i}=V(n,s,e.pkField.name),l=await this.#e().query(r,i);return Number(l.rows[0]?.count??0)}catch(s){throw new f("PostgreSQL count failed",{adapter:"postgresql",operation:"count",table:o.table},s)}}async*iterateMany(e,t,n,o){let s=t,r,i=!1,l;try{let c=this.#t(s),{sql:d,params:p}=$(n,o,c,e.pkField.name),y=this.#n.getStore();y?r=y:(r=await this.pool.connect(),i=!0),l=r.query(new de(d,p));let m=o?.batchSize??ge;for(;;){let g=await l.read(m);if(g.length===0)break;for(let q of g)yield q}}catch(c){throw new f("PostgreSQL iterateMany failed",{adapter:"postgresql",operation:"iterateMany",table:s.table},c)}finally{try{await l?.close()}finally{i&&r?.release()}}}async updateMany(e,t,n,o){let s=t;try{let r=this.#t(s),{sql:i,params:l}=J(n,r,e.pkField.name,o);return(await this.#e().query(i,l)).rows}catch(r){throw new f("PostgreSQL updateMany failed",{adapter:"postgresql",operation:"updateMany",table:s.table},r)}}async deleteMany(e,t,n){let o=t;try{let s=this.#t(o),{sql:r,params:i}=Z(n,s,e.pkField.name);return(await this.#e().query(r,i)).rows}catch(s){throw new f("PostgreSQL deleteMany failed",{adapter:"postgresql",operation:"deleteMany",table:o.table},s)}}async upsertOne(e,t,n,o,s){let r=t;try{let i=this.#t(r),l=te(n,e.name),c=s.length>0?S(s):{},{sql:d,params:p}=ee(i,l,e.pkField.name,o,c);return(await this.#e().query(d,p)).rows[0]}catch(i){throw i instanceof f?i:new f("PostgreSQL upsertOne failed",{adapter:"postgresql",operation:"upsertOne",table:r.table},i)}}async aggregate(e,t,n){let o=t;try{let s=this.#t(o),{sql:r,params:i}=ne(n,s,e.pkField.name);return(await this.#e().query(r,i)).rows.map(c=>{let d={};for(let p of n.aggregates){let y=c[p.alias];p.fn==="min"||p.fn==="max"?d[p.alias]=y:d[p.alias]=Number(typeof y=="string"?y:y??0)}for(let p of n.groupBy)d[p]=c[p];return d})}catch(s){throw s instanceof f?s:new f("PostgreSQL aggregate failed",{adapter:"postgresql",operation:"aggregate",table:o.table},s)}}async loadMigrations(){let e=this.#e();return await e.query(`
2
2
  CREATE TABLE IF NOT EXISTS "${R}" (
3
3
  id text PRIMARY KEY,
4
4
  applied_at bigint NOT NULL
5
5
  )
6
- `),(await e.query(`SELECT id, applied_at FROM "${R}"`)).rows.map(n=>({id:n.id,appliedAt:Number(n.applied_at)}))}async recordMigration(e,t){await this.#e().query(`INSERT INTO "${R}" (id, applied_at) VALUES ($1, $2)`,[e,t])}async acquireMigrationLock(e){let t=this.#e();await t.query("SELECT pg_advisory_lock($1)",[ae]);try{return await e()}finally{await t.query("SELECT pg_advisory_unlock($1)",[ae])}}async applyCreateTable(e){let t=F[e.pk.type]??"text",n=[`"${e.pk.name}" ${t} PRIMARY KEY`];for(let o of e.fields)n.push(this.#a(o));await this.#e().query(`CREATE TABLE "${e.name}" (${n.join(", ")})`)}async applyDropTable(e){await this.#e().query(`DROP TABLE "${e.name}"`)}async applyAddField(e){let t=this.#a(e.field);await this.#e().query(`ALTER TABLE "${e.table}" ADD COLUMN ${t}`)}async applyDropField(e){await this.#e().query(`ALTER TABLE "${e.table}" DROP COLUMN "${e.name}"`)}async applyModifyField(e){let t=this.#e(),n=`"${e.table}"`,o=`"${e.name}"`,s=F[e.to.type]??"text";await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} TYPE ${s} USING ${o}::${s}`),e.to.nullable?await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} DROP NOT NULL`):await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} SET NOT NULL`),e.to.default!==void 0?await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} SET DEFAULT ${this.#r(e.to.default)}`):await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} DROP DEFAULT`),e.to.name!==e.name&&await t.query(`ALTER TABLE ${n} RENAME COLUMN ${o} TO "${e.to.name}"`)}async applyRenameTable(e){await this.#e().query(`ALTER TABLE "${e.from}" RENAME TO "${e.to}"`)}async applyRenameField(e){await this.#e().query(`ALTER TABLE "${e.table}" RENAME COLUMN "${e.from}" TO "${e.to}"`)}async applyAddIndex(e){let t=e.name??this.#i(e.table,e.on,e.unique),n=e.unique?"UNIQUE ":"",o=e.on.map(s=>`"${s}"`).join(", ");await this.#e().query(`CREATE ${n}INDEX "${t}" ON "${e.table}" (${o})`)}async applyDropIndex(e){await this.#e().query(`DROP INDEX "${e.name}"`)}async applyAddForeignKey(e){let t=e.name??`fk_${e.table}_${e.on}`,n=`ALTER TABLE "${e.table}" ADD CONSTRAINT "${t}" FOREIGN KEY ("${e.on}") REFERENCES "${e.references.table}" ("${e.references.column}")`;e.onDelete&&(n+=` ON DELETE ${this.#s(e.onDelete)}`),e.onUpdate&&(n+=` ON UPDATE ${this.#s(e.onUpdate)}`),await this.#e().query(n)}async applyDropForeignKey(e){await this.#e().query(`ALTER TABLE "${e.table}" DROP CONSTRAINT "${e.name}"`)}async introspect(){let{OrmIntrospectionError:e}=await import("../../../introspection-UDWDS6DV.min.mjs"),t=this.#e(),n=await t.query(`
6
+ `),(await e.query(`SELECT id, applied_at FROM "${R}"`)).rows.map(n=>({id:n.id,appliedAt:Number(n.applied_at)}))}async recordMigration(e,t){await this.#e().query(`INSERT INTO "${R}" (id, applied_at) VALUES ($1, $2)`,[e,t])}async acquireMigrationLock(e){let t=this.#e();await t.query("SELECT pg_advisory_lock($1)",[ae]);try{return await e()}finally{await t.query("SELECT pg_advisory_unlock($1)",[ae])}}async applyCreateTable(e){let t=F[e.pk.type]??"text",n=[`"${e.pk.name}" ${t} PRIMARY KEY`];for(let o of e.fields)n.push(this.#a(o));await this.#e().query(`CREATE TABLE "${e.name}" (${n.join(", ")})`)}async applyDropTable(e){await this.#e().query(`DROP TABLE "${e.name}"`)}async applyAddField(e){let t=this.#a(e.field);await this.#e().query(`ALTER TABLE "${e.table}" ADD COLUMN ${t}`)}async applyDropField(e){await this.#e().query(`ALTER TABLE "${e.table}" DROP COLUMN "${e.name}"`)}async applyModifyField(e){let t=this.#e(),n=`"${e.table}"`,o=`"${e.name}"`,s=F[e.to.type]??"text";await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} TYPE ${s} USING ${o}::${s}`),e.to.nullable?await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} DROP NOT NULL`):await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} SET NOT NULL`),e.to.default!==void 0?await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} SET DEFAULT ${this.#r(e.to.default)}`):await t.query(`ALTER TABLE ${n} ALTER COLUMN ${o} DROP DEFAULT`),e.to.name!==e.name&&await t.query(`ALTER TABLE ${n} RENAME COLUMN ${o} TO "${e.to.name}"`)}async applyRenameTable(e){await this.#e().query(`ALTER TABLE "${e.from}" RENAME TO "${e.to}"`)}async applyRenameField(e){await this.#e().query(`ALTER TABLE "${e.table}" RENAME COLUMN "${e.from}" TO "${e.to}"`)}async applyAddIndex(e){let t=e.name??this.#i(e.table,e.on,e.unique),n=e.unique?"UNIQUE ":"",o=e.on.map(s=>`"${s}"`).join(", ");await this.#e().query(`CREATE ${n}INDEX "${t}" ON "${e.table}" (${o})`)}async applyDropIndex(e){await this.#e().query(`DROP INDEX "${e.name}"`)}async applyAddForeignKey(e){let t=e.name??`fk_${e.table}_${e.on}`,n=`ALTER TABLE "${e.table}" ADD CONSTRAINT "${t}" FOREIGN KEY ("${e.on}") REFERENCES "${e.references.table}" ("${e.references.column}")`;e.onDelete&&(n+=` ON DELETE ${this.#s(e.onDelete)}`),e.onUpdate&&(n+=` ON UPDATE ${this.#s(e.onUpdate)}`),await this.#e().query(n)}async applyDropForeignKey(e){await this.#e().query(`ALTER TABLE "${e.table}" DROP CONSTRAINT "${e.name}"`)}async introspect(){let{OrmIntrospectionError:e}=await import("../../../introspection-TO27QT2X.min.mjs"),t=this.#e(),n=await t.query(`
7
7
  SELECT table_name FROM information_schema.tables
8
8
  WHERE table_schema = 'public' AND table_type = 'BASE TABLE' AND table_name != $1
9
9
  `,[R]),o=[];for(let s of n.rows){let r=s.table_name,i=await t.query(`
@@ -1,4 +1,4 @@
1
- import "../../../chunk-NNFUYHQ7.mjs";
1
+ import "../../../chunk-A332TTED.mjs";
2
2
  import {
3
3
  configurable
4
4
  } from "../../../chunk-NEF3UYFA.mjs";
@@ -16,10 +16,10 @@ import {
16
16
  PushOp,
17
17
  UnsetOp,
18
18
  flattenOps
19
- } from "../../../chunk-RIXTQQUU.mjs";
19
+ } from "../../../chunk-XESM7IWM.mjs";
20
20
  import {
21
21
  EquippedError
22
- } from "../../../chunk-CEYT5YBA.mjs";
22
+ } from "../../../chunk-7N4WUZ7P.mjs";
23
23
  import "../../../chunk-VCCS7CAI.mjs";
24
24
  import "../../../chunk-J5LGTIGS.mjs";
25
25
 
@@ -1112,7 +1112,7 @@ var PostgresAdapter = class extends configurable(postgresqlConnectionPipe, OrmAd
1112
1112
  await this.#getClient().query(`ALTER TABLE "${change.table}" DROP CONSTRAINT "${change.name}"`);
1113
1113
  }
1114
1114
  async introspect() {
1115
- const { OrmIntrospectionError } = await import("../../../introspection-FGDVYTPP.mjs");
1115
+ const { OrmIntrospectionError } = await import("../../../introspection-ZUQYVEFC.mjs");
1116
1116
  const client = this.#getClient();
1117
1117
  const tablesResult = await client.query(`
1118
1118
  SELECT table_name FROM information_schema.tables