equipped 5.3.0 → 5.3.2

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 (191) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/cjs/cache/adapters/in-memory/index.cjs +155 -155
  3. package/dist/cjs/cache/adapters/in-memory/index.cjs.map +1 -1
  4. package/dist/cjs/cache/adapters/in-memory/index.min.cjs +3 -3
  5. package/dist/cjs/cache/adapters/in-memory/index.min.cjs.map +1 -1
  6. package/dist/cjs/dbs/adapters/mongodb/index.cjs.map +1 -1
  7. package/dist/cjs/dbs/adapters/mongodb/index.min.cjs +2 -2
  8. package/dist/cjs/dbs/adapters/mongodb/index.min.cjs.map +1 -1
  9. package/dist/cjs/dbs/index.cjs +181 -179
  10. package/dist/cjs/dbs/index.cjs.map +1 -1
  11. package/dist/cjs/dbs/index.min.cjs +3 -3
  12. package/dist/cjs/dbs/index.min.cjs.map +1 -1
  13. package/dist/cjs/events/adapters/kafka/index.cjs.map +1 -1
  14. package/dist/cjs/events/adapters/kafka/index.min.cjs +2 -2
  15. package/dist/cjs/events/adapters/kafka/index.min.cjs.map +1 -1
  16. package/dist/cjs/events/adapters/rabbitmq/index.cjs +179 -179
  17. package/dist/cjs/events/adapters/rabbitmq/index.cjs.map +1 -1
  18. package/dist/cjs/events/adapters/rabbitmq/index.min.cjs +3 -3
  19. package/dist/cjs/events/adapters/rabbitmq/index.min.cjs.map +1 -1
  20. package/dist/cjs/orm/adapters/mongodb/index.cjs +144 -144
  21. package/dist/cjs/orm/adapters/mongodb/index.cjs.map +1 -1
  22. package/dist/cjs/orm/adapters/mongodb/index.min.cjs +1 -1
  23. package/dist/cjs/orm/adapters/mongodb/index.min.cjs.map +1 -1
  24. package/dist/cjs/orm/adapters/postgresql/index.cjs +144 -215
  25. package/dist/cjs/orm/adapters/postgresql/index.cjs.map +1 -1
  26. package/dist/cjs/orm/adapters/postgresql/index.min.cjs +11 -11
  27. package/dist/cjs/orm/adapters/postgresql/index.min.cjs.map +1 -1
  28. package/dist/cjs/server/adapters/express/index.cjs +338 -226
  29. package/dist/cjs/server/adapters/express/index.cjs.map +1 -1
  30. package/dist/cjs/server/adapters/express/index.min.cjs +7 -7
  31. package/dist/cjs/server/adapters/express/index.min.cjs.map +1 -1
  32. package/dist/cjs/server/adapters/fastify/index.cjs +323 -211
  33. package/dist/cjs/server/adapters/fastify/index.cjs.map +1 -1
  34. package/dist/cjs/server/adapters/fastify/index.min.cjs +7 -7
  35. package/dist/cjs/server/adapters/fastify/index.min.cjs.map +1 -1
  36. package/dist/cjs/server/index.cjs +128 -16
  37. package/dist/cjs/server/index.cjs.map +1 -1
  38. package/dist/cjs/server/index.min.cjs +6 -6
  39. package/dist/cjs/server/index.min.cjs.map +1 -1
  40. package/dist/cjs/utilities/index.cjs +0 -5
  41. package/dist/cjs/utilities/index.cjs.map +1 -1
  42. package/dist/cjs/utilities/index.min.cjs +2 -2
  43. package/dist/cjs/utilities/index.min.cjs.map +1 -1
  44. package/dist/esm/cache/adapters/in-memory/index.min.mjs +1 -1
  45. package/dist/esm/cache/adapters/in-memory/index.min.mjs.map +1 -1
  46. package/dist/esm/cache/adapters/in-memory/index.mjs +6 -3
  47. package/dist/esm/cache/adapters/in-memory/index.mjs.map +1 -1
  48. package/dist/esm/cache/adapters/redis/index.min.mjs +1 -1
  49. package/dist/esm/cache/adapters/redis/index.mjs +5 -3
  50. package/dist/esm/cache/index.min.mjs +1 -1
  51. package/dist/esm/cache/index.mjs +2 -2
  52. package/dist/esm/{chunk-PNZNNUMN.mjs → chunk-26BOI6IL.mjs} +7 -5
  53. package/dist/esm/{chunk-PNZNNUMN.mjs.map → chunk-26BOI6IL.mjs.map} +1 -1
  54. package/dist/esm/{chunk-4JLDXF7T.min.mjs → chunk-AODOD22O.min.mjs} +2 -2
  55. package/dist/esm/chunk-APSDCRY5.min.mjs +32 -0
  56. package/dist/esm/chunk-APSDCRY5.min.mjs.map +1 -0
  57. package/dist/esm/{chunk-MDQKODYQ.mjs → chunk-CEYT5YBA.mjs} +204 -348
  58. package/dist/esm/chunk-CEYT5YBA.mjs.map +1 -0
  59. package/dist/esm/chunk-CU2HU5UE.min.mjs +2 -0
  60. package/dist/esm/chunk-CU2HU5UE.min.mjs.map +1 -0
  61. package/dist/esm/chunk-DAK7OKSH.min.mjs +2 -0
  62. package/dist/esm/{chunk-SGZNOYC3.min.mjs.map → chunk-DAK7OKSH.min.mjs.map} +1 -1
  63. package/dist/esm/{chunk-PCAUXBAG.min.mjs → chunk-DAUQA32Q.min.mjs} +2 -2
  64. package/dist/esm/{chunk-JH6EBXY4.mjs → chunk-FQYRVHQT.mjs} +2 -2
  65. package/dist/esm/chunk-NEF3UYFA.mjs +144 -0
  66. package/dist/esm/chunk-NEF3UYFA.mjs.map +1 -0
  67. package/dist/esm/chunk-NNFUYHQ7.mjs +135 -0
  68. package/dist/esm/chunk-NNFUYHQ7.mjs.map +1 -0
  69. package/dist/esm/{chunk-4MXYZS5R.mjs → chunk-PCEHFZ6G.mjs} +9 -5
  70. package/dist/esm/{chunk-4MXYZS5R.mjs.map → chunk-PCEHFZ6G.mjs.map} +1 -1
  71. package/dist/esm/{chunk-B5QQ32YY.min.mjs → chunk-QCCDJLBH.min.mjs} +2 -2
  72. package/dist/esm/{chunk-PQCBVQL6.mjs → chunk-RIXTQQUU.mjs} +2 -2
  73. package/dist/esm/{chunk-Z2TZ3KR7.mjs → chunk-RPPYCWXW.mjs} +2 -2
  74. package/dist/esm/{chunk-AKQBDYUO.mjs → chunk-T2O72JBW.mjs} +3 -3
  75. package/dist/esm/{chunk-TVTYDU2D.mjs → chunk-VQO4MSEC.mjs} +5 -5
  76. package/dist/esm/{chunk-ZGMFFK6Y.min.mjs → chunk-X7VNAGLR.min.mjs} +2 -2
  77. package/dist/esm/chunk-XTXAEBXY.min.mjs +2 -0
  78. package/dist/esm/{chunk-5VW3JAFR.min.mjs.map → chunk-XTXAEBXY.min.mjs.map} +1 -1
  79. package/dist/esm/{chunk-QHLKB47N.min.mjs → chunk-YDQW6ETS.min.mjs} +2 -2
  80. package/dist/esm/chunk-ZDBDR3IB.min.mjs +2 -0
  81. package/dist/esm/chunk-ZDBDR3IB.min.mjs.map +1 -0
  82. package/dist/esm/dbs/adapters/mongodb/index.min.mjs +1 -1
  83. package/dist/esm/dbs/adapters/mongodb/index.min.mjs.map +1 -1
  84. package/dist/esm/dbs/adapters/mongodb/index.mjs +8 -5
  85. package/dist/esm/dbs/adapters/mongodb/index.mjs.map +1 -1
  86. package/dist/esm/dbs/index.min.mjs +1 -1
  87. package/dist/esm/dbs/index.mjs +5 -3
  88. package/dist/esm/errors/index.min.mjs +1 -1
  89. package/dist/esm/errors/index.mjs +1 -1
  90. package/dist/esm/events/adapters/kafka/index.min.mjs +1 -1
  91. package/dist/esm/events/adapters/kafka/index.mjs +4 -2
  92. package/dist/esm/events/adapters/rabbitmq/index.min.mjs +1 -1
  93. package/dist/esm/events/adapters/rabbitmq/index.min.mjs.map +1 -1
  94. package/dist/esm/events/adapters/rabbitmq/index.mjs +7 -3
  95. package/dist/esm/events/adapters/rabbitmq/index.mjs.map +1 -1
  96. package/dist/esm/index.min.mjs +1 -1
  97. package/dist/esm/index.mjs +1 -1
  98. package/dist/esm/instance/index.min.mjs +1 -1
  99. package/dist/esm/instance/index.mjs +1 -1
  100. package/dist/esm/{introspection-32BRYKYY.mjs → introspection-FGDVYTPP.mjs} +3 -3
  101. package/dist/esm/introspection-UDWDS6DV.min.mjs +2 -0
  102. package/dist/esm/jobs/adapters/redis/index.min.mjs +1 -1
  103. package/dist/esm/jobs/adapters/redis/index.min.mjs.map +1 -1
  104. package/dist/esm/jobs/adapters/redis/index.mjs +10 -6
  105. package/dist/esm/jobs/adapters/redis/index.mjs.map +1 -1
  106. package/dist/esm/orm/adapters/in-memory/index.min.mjs +1 -1
  107. package/dist/esm/orm/adapters/in-memory/index.mjs +4 -3
  108. package/dist/esm/orm/adapters/json/index.min.mjs +1 -1
  109. package/dist/esm/orm/adapters/json/index.min.mjs.map +1 -1
  110. package/dist/esm/orm/adapters/json/index.mjs +6 -5
  111. package/dist/esm/orm/adapters/json/index.mjs.map +1 -1
  112. package/dist/esm/orm/adapters/mongodb/index.min.mjs +1 -1
  113. package/dist/esm/orm/adapters/mongodb/index.min.mjs.map +1 -1
  114. package/dist/esm/orm/adapters/mongodb/index.mjs +6 -4
  115. package/dist/esm/orm/adapters/mongodb/index.mjs.map +1 -1
  116. package/dist/esm/orm/adapters/postgresql/index.min.mjs +2 -2
  117. package/dist/esm/orm/adapters/postgresql/index.min.mjs.map +1 -1
  118. package/dist/esm/orm/adapters/postgresql/index.mjs +8 -5
  119. package/dist/esm/orm/adapters/postgresql/index.mjs.map +1 -1
  120. package/dist/esm/orm/index.min.mjs +1 -1
  121. package/dist/esm/orm/index.mjs +3 -3
  122. package/dist/esm/server/adapters/express/index.min.mjs +1 -1
  123. package/dist/esm/server/adapters/express/index.min.mjs.map +1 -1
  124. package/dist/esm/server/adapters/express/index.mjs +7 -3
  125. package/dist/esm/server/adapters/express/index.mjs.map +1 -1
  126. package/dist/esm/server/adapters/fastify/index.min.mjs +1 -1
  127. package/dist/esm/server/adapters/fastify/index.min.mjs.map +1 -1
  128. package/dist/esm/server/adapters/fastify/index.mjs +7 -3
  129. package/dist/esm/server/adapters/fastify/index.mjs.map +1 -1
  130. package/dist/esm/server/index.min.mjs +1 -1
  131. package/dist/esm/server/index.mjs +1 -1
  132. package/dist/esm/utilities/index.min.mjs +1 -1
  133. package/dist/esm/utilities/index.mjs +5 -4
  134. package/dist/esm/validations/index.min.mjs +1 -1
  135. package/dist/esm/validations/index.mjs +1 -1
  136. package/dist/types/{base-DVr0fHil.d.ts → base-qDndMBf8.d.ts} +9 -3
  137. package/dist/types/cache/adapters/in-memory/index.js +7 -4
  138. package/dist/types/cache/adapters/redis/index.js +5 -3
  139. package/dist/types/cache/index.js +2 -2
  140. package/dist/types/{chunk-NJ2FHI3U.js → chunk-35CDCTLR.js} +4 -4
  141. package/dist/types/{chunk-XGGGAEET.js → chunk-4YQA5GPT.js} +8 -4
  142. package/dist/types/{chunk-65EHKCDZ.js → chunk-AQIV47BY.js} +6 -4
  143. package/dist/types/{chunk-YTY3EFNB.js → chunk-BKDWUJRG.js} +203 -347
  144. package/dist/types/{chunk-JQ2FWX4W.js → chunk-DA2VYP7D.js} +1 -1
  145. package/dist/types/{chunk-3TKJGSCZ.js → chunk-GDMGPX4C.js} +1 -1
  146. package/dist/types/chunk-H5V6ADFD.js +134 -0
  147. package/dist/types/{chunk-3M4PBZAQ.js → chunk-OOKJEMQI.js} +2 -2
  148. package/dist/types/chunk-PPD4WDG6.js +143 -0
  149. package/dist/types/{chunk-OHFTQGQG.js → chunk-T7K7PO6G.js} +1 -1
  150. package/dist/types/dbs/adapters/mongodb/index.js +8 -5
  151. package/dist/types/dbs/index.js +5 -3
  152. package/dist/types/errors/index.js +1 -1
  153. package/dist/types/events/adapters/kafka/index.js +4 -2
  154. package/dist/types/events/adapters/rabbitmq/index.js +7 -3
  155. package/dist/types/index.js +1 -1
  156. package/dist/types/instance/index.js +1 -1
  157. package/dist/types/{introspection-VOIU3XE6.js → introspection-FSNS33CQ.js} +2 -2
  158. package/dist/types/jobs/adapters/redis/index.js +10 -6
  159. package/dist/types/orm/adapters/in-memory/index.js +4 -3
  160. package/dist/types/orm/adapters/json/index.js +6 -5
  161. package/dist/types/orm/adapters/mongodb/index.js +6 -4
  162. package/dist/types/orm/adapters/postgresql/index.js +8 -5
  163. package/dist/types/orm/index.js +3 -3
  164. package/dist/types/server/adapters/express/index.d.ts +1 -1
  165. package/dist/types/server/adapters/express/index.js +7 -3
  166. package/dist/types/server/adapters/fastify/index.d.ts +1 -1
  167. package/dist/types/server/adapters/fastify/index.js +7 -3
  168. package/dist/types/server/index.d.ts +2 -2
  169. package/dist/types/server/index.js +1 -1
  170. package/dist/types/utilities/index.d.ts +1 -2
  171. package/dist/types/utilities/index.js +5 -4
  172. package/dist/types/validations/index.js +1 -1
  173. package/package.json +1 -1
  174. package/dist/esm/chunk-5VW3JAFR.min.mjs +0 -2
  175. package/dist/esm/chunk-FLAPYQUT.min.mjs +0 -32
  176. package/dist/esm/chunk-FLAPYQUT.min.mjs.map +0 -1
  177. package/dist/esm/chunk-MDQKODYQ.mjs.map +0 -1
  178. package/dist/esm/chunk-SGZNOYC3.min.mjs +0 -2
  179. package/dist/esm/introspection-A72WMWE3.min.mjs +0 -2
  180. /package/dist/esm/{chunk-4JLDXF7T.min.mjs.map → chunk-AODOD22O.min.mjs.map} +0 -0
  181. /package/dist/esm/{chunk-PCAUXBAG.min.mjs.map → chunk-DAUQA32Q.min.mjs.map} +0 -0
  182. /package/dist/esm/{chunk-JH6EBXY4.mjs.map → chunk-FQYRVHQT.mjs.map} +0 -0
  183. /package/dist/esm/{chunk-B5QQ32YY.min.mjs.map → chunk-QCCDJLBH.min.mjs.map} +0 -0
  184. /package/dist/esm/{chunk-PQCBVQL6.mjs.map → chunk-RIXTQQUU.mjs.map} +0 -0
  185. /package/dist/esm/{chunk-Z2TZ3KR7.mjs.map → chunk-RPPYCWXW.mjs.map} +0 -0
  186. /package/dist/esm/{chunk-AKQBDYUO.mjs.map → chunk-T2O72JBW.mjs.map} +0 -0
  187. /package/dist/esm/{chunk-TVTYDU2D.mjs.map → chunk-VQO4MSEC.mjs.map} +0 -0
  188. /package/dist/esm/{chunk-ZGMFFK6Y.min.mjs.map → chunk-X7VNAGLR.min.mjs.map} +0 -0
  189. /package/dist/esm/{chunk-QHLKB47N.min.mjs.map → chunk-YDQW6ETS.min.mjs.map} +0 -0
  190. /package/dist/esm/{introspection-32BRYKYY.mjs.map → introspection-FGDVYTPP.mjs.map} +0 -0
  191. /package/dist/esm/{introspection-A72WMWE3.min.mjs.map → introspection-UDWDS6DV.min.mjs.map} +0 -0
