equipped 5.3.1 → 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.
- package/CHANGELOG.md +2 -0
- package/dist/cjs/cache/adapters/in-memory/index.cjs +155 -155
- package/dist/cjs/cache/adapters/in-memory/index.cjs.map +1 -1
- package/dist/cjs/cache/adapters/in-memory/index.min.cjs +3 -3
- package/dist/cjs/cache/adapters/in-memory/index.min.cjs.map +1 -1
- package/dist/cjs/dbs/adapters/mongodb/index.cjs.map +1 -1
- package/dist/cjs/dbs/adapters/mongodb/index.min.cjs +2 -2
- package/dist/cjs/dbs/adapters/mongodb/index.min.cjs.map +1 -1
- package/dist/cjs/dbs/index.cjs +181 -179
- package/dist/cjs/dbs/index.cjs.map +1 -1
- package/dist/cjs/dbs/index.min.cjs +3 -3
- package/dist/cjs/dbs/index.min.cjs.map +1 -1
- package/dist/cjs/events/adapters/kafka/index.cjs.map +1 -1
- package/dist/cjs/events/adapters/kafka/index.min.cjs +2 -2
- package/dist/cjs/events/adapters/kafka/index.min.cjs.map +1 -1
- package/dist/cjs/events/adapters/rabbitmq/index.cjs +179 -179
- package/dist/cjs/events/adapters/rabbitmq/index.cjs.map +1 -1
- package/dist/cjs/events/adapters/rabbitmq/index.min.cjs +3 -3
- package/dist/cjs/events/adapters/rabbitmq/index.min.cjs.map +1 -1
- package/dist/cjs/orm/adapters/mongodb/index.cjs +144 -144
- package/dist/cjs/orm/adapters/mongodb/index.cjs.map +1 -1
- package/dist/cjs/orm/adapters/mongodb/index.min.cjs +1 -1
- package/dist/cjs/orm/adapters/mongodb/index.min.cjs.map +1 -1
- package/dist/cjs/orm/adapters/postgresql/index.cjs +144 -215
- package/dist/cjs/orm/adapters/postgresql/index.cjs.map +1 -1
- package/dist/cjs/orm/adapters/postgresql/index.min.cjs +11 -11
- package/dist/cjs/orm/adapters/postgresql/index.min.cjs.map +1 -1
- package/dist/cjs/server/adapters/express/index.cjs +291 -225
- package/dist/cjs/server/adapters/express/index.cjs.map +1 -1
- package/dist/cjs/server/adapters/express/index.min.cjs +7 -7
- package/dist/cjs/server/adapters/express/index.min.cjs.map +1 -1
- package/dist/cjs/server/adapters/fastify/index.cjs +276 -210
- package/dist/cjs/server/adapters/fastify/index.cjs.map +1 -1
- package/dist/cjs/server/adapters/fastify/index.min.cjs +7 -7
- package/dist/cjs/server/adapters/fastify/index.min.cjs.map +1 -1
- package/dist/cjs/server/index.cjs +81 -15
- package/dist/cjs/server/index.cjs.map +1 -1
- package/dist/cjs/server/index.min.cjs +7 -7
- package/dist/cjs/server/index.min.cjs.map +1 -1
- package/dist/cjs/utilities/index.cjs +0 -5
- package/dist/cjs/utilities/index.cjs.map +1 -1
- package/dist/cjs/utilities/index.min.cjs +2 -2
- package/dist/cjs/utilities/index.min.cjs.map +1 -1
- package/dist/esm/cache/adapters/in-memory/index.min.mjs +1 -1
- package/dist/esm/cache/adapters/in-memory/index.min.mjs.map +1 -1
- package/dist/esm/cache/adapters/in-memory/index.mjs +6 -3
- package/dist/esm/cache/adapters/in-memory/index.mjs.map +1 -1
- package/dist/esm/cache/adapters/redis/index.min.mjs +1 -1
- package/dist/esm/cache/adapters/redis/index.mjs +5 -3
- package/dist/esm/cache/index.min.mjs +1 -1
- package/dist/esm/cache/index.mjs +2 -2
- package/dist/esm/{chunk-5PZACGPI.mjs → chunk-26BOI6IL.mjs} +7 -5
- package/dist/esm/{chunk-5PZACGPI.mjs.map → chunk-26BOI6IL.mjs.map} +1 -1
- package/dist/esm/{chunk-7SQ5JQYR.min.mjs → chunk-AODOD22O.min.mjs} +2 -2
- package/dist/esm/chunk-APSDCRY5.min.mjs +32 -0
- package/dist/esm/chunk-APSDCRY5.min.mjs.map +1 -0
- package/dist/esm/{chunk-A4P7P6BU.mjs → chunk-CEYT5YBA.mjs} +157 -347
- package/dist/esm/chunk-CEYT5YBA.mjs.map +1 -0
- package/dist/esm/chunk-CU2HU5UE.min.mjs +2 -0
- package/dist/esm/chunk-CU2HU5UE.min.mjs.map +1 -0
- package/dist/esm/chunk-DAK7OKSH.min.mjs +2 -0
- package/dist/esm/{chunk-MQXTTWPS.min.mjs.map → chunk-DAK7OKSH.min.mjs.map} +1 -1
- package/dist/esm/{chunk-IRYCN6PI.min.mjs → chunk-DAUQA32Q.min.mjs} +2 -2
- package/dist/esm/{chunk-BWUFPMVG.mjs → chunk-FQYRVHQT.mjs} +2 -2
- package/dist/esm/chunk-NEF3UYFA.mjs +144 -0
- package/dist/esm/chunk-NEF3UYFA.mjs.map +1 -0
- package/dist/esm/chunk-NNFUYHQ7.mjs +135 -0
- package/dist/esm/chunk-NNFUYHQ7.mjs.map +1 -0
- package/dist/esm/{chunk-7CP7ZE2O.mjs → chunk-PCEHFZ6G.mjs} +9 -5
- package/dist/esm/{chunk-7CP7ZE2O.mjs.map → chunk-PCEHFZ6G.mjs.map} +1 -1
- package/dist/esm/{chunk-P4PRHHIY.min.mjs → chunk-QCCDJLBH.min.mjs} +2 -2
- package/dist/esm/{chunk-3TP7NINX.mjs → chunk-RIXTQQUU.mjs} +2 -2
- package/dist/esm/{chunk-LKS5ZE45.mjs → chunk-RPPYCWXW.mjs} +2 -2
- package/dist/esm/{chunk-HXFNN6RI.mjs → chunk-T2O72JBW.mjs} +3 -3
- package/dist/esm/{chunk-TSVHZZE4.mjs → chunk-VQO4MSEC.mjs} +5 -5
- package/dist/esm/{chunk-676VIABN.min.mjs → chunk-X7VNAGLR.min.mjs} +2 -2
- package/dist/esm/chunk-XTXAEBXY.min.mjs +2 -0
- package/dist/esm/{chunk-7NF7PV6S.min.mjs.map → chunk-XTXAEBXY.min.mjs.map} +1 -1
- package/dist/esm/{chunk-2GGMLKRP.min.mjs → chunk-YDQW6ETS.min.mjs} +2 -2
- package/dist/esm/chunk-ZDBDR3IB.min.mjs +2 -0
- package/dist/esm/chunk-ZDBDR3IB.min.mjs.map +1 -0
- package/dist/esm/dbs/adapters/mongodb/index.min.mjs +1 -1
- package/dist/esm/dbs/adapters/mongodb/index.min.mjs.map +1 -1
- package/dist/esm/dbs/adapters/mongodb/index.mjs +8 -5
- package/dist/esm/dbs/adapters/mongodb/index.mjs.map +1 -1
- package/dist/esm/dbs/index.min.mjs +1 -1
- package/dist/esm/dbs/index.mjs +5 -3
- package/dist/esm/errors/index.min.mjs +1 -1
- package/dist/esm/errors/index.mjs +1 -1
- package/dist/esm/events/adapters/kafka/index.min.mjs +1 -1
- package/dist/esm/events/adapters/kafka/index.mjs +4 -2
- package/dist/esm/events/adapters/rabbitmq/index.min.mjs +1 -1
- package/dist/esm/events/adapters/rabbitmq/index.min.mjs.map +1 -1
- package/dist/esm/events/adapters/rabbitmq/index.mjs +7 -3
- package/dist/esm/events/adapters/rabbitmq/index.mjs.map +1 -1
- package/dist/esm/index.min.mjs +1 -1
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/instance/index.min.mjs +1 -1
- package/dist/esm/instance/index.mjs +1 -1
- package/dist/esm/{introspection-YJF3QAUK.mjs → introspection-FGDVYTPP.mjs} +3 -3
- package/dist/esm/introspection-UDWDS6DV.min.mjs +2 -0
- package/dist/esm/jobs/adapters/redis/index.min.mjs +1 -1
- package/dist/esm/jobs/adapters/redis/index.min.mjs.map +1 -1
- package/dist/esm/jobs/adapters/redis/index.mjs +10 -6
- package/dist/esm/jobs/adapters/redis/index.mjs.map +1 -1
- package/dist/esm/orm/adapters/in-memory/index.min.mjs +1 -1
- package/dist/esm/orm/adapters/in-memory/index.mjs +4 -3
- package/dist/esm/orm/adapters/json/index.min.mjs +1 -1
- package/dist/esm/orm/adapters/json/index.min.mjs.map +1 -1
- package/dist/esm/orm/adapters/json/index.mjs +6 -5
- package/dist/esm/orm/adapters/json/index.mjs.map +1 -1
- package/dist/esm/orm/adapters/mongodb/index.min.mjs +1 -1
- package/dist/esm/orm/adapters/mongodb/index.min.mjs.map +1 -1
- package/dist/esm/orm/adapters/mongodb/index.mjs +6 -4
- package/dist/esm/orm/adapters/mongodb/index.mjs.map +1 -1
- package/dist/esm/orm/adapters/postgresql/index.min.mjs +2 -2
- package/dist/esm/orm/adapters/postgresql/index.min.mjs.map +1 -1
- package/dist/esm/orm/adapters/postgresql/index.mjs +8 -5
- package/dist/esm/orm/adapters/postgresql/index.mjs.map +1 -1
- package/dist/esm/orm/index.min.mjs +1 -1
- package/dist/esm/orm/index.mjs +3 -3
- package/dist/esm/server/adapters/express/index.min.mjs +1 -1
- package/dist/esm/server/adapters/express/index.min.mjs.map +1 -1
- package/dist/esm/server/adapters/express/index.mjs +7 -3
- package/dist/esm/server/adapters/express/index.mjs.map +1 -1
- package/dist/esm/server/adapters/fastify/index.min.mjs +1 -1
- package/dist/esm/server/adapters/fastify/index.min.mjs.map +1 -1
- package/dist/esm/server/adapters/fastify/index.mjs +7 -3
- package/dist/esm/server/adapters/fastify/index.mjs.map +1 -1
- package/dist/esm/server/index.min.mjs +1 -1
- package/dist/esm/server/index.mjs +1 -1
- package/dist/esm/utilities/index.min.mjs +1 -1
- package/dist/esm/utilities/index.mjs +5 -4
- package/dist/esm/validations/index.min.mjs +1 -1
- package/dist/esm/validations/index.mjs +1 -1
- package/dist/types/{base-BDTBLZ9a.d.ts → base-qDndMBf8.d.ts} +2 -2
- package/dist/types/cache/adapters/in-memory/index.js +7 -4
- package/dist/types/cache/adapters/redis/index.js +5 -3
- package/dist/types/cache/index.js +2 -2
- package/dist/types/{chunk-4DH3POYM.js → chunk-35CDCTLR.js} +4 -4
- package/dist/types/{chunk-J3TGB5YQ.js → chunk-4YQA5GPT.js} +8 -4
- package/dist/types/{chunk-YLJNBL6J.js → chunk-AQIV47BY.js} +6 -4
- package/dist/types/{chunk-TT5EORDK.js → chunk-BKDWUJRG.js} +156 -346
- package/dist/types/{chunk-5Z26ZURE.js → chunk-DA2VYP7D.js} +1 -1
- package/dist/types/{chunk-LPB5LS7A.js → chunk-GDMGPX4C.js} +1 -1
- package/dist/types/chunk-H5V6ADFD.js +134 -0
- package/dist/types/{chunk-IZDJDGOV.js → chunk-OOKJEMQI.js} +2 -2
- package/dist/types/chunk-PPD4WDG6.js +143 -0
- package/dist/types/{chunk-55CTVK7R.js → chunk-T7K7PO6G.js} +1 -1
- package/dist/types/dbs/adapters/mongodb/index.js +8 -5
- package/dist/types/dbs/index.js +5 -3
- package/dist/types/errors/index.js +1 -1
- package/dist/types/events/adapters/kafka/index.js +4 -2
- package/dist/types/events/adapters/rabbitmq/index.js +7 -3
- package/dist/types/index.js +1 -1
- package/dist/types/instance/index.js +1 -1
- package/dist/types/{introspection-EHGM4RMO.js → introspection-FSNS33CQ.js} +2 -2
- package/dist/types/jobs/adapters/redis/index.js +10 -6
- package/dist/types/orm/adapters/in-memory/index.js +4 -3
- package/dist/types/orm/adapters/json/index.js +6 -5
- package/dist/types/orm/adapters/mongodb/index.js +6 -4
- package/dist/types/orm/adapters/postgresql/index.js +8 -5
- package/dist/types/orm/index.js +3 -3
- package/dist/types/server/adapters/express/index.d.ts +1 -1
- package/dist/types/server/adapters/express/index.js +7 -3
- package/dist/types/server/adapters/fastify/index.d.ts +1 -1
- package/dist/types/server/adapters/fastify/index.js +7 -3
- package/dist/types/server/index.d.ts +2 -2
- package/dist/types/server/index.js +1 -1
- package/dist/types/utilities/index.d.ts +1 -2
- package/dist/types/utilities/index.js +5 -4
- package/dist/types/validations/index.js +1 -1
- package/package.json +1 -1
- package/dist/esm/chunk-7NF7PV6S.min.mjs +0 -2
- package/dist/esm/chunk-A4P7P6BU.mjs.map +0 -1
- package/dist/esm/chunk-IN5YKIJ7.min.mjs +0 -32
- package/dist/esm/chunk-IN5YKIJ7.min.mjs.map +0 -1
- package/dist/esm/chunk-MQXTTWPS.min.mjs +0 -2
- package/dist/esm/introspection-THKMXV5V.min.mjs +0 -2
- /package/dist/esm/{chunk-7SQ5JQYR.min.mjs.map → chunk-AODOD22O.min.mjs.map} +0 -0
- /package/dist/esm/{chunk-IRYCN6PI.min.mjs.map → chunk-DAUQA32Q.min.mjs.map} +0 -0
- /package/dist/esm/{chunk-BWUFPMVG.mjs.map → chunk-FQYRVHQT.mjs.map} +0 -0
- /package/dist/esm/{chunk-P4PRHHIY.min.mjs.map → chunk-QCCDJLBH.min.mjs.map} +0 -0
- /package/dist/esm/{chunk-3TP7NINX.mjs.map → chunk-RIXTQQUU.mjs.map} +0 -0
- /package/dist/esm/{chunk-LKS5ZE45.mjs.map → chunk-RPPYCWXW.mjs.map} +0 -0
- /package/dist/esm/{chunk-HXFNN6RI.mjs.map → chunk-T2O72JBW.mjs.map} +0 -0
- /package/dist/esm/{chunk-TSVHZZE4.mjs.map → chunk-VQO4MSEC.mjs.map} +0 -0
- /package/dist/esm/{chunk-676VIABN.min.mjs.map → chunk-X7VNAGLR.min.mjs.map} +0 -0
- /package/dist/esm/{chunk-2GGMLKRP.min.mjs.map → chunk-YDQW6ETS.min.mjs.map} +0 -0
- /package/dist/esm/{introspection-THKMXV5V.min.mjs.map → introspection-FGDVYTPP.mjs.map} +0 -0
- /package/dist/esm/{introspection-YJF3QAUK.mjs.map → introspection-UDWDS6DV.min.mjs.map} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";var ae=Object.create;var A=Object.defineProperty;var se=Object.getOwnPropertyDescriptor;var re=Object.getOwnPropertyNames;var ie=Object.getPrototypeOf,ce=Object.prototype.hasOwnProperty;var le=(o,e)=>{for(var t in e)A(o,t,{get:e[t],enumerable:!0})},K=(o,e,t,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of re(e))!ce.call(o,r)&&r!==t&&A(o,r,{get:()=>e[r],enumerable:!(a=se(e,r))||a.enumerable});return o};var pe=(o,e,t)=>(t=o!=null?ae(ie(o)):{},K(e||!o||!o.__esModule?A(t,"default",{value:o,enumerable:!0}):t,o)),de=o=>K(A({},"__esModule",{value:!0}),o);var xe={};le(xe,{MongoDbAdapter:()=>N});module.exports=de(xe);var ee=require("async_hooks"),te=require("mongodb"),O=require("valleyed");var u=class extends Error{constructor(t,a,r){super(t,{cause:r});this.message=t;this.context=a;this.cause=r}};var w=pe(require("pino"),1),W=require("ulid"),R=require("valleyed");function z(o,e){for(let t of e.after)if(!o.some(a=>a.class===t)){let a=t.name||"unknown",r=e.class?.name||"anonymous";throw new Error(`Missing dependency: ${r} declares after: [${a}], but ${a} is not registered`)}if(e.class){let t=[...o,e];ue(t)}o.push(e)}function ue(o){let e=new Map;for(let s of o){if(!s.class)continue;let n=e.get(s.class);if(n)for(let i of s.after)n.includes(i)||n.push(i);else e.set(s.class,[...s.after])}let t=new Set,a=new Set;function r(s,n){if(a.has(s)){let i=n.indexOf(s),c=[...n.slice(i),s].map(d=>d.name||"unknown");throw new Error(`Cycle detected: ${c.join(" \u2192 ")}`)}if(!t.has(s)){a.add(s),n.push(s);for(let i of e.get(s)??[])r(i,n);n.pop(),a.delete(s),t.add(s)}}for(let s of e.keys())r(s,[])}function ge(o,e=!1){if(o.length===0)return[];let t=new Map,a=[];for(let c of o)if(c.class){let d=t.get(c.class);d?d.push(c):t.set(c.class,[c])}else a.push(c);let r=[...t.keys()],s=new Map,n=new Map;for(let c of r)s.set(c,0),n.set(c,[]);for(let c of o)if(c.class)for(let d of c.after){let[p,f]=e?[c.class,d]:[d,c.class],g=n.get(p);g.includes(f)||(g.push(f),s.set(f,s.get(f)+1))}let i=[],l=r.filter(c=>s.get(c)===0);for(;l.length>0;){let c=[],d=[];for(let p of l)c.push(...t.get(p)??[]);i.push(c);for(let p of l)for(let f of n.get(p)??[]){let g=s.get(f)-1;s.set(f,g),g===0&&d.push(f)}l=d}if(a.length>0){let c=a.filter(p=>p.after.length>0),d=a.filter(p=>p.after.length===0);if(c.length>0){let p=-1;for(let g of c)for(let x of g.after){let L=i.findIndex(oe=>oe.some(ne=>ne.class===x));L>p&&(p=L)}let f=p+1;f<i.length?i[f].push(...c):i.push(c)}d.length>0&&(i.length>0?i[i.length-1].push(...d):i.push(d))}return i}async function F(o,e=a=>{throw a},t=!1){let a=ge(o,t);for(let r of a)await Promise.all(r.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 y=require("valleyed"),V=()=>y.v.object({app:y.v.object({name:y.v.string()}),log:y.v.defaults(y.v.object({level:y.v.defaults(y.v.in(["fatal","error","warn","info","debug","trace","silent"]),"info")}),{}),utils:y.v.defaults(y.v.object({hashSaltRounds:y.v.defaults(y.v.number(),10),paginationDefaultLimit:y.v.defaults(y.v.number(),100),maxFileUploadSizeInMb:y.v.defaults(y.v.number(),500)}),{})});var k=class o{static#e;static#t;static#o={};settings;log;constructor(e){o.#t=this,this.settings=Object.freeze(e),this.log=(0,w.default)({level:this.settings.log.level,serializers:{err:w.default.stdSerializers.err,error:w.default.stdSerializers.err,req:w.default.stdSerializers.req,res:w.default.stdSerializers.res},mixin:()=>({instanceId:o.#e})}),o.#n()}alias(e){if(o.#e!==void 0)return o.crash(new u("Instance already has an alias",{}));o.#e=e}get id(){return o.#e===void 0?o.crash(new u("Instance doesnt have an alias yet",{})):o.#e}getScopedName(e,t="."){return[this.settings.app.name,e].join(t)}async start(){try{await F(o.#o.setup??[]),await F(o.#o.start??[])}catch(e){o.crash(new u("Error starting instance",{},e))}}static envs(e){let t=R.v.validate(e,process.env);return t.valid||o.crash(new u(`Environment variables are not valid
|
|
2
2
|
${t.error.toString()}`,{messages:t.error.messages})),t.value}static create(e){if(o.#t)return o.crash(new u("Instance has been initialized already",{}));let t=R.v.validate(V(),e);return t.valid||o.crash(new u(`Settings are not valid
|
|
3
|
-
${t.error.toString()}`,{messages:t.error.messages})),new o(t.value)}static get(){return o.#t?o.#t:o.crash(new u("Has not been initialized. Make sure an instance has been created before you get an instance",{}))}static maybeGet(){return o.#t}static on(e,t,a){o.#o[e]??=[];let r={cb:t,class:a?.class,after:a?.after??[]};z(o.#o[e],r)}static#n(){Object.entries({SIGHUP:1,SIGINT:2,SIGTERM:15}).forEach(([t,a])=>{process.on(t,async()=>{await F(o.#o.close??[],()=>{},!0),process.exit(128+a)})})}static resolveBeforeCrash(e){let t=e();return o.on("close",async()=>await t),t}static crash(e){console.error(e),process.exit(1)}static createId(e){return`${e?.prefix??""}${(0,W.ulid)(e?.time?.getTime())}`}};var _=require("valleyed");function Q(o,e){let t=o();_.v.compile(t);class a extends e{constructor(n,...i){super(...i);this.config=n}static create(n,...i){let l=_.v.validate(t,n);if(!l.valid)throw l.error;return new this(l.value,...i)}}return a}var Me=require("valleyed"),D=class{name;path;constructor(e,t){this.name=e,this.path=t??[e]}};function J(o){return o instanceof D?o.path.join("."):o}var m=class{constructor(e,t,a){this.op=t;this.value=a;this.field=J(e)}field},b=class o{constructor(e="and",t){this.op=e;this.children=t??[]}children;#e(e){return new o(this.op,[...this.children,e])}eq(e,t){return this.#e(new m(e,"eq",t))}ne(e,t){return this.#e(new m(e,"ne",t))}gt(e,t){return this.#e(new m(e,"gt",t))}gte(e,t){return this.#e(new m(e,"gte",t))}lt(e,t){return this.#e(new m(e,"lt",t))}lte(e,t){return this.#e(new m(e,"lte",t))}in(e,t){return this.#e(new m(e,"in",t))}notIn(e,t){return this.#e(new m(e,"notIn",t))}like(e,t){return this.#e(new m(e,"like",t))}exists(e){return this.#e(new m(e,"exists",!0))}notExists(e){return this.#e(new m(e,"notExists",!0))}contains(e,t){return this.#e(new m(e,"contains",t))}notContains(e,t){return this.#e(new m(e,"notContains",t))}and(e){if(e.length===0)throw new u("and() requires at least one filter factory",{op:"and"});let t=new o("and",e.map(a=>a(o.create())));return this.#e(t)}or(e){if(e.length===0)throw new u("or() requires at least one filter factory",{op:"or"});let t=new o("or",e.map(a=>a(o.create())));return this.#e(t)}clone(){return new o(this.op,this.children.map(e=>e instanceof m?new m(e.field,e.op,structuredClone(e.value)):e.clone()))}static create(){return new o}};var I=class{constructor(e){this.values=e}kind="set"},S=class{constructor(e,t){this.field=e;this.value=t}kind="inc"},B=class{constructor(e,t){this.field=e;this.value=t}kind="mul"},M=class{constructor(e,t){this.field=e;this.value=t}kind="min"},C=class{constructor(e,t){this.field=e;this.value=t}kind="max"},T=class{constructor(e){this.field=e}kind="unset"},q=class{constructor(e,t){this.field=e;this.value=t}kind="push"},P=class{constructor(e,t){this.field=e;this.value=t}kind="pull"},$=class{constructor(e,t){this.field=e;this.value=t}kind="patch"};function X(o){let e={};for(let t of o)t instanceof I?Object.assign(e,t.values):e[t.field]=t;return e}function h(o,e){let t=[];for(let a of o.children){let r=Y(a,e);r&&t.push(r)}return t.length===0?{}:t.length===1?t[0]:{$and:t}}function G(o,e,t){let a=h(o,t),r=e?.orderBy??[],s=r.length>0?Object.fromEntries(r.map(l=>[v(l.field,t),l.direction==="desc"?-1:1])):void 0,n=e?.select??[],i=n.length>0?Object.fromEntries(n.map(l=>[v(l,t),1])):void 0;return{filter:a,sort:s,limit:e?.limit,skip:e?.offset,projection:i}}function v(o,e){return o==="id"&&e==="_id"?"_id":o}function me(o,e){let t=v(o.field,e);switch(o.op){case"eq":return{[t]:{$eq:o.value}};case"ne":return{[t]:{$ne:o.value}};case"gt":return{[t]:{$gt:o.value}};case"gte":return{[t]:{$gte:o.value}};case"lt":return{[t]:{$lt:o.value}};case"lte":return{[t]:{$lte:o.value}};case"in":return{[t]:{$in:o.value}};case"notIn":return{[t]:{$nin:o.value}};case"like":return{[t]:{$regex:new RegExp(String(o.value),"i")}};case"exists":return{[t]:{$exists:!0,$ne:null}};case"notExists":return{[t]:{$eq:null}};case"contains":return{[t]:{$all:Array.isArray(o.value)?o.value:[o.value]}};case"notContains":return{[t]:{$not:{$all:Array.isArray(o.value)?o.value:[o.value]}}};default:return{[t]:{$eq:o.value}}}}function Y(o,e){return o instanceof m?me(o,e):o instanceof b?fe(o,e):null}function fe(o,e){let t=o.children.map(a=>Y(a,e)).filter(a=>a!==null);return t.length===0?null:t.length===1?t[0]:{[o.op==="or"?"$or":"$and"]:t}}function U(o){let e={},t={},a={},r={},s={},n={},i={},l={};for(let[d,p]of Object.entries(o))if(p instanceof S)t[d]=p.value;else if(p instanceof B)a[d]=p.value;else if(p instanceof M)r[d]=p.value;else if(p instanceof C)s[d]=p.value;else if(p instanceof T)n[d]="";else if(p instanceof q)i[d]=p.value;else if(p instanceof P)l[d]=p.value;else if(p instanceof $){let f=p.value;for(let[g,x]of Object.entries(f))e[`${d}.${g}`]=x}else e[d]=p;let c={};return Object.keys(e).length&&(c.$set=e),Object.keys(t).length&&(c.$inc=t),Object.keys(a).length&&(c.$mul=a),Object.keys(r).length&&(c.$min=r),Object.keys(s).length&&(c.$max=s),Object.keys(n).length&&(c.$unset=n),Object.keys(i).length&&(c.$push=i),Object.keys(l).length&&(c.$pull=l),c}function H(o){return U(X(o))}function Z(o,e){let t=[];if(o.where){let n=h(o.where,e);Object.keys(n).length>0&&t.push({$match:n})}let a=o.groupBy.length>0?Object.fromEntries(o.groupBy.map(n=>[n,`$${v(n,e)}`])):null,r={};for(let n of o.aggregates){let i=n.field?`$${v(n.field,e)}`:void 0;switch(n.fn){case"count":r[n.alias]={$sum:1};break;case"countDistinct":r[n.alias]={$addToSet:i};break;case"sum":case"avg":case"min":case"max":r[n.alias]={[`$${n.fn}`]:i};break}}t.push({$group:{_id:a,...r}});let s={_id:0};for(let n of o.groupBy)s[n]=`$_id.${n}`;for(let n of o.aggregates)n.fn==="countDistinct"?s[n.alias]={$size:`$${n.alias}`}:s[n.alias]=1;if(t.push({$project:s}),o.having){let n=h(o.having,"");Object.keys(n).length>0&&t.push({$match:n})}return t}var E=class{queryableOps=[];updateOps=[];aggregateOps=[];supportedFieldTypes=[];onFatalError(e){let t=e instanceof u?e:new u("OrmAdapter fatal error",{},e);k.crash(t)}constructor(){let e=this;typeof e.connect=="function"&&k.on("start",()=>e.connect(),{class:this.constructor}),typeof e.disconnect=="function"&&k.on("close",()=>e.disconnect(),{class:this.constructor})}use(e,t){let a=this,r=async function*(){},s={findMany:(n,i)=>a.findMany?.(e,t,n,i)??Promise.resolve([]),iterateMany:(n,i)=>a.iterateMany?.(e,t,n,i)??r(),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,i)=>a.updateMany?.(e,t,n,i)??Promise.resolve([]),updateOne:async(n,i)=>{let l=await s.findOne(n);if(!l)return null;let c=e.pkField.name,d=b.create().eq(c,l[c]);return(await s.updateMany(d,i))[0]??null},upsertOne:(n,i,l)=>a.upsertOne?.(e,t,n,i,l)??Promise.reject(new Error("upsertOne not implemented")),deleteOne:async n=>{let i=await s.findOne(n);if(!i)return null;let l=e.pkField.name;if(a.deleteByPk)await a.deleteByPk(e,t,i[l]);else if(a.deleteMany){let c=b.create().eq(l,i[l]);await a.deleteMany(e,t,c)}return i},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 ye=()=>O.v.object({db:O.v.string(),col:O.v.string()}),he=()=>O.v.object({uri:O.v.string()}),j="equipped_migrations",N=class extends Q(he,E){schemaConfigPipe=ye();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 ee.AsyncLocalStorage;constructor(e,t){super(e),this.client=new te.MongoClient(e.uri,{...t,ignoreUndefined:!0})}#t(e){return this.client.db(e.db).collection(e.col)}async connect(){try{await this.client.connect()}catch(e){throw new u("Failed to connect MongoDB client",{adapter:"mongodb"},e)}}async disconnect(){try{await this.client.close()}catch(e){throw new u("Failed to disconnect MongoDB client",{adapter:"mongodb"},e)}}async findByPk(e,t,a){let r=t;try{let s=e.pkField.name;return await this.#t(r).findOne({[s]:a},{session:this.#e.getStore()})}catch(s){throw new u("MongoDB findByPk failed",{adapter:"mongodb",operation:"findByPk",collection:r.col},s)}}async createMany(e,t,a){let r=t;try{let s=this.#t(r),n=a.map(i=>i);return await s.insertMany(n,{session:this.#e.getStore()}),a}catch(s){throw new u("MongoDB createMany failed",{adapter:"mongodb",operation:"createMany",collection:r.col},s)}}async updateByPk(e,t,a,r){let s=t;try{let n=e.pkField.name,i=this.#t(s),l=H(r);return Object.keys(l).length===0?await i.findOne({[n]:a},{session:this.#e.getStore()}):await i.findOneAndUpdate({[n]:a},l,{returnDocument:"after",session:this.#e.getStore()})}catch(n){throw new u("MongoDB updateByPk failed",{adapter:"mongodb",operation:"updateByPk",collection:s.col},n)}}async deleteByPk(e,t,a){let r=t;try{let s=e.pkField.name;return await this.#t(r).findOneAndDelete({[s]:a},{session:this.#e.getStore()})}catch(s){throw new u("MongoDB deleteByPk failed",{adapter:"mongodb",operation:"deleteByPk",collection:r.col},s)}}async raw(e,t,a){let r=t;try{return await this.#t(r).aggregate(a,{session:this.#e.getStore()}).toArray()}catch(s){throw s instanceof u?s:new u("MongoDB raw failed",{adapter:"mongodb",operation:"raw",collection:r.col},s)}}async aggregate(e,t,a){let r=t;try{let s=e.pkField.name,n=this.#t(r),i=Z(a,s);return await n.aggregate(i,{session:this.#e.getStore()}).toArray()}catch(s){throw s instanceof u?s:new u("MongoDB aggregate failed",{adapter:"mongodb",operation:"aggregate",collection:r.col},s)}}async findMany(e,t,a,r){let s=t;try{let n=e.pkField.name,{filter:i,sort:l,limit:c,skip:d,projection:p}=G(a,r,n),g=this.#t(s).find(i,{session:this.#e.getStore(),projection:p});return l&&(g=g.sort(l)),c&&(g=g.limit(c)),d&&(g=g.skip(d)),await g.toArray()}catch(n){throw new u("MongoDB findMany failed",{adapter:"mongodb",operation:"findMany",collection:s.col},n)}}async count(e,t,a){let r=t;try{let s=e.pkField.name;return await this.#t(r).countDocuments(h(a,s),{session:this.#e.getStore()})}catch(s){throw new u("MongoDB count failed",{adapter:"mongodb",operation:"count",collection:r.col},s)}}async*iterateMany(e,t,a,r){let s=t,n;try{let i=e.pkField.name,{filter:l,sort:c,limit:d,skip:p,projection:f}=G(a,r,i);n=this.#t(s).find(l,{session:this.#e.getStore(),projection:f}),c&&(n=n.sort(c)),d&&(n=n.limit(d)),p&&(n=n.skip(p)),r?.batchSize!==void 0&&(n=n.batchSize(r.batchSize));for await(let x of n)yield x}catch(i){throw new u("MongoDB iterateMany failed",{adapter:"mongodb",operation:"iterateMany",collection:s.col},i)}finally{await n?.close()}}async updateMany(e,t,a,r){let s=t;try{let n=e.pkField.name,i=this.#t(s),l=this.#e.getStore(),c=h(a,n),p=(await i.find(c,{session:l,projection:{[n]:1}}).toArray()).map(x=>x[n]),f={[n]:{$in:p}},g=U(r);return Object.keys(g).length>0&&await i.updateMany(f,g,{session:l}),await i.find({[n]:{$in:p}},{session:l}).toArray()}catch(n){throw new u("MongoDB updateMany failed",{adapter:"mongodb",operation:"updateMany",collection:s.col},n)}}async deleteMany(e,t,a){let r=t;try{let s=e.pkField.name,n=this.#t(r),i=this.#e.getStore(),l=h(a,s),c=await n.find(l,{session:i}).toArray();return c.length>0&&await n.deleteMany(l,{session:i}),c}catch(s){throw new u("MongoDB deleteMany failed",{adapter:"mongodb",operation:"deleteMany",collection:r.col},s)}}async upsertOne(e,t,a,r,s){let n=t;try{let i=e.pkField.name,l=this.#t(n),c=h(a,i),d=H(s);return await l.findOneAndUpdate(c,{...d,$setOnInsert:r},{returnDocument:"after",session:this.#e.getStore(),upsert:!0})}catch(i){throw new u("MongoDB upsertOne failed",{adapter:"mongodb",operation:"upsertOne",collection:n.col},i)}}async session(e){if(this.#e.getStore())return e();try{let t=await this.client.startSession();try{return await t.withTransaction(async()=>this.#e.run(t,e))}finally{await t.endSession()}}catch(t){throw t instanceof u?t:new u("MongoDB session failed",{adapter:"mongodb",operation:"session"},t)}}async loadMigrations(){return(await this.client.db().collection(j).find({}).toArray()).map(a=>({id:String(a._id),appliedAt:a.appliedAt}))}async recordMigration(e,t){await this.client.db().collection(j).insertOne({_id:e,appliedAt:t})}async applyAddIndex(e){let t=this.client.db(),a={};for(let s of e.on)a[s]=1;let r=e.name??`${e.table}_${e.on.join("_")}_idx`;await t.collection(e.table).createIndex(a,{unique:e.unique??!1,name:r})}async applyDropIndex(e){let t=this.client.db(),a=await t.listCollections().toArray();for(let r of a)if((await t.collection(r.name).listIndexes().toArray()).some(n=>n.name===e.name)){await t.collection(r.name).dropIndex(e.name);return}}async introspect(){let e=this.client.db(),t=await e.listCollections().toArray(),a=[];for(let r of t){if(r.name===j)continue;let n=(await e.collection(r.name).listIndexes().toArray()).filter(i=>i.name!=="_id_").map(i=>({name:i.name,on:Object.keys(i.key),unique:!!i.unique}));a.push({name:r.name,pk:void 0,fields:[],indexes:n,foreignKeys:[]})}return a}};0&&(module.exports={MongoDbAdapter});
|
|
3
|
+
${t.error.toString()}`,{messages:t.error.messages})),new o(t.value)}static get(){return o.#t?o.#t:o.crash(new u("Has not been initialized. Make sure an instance has been created before you get an instance",{}))}static maybeGet(){return o.#t}static on(e,t,a){o.#o[e]??=[];let r={cb:t,class:a?.class,after:a?.after??[]};z(o.#o[e],r)}static#n(){Object.entries({SIGHUP:1,SIGINT:2,SIGTERM:15}).forEach(([t,a])=>{process.on(t,async()=>{await F(o.#o.close??[],()=>{},!0),process.exit(128+a)})})}static resolveBeforeCrash(e){let t=e();return o.on("close",async()=>await t),t}static crash(e){console.error(e),process.exit(1)}static createId(e){return`${e?.prefix??""}${(0,W.ulid)(e?.time?.getTime())}`}};var Be=require("valleyed"),_=class{name;path;constructor(e,t){this.name=e,this.path=t??[e]}};function Q(o){return o instanceof _?o.path.join("."):o}var m=class{constructor(e,t,a){this.op=t;this.value=a;this.field=Q(e)}field},b=class o{constructor(e="and",t){this.op=e;this.children=t??[]}children;#e(e){return new o(this.op,[...this.children,e])}eq(e,t){return this.#e(new m(e,"eq",t))}ne(e,t){return this.#e(new m(e,"ne",t))}gt(e,t){return this.#e(new m(e,"gt",t))}gte(e,t){return this.#e(new m(e,"gte",t))}lt(e,t){return this.#e(new m(e,"lt",t))}lte(e,t){return this.#e(new m(e,"lte",t))}in(e,t){return this.#e(new m(e,"in",t))}notIn(e,t){return this.#e(new m(e,"notIn",t))}like(e,t){return this.#e(new m(e,"like",t))}exists(e){return this.#e(new m(e,"exists",!0))}notExists(e){return this.#e(new m(e,"notExists",!0))}contains(e,t){return this.#e(new m(e,"contains",t))}notContains(e,t){return this.#e(new m(e,"notContains",t))}and(e){if(e.length===0)throw new u("and() requires at least one filter factory",{op:"and"});let t=new o("and",e.map(a=>a(o.create())));return this.#e(t)}or(e){if(e.length===0)throw new u("or() requires at least one filter factory",{op:"or"});let t=new o("or",e.map(a=>a(o.create())));return this.#e(t)}clone(){return new o(this.op,this.children.map(e=>e instanceof m?new m(e.field,e.op,structuredClone(e.value)):e.clone()))}static create(){return new o}};var D=class{constructor(e){this.values=e}kind="set"},S=class{constructor(e,t){this.field=e;this.value=t}kind="inc"},B=class{constructor(e,t){this.field=e;this.value=t}kind="mul"},M=class{constructor(e,t){this.field=e;this.value=t}kind="min"},C=class{constructor(e,t){this.field=e;this.value=t}kind="max"},T=class{constructor(e){this.field=e}kind="unset"},q=class{constructor(e,t){this.field=e;this.value=t}kind="push"},P=class{constructor(e,t){this.field=e;this.value=t}kind="pull"},$=class{constructor(e,t){this.field=e;this.value=t}kind="patch"};function J(o){let e={};for(let t of o)t instanceof D?Object.assign(e,t.values):e[t.field]=t;return e}function h(o,e){let t=[];for(let a of o.children){let r=X(a,e);r&&t.push(r)}return t.length===0?{}:t.length===1?t[0]:{$and:t}}function I(o,e,t){let a=h(o,t),r=e?.orderBy??[],s=r.length>0?Object.fromEntries(r.map(l=>[v(l.field,t),l.direction==="desc"?-1:1])):void 0,n=e?.select??[],i=n.length>0?Object.fromEntries(n.map(l=>[v(l,t),1])):void 0;return{filter:a,sort:s,limit:e?.limit,skip:e?.offset,projection:i}}function v(o,e){return o==="id"&&e==="_id"?"_id":o}function me(o,e){let t=v(o.field,e);switch(o.op){case"eq":return{[t]:{$eq:o.value}};case"ne":return{[t]:{$ne:o.value}};case"gt":return{[t]:{$gt:o.value}};case"gte":return{[t]:{$gte:o.value}};case"lt":return{[t]:{$lt:o.value}};case"lte":return{[t]:{$lte:o.value}};case"in":return{[t]:{$in:o.value}};case"notIn":return{[t]:{$nin:o.value}};case"like":return{[t]:{$regex:new RegExp(String(o.value),"i")}};case"exists":return{[t]:{$exists:!0,$ne:null}};case"notExists":return{[t]:{$eq:null}};case"contains":return{[t]:{$all:Array.isArray(o.value)?o.value:[o.value]}};case"notContains":return{[t]:{$not:{$all:Array.isArray(o.value)?o.value:[o.value]}}};default:return{[t]:{$eq:o.value}}}}function X(o,e){return o instanceof m?me(o,e):o instanceof b?fe(o,e):null}function fe(o,e){let t=o.children.map(a=>X(a,e)).filter(a=>a!==null);return t.length===0?null:t.length===1?t[0]:{[o.op==="or"?"$or":"$and"]:t}}function G(o){let e={},t={},a={},r={},s={},n={},i={},l={};for(let[d,p]of Object.entries(o))if(p instanceof S)t[d]=p.value;else if(p instanceof B)a[d]=p.value;else if(p instanceof M)r[d]=p.value;else if(p instanceof C)s[d]=p.value;else if(p instanceof T)n[d]="";else if(p instanceof q)i[d]=p.value;else if(p instanceof P)l[d]=p.value;else if(p instanceof $){let f=p.value;for(let[g,x]of Object.entries(f))e[`${d}.${g}`]=x}else e[d]=p;let c={};return Object.keys(e).length&&(c.$set=e),Object.keys(t).length&&(c.$inc=t),Object.keys(a).length&&(c.$mul=a),Object.keys(r).length&&(c.$min=r),Object.keys(s).length&&(c.$max=s),Object.keys(n).length&&(c.$unset=n),Object.keys(i).length&&(c.$push=i),Object.keys(l).length&&(c.$pull=l),c}function U(o){return G(J(o))}function Y(o,e){let t=[];if(o.where){let n=h(o.where,e);Object.keys(n).length>0&&t.push({$match:n})}let a=o.groupBy.length>0?Object.fromEntries(o.groupBy.map(n=>[n,`$${v(n,e)}`])):null,r={};for(let n of o.aggregates){let i=n.field?`$${v(n.field,e)}`:void 0;switch(n.fn){case"count":r[n.alias]={$sum:1};break;case"countDistinct":r[n.alias]={$addToSet:i};break;case"sum":case"avg":case"min":case"max":r[n.alias]={[`$${n.fn}`]:i};break}}t.push({$group:{_id:a,...r}});let s={_id:0};for(let n of o.groupBy)s[n]=`$_id.${n}`;for(let n of o.aggregates)n.fn==="countDistinct"?s[n.alias]={$size:`$${n.alias}`}:s[n.alias]=1;if(t.push({$project:s}),o.having){let n=h(o.having,"");Object.keys(n).length>0&&t.push({$match:n})}return t}var H=require("valleyed");function Z(o,e){let t=o();H.v.compile(t);class a extends e{constructor(n,...i){super(...i);this.config=n}static create(n,...i){let l=H.v.validate(t,n);if(!l.valid)throw l.error;return new this(l.value,...i)}}return a}var E=class{queryableOps=[];updateOps=[];aggregateOps=[];supportedFieldTypes=[];onFatalError(e){let t=e instanceof u?e:new u("OrmAdapter fatal error",{},e);k.crash(t)}constructor(){let e=this;typeof e.connect=="function"&&k.on("start",()=>e.connect(),{class:this.constructor}),typeof e.disconnect=="function"&&k.on("close",()=>e.disconnect(),{class:this.constructor})}use(e,t){let a=this,r=async function*(){},s={findMany:(n,i)=>a.findMany?.(e,t,n,i)??Promise.resolve([]),iterateMany:(n,i)=>a.iterateMany?.(e,t,n,i)??r(),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,i)=>a.updateMany?.(e,t,n,i)??Promise.resolve([]),updateOne:async(n,i)=>{let l=await s.findOne(n);if(!l)return null;let c=e.pkField.name,d=b.create().eq(c,l[c]);return(await s.updateMany(d,i))[0]??null},upsertOne:(n,i,l)=>a.upsertOne?.(e,t,n,i,l)??Promise.reject(new Error("upsertOne not implemented")),deleteOne:async n=>{let i=await s.findOne(n);if(!i)return null;let l=e.pkField.name;if(a.deleteByPk)await a.deleteByPk(e,t,i[l]);else if(a.deleteMany){let c=b.create().eq(l,i[l]);await a.deleteMany(e,t,c)}return i},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 ye=()=>O.v.object({db:O.v.string(),col:O.v.string()}),he=()=>O.v.object({uri:O.v.string()}),j="equipped_migrations",N=class extends Z(he,E){schemaConfigPipe=ye();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 ee.AsyncLocalStorage;constructor(e,t){super(e),this.client=new te.MongoClient(e.uri,{...t,ignoreUndefined:!0})}#t(e){return this.client.db(e.db).collection(e.col)}async connect(){try{await this.client.connect()}catch(e){throw new u("Failed to connect MongoDB client",{adapter:"mongodb"},e)}}async disconnect(){try{await this.client.close()}catch(e){throw new u("Failed to disconnect MongoDB client",{adapter:"mongodb"},e)}}async findByPk(e,t,a){let r=t;try{let s=e.pkField.name;return await this.#t(r).findOne({[s]:a},{session:this.#e.getStore()})}catch(s){throw new u("MongoDB findByPk failed",{adapter:"mongodb",operation:"findByPk",collection:r.col},s)}}async createMany(e,t,a){let r=t;try{let s=this.#t(r),n=a.map(i=>i);return await s.insertMany(n,{session:this.#e.getStore()}),a}catch(s){throw new u("MongoDB createMany failed",{adapter:"mongodb",operation:"createMany",collection:r.col},s)}}async updateByPk(e,t,a,r){let s=t;try{let n=e.pkField.name,i=this.#t(s),l=U(r);return Object.keys(l).length===0?await i.findOne({[n]:a},{session:this.#e.getStore()}):await i.findOneAndUpdate({[n]:a},l,{returnDocument:"after",session:this.#e.getStore()})}catch(n){throw new u("MongoDB updateByPk failed",{adapter:"mongodb",operation:"updateByPk",collection:s.col},n)}}async deleteByPk(e,t,a){let r=t;try{let s=e.pkField.name;return await this.#t(r).findOneAndDelete({[s]:a},{session:this.#e.getStore()})}catch(s){throw new u("MongoDB deleteByPk failed",{adapter:"mongodb",operation:"deleteByPk",collection:r.col},s)}}async raw(e,t,a){let r=t;try{return await this.#t(r).aggregate(a,{session:this.#e.getStore()}).toArray()}catch(s){throw s instanceof u?s:new u("MongoDB raw failed",{adapter:"mongodb",operation:"raw",collection:r.col},s)}}async aggregate(e,t,a){let r=t;try{let s=e.pkField.name,n=this.#t(r),i=Y(a,s);return await n.aggregate(i,{session:this.#e.getStore()}).toArray()}catch(s){throw s instanceof u?s:new u("MongoDB aggregate failed",{adapter:"mongodb",operation:"aggregate",collection:r.col},s)}}async findMany(e,t,a,r){let s=t;try{let n=e.pkField.name,{filter:i,sort:l,limit:c,skip:d,projection:p}=I(a,r,n),g=this.#t(s).find(i,{session:this.#e.getStore(),projection:p});return l&&(g=g.sort(l)),c&&(g=g.limit(c)),d&&(g=g.skip(d)),await g.toArray()}catch(n){throw new u("MongoDB findMany failed",{adapter:"mongodb",operation:"findMany",collection:s.col},n)}}async count(e,t,a){let r=t;try{let s=e.pkField.name;return await this.#t(r).countDocuments(h(a,s),{session:this.#e.getStore()})}catch(s){throw new u("MongoDB count failed",{adapter:"mongodb",operation:"count",collection:r.col},s)}}async*iterateMany(e,t,a,r){let s=t,n;try{let i=e.pkField.name,{filter:l,sort:c,limit:d,skip:p,projection:f}=I(a,r,i);n=this.#t(s).find(l,{session:this.#e.getStore(),projection:f}),c&&(n=n.sort(c)),d&&(n=n.limit(d)),p&&(n=n.skip(p)),r?.batchSize!==void 0&&(n=n.batchSize(r.batchSize));for await(let x of n)yield x}catch(i){throw new u("MongoDB iterateMany failed",{adapter:"mongodb",operation:"iterateMany",collection:s.col},i)}finally{await n?.close()}}async updateMany(e,t,a,r){let s=t;try{let n=e.pkField.name,i=this.#t(s),l=this.#e.getStore(),c=h(a,n),p=(await i.find(c,{session:l,projection:{[n]:1}}).toArray()).map(x=>x[n]),f={[n]:{$in:p}},g=G(r);return Object.keys(g).length>0&&await i.updateMany(f,g,{session:l}),await i.find({[n]:{$in:p}},{session:l}).toArray()}catch(n){throw new u("MongoDB updateMany failed",{adapter:"mongodb",operation:"updateMany",collection:s.col},n)}}async deleteMany(e,t,a){let r=t;try{let s=e.pkField.name,n=this.#t(r),i=this.#e.getStore(),l=h(a,s),c=await n.find(l,{session:i}).toArray();return c.length>0&&await n.deleteMany(l,{session:i}),c}catch(s){throw new u("MongoDB deleteMany failed",{adapter:"mongodb",operation:"deleteMany",collection:r.col},s)}}async upsertOne(e,t,a,r,s){let n=t;try{let i=e.pkField.name,l=this.#t(n),c=h(a,i),d=U(s);return await l.findOneAndUpdate(c,{...d,$setOnInsert:r},{returnDocument:"after",session:this.#e.getStore(),upsert:!0})}catch(i){throw new u("MongoDB upsertOne failed",{adapter:"mongodb",operation:"upsertOne",collection:n.col},i)}}async session(e){if(this.#e.getStore())return e();try{let t=await this.client.startSession();try{return await t.withTransaction(async()=>this.#e.run(t,e))}finally{await t.endSession()}}catch(t){throw t instanceof u?t:new u("MongoDB session failed",{adapter:"mongodb",operation:"session"},t)}}async loadMigrations(){return(await this.client.db().collection(j).find({}).toArray()).map(a=>({id:String(a._id),appliedAt:a.appliedAt}))}async recordMigration(e,t){await this.client.db().collection(j).insertOne({_id:e,appliedAt:t})}async applyAddIndex(e){let t=this.client.db(),a={};for(let s of e.on)a[s]=1;let r=e.name??`${e.table}_${e.on.join("_")}_idx`;await t.collection(e.table).createIndex(a,{unique:e.unique??!1,name:r})}async applyDropIndex(e){let t=this.client.db(),a=await t.listCollections().toArray();for(let r of a)if((await t.collection(r.name).listIndexes().toArray()).some(n=>n.name===e.name)){await t.collection(r.name).dropIndex(e.name);return}}async introspect(){let e=this.client.db(),t=await e.listCollections().toArray(),a=[];for(let r of t){if(r.name===j)continue;let n=(await e.collection(r.name).listIndexes().toArray()).filter(i=>i.name!=="_id_").map(i=>({name:i.name,on:Object.keys(i.key),unique:!!i.unique}));a.push({name:r.name,pk:void 0,fields:[],indexes:n,foreignKeys:[]})}return a}};0&&(module.exports={MongoDbAdapter});
|
|
4
4
|
//# sourceMappingURL=index.min.cjs.map
|