@@ -1,35 +1,35 @@
1
- "use strict";var ze=Object.create;var N=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Je=Object.getOwnPropertyNames;var Ze=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty;var h=(r,e)=>()=>(r&&(e=r(r=0)),e);var oe=(r,e)=>{for(var t in e)N(r,t,{get:e[t],enumerable:!0})},ie=(r,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Je(e))!et.call(r,i)&&i!==t&&N(r,i,{get:()=>e[i],enumerable:!(a=Xe(e,i))||a.enumerable});return r};var k=(r,e,t)=>(t=r!=null?ze(Ze(r)):{},ie(e||!r||!r.__esModule?N(t,"default",{value:r,enumerable:!0}):t,r)),tt=r=>ie(N({},"__esModule",{value:!0}),r);var d,ce=h(()=>{"use strict";d=class extends Error{constructor(t,a,i){super(t,{cause:i});this.message=t;this.context=a;this.cause=i}}});var le=h(()=>{"use strict"});function pe(r,e){for(let t of e.after)if(!r.some(a=>a.class===t)){let a=t.name||"unknown",i=e.class?.name||"anonymous";throw new Error(`Missing dependency: ${i} declares after: [${a}], but ${a} is not registered`)}if(e.class){let t=[...r,e];rt(t)}r.push(e)}function rt(r){let e=new Map;for(let s of r){if(!s.class)continue;let n=e.get(s.class);if(n)for(let o of s.after)n.includes(o)||n.push(o);else e.set(s.class,[...s.after])}let t=new Set,a=new Set;function i(s,n){if(a.has(s)){let o=n.indexOf(s),c=[...n.slice(o),s].map(p=>p.name||"unknown");throw new Error(`Cycle detected: ${c.join(" \u2192 ")}`)}if(!t.has(s)){a.add(s),n.push(s);for(let o of e.get(s)??[])i(o,n);n.pop(),a.delete(s),t.add(s)}}for(let s of e.keys())i(s,[])}function at(r,e=!1){if(r.length===0)return[];let t=new Map,a=[];for(let c of r)if(c.class){let p=t.get(c.class);p?p.push(c):t.set(c.class,[c])}else a.push(c);let i=[...t.keys()],s=new Map,n=new Map;for(let c of i)s.set(c,0),n.set(c,[]);for(let c of r)if(c.class)for(let p of c.after){let[u,m]=e?[c.class,p]:[p,c.class],g=n.get(u);g.includes(m)||(g.push(m),s.set(m,s.get(m)+1))}let o=[],l=i.filter(c=>s.get(c)===0);for(;l.length>0;){let c=[],p=[];for(let u of l)c.push(...t.get(u)??[]);o.push(c);for(let u of l)for(let m of n.get(u)??[]){let g=s.get(m)-1;s.set(m,g),g===0&&p.push(m)}l=p}if(a.length>0){let c=a.filter(u=>u.after.length>0),p=a.filter(u=>u.after.length===0);if(c.length>0){let u=-1;for(let g of c)for(let y of g.after){let O=o.findIndex(T=>T.some(B=>B.class===y));O>u&&(u=O)}let m=u+1;m<o.length?o[m].push(...c):o.push(c)}p.length>0&&(o.length>0?o[o.length-1].push(...p):o.push(p))}return o}async function _(r,e=a=>{throw a},t=!1){let a=at(r,t);for(let i of a)await Promise.all(i.map(async s=>{try{return typeof s.cb=="function"?await s.cb():await s.cb}catch(n){return e(n instanceof Error?n:new Error(`${n}`))}}))}var ue=h(()=>{"use strict"});var w,de,me=h(()=>{"use strict";w=require("valleyed"),de=()=>w.v.object({app:w.v.object({name:w.v.string()}),log:w.v.defaults(w.v.object({level:w.v.defaults(w.v.in(["fatal","error","warn","info","debug","trace","silent"]),"info")}),{}),utils:w.v.defaults(w.v.object({hashSaltRounds:w.v.defaults(w.v.number(),10),paginationDefaultLimit:w.v.defaults(w.v.number(),100),maxFileUploadSizeInMb:w.v.defaults(w.v.number(),500)}),{})})});var S,ge,z,v,fe=h(()=>{"use strict";S=k(require("pino"),1),ge=require("ulid"),z=require("valleyed");C();ue();me();v=class r{static#t;static#e;static#r={};settings;log;constructor(e){r.#e=this,this.settings=Object.freeze(e),this.log=(0,S.default)({level:this.settings.log.level,serializers:{err:S.default.stdSerializers.err,error:S.default.stdSerializers.err,req:S.default.stdSerializers.req,res:S.default.stdSerializers.res},mixin:()=>({instanceId:r.#t})}),r.#a()}alias(e){if(r.#t!==void 0)return r.crash(new d("Instance already has an alias",{}));r.#t=e}get id(){return r.#t===void 0?r.crash(new d("Instance doesnt have an alias yet",{})):r.#t}getScopedName(e,t="."){return[this.settings.app.name,e].join(t)}async start(){try{await _(r.#r.setup??[]),await _(r.#r.start??[])}catch(e){r.crash(new d("Error starting instance",{},e))}}static envs(e){let t=z.v.validate(e,process.env);return t.valid||r.crash(new d(`Environment variables are not valid
2
- ${t.error.toString()}`,{messages:t.error.messages})),t.value}static create(e){if(r.#e)return r.crash(new d("Instance has been initialized already",{}));let t=z.v.validate(de(),e);return t.valid||r.crash(new d(`Settings are not valid
3
- ${t.error.toString()}`,{messages:t.error.messages})),new r(t.value)}static get(){return r.#e?r.#e:r.crash(new d("Has not been initialized. Make sure an instance has been created before you get an instance",{}))}static maybeGet(){return r.#e}static on(e,t,a){r.#r[e]??=[];let i={cb:t,class:a?.class,after:a?.after??[]};pe(r.#r[e],i)}static#a(){Object.entries({SIGHUP:1,SIGINT:2,SIGTERM:15}).forEach(([t,a])=>{process.on(t,async()=>{await _(r.#r.close??[],()=>{},!0),process.exit(128+a)})})}static resolveBeforeCrash(e){let t=e();return r.on("close",async()=>await t),t}static crash(e){console.error(e),process.exit(1)}static createId(e){return`${e?.prefix??""}${(0,ge.ulid)(e?.time?.getTime())}`}}});var nt,st,ot,ye=h(()=>{"use strict";nt=k(require("axios"),1),st=k(require("jsonwebtoken"),1),ot=k(require("jwks-rsa"),1)});function he(r,e){let t=r();X.v.compile(t);class a extends e{constructor(n,...o){super(...o);this.config=n}static create(n,...o){let l=X.v.validate(t,n);if(!l.valid)throw l.error;return new this(l.value,...o)}}return a}var X,xe=h(()=>{"use strict";X=require("valleyed")});var we,be=h(()=>{"use strict";we=k(require("bcryptjs"),1)});var Oe=h(()=>{"use strict"});var lt,Ee=h(()=>{"use strict";lt=require("music-metadata")});var Ce=h(()=>{"use strict"});var qe=h(()=>{"use strict"});var Ae=h(()=>{"use strict";ye();xe();be();Oe();Ee();Ce();qe()});var Te=h(()=>{"use strict"});var ke=h(()=>{"use strict"});var Se=h(()=>{"use strict"});var ve=h(()=>{"use strict"});var Fe=h(()=>{"use strict"});var Be=h(()=>{"use strict"});var C=h(()=>{"use strict";ce();le();Te();ke();Se();ve();Fe();Be()});var Re={};oe(Re,{OrmIntrospectionError:()=>J});var J,Pe=h(()=>{"use strict";C();J=class extends d{adapter;table;constructor(e){super(`Introspection failed for table '${e.table}' on adapter '${e.adapter}'`,{adapter:e.adapter,table:e.table},e.cause),this.adapter=e.adapter,this.table=e.table}}});var xt={};oe(xt,{PostgresAdapter:()=>se});module.exports=tt(xt);var Ke=require("async_hooks"),Ve=require("pg"),We=k(require("pg-cursor"),1),b=require("valleyed");C();var Zt=require("valleyed"),Z=class{name;path;constructor(e,t){this.name=e,this.path=t??[e]}};function Ne(r){return r instanceof Z?r.path.join("."):r}var x=class{constructor(e,t,a){this.op=t;this.value=a;this.field=Ne(e)}field},q=class r{constructor(e="and",t){this.op=e;this.children=t??[]}children;#t(e){return new r(this.op,[...this.children,e])}eq(e,t){return this.#t(new x(e,"eq",t))}ne(e,t){return this.#t(new x(e,"ne",t))}gt(e,t){return this.#t(new x(e,"gt",t))}gte(e,t){return this.#t(new x(e,"gte",t))}lt(e,t){return this.#t(new x(e,"lt",t))}lte(e,t){return this.#t(new x(e,"lte",t))}in(e,t){return this.#t(new x(e,"in",t))}notIn(e,t){return this.#t(new x(e,"notIn",t))}like(e,t){return this.#t(new x(e,"like",t))}exists(e){return this.#t(new x(e,"exists",!0))}notExists(e){return this.#t(new x(e,"notExists",!0))}contains(e,t){return this.#t(new x(e,"contains",t))}notContains(e,t){return this.#t(new x(e,"notContains",t))}and(e){if(e.length===0)throw new d("and() requires at least one filter factory",{op:"and"});let t=new r("and",e.map(a=>a(r.create())));return this.#t(t)}or(e){if(e.length===0)throw new d("or() requires at least one filter factory",{op:"or"});let t=new r("or",e.map(a=>a(r.create())));return this.#t(t)}clone(){return new r(this.op,this.children.map(e=>e instanceof x?new x(e.field,e.op,structuredClone(e.value)):e.clone()))}static create(){return new r}};C();var I=class extends d{constructor(t,a,i,s){super(`ORM validation error (${t}) on ${a}.${i}`,{kind:t,schema:a,operation:i,failures:s});this.kind=t;this.schema=a;this.operation=i;this.failures=s}};var ee=class{constructor(e){this.values=e}kind="set"},U=class{constructor(e,t){this.field=e;this.value=t}kind="inc"},L=class{constructor(e,t){this.field=e;this.value=t}kind="mul"},$=class{constructor(e,t){this.field=e;this.value=t}kind="min"},M=class{constructor(e,t){this.field=e;this.value=t}kind="max"},D=class{constructor(e){this.field=e}kind="unset"},G=class{constructor(e,t){this.field=e;this.value=t}kind="push"},H=class{constructor(e,t){this.field=e;this.value=t}kind="pull"},j=class{constructor(e,t){this.field=e;this.value=t}kind="patch"};function te(r){let e={};for(let t of r)t instanceof ee?Object.assign(e,t.values):e[t.field]=t;return e}function A(r,e){return r==="id"&&e!=="id"?e:r}function _e(r,e,t){switch(r.op){case"eq":return r.value===null?`${e} IS NULL`:`${e} = ${t(r.value)}`;case"ne":return r.value===null?`${e} IS NOT NULL`:`${e} != ${t(r.value)}`;case"gt":return`${e} > ${t(r.value)}`;case"gte":return`${e} >= ${t(r.value)}`;case"lt":return`${e} < ${t(r.value)}`;case"lte":return`${e} <= ${t(r.value)}`;case"in":return`${e} = ANY(${t(r.value)})`;case"notIn":return`NOT (${e} = ANY(${t(r.value)}))`;case"like":return`${e} ILIKE ${t(`%${r.value}%`)}`;case"exists":return`${e} IS NOT NULL`;case"notExists":return`${e} IS NULL`;case"contains":return`${e} @> ${t(JSON.stringify(r.value))}::jsonb`;case"notContains":return`NOT (${e} @> ${t(JSON.stringify(r.value))}::jsonb)`;default:return`${e} = ${t(r.value)}`}}function Ie(r,e,t){return _e(r,`"${A(r.field,e)}"`,t)}function Q(r,e){return r.children.map(t=>dt(t,e)).filter(t=>t!==null)}function ut(r,e){let t=Q(r,e);return t.length===0?null:t.length===1?t[0]:`(${t.join(r.op==="or"?" OR ":" AND ")})`}function dt(r,e){return r instanceof x?e(r):r instanceof q?ut(r,e):null}function K(r,e,t=1){let a=[],i=t;function s(c){return a.push(c),`$${i++}`}let o=Q(r,c=>Ie(c,e,s));return{whereClause:o.length>0?`WHERE ${o.join(" AND ")}`:"",params:a,nextParamIndex:i}}function re(r,e){let t=[],a=e;return{setParts:Object.entries(r).map(([s,n])=>{let o=`"${s}"`;return n instanceof U?(t.push(n.value),`${o} = ${o} + $${a++}`):n instanceof L?(t.push(n.value),`${o} = ${o} * $${a++}`):n instanceof $?(t.push(n.value),`${o} = LEAST(${o}, $${a++})`):n instanceof M?(t.push(n.value),`${o} = GREATEST(${o}, $${a++})`):n instanceof D?`${o} = NULL`:n instanceof G?(t.push(JSON.stringify(n.value)),`${o} = ${o} || jsonb_build_array($${a++}::jsonb)`):n instanceof H?(t.push(JSON.stringify(n.value)),`${o} = (SELECT COALESCE(jsonb_agg(e), '[]'::jsonb) FROM jsonb_array_elements(${o}) e WHERE e <> $${a++}::jsonb)`):n instanceof j?(t.push(JSON.stringify(n.value)),`${o} = ${o} || $${a++}::jsonb`):(t.push(n),`${o} = $${a++}`)}),params:t,nextParamIndex:a}}function ae(r,e,t,a){let{whereClause:i,params:s,nextParamIndex:n}=K(r,a),o=n,l=(e?.orderBy??[]).map(y=>`"${A(y.field,a)}" ${y.direction.toUpperCase()}`),c=l.length>0?`ORDER BY ${l.join(", ")}`:"",p="";e?.limit!=null&&(s.push(e.limit),p=`LIMIT $${o++}`);let u="";return e?.offset!=null&&(s.push(e.offset),u=`OFFSET $${o++}`),{sql:`SELECT ${e?.select?.length?e.select.map(y=>`"${A(y,a)}"`).join(", "):"*"} FROM "${t}" ${i} ${c} ${p} ${u}`.trim().replace(/\s+/g," "),params:s}}function Ue(r,e,t){let{whereClause:a,params:i}=K(r,t);return{sql:`SELECT COUNT(*) as count FROM "${e}" ${a}`.trim().replace(/\s+/g," "),params:i}}function Le(r,e){let t=Object.keys(e),a=Object.values(e),i=t.map((o,l)=>`$${l+1}`),s=t.map(o=>`"${o}"`).join(", ");return{sql:`INSERT INTO "${r}" (${s}) VALUES (${i.join(", ")}) RETURNING *`,params:a}}function $e(r,e,t,a){let{setParts:i,params:s,nextParamIndex:n}=re(a,1),{whereClause:o,params:l}=K(r,t,n),c=[...s,...l];return{sql:`UPDATE "${e}" SET ${i.join(", ")} ${o} RETURNING *`.trim().replace(/\s+/g," "),params:c}}function Me(r,e,t,a){let{setParts:i,params:s,nextParamIndex:n}=re(a,1);return s.push(t),{sql:`UPDATE "${r}" SET ${i.join(", ")} WHERE "${e}" = $${n} RETURNING *`.replace(/\s+/g," "),params:s}}function De(r,e,t){let{whereClause:a,params:i}=K(r,t);return{sql:`DELETE FROM "${e}" ${a} RETURNING *`.trim().replace(/\s+/g," "),params:i}}function Ge(r,e,t,a,i){let s=Object.keys(a),n=Object.values(a),o=s.map((m,g)=>`$${g+1}`),l=A(e,t),c,p=[...n];if(Object.keys(i).length>0){let{setParts:m,params:g}=re(i,s.length+1);c=m.join(", "),p.push(...g)}else c=`"${l}" = EXCLUDED."${l}"`;return{sql:`INSERT INTO "${r}" (${s.map(m=>`"${m}"`).join(", ")}) VALUES (${o.join(", ")}) ON CONFLICT ("${l}") DO UPDATE SET ${c} RETURNING *`.replace(/\s+/g," "),params:p}}function He(r,e){if(r.children.length===1&&r.children[0]instanceof x&&r.children[0].op==="eq")return r.children[0].field;let t;if(r.children.length===0)t="empty filter";else if(r.children.length===1){let a=r.children[0];t=`single non-eq filter (op: ${a instanceof x?a.op:"group"})`}else t=`${r.children.length} filter clauses`;throw new I("upsert-filter-incompatible",e,"upsertOne",[{cause:`PostgreSQL upsert requires a single eq filter on a UNIQUE-indexed column; received ${t}`}])}function mt(r,e,t){if(r==="count")return"COUNT(*)";let a=`"${A(e,t)}"`;switch(r){case"countDistinct":return`COUNT(DISTINCT ${a})`;case"sum":return`SUM(${a})`;case"avg":return`AVG(${a})`;case"min":return`MIN(${a})`;case"max":return`MAX(${a})`}}function gt(r,e,t,a){return t.has(r)?t.get(r):a.has(r)?`"${A(r,e)}"`:`"${r}"`}function je(r,e,t){let a=[],i=1;function s(g){return a.push(g),`$${i++}`}let n=[],o=new Map;for(let g of r.aggregates){let y=mt(g.fn,g.field,t);o.set(g.alias,y),n.push(`${y} AS "${g.alias}"`)}let l=[];for(let g of r.groupBy){let y=`"${A(g,t)}"`;l.push(y),n.push(`${y} AS "${g}"`)}let c="";if(r.where){let g=O=>Ie(O,t,s),y=Q(r.where,g);y.length>0&&(c=`WHERE ${y.join(" AND ")}`)}let p=l.length>0?`GROUP BY ${l.join(", ")}`:"",u="";if(r.having){let g=new Set(r.groupBy),y=T=>_e(T,gt(T.field,t,o,g),s),O=Q(r.having,y);O.length>0&&(u=`HAVING ${O.join(" AND ")}`)}return{sql:`SELECT ${n.join(", ")} FROM "${e}" ${c} ${p} ${u}`.trim().replace(/\s+/g," "),params:a}}C();Ae();C();fe();var V=class{queryableOps=[];updateOps=[];aggregateOps=[];supportedFieldTypes=[];onFatalError(e){let t=e instanceof d?e:new d("OrmAdapter fatal error",{},e);v.crash(t)}constructor(){let e=this;typeof e.connect=="function"&&v.on("start",()=>e.connect(),{class:this.constructor}),typeof e.disconnect=="function"&&v.on("close",()=>e.disconnect(),{class:this.constructor})}use(e,t){let a=this,i=async function*(){},s={findMany:(n,o)=>a.findMany?.(e,t,n,o)??Promise.resolve([]),iterateMany:(n,o)=>a.iterateMany?.(e,t,n,o)??i(),findOne:async n=>(await s.findMany(n,{limit:1}))[0]??null,count:n=>a.count?.(e,t,n)??Promise.reject(new Error("count not implemented")),createOne:async n=>(await s.createMany([n]))[0],createMany:n=>a.createMany?.(e,t,n)??Promise.resolve([]),updateMany:(n,o)=>a.updateMany?.(e,t,n,o)??Promise.resolve([]),updateOne:async(n,o)=>{let l=await s.findOne(n);if(!l)return null;let c=e.pkField.name,p=q.create().eq(c,l[c]);return(await s.updateMany(p,o))[0]??null},upsertOne:(n,o,l)=>a.upsertOne?.(e,t,n,o,l)??Promise.reject(new Error("upsertOne not implemented")),deleteOne:async n=>{let o=await s.findOne(n);if(!o)return null;let l=e.pkField.name;if(a.deleteByPk)await a.deleteByPk(e,t,o[l]);else if(a.deleteMany){let c=q.create().eq(l,o[l]);await a.deleteMany(e,t,c)}return o},deleteMany:n=>a.deleteMany?.(e,t,n)??Promise.resolve([]),raw:(...n)=>a.raw?.(e,t,...n)??Promise.reject(new Error("raw not implemented")),aggregate:n=>a.aggregate?.(e,t,n)??Promise.reject(new Error("aggregate not implemented")),aggregateOps:a.aggregateOps??[]};return s}};var ft=()=>b.v.object({host:b.v.string(),port:b.v.number(),username:b.v.string(),password:b.v.string(),database:b.v.string(),ssl:b.v.defaults(b.v.boolean(),!1)}),W="equipped_migrations",Qe=3735928559,yt=1e3,ne={string:"text",number:"double precision",boolean:"boolean",date:"timestamptz",null:"text",object:"jsonb",array:"jsonb"},ht={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"},se=class extends he(ft,V){schemaConfigPipe=b.v.object({schema:b.v.optional(b.v.string()),table:b.v.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;#t=new Ke.AsyncLocalStorage;constructor(e){super(e),this.pool=new Ve.Pool({host:e.host,port:e.port,user:e.username,password:e.password,database:e.database,ssl:e.ssl?{rejectUnauthorized:!1}:!1})}#e(){return this.#t.getStore()??this.pool}#r(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 d("Failed to disconnect PostgreSQL pool",{adapter:"postgresql"},e)}}async findByPk(e,t,a){let i=t;try{let s=this.#r(i),n=e.pkField.name;return(await this.#e().query(`SELECT * FROM "${s}" WHERE "${n}" = $1`,[a])).rows[0]??null}catch(s){throw new d("PostgreSQL findByPk failed",{adapter:"postgresql",operation:"findByPk",table:i.table},s)}}async createMany(e,t,a){let i=t;try{let s=this.#r(i),n=this.#e(),o=[];for(let l of a){let{sql:c,params:p}=Le(s,l),u=await n.query(c,p);o.push(u.rows[0])}return o}catch(s){throw new d("PostgreSQL createMany failed",{adapter:"postgresql",operation:"createMany",table:i.table},s)}}async updateByPk(e,t,a,i){let s=t;try{let n=this.#r(s),o=e.pkField.name,l=te(i);if(Object.keys(l).length===0)return(await this.#e().query(`SELECT * FROM "${n}" WHERE "${o}" = $1`,[a])).rows[0]??null;let{sql:c,params:p}=Me(n,o,a,l);return(await this.#e().query(c,p)).rows[0]??null}catch(n){throw new d("PostgreSQL updateByPk failed",{adapter:"postgresql",operation:"updateByPk",table:s.table},n)}}async deleteByPk(e,t,a){let i=t;try{let s=this.#r(i),n=e.pkField.name;return(await this.#e().query(`DELETE FROM "${s}" WHERE "${n}" = $1 RETURNING *`,[a])).rows[0]??null}catch(s){throw new d("PostgreSQL deleteByPk failed",{adapter:"postgresql",operation:"deleteByPk",table:i.table},s)}}async raw(e,t,a,i=[]){let s=t;try{return await this.#e().query(a,i)}catch(n){throw n instanceof d?n:new d("PostgreSQL raw failed",{adapter:"postgresql",operation:"raw",table:s.table},n)}}async findMany(e,t,a,i){let s=t;try{let n=this.#r(s),{sql:o,params:l}=ae(a,i,n,e.pkField.name);return(await this.#e().query(o,l)).rows}catch(n){throw new d("PostgreSQL findMany failed",{adapter:"postgresql",operation:"findMany",table:s.table},n)}}async count(e,t,a){let i=t;try{let s=this.#r(i),{sql:n,params:o}=Ue(a,s,e.pkField.name),l=await this.#e().query(n,o);return Number(l.rows[0]?.count??0)}catch(s){throw new d("PostgreSQL count failed",{adapter:"postgresql",operation:"count",table:i.table},s)}}async*iterateMany(e,t,a,i){let s=t,n,o=!1,l;try{let c=this.#r(s),{sql:p,params:u}=ae(a,i,c,e.pkField.name),m=this.#t.getStore();m?n=m:(n=await this.pool.connect(),o=!0),l=n.query(new We.default(p,u));let g=i?.batchSize??yt;for(;;){let y=await l.read(g);if(y.length===0)break;for(let O of y)yield O}}catch(c){throw new d("PostgreSQL iterateMany failed",{adapter:"postgresql",operation:"iterateMany",table:s.table},c)}finally{try{await l?.close()}finally{o&&n?.release()}}}async updateMany(e,t,a,i){let s=t;try{let n=this.#r(s),{sql:o,params:l}=$e(a,n,e.pkField.name,i);return(await this.#e().query(o,l)).rows}catch(n){throw new d("PostgreSQL updateMany failed",{adapter:"postgresql",operation:"updateMany",table:s.table},n)}}async deleteMany(e,t,a){let i=t;try{let s=this.#r(i),{sql:n,params:o}=De(a,s,e.pkField.name);return(await this.#e().query(n,o)).rows}catch(s){throw new d("PostgreSQL deleteMany failed",{adapter:"postgresql",operation:"deleteMany",table:i.table},s)}}async upsertOne(e,t,a,i,s){let n=t;try{let o=this.#r(n),l=He(a,e.name),c=s.length>0?te(s):{},{sql:p,params:u}=Ge(o,l,e.pkField.name,i,c);return(await this.#e().query(p,u)).rows[0]}catch(o){throw o instanceof d?o:new d("PostgreSQL upsertOne failed",{adapter:"postgresql",operation:"upsertOne",table:n.table},o)}}async aggregate(e,t,a){let i=t;try{let s=this.#r(i),{sql:n,params:o}=je(a,s,e.pkField.name);return(await this.#e().query(n,o)).rows.map(c=>{let p={};for(let u of a.aggregates){let m=c[u.alias];u.fn==="min"||u.fn==="max"?p[u.alias]=m:p[u.alias]=Number(typeof m=="string"?m:m??0)}for(let u of a.groupBy)p[u]=c[u];return p})}catch(s){throw s instanceof d?s:new d("PostgreSQL aggregate failed",{adapter:"postgresql",operation:"aggregate",table:i.table},s)}}async loadMigrations(){let e=this.#e();return await e.query(`
4
- CREATE TABLE IF NOT EXISTS "${W}" (
1
+ "use strict";var De=Object.create;var P=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var He=Object.getOwnPropertyNames;var je=Object.getPrototypeOf,Qe=Object.prototype.hasOwnProperty;var b=(a,e)=>()=>(a&&(e=a(a=0)),e);var re=(a,e)=>{for(var t in e)P(a,t,{get:e[t],enumerable:!0})},oe=(a,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of He(e))!Qe.call(a,i)&&i!==t&&P(a,i,{get:()=>e[i],enumerable:!(n=Ge(e,i))||n.enumerable});return a};var ie=(a,e,t)=>(t=a!=null?De(je(a)):{},oe(e||!a||!a.__esModule?P(t,"default",{value:a,enumerable:!0}):t,a)),Ke=a=>oe(P({},"__esModule",{value:!0}),a);var d,ce=b(()=>{"use strict";d=class extends Error{constructor(t,n,i){super(t,{cause:i});this.message=t;this.context=n;this.cause=i}}});var le=b(()=>{"use strict"});function pe(a,e){for(let t of e.after)if(!a.some(n=>n.class===t)){let n=t.name||"unknown",i=e.class?.name||"anonymous";throw new Error(`Missing dependency: ${i} declares after: [${n}], but ${n} is not registered`)}if(e.class){let t=[...a,e];Ve(t)}a.push(e)}function Ve(a){let e=new Map;for(let r of a){if(!r.class)continue;let s=e.get(r.class);if(s)for(let o of r.after)s.includes(o)||s.push(o);else e.set(r.class,[...r.after])}let t=new Set,n=new Set;function i(r,s){if(n.has(r)){let o=s.indexOf(r),c=[...s.slice(o),r].map(p=>p.name||"unknown");throw new Error(`Cycle detected: ${c.join(" \u2192 ")}`)}if(!t.has(r)){n.add(r),s.push(r);for(let o of e.get(r)??[])i(o,s);s.pop(),n.delete(r),t.add(r)}}for(let r of e.keys())i(r,[])}function We(a,e=!1){if(a.length===0)return[];let t=new Map,n=[];for(let c of a)if(c.class){let p=t.get(c.class);p?p.push(c):t.set(c.class,[c])}else n.push(c);let i=[...t.keys()],r=new Map,s=new Map;for(let c of i)r.set(c,0),s.set(c,[]);for(let c of a)if(c.class)for(let p of c.after){let[u,m]=e?[c.class,p]:[p,c.class],g=s.get(u);g.includes(m)||(g.push(m),r.set(m,r.get(m)+1))}let o=[],l=i.filter(c=>r.get(c)===0);for(;l.length>0;){let c=[],p=[];for(let u of l)c.push(...t.get(u)??[]);o.push(c);for(let u of l)for(let m of s.get(u)??[]){let g=r.get(m)-1;r.set(m,g),g===0&&p.push(m)}l=p}if(n.length>0){let c=n.filter(u=>u.after.length>0),p=n.filter(u=>u.after.length===0);if(c.length>0){let u=-1;for(let g of c)for(let y of g.after){let O=o.findIndex(T=>T.some(v=>v.class===y));O>u&&(u=O)}let m=u+1;m<o.length?o[m].push(...c):o.push(c)}p.length>0&&(o.length>0?o[o.length-1].push(...p):o.push(p))}return o}async function N(a,e=n=>{throw n},t=!1){let n=We(a,t);for(let i of n)await Promise.all(i.map(async r=>{try{return typeof r.cb=="function"?await r.cb():await r.cb}catch(s){return e(s instanceof Error?s:new Error(`${s}`))}}))}var ue=b(()=>{"use strict"});var x,de,me=b(()=>{"use strict";x=require("valleyed"),de=()=>x.v.object({app:x.v.object({name:x.v.string()}),log:x.v.defaults(x.v.object({level:x.v.defaults(x.v.in(["fatal","error","warn","info","debug","trace","silent"]),"info")}),{}),utils:x.v.defaults(x.v.object({hashSaltRounds:x.v.defaults(x.v.number(),10),paginationDefaultLimit:x.v.defaults(x.v.number(),100),maxFileUploadSizeInMb:x.v.defaults(x.v.number(),500)}),{})})});var k,ge,Y,S,fe=b(()=>{"use strict";k=ie(require("pino"),1),ge=require("ulid"),Y=require("valleyed");C();ue();me();S=class a{static#t;static#e;static#a={};settings;log;constructor(e){a.#e=this,this.settings=Object.freeze(e),this.log=(0,k.default)({level:this.settings.log.level,serializers:{err:k.default.stdSerializers.err,error:k.default.stdSerializers.err,req:k.default.stdSerializers.req,res:k.default.stdSerializers.res},mixin:()=>({instanceId:a.#t})}),a.#n()}alias(e){if(a.#t!==void 0)return a.crash(new d("Instance already has an alias",{}));a.#t=e}get id(){return a.#t===void 0?a.crash(new d("Instance doesnt have an alias yet",{})):a.#t}getScopedName(e,t="."){return[this.settings.app.name,e].join(t)}async start(){try{await N(a.#a.setup??[]),await N(a.#a.start??[])}catch(e){a.crash(new d("Error starting instance",{},e))}}static envs(e){let t=Y.v.validate(e,process.env);return t.valid||a.crash(new d(`Environment variables are not valid
2
+ ${t.error.toString()}`,{messages:t.error.messages})),t.value}static create(e){if(a.#e)return a.crash(new d("Instance has been initialized already",{}));let t=Y.v.validate(de(),e);return t.valid||a.crash(new d(`Settings are not valid
3
+ ${t.error.toString()}`,{messages:t.error.messages})),new a(t.value)}static get(){return a.#e?a.#e:a.crash(new d("Has not been initialized. Make sure an instance has been created before you get an instance",{}))}static maybeGet(){return a.#e}static on(e,t,n){a.#a[e]??=[];let i={cb:t,class:n?.class,after:n?.after??[]};pe(a.#a[e],i)}static#n(){Object.entries({SIGHUP:1,SIGINT:2,SIGTERM:15}).forEach(([t,n])=>{process.on(t,async()=>{await N(a.#a.close??[],()=>{},!0),process.exit(128+n)})})}static resolveBeforeCrash(e){let t=e();return a.on("close",async()=>await t),t}static crash(e){console.error(e),process.exit(1)}static createId(e){return`${e?.prefix??""}${(0,ge.ulid)(e?.time?.getTime())}`}}});var ye=b(()=>{"use strict"});var he=b(()=>{"use strict"});var xe=b(()=>{"use strict"});var be=b(()=>{"use strict"});var we=b(()=>{"use strict"});var Oe=b(()=>{"use strict"});var C=b(()=>{"use strict";ce();le();ye();he();xe();be();we();Oe()});var Ee={};re(Ee,{OrmIntrospectionError:()=>z});var z,Ce=b(()=>{"use strict";C();z=class extends d{adapter;table;constructor(e){super(`Introspection failed for table '${e.table}' on adapter '${e.adapter}'`,{adapter:e.adapter,table:e.table},e.cause),this.adapter=e.adapter,this.table=e.table}}});var at={};re(at,{PostgresAdapter:()=>se});module.exports=Ke(at);var Ue=require("async_hooks"),Le=require("pg"),$e=ie(require("pg-cursor"),1),w=require("valleyed");C();var St=require("valleyed"),X=class{name;path;constructor(e,t){this.name=e,this.path=t??[e]}};function qe(a){return a instanceof X?a.path.join("."):a}var h=class{constructor(e,t,n){this.op=t;this.value=n;this.field=qe(e)}field},q=class a{constructor(e="and",t){this.op=e;this.children=t??[]}children;#t(e){return new a(this.op,[...this.children,e])}eq(e,t){return this.#t(new h(e,"eq",t))}ne(e,t){return this.#t(new h(e,"ne",t))}gt(e,t){return this.#t(new h(e,"gt",t))}gte(e,t){return this.#t(new h(e,"gte",t))}lt(e,t){return this.#t(new h(e,"lt",t))}lte(e,t){return this.#t(new h(e,"lte",t))}in(e,t){return this.#t(new h(e,"in",t))}notIn(e,t){return this.#t(new h(e,"notIn",t))}like(e,t){return this.#t(new h(e,"like",t))}exists(e){return this.#t(new h(e,"exists",!0))}notExists(e){return this.#t(new h(e,"notExists",!0))}contains(e,t){return this.#t(new h(e,"contains",t))}notContains(e,t){return this.#t(new h(e,"notContains",t))}and(e){if(e.length===0)throw new d("and() requires at least one filter factory",{op:"and"});let t=new a("and",e.map(n=>n(a.create())));return this.#t(t)}or(e){if(e.length===0)throw new d("or() requires at least one filter factory",{op:"or"});let t=new a("or",e.map(n=>n(a.create())));return this.#t(t)}clone(){return new a(this.op,this.children.map(e=>e instanceof h?new h(e.field,e.op,structuredClone(e.value)):e.clone()))}static create(){return new a}};C();var _=class extends d{constructor(t,n,i,r){super(`ORM validation error (${t}) on ${n}.${i}`,{kind:t,schema:n,operation:i,failures:r});this.kind=t;this.schema=n;this.operation=i;this.failures=r}};var J=class{constructor(e){this.values=e}kind="set"},I=class{constructor(e,t){this.field=e;this.value=t}kind="inc"},U=class{constructor(e,t){this.field=e;this.value=t}kind="mul"},L=class{constructor(e,t){this.field=e;this.value=t}kind="min"},$=class{constructor(e,t){this.field=e;this.value=t}kind="max"},M=class{constructor(e){this.field=e}kind="unset"},D=class{constructor(e,t){this.field=e;this.value=t}kind="push"},G=class{constructor(e,t){this.field=e;this.value=t}kind="pull"},H=class{constructor(e,t){this.field=e;this.value=t}kind="patch"};function Z(a){let e={};for(let t of a)t instanceof J?Object.assign(e,t.values):e[t.field]=t;return e}function A(a,e){return a==="id"&&e!=="id"?e:a}function Ae(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 Te(a,e,t){return Ae(a,`"${A(a.field,e)}"`,t)}function j(a,e){return a.children.map(t=>ze(t,e)).filter(t=>t!==null)}function Ye(a,e){let t=j(a,e);return t.length===0?null:t.length===1?t[0]:`(${t.join(a.op==="or"?" OR ":" AND ")})`}function ze(a,e){return a instanceof h?e(a):a instanceof q?Ye(a,e):null}function Q(a,e,t=1){let n=[],i=t;function r(c){return n.push(c),`$${i++}`}let o=j(a,c=>Te(c,e,r));return{whereClause:o.length>0?`WHERE ${o.join(" AND ")}`:"",params:n,nextParamIndex:i}}function ee(a,e){let t=[],n=e;return{setParts:Object.entries(a).map(([r,s])=>{let o=`"${r}"`;return s instanceof I?(t.push(s.value),`${o} = ${o} + $${n++}`):s instanceof U?(t.push(s.value),`${o} = ${o} * $${n++}`):s instanceof L?(t.push(s.value),`${o} = LEAST(${o}, $${n++})`):s instanceof $?(t.push(s.value),`${o} = GREATEST(${o}, $${n++})`):s instanceof M?`${o} = NULL`:s instanceof D?(t.push(JSON.stringify(s.value)),`${o} = ${o} || jsonb_build_array($${n++}::jsonb)`):s instanceof G?(t.push(JSON.stringify(s.value)),`${o} = (SELECT COALESCE(jsonb_agg(e), '[]'::jsonb) FROM jsonb_array_elements(${o}) e WHERE e <> $${n++}::jsonb)`):s instanceof H?(t.push(JSON.stringify(s.value)),`${o} = ${o} || $${n++}::jsonb`):(t.push(s),`${o} = $${n++}`)}),params:t,nextParamIndex:n}}function te(a,e,t,n){let{whereClause:i,params:r,nextParamIndex:s}=Q(a,n),o=s,l=(e?.orderBy??[]).map(y=>`"${A(y.field,n)}" ${y.direction.toUpperCase()}`),c=l.length>0?`ORDER BY ${l.join(", ")}`:"",p="";e?.limit!=null&&(r.push(e.limit),p=`LIMIT $${o++}`);let u="";return e?.offset!=null&&(r.push(e.offset),u=`OFFSET $${o++}`),{sql:`SELECT ${e?.select?.length?e.select.map(y=>`"${A(y,n)}"`).join(", "):"*"} FROM "${t}" ${i} ${c} ${p} ${u}`.trim().replace(/\s+/g," "),params:r}}function ke(a,e,t){let{whereClause:n,params:i}=Q(a,t);return{sql:`SELECT COUNT(*) as count FROM "${e}" ${n}`.trim().replace(/\s+/g," "),params:i}}function Se(a,e){let t=Object.keys(e),n=Object.values(e),i=t.map((o,l)=>`$${l+1}`),r=t.map(o=>`"${o}"`).join(", ");return{sql:`INSERT INTO "${a}" (${r}) VALUES (${i.join(", ")}) RETURNING *`,params:n}}function Fe(a,e,t,n){let{setParts:i,params:r,nextParamIndex:s}=ee(n,1),{whereClause:o,params:l}=Q(a,t,s),c=[...r,...l];return{sql:`UPDATE "${e}" SET ${i.join(", ")} ${o} RETURNING *`.trim().replace(/\s+/g," "),params:c}}function ve(a,e,t,n){let{setParts:i,params:r,nextParamIndex:s}=ee(n,1);return r.push(t),{sql:`UPDATE "${a}" SET ${i.join(", ")} WHERE "${e}" = $${s} RETURNING *`.replace(/\s+/g," "),params:r}}function Be(a,e,t){let{whereClause:n,params:i}=Q(a,t);return{sql:`DELETE FROM "${e}" ${n} RETURNING *`.trim().replace(/\s+/g," "),params:i}}function Re(a,e,t,n,i){let r=Object.keys(n),s=Object.values(n),o=r.map((m,g)=>`$${g+1}`),l=A(e,t),c,p=[...s];if(Object.keys(i).length>0){let{setParts:m,params:g}=ee(i,r.length+1);c=m.join(", "),p.push(...g)}else c=`"${l}" = EXCLUDED."${l}"`;return{sql:`INSERT INTO "${a}" (${r.map(m=>`"${m}"`).join(", ")}) VALUES (${o.join(", ")}) ON CONFLICT ("${l}") DO UPDATE SET ${c} RETURNING *`.replace(/\s+/g," "),params:p}}function Pe(a,e){if(a.children.length===1&&a.children[0]instanceof h&&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 h?n.op:"group"})`}else t=`${a.children.length} filter clauses`;throw new _("upsert-filter-incompatible",e,"upsertOne",[{cause:`PostgreSQL upsert requires a single eq filter on a UNIQUE-indexed column; received ${t}`}])}function Xe(a,e,t){if(a==="count")return"COUNT(*)";let n=`"${A(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 Je(a,e,t,n){return t.has(a)?t.get(a):n.has(a)?`"${A(a,e)}"`:`"${a}"`}function Ne(a,e,t){let n=[],i=1;function r(g){return n.push(g),`$${i++}`}let s=[],o=new Map;for(let g of a.aggregates){let y=Xe(g.fn,g.field,t);o.set(g.alias,y),s.push(`${y} AS "${g.alias}"`)}let l=[];for(let g of a.groupBy){let y=`"${A(g,t)}"`;l.push(y),s.push(`${y} AS "${g}"`)}let c="";if(a.where){let g=O=>Te(O,t,r),y=j(a.where,g);y.length>0&&(c=`WHERE ${y.join(" AND ")}`)}let p=l.length>0?`GROUP BY ${l.join(", ")}`:"",u="";if(a.having){let g=new Set(a.groupBy),y=T=>Ae(T,Je(T.field,t,o,g),r),O=j(a.having,y);O.length>0&&(u=`HAVING ${O.join(" AND ")}`)}return{sql:`SELECT ${s.join(", ")} FROM "${e}" ${c} ${p} ${u}`.trim().replace(/\s+/g," "),params:n}}C();var ae=require("valleyed");function _e(a,e){let t=a();ae.v.compile(t);class n extends e{constructor(s,...o){super(...o);this.config=s}static create(s,...o){let l=ae.v.validate(t,s);if(!l.valid)throw l.error;return new this(l.value,...o)}}return n}C();fe();var K=class{queryableOps=[];updateOps=[];aggregateOps=[];supportedFieldTypes=[];onFatalError(e){let t=e instanceof d?e:new d("OrmAdapter fatal error",{},e);S.crash(t)}constructor(){let e=this;typeof e.connect=="function"&&S.on("start",()=>e.connect(),{class:this.constructor}),typeof e.disconnect=="function"&&S.on("close",()=>e.disconnect(),{class:this.constructor})}use(e,t){let n=this,i=async function*(){},r={findMany:(s,o)=>n.findMany?.(e,t,s,o)??Promise.resolve([]),iterateMany:(s,o)=>n.iterateMany?.(e,t,s,o)??i(),findOne:async s=>(await r.findMany(s,{limit:1}))[0]??null,count:s=>n.count?.(e,t,s)??Promise.reject(new Error("count not implemented")),createOne:async s=>(await r.createMany([s]))[0],createMany:s=>n.createMany?.(e,t,s)??Promise.resolve([]),updateMany:(s,o)=>n.updateMany?.(e,t,s,o)??Promise.resolve([]),updateOne:async(s,o)=>{let l=await r.findOne(s);if(!l)return null;let c=e.pkField.name,p=q.create().eq(c,l[c]);return(await r.updateMany(p,o))[0]??null},upsertOne:(s,o,l)=>n.upsertOne?.(e,t,s,o,l)??Promise.reject(new Error("upsertOne not implemented")),deleteOne:async s=>{let o=await r.findOne(s);if(!o)return null;let l=e.pkField.name;if(n.deleteByPk)await n.deleteByPk(e,t,o[l]);else if(n.deleteMany){let c=q.create().eq(l,o[l]);await n.deleteMany(e,t,c)}return o},deleteMany:s=>n.deleteMany?.(e,t,s)??Promise.resolve([]),raw:(...s)=>n.raw?.(e,t,...s)??Promise.reject(new Error("raw not implemented")),aggregate:s=>n.aggregate?.(e,t,s)??Promise.reject(new Error("aggregate not implemented")),aggregateOps:n.aggregateOps??[]};return r}};var Ze=()=>w.v.object({host:w.v.string(),port:w.v.number(),username:w.v.string(),password:w.v.string(),database:w.v.string(),ssl:w.v.defaults(w.v.boolean(),!1)}),V="equipped_migrations",Ie=3735928559,et=1e3,ne={string:"text",number:"double precision",boolean:"boolean",date:"timestamptz",null:"text",object:"jsonb",array:"jsonb"},tt={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"},se=class extends _e(Ze,K){schemaConfigPipe=w.v.object({schema:w.v.optional(w.v.string()),table:w.v.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;#t=new Ue.AsyncLocalStorage;constructor(e){super(e),this.pool=new Le.Pool({host:e.host,port:e.port,user:e.username,password:e.password,database:e.database,ssl:e.ssl?{rejectUnauthorized:!1}:!1})}#e(){return this.#t.getStore()??this.pool}#a(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 d("Failed to disconnect PostgreSQL pool",{adapter:"postgresql"},e)}}async findByPk(e,t,n){let i=t;try{let r=this.#a(i),s=e.pkField.name;return(await this.#e().query(`SELECT * FROM "${r}" WHERE "${s}" = $1`,[n])).rows[0]??null}catch(r){throw new d("PostgreSQL findByPk failed",{adapter:"postgresql",operation:"findByPk",table:i.table},r)}}async createMany(e,t,n){let i=t;try{let r=this.#a(i),s=this.#e(),o=[];for(let l of n){let{sql:c,params:p}=Se(r,l),u=await s.query(c,p);o.push(u.rows[0])}return o}catch(r){throw new d("PostgreSQL createMany failed",{adapter:"postgresql",operation:"createMany",table:i.table},r)}}async updateByPk(e,t,n,i){let r=t;try{let s=this.#a(r),o=e.pkField.name,l=Z(i);if(Object.keys(l).length===0)return(await this.#e().query(`SELECT * FROM "${s}" WHERE "${o}" = $1`,[n])).rows[0]??null;let{sql:c,params:p}=ve(s,o,n,l);return(await this.#e().query(c,p)).rows[0]??null}catch(s){throw new d("PostgreSQL updateByPk failed",{adapter:"postgresql",operation:"updateByPk",table:r.table},s)}}async deleteByPk(e,t,n){let i=t;try{let r=this.#a(i),s=e.pkField.name;return(await this.#e().query(`DELETE FROM "${r}" WHERE "${s}" = $1 RETURNING *`,[n])).rows[0]??null}catch(r){throw new d("PostgreSQL deleteByPk failed",{adapter:"postgresql",operation:"deleteByPk",table:i.table},r)}}async raw(e,t,n,i=[]){let r=t;try{return await this.#e().query(n,i)}catch(s){throw s instanceof d?s:new d("PostgreSQL raw failed",{adapter:"postgresql",operation:"raw",table:r.table},s)}}async findMany(e,t,n,i){let r=t;try{let s=this.#a(r),{sql:o,params:l}=te(n,i,s,e.pkField.name);return(await this.#e().query(o,l)).rows}catch(s){throw new d("PostgreSQL findMany failed",{adapter:"postgresql",operation:"findMany",table:r.table},s)}}async count(e,t,n){let i=t;try{let r=this.#a(i),{sql:s,params:o}=ke(n,r,e.pkField.name),l=await this.#e().query(s,o);return Number(l.rows[0]?.count??0)}catch(r){throw new d("PostgreSQL count failed",{adapter:"postgresql",operation:"count",table:i.table},r)}}async*iterateMany(e,t,n,i){let r=t,s,o=!1,l;try{let c=this.#a(r),{sql:p,params:u}=te(n,i,c,e.pkField.name),m=this.#t.getStore();m?s=m:(s=await this.pool.connect(),o=!0),l=s.query(new $e.default(p,u));let g=i?.batchSize??et;for(;;){let y=await l.read(g);if(y.length===0)break;for(let O of y)yield O}}catch(c){throw new d("PostgreSQL iterateMany failed",{adapter:"postgresql",operation:"iterateMany",table:r.table},c)}finally{try{await l?.close()}finally{o&&s?.release()}}}async updateMany(e,t,n,i){let r=t;try{let s=this.#a(r),{sql:o,params:l}=Fe(n,s,e.pkField.name,i);return(await this.#e().query(o,l)).rows}catch(s){throw new d("PostgreSQL updateMany failed",{adapter:"postgresql",operation:"updateMany",table:r.table},s)}}async deleteMany(e,t,n){let i=t;try{let r=this.#a(i),{sql:s,params:o}=Be(n,r,e.pkField.name);return(await this.#e().query(s,o)).rows}catch(r){throw new d("PostgreSQL deleteMany failed",{adapter:"postgresql",operation:"deleteMany",table:i.table},r)}}async upsertOne(e,t,n,i,r){let s=t;try{let o=this.#a(s),l=Pe(n,e.name),c=r.length>0?Z(r):{},{sql:p,params:u}=Re(o,l,e.pkField.name,i,c);return(await this.#e().query(p,u)).rows[0]}catch(o){throw o instanceof d?o:new d("PostgreSQL upsertOne failed",{adapter:"postgresql",operation:"upsertOne",table:s.table},o)}}async aggregate(e,t,n){let i=t;try{let r=this.#a(i),{sql:s,params:o}=Ne(n,r,e.pkField.name);return(await this.#e().query(s,o)).rows.map(c=>{let p={};for(let u of n.aggregates){let m=c[u.alias];u.fn==="min"||u.fn==="max"?p[u.alias]=m:p[u.alias]=Number(typeof m=="string"?m:m??0)}for(let u of n.groupBy)p[u]=c[u];return p})}catch(r){throw r instanceof d?r:new d("PostgreSQL aggregate failed",{adapter:"postgresql",operation:"aggregate",table:i.table},r)}}async loadMigrations(){let e=this.#e();return await e.query(`
4
+ CREATE TABLE IF NOT EXISTS "${V}" (
5
5
  id text PRIMARY KEY,
6
6
  applied_at bigint NOT NULL
7
7
  )
8
- `),(await e.query(`SELECT id, applied_at FROM "${W}"`)).rows.map(a=>({id:a.id,appliedAt:Number(a.applied_at)}))}async recordMigration(e,t){await this.#e().query(`INSERT INTO "${W}" (id, applied_at) VALUES ($1, $2)`,[e,t])}async acquireMigrationLock(e){let t=this.#e();await t.query("SELECT pg_advisory_lock($1)",[Qe]);try{return await e()}finally{await t.query("SELECT pg_advisory_unlock($1)",[Qe])}}async applyCreateTable(e){let t=ne[e.pk.type]??"text",a=[`"${e.pk.name}" ${t} PRIMARY KEY`];for(let i of e.fields)a.push(this.#a(i));await this.#e().query(`CREATE TABLE "${e.name}" (${a.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(),a=`"${e.table}"`,i=`"${e.name}"`,s=ne[e.to.type]??"text";await t.query(`ALTER TABLE ${a} ALTER COLUMN ${i} TYPE ${s} USING ${i}::${s}`),e.to.nullable?await t.query(`ALTER TABLE ${a} ALTER COLUMN ${i} DROP NOT NULL`):await t.query(`ALTER TABLE ${a} ALTER COLUMN ${i} SET NOT NULL`),e.to.default!==void 0?await t.query(`ALTER TABLE ${a} ALTER COLUMN ${i} SET DEFAULT ${this.#n(e.to.default)}`):await t.query(`ALTER TABLE ${a} ALTER COLUMN ${i} DROP DEFAULT`),e.to.name!==e.name&&await t.query(`ALTER TABLE ${a} RENAME COLUMN ${i} 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),a=e.unique?"UNIQUE ":"",i=e.on.map(s=>`"${s}"`).join(", ");await this.#e().query(`CREATE ${a}INDEX "${t}" ON "${e.table}" (${i})`)}async applyDropIndex(e){await this.#e().query(`DROP INDEX "${e.name}"`)}async applyAddForeignKey(e){let t=e.name??`fk_${e.table}_${e.on}`,a=`ALTER TABLE "${e.table}" ADD CONSTRAINT "${t}" FOREIGN KEY ("${e.on}") REFERENCES "${e.references.table}" ("${e.references.column}")`;e.onDelete&&(a+=` ON DELETE ${this.#s(e.onDelete)}`),e.onUpdate&&(a+=` ON UPDATE ${this.#s(e.onUpdate)}`),await this.#e().query(a)}async applyDropForeignKey(e){await this.#e().query(`ALTER TABLE "${e.table}" DROP CONSTRAINT "${e.name}"`)}async introspect(){let{OrmIntrospectionError:e}=await Promise.resolve().then(()=>(Pe(),Re)),t=this.#e(),a=await t.query(`
8
+ `),(await e.query(`SELECT id, applied_at FROM "${V}"`)).rows.map(n=>({id:n.id,appliedAt:Number(n.applied_at)}))}async recordMigration(e,t){await this.#e().query(`INSERT INTO "${V}" (id, applied_at) VALUES ($1, $2)`,[e,t])}async acquireMigrationLock(e){let t=this.#e();await t.query("SELECT pg_advisory_lock($1)",[Ie]);try{return await e()}finally{await t.query("SELECT pg_advisory_unlock($1)",[Ie])}}async applyCreateTable(e){let t=ne[e.pk.type]??"text",n=[`"${e.pk.name}" ${t} PRIMARY KEY`];for(let i of e.fields)n.push(this.#n(i));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.#n(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}"`,i=`"${e.name}"`,r=ne[e.to.type]??"text";await t.query(`ALTER TABLE ${n} ALTER COLUMN ${i} TYPE ${r} USING ${i}::${r}`),e.to.nullable?await t.query(`ALTER TABLE ${n} ALTER COLUMN ${i} DROP NOT NULL`):await t.query(`ALTER TABLE ${n} ALTER COLUMN ${i} SET NOT NULL`),e.to.default!==void 0?await t.query(`ALTER TABLE ${n} ALTER COLUMN ${i} SET DEFAULT ${this.#s(e.to.default)}`):await t.query(`ALTER TABLE ${n} ALTER COLUMN ${i} DROP DEFAULT`),e.to.name!==e.name&&await t.query(`ALTER TABLE ${n} RENAME COLUMN ${i} 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 ":"",i=e.on.map(r=>`"${r}"`).join(", ");await this.#e().query(`CREATE ${n}INDEX "${t}" ON "${e.table}" (${i})`)}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.#r(e.onDelete)}`),e.onUpdate&&(n+=` ON UPDATE ${this.#r(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 Promise.resolve().then(()=>(Ce(),Ee)),t=this.#e(),n=await t.query(`
9
9
  SELECT table_name FROM information_schema.tables
10
10
  WHERE table_schema = 'public' AND table_type = 'BASE TABLE' AND table_name != $1
11
- `,[W]),i=[];for(let s of a.rows){let n=s.table_name,o=await t.query(`
11
+ `,[V]),i=[];for(let r of n.rows){let s=r.table_name,o=await t.query(`
12
12
  SELECT column_name, data_type, is_nullable, column_default
13
13
  FROM information_schema.columns
14
14
  WHERE table_schema = 'public' AND table_name = $1
15
15
  ORDER BY ordinal_position
16
- `,[n]),c=(await t.query(`
16
+ `,[s]),c=(await t.query(`
17
17
  SELECT kcu.column_name
18
18
  FROM information_schema.table_constraints tc
19
19
  JOIN information_schema.key_column_usage kcu
20
20
  ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema
21
21
  WHERE tc.table_schema = 'public' AND tc.table_name = $1 AND tc.constraint_type = 'PRIMARY KEY'
22
- `,[n])).rows[0]?.column_name,p=await t.query(`
22
+ `,[s])).rows[0]?.column_name,p=await t.query(`
23
23
  SELECT kcu.column_name
24
24
  FROM information_schema.table_constraints tc
25
25
  JOIN information_schema.key_column_usage kcu
26
26
  ON tc.constraint_name = kcu.constraint_name AND tc.table_schema = kcu.table_schema
27
27
  WHERE tc.table_schema = 'public' AND tc.table_name = $1 AND tc.constraint_type = 'UNIQUE'
28
- `,[n]),u=new Set(p.rows.map(f=>f.column_name)),m,g=[];for(let f of o.rows){let F=f.data_type.toLowerCase(),E=ht[F];if(!E)throw new e({adapter:"postgresql",table:n,cause:`Unsupported column type '${F}' on column '${f.column_name}'`});if(f.column_name===c){m={name:f.column_name,type:E};continue}let Y=f.is_nullable==="YES",R=f.column_default,P=this.#c(R);g.push({name:f.column_name,type:E,nullable:Y,...P!==void 0?{default:P}:{},...u.has(f.column_name)?{unique:!0}:{}})}let y=await t.query(`
28
+ `,[s]),u=new Set(p.rows.map(f=>f.column_name)),m,g=[];for(let f of o.rows){let F=f.data_type.toLowerCase(),E=tt[F];if(!E)throw new e({adapter:"postgresql",table:s,cause:`Unsupported column type '${F}' on column '${f.column_name}'`});if(f.column_name===c){m={name:f.column_name,type:E};continue}let W=f.is_nullable==="YES",B=f.column_default,R=this.#c(B);g.push({name:f.column_name,type:E,nullable:W,...R!==void 0?{default:R}:{},...u.has(f.column_name)?{unique:!0}:{}})}let y=await t.query(`
29
29
  SELECT indexname, indexdef
30
30
  FROM pg_indexes
31
31
  WHERE schemaname = 'public' AND tablename = $1
32
- `,[n]),O=[];for(let f of y.rows){let F=f.indexname,E=f.indexdef;if(E.includes("PRIMARY KEY")||F.endsWith("_pkey"))continue;let Y=E.toUpperCase().includes("UNIQUE"),R=E.match(/\(([^)]+)\)/),P=R?R[1].split(",").map(Ye=>Ye.trim().replace(/"/g,"")):[];O.push({name:F,on:P,unique:Y})}let T=await t.query(`
32
+ `,[s]),O=[];for(let f of y.rows){let F=f.indexname,E=f.indexdef;if(E.includes("PRIMARY KEY")||F.endsWith("_pkey"))continue;let W=E.toUpperCase().includes("UNIQUE"),B=E.match(/\(([^)]+)\)/),R=B?B[1].split(",").map(Me=>Me.trim().replace(/"/g,"")):[];O.push({name:F,on:R,unique:W})}let T=await t.query(`
33
33
  SELECT
34
34
  tc.constraint_name,
35
35
  kcu.column_name,
@@ -45,5 +45,5 @@ ${t.error.toString()}`,{messages:t.error.messages})),new r(t.value)}static get()
45
45
  JOIN information_schema.referential_constraints rc
46
46
  ON tc.constraint_name = rc.constraint_name AND tc.table_schema = rc.constraint_schema
47
47
  WHERE tc.table_schema = 'public' AND tc.table_name = $1 AND tc.constraint_type = 'FOREIGN KEY'
48
- `,[n]),B=[];for(let f of T.rows)B.push({name:f.constraint_name,on:f.column_name,references:{table:f.foreign_table_name,column:f.foreign_column_name},...f.delete_rule&&f.delete_rule!=="NO ACTION"?{onDelete:this.#o(f.delete_rule)}:{},...f.update_rule&&f.update_rule!=="NO ACTION"?{onUpdate:this.#o(f.update_rule)}:{}});i.push({name:n,pk:m,fields:g,indexes:O,foreignKeys:B})}return i}#a(e){let t=ne[e.type]??"text",a=`"${e.name}" ${t}`;return e.nullable||(a+=" NOT NULL"),e.default!==void 0&&(a+=` DEFAULT ${this.#n(e.default)}`),e.unique&&(a+=" UNIQUE"),a}#n(e){return e===null?"NULL":typeof e=="string"?`'${e.replace(/'/g,"''")}'`:typeof e=="boolean"?e?"TRUE":"FALSE":String(e)}#i(e,t,a){let i=`idx_${e}_${t.join("_")}`;return a?`${i}_unique`:i}#s(e){return{cascade:"CASCADE",restrict:"RESTRICT",setnull:"SET NULL",noaction:"NO ACTION"}[e.toLowerCase()]??"NO ACTION"}#o(e){return{CASCADE:"cascade",RESTRICT:"restrict","SET NULL":"setNull"}[e.toUpperCase()]??"noAction"}#c(e){if(e==null)return;if(e==="NULL"||e==="NULL::text")return null;if(e==="true"||e==="TRUE")return!0;if(e==="false"||e==="FALSE")return!1;let t=e.match(/^(-?\d+(?:\.\d+)?)$/);if(t)return Number(t[1]);let a=e.match(/^'(.*)'(?:::.*)?$/);if(a)return a[1].replace(/''/g,"'")}async session(e){if(this.#t.getStore())return e();let t;try{t=await this.pool.connect(),await t.query("BEGIN");let a=await this.#t.run(t,e);return await t.query("COMMIT"),a}catch(a){if(t)try{await t.query("ROLLBACK")}catch{}throw a instanceof d?a:new d("PostgreSQL session failed",{adapter:"postgresql",operation:"session"},a)}finally{t?.release()}}};0&&(module.exports={PostgresAdapter});
48
+ `,[s]),v=[];for(let f of T.rows)v.push({name:f.constraint_name,on:f.column_name,references:{table:f.foreign_table_name,column:f.foreign_column_name},...f.delete_rule&&f.delete_rule!=="NO ACTION"?{onDelete:this.#o(f.delete_rule)}:{},...f.update_rule&&f.update_rule!=="NO ACTION"?{onUpdate:this.#o(f.update_rule)}:{}});i.push({name:s,pk:m,fields:g,indexes:O,foreignKeys:v})}return i}#n(e){let t=ne[e.type]??"text",n=`"${e.name}" ${t}`;return e.nullable||(n+=" NOT NULL"),e.default!==void 0&&(n+=` DEFAULT ${this.#s(e.default)}`),e.unique&&(n+=" UNIQUE"),n}#s(e){return e===null?"NULL":typeof e=="string"?`'${e.replace(/'/g,"''")}'`:typeof e=="boolean"?e?"TRUE":"FALSE":String(e)}#i(e,t,n){let i=`idx_${e}_${t.join("_")}`;return n?`${i}_unique`:i}#r(e){return{cascade:"CASCADE",restrict:"RESTRICT",setnull:"SET NULL",noaction:"NO ACTION"}[e.toLowerCase()]??"NO ACTION"}#o(e){return{CASCADE:"cascade",RESTRICT:"restrict","SET NULL":"setNull"}[e.toUpperCase()]??"noAction"}#c(e){if(e==null)return;if(e==="NULL"||e==="NULL::text")return null;if(e==="true"||e==="TRUE")return!0;if(e==="false"||e==="FALSE")return!1;let t=e.match(/^(-?\d+(?:\.\d+)?)$/);if(t)return Number(t[1]);let n=e.match(/^'(.*)'(?:::.*)?$/);if(n)return n[1].replace(/''/g,"'")}async session(e){if(this.#t.getStore())return e();let t;try{t=await this.pool.connect(),await t.query("BEGIN");let n=await this.#t.run(t,e);return await t.query("COMMIT"),n}catch(n){if(t)try{await t.query("ROLLBACK")}catch{}throw n instanceof d?n:new d("PostgreSQL session failed",{adapter:"postgresql",operation:"session"},n)}finally{t?.release()}}};0&&(module.exports={PostgresAdapter});
49
49
  //# sourceMappingURL=index.min.cjs.map