equipped 5.2.9 → 5.3.0
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 +95 -0
- package/README.md +362 -34
- package/dist/cjs/cache/adapters/in-memory/index.cjs +824 -0
- package/dist/cjs/cache/adapters/in-memory/index.cjs.map +1 -0
- package/dist/cjs/cache/adapters/in-memory/index.min.cjs +4 -0
- package/dist/cjs/cache/adapters/in-memory/index.min.cjs.map +1 -0
- package/dist/cjs/cache/adapters/redis/index.cjs +844 -0
- package/dist/cjs/cache/adapters/redis/index.cjs.map +1 -0
- package/dist/cjs/cache/adapters/redis/index.min.cjs +4 -0
- package/dist/cjs/cache/adapters/redis/index.min.cjs.map +1 -0
- package/dist/cjs/cache/index.cjs +602 -4
- package/dist/cjs/cache/index.cjs.map +1 -1
- package/dist/cjs/cache/index.min.cjs +3 -1
- package/dist/cjs/cache/index.min.cjs.map +1 -1
- package/dist/cjs/dbs/adapters/mongodb/index.cjs +1314 -0
- package/dist/cjs/dbs/adapters/mongodb/index.cjs.map +1 -0
- package/dist/cjs/dbs/adapters/mongodb/index.min.cjs +4 -0
- package/dist/cjs/dbs/adapters/mongodb/index.min.cjs.map +1 -0
- package/dist/cjs/dbs/index.cjs +965 -6
- package/dist/cjs/dbs/index.cjs.map +1 -1
- package/dist/cjs/dbs/index.min.cjs +3 -1
- package/dist/cjs/dbs/index.min.cjs.map +1 -1
- package/dist/cjs/errors/index.cjs +127 -8
- package/dist/cjs/errors/index.cjs.map +1 -1
- package/dist/cjs/errors/index.min.cjs +1 -1
- package/dist/cjs/errors/index.min.cjs.map +1 -1
- package/dist/cjs/events/adapters/kafka/index.cjs +845 -0
- package/dist/cjs/events/adapters/kafka/index.cjs.map +1 -0
- package/dist/cjs/events/adapters/kafka/index.min.cjs +4 -0
- package/dist/cjs/events/adapters/kafka/index.min.cjs.map +1 -0
- package/dist/cjs/events/adapters/rabbitmq/index.cjs +836 -0
- package/dist/cjs/events/adapters/rabbitmq/index.cjs.map +1 -0
- package/dist/cjs/events/adapters/rabbitmq/index.min.cjs +4 -0
- package/dist/cjs/events/adapters/rabbitmq/index.min.cjs.map +1 -0
- package/dist/cjs/events/index.cjs +33 -4
- package/dist/cjs/events/index.cjs.map +1 -1
- package/dist/cjs/events/index.min.cjs +1 -1
- package/dist/cjs/events/index.min.cjs.map +1 -1
- package/dist/cjs/index.cjs +588 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/index.min.cjs +3 -1
- package/dist/cjs/index.min.cjs.map +1 -1
- package/dist/cjs/instance/index.cjs +514 -64
- package/dist/cjs/instance/index.cjs.map +1 -1
- package/dist/cjs/instance/index.min.cjs +3 -3
- package/dist/cjs/instance/index.min.cjs.map +1 -1
- package/dist/cjs/jobs/adapters/redis/index.cjs +979 -0
- package/dist/cjs/jobs/adapters/redis/index.cjs.map +1 -0
- package/dist/cjs/jobs/adapters/redis/index.min.cjs +4 -0
- package/dist/cjs/jobs/adapters/redis/index.min.cjs.map +1 -0
- package/dist/cjs/jobs/index.cjs +55 -2
- package/dist/cjs/jobs/index.cjs.map +1 -1
- package/dist/cjs/jobs/index.min.cjs +1 -1
- package/dist/cjs/jobs/index.min.cjs.map +1 -1
- package/dist/cjs/orm/adapters/in-memory/index.cjs +2551 -0
- package/dist/cjs/orm/adapters/in-memory/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/in-memory/index.min.cjs +4 -0
- package/dist/cjs/orm/adapters/in-memory/index.min.cjs.map +1 -0
- package/dist/cjs/orm/adapters/json/index.cjs +3518 -0
- package/dist/cjs/orm/adapters/json/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/json/index.min.cjs +4 -0
- package/dist/cjs/orm/adapters/json/index.min.cjs.map +1 -0
- package/dist/cjs/orm/adapters/mongodb/index.cjs +3299 -0
- package/dist/cjs/orm/adapters/mongodb/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/mongodb/index.min.cjs +4 -0
- package/dist/cjs/orm/adapters/mongodb/index.min.cjs.map +1 -0
- package/dist/cjs/orm/adapters/postgresql/index.cjs +4114 -0
- package/dist/cjs/orm/adapters/postgresql/index.cjs.map +1 -0
- package/dist/cjs/orm/adapters/postgresql/index.min.cjs +49 -0
- package/dist/cjs/orm/adapters/postgresql/index.min.cjs.map +1 -0
- package/dist/cjs/orm/index.cjs +9216 -0
- package/dist/cjs/orm/index.cjs.map +1 -0
- package/dist/cjs/orm/index.min.cjs +4 -0
- package/dist/cjs/orm/index.min.cjs.map +1 -0
- package/dist/cjs/server/adapters/express/index.cjs +1967 -0
- package/dist/cjs/server/adapters/express/index.cjs.map +1 -0
- package/dist/cjs/server/adapters/express/index.min.cjs +32 -0
- package/dist/cjs/server/adapters/express/index.min.cjs.map +1 -0
- package/dist/cjs/server/adapters/fastify/index.cjs +1974 -0
- package/dist/cjs/server/adapters/fastify/index.cjs.map +1 -0
- package/dist/cjs/server/adapters/fastify/index.min.cjs +32 -0
- package/dist/cjs/server/adapters/fastify/index.min.cjs.map +1 -0
- package/dist/cjs/server/index.cjs +1811 -9
- package/dist/cjs/server/index.cjs.map +1 -1
- package/dist/cjs/server/index.min.cjs +31 -1
- package/dist/cjs/server/index.min.cjs.map +1 -1
- package/dist/cjs/types/index.cjs +18 -1
- package/dist/cjs/types/index.cjs.map +1 -1
- package/dist/cjs/types/index.min.cjs +1 -1
- package/dist/cjs/types/index.min.cjs.map +1 -1
- package/dist/cjs/utilities/index.cjs +862 -7
- package/dist/cjs/utilities/index.cjs.map +1 -1
- package/dist/cjs/utilities/index.min.cjs +3 -1
- package/dist/cjs/utilities/index.min.cjs.map +1 -1
- package/dist/cjs/validations/index.cjs +679 -10
- package/dist/cjs/validations/index.cjs.map +1 -1
- package/dist/cjs/validations/index.min.cjs +3 -1
- package/dist/cjs/validations/index.min.cjs.map +1 -1
- package/dist/esm/cache/adapters/in-memory/index.min.mjs +2 -0
- package/dist/esm/cache/adapters/in-memory/index.min.mjs.map +1 -0
- package/dist/esm/cache/adapters/in-memory/index.mjs +93 -0
- package/dist/esm/cache/adapters/in-memory/index.mjs.map +1 -0
- package/dist/esm/cache/adapters/redis/index.min.mjs +2 -0
- package/dist/esm/cache/adapters/redis/index.mjs +13 -0
- package/dist/esm/cache/index.min.mjs +1 -1
- package/dist/esm/cache/index.min.mjs.map +1 -1
- package/dist/esm/cache/index.mjs +9 -4
- package/dist/esm/cache/index.mjs.map +1 -1
- package/dist/esm/chunk-4JLDXF7T.min.mjs +2 -0
- package/dist/esm/chunk-4JLDXF7T.min.mjs.map +1 -0
- package/dist/{types/events/types/kafka.js → esm/chunk-4MXYZS5R.mjs} +60 -37
- package/dist/esm/chunk-4MXYZS5R.mjs.map +1 -0
- package/dist/esm/chunk-5VW3JAFR.min.mjs +2 -0
- package/dist/esm/chunk-5VW3JAFR.min.mjs.map +1 -0
- package/dist/esm/chunk-AKQBDYUO.mjs +126 -0
- package/dist/esm/chunk-AKQBDYUO.mjs.map +1 -0
- package/dist/esm/chunk-AQY7QVYI.min.mjs +2 -0
- package/dist/esm/chunk-B5QQ32YY.min.mjs +2 -0
- package/dist/esm/chunk-B5QQ32YY.min.mjs.map +1 -0
- package/dist/esm/chunk-BJNIUCPT.min.mjs +2 -0
- package/dist/esm/chunk-BJNIUCPT.min.mjs.map +1 -0
- package/dist/esm/chunk-DKPZJIIR.mjs +29 -0
- package/dist/esm/chunk-DKPZJIIR.mjs.map +1 -0
- package/dist/esm/chunk-DSUJ5FUL.min.mjs +2 -0
- package/dist/esm/chunk-DSUJ5FUL.min.mjs.map +1 -0
- package/dist/esm/chunk-FLAPYQUT.min.mjs +32 -0
- package/dist/esm/chunk-FLAPYQUT.min.mjs.map +1 -0
- package/dist/esm/chunk-J5LGTIGS.mjs +10 -0
- package/dist/esm/chunk-JH6EBXY4.mjs +53 -0
- package/dist/esm/chunk-JH6EBXY4.mjs.map +1 -0
- package/dist/esm/chunk-MDQKODYQ.mjs +2035 -0
- package/dist/esm/chunk-MDQKODYQ.mjs.map +1 -0
- package/dist/esm/chunk-PCAUXBAG.min.mjs +2 -0
- package/dist/esm/chunk-PCAUXBAG.min.mjs.map +1 -0
- package/dist/esm/chunk-PNZNNUMN.mjs +113 -0
- package/dist/esm/chunk-PNZNNUMN.mjs.map +1 -0
- package/dist/esm/chunk-PQCBVQL6.mjs +1280 -0
- package/dist/esm/chunk-PQCBVQL6.mjs.map +1 -0
- package/dist/esm/chunk-QHLKB47N.min.mjs +2 -0
- package/dist/esm/chunk-QHLKB47N.min.mjs.map +1 -0
- package/dist/esm/chunk-SGZNOYC3.min.mjs +2 -0
- package/dist/esm/chunk-SGZNOYC3.min.mjs.map +1 -0
- package/dist/esm/chunk-TVTYDU2D.mjs +795 -0
- package/dist/esm/chunk-TVTYDU2D.mjs.map +1 -0
- package/dist/esm/chunk-VCCS7CAI.mjs +8 -0
- package/dist/esm/chunk-VCCS7CAI.mjs.map +1 -0
- package/dist/esm/chunk-Z2TZ3KR7.mjs +22 -0
- package/dist/esm/chunk-Z2TZ3KR7.mjs.map +1 -0
- package/dist/esm/chunk-ZGMFFK6Y.min.mjs +2 -0
- package/dist/esm/chunk-ZGMFFK6Y.min.mjs.map +1 -0
- package/dist/esm/dbs/adapters/mongodb/index.min.mjs +2 -0
- package/dist/esm/dbs/adapters/mongodb/index.min.mjs.map +1 -0
- package/dist/esm/dbs/adapters/mongodb/index.mjs +419 -0
- package/dist/esm/dbs/adapters/mongodb/index.mjs.map +1 -0
- package/dist/esm/dbs/index.min.mjs +1 -1
- package/dist/esm/dbs/index.min.mjs.map +1 -1
- package/dist/esm/dbs/index.mjs +22 -6
- package/dist/esm/dbs/index.mjs.map +1 -1
- package/dist/esm/errors/index.min.mjs +1 -1
- package/dist/esm/errors/index.min.mjs.map +1 -1
- package/dist/esm/errors/index.mjs +22 -8
- package/dist/esm/errors/index.mjs.map +1 -1
- package/dist/esm/events/adapters/kafka/index.min.mjs +2 -0
- package/dist/esm/events/adapters/kafka/index.min.mjs.map +1 -0
- package/dist/esm/events/adapters/kafka/index.mjs +12 -0
- package/dist/esm/events/adapters/kafka/index.mjs.map +1 -0
- package/dist/esm/events/adapters/rabbitmq/index.min.mjs +2 -0
- package/dist/esm/events/adapters/rabbitmq/index.min.mjs.map +1 -0
- package/dist/esm/events/adapters/rabbitmq/index.mjs +92 -0
- package/dist/esm/events/adapters/rabbitmq/index.mjs.map +1 -0
- package/dist/esm/events/index.min.mjs +1 -1
- package/dist/esm/events/index.min.mjs.map +1 -1
- package/dist/esm/events/index.mjs +7 -4
- package/dist/esm/events/index.mjs.map +1 -1
- package/dist/esm/index.min.mjs +1 -1
- package/dist/esm/index.min.mjs.map +1 -1
- package/dist/esm/index.mjs +8 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/instance/index.min.mjs +1 -3
- package/dist/esm/instance/index.min.mjs.map +1 -1
- package/dist/esm/instance/index.mjs +4 -132
- package/dist/esm/instance/index.mjs.map +1 -1
- package/dist/esm/introspection-32BRYKYY.mjs +10 -0
- package/dist/esm/introspection-32BRYKYY.mjs.map +1 -0
- package/dist/esm/introspection-A72WMWE3.min.mjs +2 -0
- package/dist/esm/introspection-A72WMWE3.min.mjs.map +1 -0
- package/dist/esm/jobs/adapters/redis/index.min.mjs +2 -0
- package/dist/esm/jobs/adapters/redis/index.min.mjs.map +1 -0
- package/dist/esm/jobs/{types/redis.mjs → adapters/redis/index.mjs} +71 -56
- package/dist/esm/jobs/adapters/redis/index.mjs.map +1 -0
- package/dist/esm/jobs/index.min.mjs +1 -1
- package/dist/esm/jobs/index.min.mjs.map +1 -1
- package/dist/esm/jobs/index.mjs +9 -2
- package/dist/esm/jobs/index.mjs.map +1 -1
- package/dist/esm/orm/adapters/in-memory/index.min.mjs +2 -0
- package/dist/esm/orm/adapters/in-memory/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/in-memory/index.mjs +11 -0
- package/dist/esm/orm/adapters/in-memory/index.mjs.map +1 -0
- package/dist/esm/orm/adapters/json/index.min.mjs +2 -0
- package/dist/esm/orm/adapters/json/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/json/index.mjs +980 -0
- package/dist/esm/orm/adapters/json/index.mjs.map +1 -0
- package/dist/esm/orm/adapters/mongodb/index.min.mjs +2 -0
- package/dist/esm/orm/adapters/mongodb/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/mongodb/index.mjs +1539 -0
- package/dist/esm/orm/adapters/mongodb/index.mjs.map +1 -0
- package/dist/esm/orm/adapters/postgresql/index.min.mjs +47 -0
- package/dist/esm/orm/adapters/postgresql/index.min.mjs.map +1 -0
- package/dist/esm/orm/adapters/postgresql/index.mjs +2070 -0
- package/dist/esm/orm/adapters/postgresql/index.mjs.map +1 -0
- package/dist/esm/orm/index.min.mjs +2 -0
- package/dist/esm/orm/index.min.mjs.map +1 -0
- package/dist/esm/orm/index.mjs +7326 -0
- package/dist/esm/orm/index.mjs.map +1 -0
- package/dist/esm/server/adapters/express/index.min.mjs +2 -0
- package/dist/esm/server/adapters/express/index.min.mjs.map +1 -0
- package/dist/esm/server/adapters/express/index.mjs +177 -0
- package/dist/esm/server/adapters/express/index.mjs.map +1 -0
- package/dist/esm/server/adapters/fastify/index.min.mjs +2 -0
- package/dist/esm/server/adapters/fastify/index.min.mjs.map +1 -0
- package/dist/esm/server/adapters/fastify/index.mjs +185 -0
- package/dist/esm/server/adapters/fastify/index.mjs.map +1 -0
- package/dist/esm/server/index.min.mjs +1 -1
- package/dist/esm/server/index.min.mjs.map +1 -1
- package/dist/esm/server/index.mjs +38 -9
- package/dist/esm/server/index.mjs.map +1 -1
- package/dist/esm/types/index.min.mjs +0 -1
- package/dist/esm/types/index.min.mjs.map +1 -1
- package/dist/esm/types/index.mjs +0 -1
- package/dist/esm/types/index.mjs.map +1 -1
- package/dist/esm/utilities/index.min.mjs +1 -1
- package/dist/esm/utilities/index.min.mjs.map +1 -1
- package/dist/esm/utilities/index.mjs +22 -9
- package/dist/esm/utilities/index.mjs.map +1 -1
- package/dist/esm/validations/index.min.mjs +1 -1
- package/dist/esm/validations/index.min.mjs.map +1 -1
- package/dist/esm/validations/index.mjs +8 -18
- package/dist/esm/validations/index.mjs.map +1 -1
- package/dist/types/adapter-Coap9ISX.d.ts +1435 -0
- package/dist/types/{fastify-DLPUK3vD.d.ts → base-DVr0fHil.d.ts} +76 -143
- package/dist/types/cache/adapters/in-memory/index.d.ts +21 -0
- package/dist/types/cache/adapters/in-memory/index.js +92 -0
- package/dist/types/cache/adapters/redis/index.d.ts +73 -0
- package/dist/types/cache/adapters/redis/index.js +12 -0
- package/dist/types/cache/index.d.ts +2 -42
- package/dist/types/cache/index.js +9 -4
- package/dist/types/chunk-3M4PBZAQ.js +125 -0
- package/dist/types/chunk-3TKJGSCZ.js +21 -0
- package/dist/types/chunk-65EHKCDZ.js +112 -0
- package/dist/types/chunk-JQ2FWX4W.js +1279 -0
- package/dist/types/chunk-KZKFYO4V.js +7 -0
- package/dist/types/chunk-LN3A6R4Y.js +28 -0
- package/dist/types/chunk-MLKGABMK.js +9 -0
- package/dist/types/chunk-NJ2FHI3U.js +794 -0
- package/dist/types/chunk-OHFTQGQG.js +52 -0
- package/dist/{esm/events/types/kafka.mjs → types/chunk-XGGGAEET.js} +59 -38
- package/dist/types/chunk-YTY3EFNB.js +2034 -0
- package/dist/types/{core-BrkNSwvc.d.ts → core-tNlIMH9Y.d.ts} +48 -38
- package/dist/types/dbs/adapters/mongodb/index.d.ts +43 -0
- package/dist/types/dbs/adapters/mongodb/index.js +418 -0
- package/dist/types/dbs/index.d.ts +14 -12
- package/dist/types/dbs/index.js +22 -6
- package/dist/types/equippedError-Cmo60Kn-.d.ts +8 -0
- package/dist/types/errors/index.d.ts +3 -3
- package/dist/types/errors/index.js +22 -8
- package/dist/types/events/adapters/kafka/index.d.ts +83 -0
- package/dist/types/events/adapters/kafka/index.js +11 -0
- package/dist/types/events/adapters/rabbitmq/index.d.ts +41 -0
- package/dist/types/events/adapters/rabbitmq/index.js +91 -0
- package/dist/types/events/index.d.ts +11 -11
- package/dist/types/events/index.js +7 -4
- package/dist/types/index.d.ts +2 -25
- package/dist/types/index.js +8 -1
- package/dist/types/instance/index.d.ts +12 -179
- package/dist/types/instance/index.js +4 -132
- package/dist/types/introspection-VOIU3XE6.js +9 -0
- package/dist/types/jobs/adapters/redis/index.d.ts +93 -0
- package/dist/types/jobs/{types/redis.js → adapters/redis/index.js} +70 -55
- package/dist/types/jobs/index.d.ts +19 -35
- package/dist/types/jobs/index.js +9 -2
- package/dist/types/orm/adapters/in-memory/index.d.ts +92 -0
- package/dist/types/orm/adapters/in-memory/index.js +10 -0
- package/dist/types/orm/adapters/json/index.d.ts +72 -0
- package/dist/types/orm/adapters/json/index.js +979 -0
- package/dist/types/orm/adapters/mongodb/index.d.ts +74 -0
- package/dist/types/orm/adapters/mongodb/index.js +1538 -0
- package/dist/types/orm/adapters/postgresql/index.d.ts +112 -0
- package/dist/types/orm/adapters/postgresql/index.js +2069 -0
- package/dist/types/orm/index.d.ts +160 -0
- package/dist/types/orm/index.js +7325 -0
- package/dist/types/{requestError-C2PNWUrt.d.ts → requestError-DdaL8hc3.d.ts} +2 -8
- package/dist/types/server/adapters/express/index.d.ts +196 -0
- package/dist/types/server/adapters/express/index.js +176 -0
- package/dist/types/server/adapters/fastify/index.d.ts +221 -0
- package/dist/types/server/adapters/fastify/index.js +184 -0
- package/dist/types/server/index.d.ts +10 -11
- package/dist/types/server/index.js +38 -9
- package/dist/types/types/index.js +0 -1
- package/dist/types/utilities/index.d.ts +22 -9
- package/dist/types/utilities/index.js +22 -9
- package/dist/types/{validationError-Bw8OYv5s.d.ts → validationError-oigtHqBi.d.ts} +1 -1
- package/dist/types/validations/index.d.ts +3 -2
- package/dist/types/validations/index.js +8 -18
- package/package.json +155 -18
- package/dist/cjs/audit/events.cjs +0 -101
- package/dist/cjs/audit/events.cjs.map +0 -1
- package/dist/cjs/audit/events.min.cjs +0 -2
- package/dist/cjs/audit/events.min.cjs.map +0 -1
- package/dist/cjs/audit/index.cjs +0 -2
- package/dist/cjs/audit/index.cjs.map +0 -1
- package/dist/cjs/audit/index.min.cjs +0 -2
- package/dist/cjs/audit/index.min.cjs.map +0 -1
- package/dist/cjs/cache/base.cjs +0 -6
- package/dist/cjs/cache/base.cjs.map +0 -1
- package/dist/cjs/cache/base.min.cjs +0 -2
- package/dist/cjs/cache/base.min.cjs.map +0 -1
- package/dist/cjs/cache/pipes.cjs +0 -16
- package/dist/cjs/cache/pipes.cjs.map +0 -1
- package/dist/cjs/cache/pipes.min.cjs +0 -2
- package/dist/cjs/cache/pipes.min.cjs.map +0 -1
- package/dist/cjs/cache/types/in-memory.cjs +0 -47
- package/dist/cjs/cache/types/in-memory.cjs.map +0 -1
- package/dist/cjs/cache/types/in-memory.min.cjs +0 -2
- package/dist/cjs/cache/types/in-memory.min.cjs.map +0 -1
- package/dist/cjs/cache/types/redis.cjs +0 -55
- package/dist/cjs/cache/types/redis.cjs.map +0 -1
- package/dist/cjs/cache/types/redis.min.cjs +0 -2
- package/dist/cjs/cache/types/redis.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/changes.cjs +0 -36
- package/dist/cjs/dbs/base/changes.cjs.map +0 -1
- package/dist/cjs/dbs/base/changes.min.cjs +0 -2
- package/dist/cjs/dbs/base/changes.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/core.cjs +0 -1
- package/dist/cjs/dbs/base/core.cjs.map +0 -1
- package/dist/cjs/dbs/base/core.min.cjs +0 -1
- package/dist/cjs/dbs/base/core.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/db.cjs +0 -14
- package/dist/cjs/dbs/base/db.cjs.map +0 -1
- package/dist/cjs/dbs/base/db.min.cjs +0 -2
- package/dist/cjs/dbs/base/db.min.cjs.map +0 -1
- package/dist/cjs/dbs/base/types.cjs +0 -2
- package/dist/cjs/dbs/base/types.cjs.map +0 -1
- package/dist/cjs/dbs/base/types.min.cjs +0 -2
- package/dist/cjs/dbs/base/types.min.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/changes.cjs +0 -81
- package/dist/cjs/dbs/mongo/changes.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/changes.min.cjs +0 -2
- package/dist/cjs/dbs/mongo/changes.min.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/db.cjs +0 -225
- package/dist/cjs/dbs/mongo/db.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/db.min.cjs +0 -2
- package/dist/cjs/dbs/mongo/db.min.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/query.cjs +0 -66
- package/dist/cjs/dbs/mongo/query.cjs.map +0 -1
- package/dist/cjs/dbs/mongo/query.min.cjs +0 -2
- package/dist/cjs/dbs/mongo/query.min.cjs.map +0 -1
- package/dist/cjs/dbs/pipes.cjs +0 -104
- package/dist/cjs/dbs/pipes.cjs.map +0 -1
- package/dist/cjs/dbs/pipes.min.cjs +0 -2
- package/dist/cjs/dbs/pipes.min.cjs.map +0 -1
- package/dist/cjs/errors/equippedError.cjs +0 -12
- package/dist/cjs/errors/equippedError.cjs.map +0 -1
- package/dist/cjs/errors/equippedError.min.cjs +0 -2
- package/dist/cjs/errors/equippedError.min.cjs.map +0 -1
- package/dist/cjs/errors/requestError.cjs +0 -12
- package/dist/cjs/errors/requestError.cjs.map +0 -1
- package/dist/cjs/errors/requestError.min.cjs +0 -2
- package/dist/cjs/errors/requestError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/badRequestError.cjs +0 -12
- package/dist/cjs/errors/types/badRequestError.cjs.map +0 -1
- package/dist/cjs/errors/types/badRequestError.min.cjs +0 -2
- package/dist/cjs/errors/types/badRequestError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthenticatedError.cjs +0 -12
- package/dist/cjs/errors/types/notAuthenticatedError.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthenticatedError.min.cjs +0 -2
- package/dist/cjs/errors/types/notAuthenticatedError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthorizedError.cjs +0 -12
- package/dist/cjs/errors/types/notAuthorizedError.cjs.map +0 -1
- package/dist/cjs/errors/types/notAuthorizedError.min.cjs +0 -2
- package/dist/cjs/errors/types/notAuthorizedError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/notFoundError.cjs +0 -12
- package/dist/cjs/errors/types/notFoundError.cjs.map +0 -1
- package/dist/cjs/errors/types/notFoundError.min.cjs +0 -2
- package/dist/cjs/errors/types/notFoundError.min.cjs.map +0 -1
- package/dist/cjs/errors/types/tokenExpired.cjs +0 -12
- package/dist/cjs/errors/types/tokenExpired.cjs.map +0 -1
- package/dist/cjs/errors/types/tokenExpired.min.cjs +0 -2
- package/dist/cjs/errors/types/tokenExpired.min.cjs.map +0 -1
- package/dist/cjs/errors/types/validationError.cjs +0 -16
- package/dist/cjs/errors/types/validationError.cjs.map +0 -1
- package/dist/cjs/errors/types/validationError.min.cjs +0 -2
- package/dist/cjs/errors/types/validationError.min.cjs.map +0 -1
- package/dist/cjs/events/base.cjs +0 -6
- package/dist/cjs/events/base.cjs.map +0 -1
- package/dist/cjs/events/base.min.cjs +0 -2
- package/dist/cjs/events/base.min.cjs.map +0 -1
- package/dist/cjs/events/pipes.cjs +0 -28
- package/dist/cjs/events/pipes.cjs.map +0 -1
- package/dist/cjs/events/pipes.min.cjs +0 -2
- package/dist/cjs/events/pipes.min.cjs.map +0 -1
- package/dist/cjs/events/types/kafka.cjs +0 -80
- package/dist/cjs/events/types/kafka.cjs.map +0 -1
- package/dist/cjs/events/types/kafka.min.cjs +0 -2
- package/dist/cjs/events/types/kafka.min.cjs.map +0 -1
- package/dist/cjs/events/types/rabbitmq.cjs +0 -54
- package/dist/cjs/events/types/rabbitmq.cjs.map +0 -1
- package/dist/cjs/events/types/rabbitmq.min.cjs +0 -2
- package/dist/cjs/events/types/rabbitmq.min.cjs.map +0 -1
- package/dist/cjs/instance/hooks.cjs +0 -26
- package/dist/cjs/instance/hooks.cjs.map +0 -1
- package/dist/cjs/instance/hooks.min.cjs +0 -2
- package/dist/cjs/instance/hooks.min.cjs.map +0 -1
- package/dist/cjs/instance/settings.cjs +0 -57
- package/dist/cjs/instance/settings.cjs.map +0 -1
- package/dist/cjs/instance/settings.min.cjs +0 -2
- package/dist/cjs/instance/settings.min.cjs.map +0 -1
- package/dist/cjs/jobs/pipes.cjs +0 -13
- package/dist/cjs/jobs/pipes.cjs.map +0 -1
- package/dist/cjs/jobs/pipes.min.cjs +0 -2
- package/dist/cjs/jobs/pipes.min.cjs.map +0 -1
- package/dist/cjs/jobs/types/redis.cjs +0 -106
- package/dist/cjs/jobs/types/redis.cjs.map +0 -1
- package/dist/cjs/jobs/types/redis.min.cjs +0 -2
- package/dist/cjs/jobs/types/redis.min.cjs.map +0 -1
- package/dist/cjs/server/impls/base.cjs +0 -211
- package/dist/cjs/server/impls/base.cjs.map +0 -1
- package/dist/cjs/server/impls/base.min.cjs +0 -2
- package/dist/cjs/server/impls/base.min.cjs.map +0 -1
- package/dist/cjs/server/impls/express.cjs +0 -111
- package/dist/cjs/server/impls/express.cjs.map +0 -1
- package/dist/cjs/server/impls/express.min.cjs +0 -2
- package/dist/cjs/server/impls/express.min.cjs.map +0 -1
- package/dist/cjs/server/impls/fastify.cjs +0 -121
- package/dist/cjs/server/impls/fastify.cjs.map +0 -1
- package/dist/cjs/server/impls/fastify.min.cjs +0 -2
- package/dist/cjs/server/impls/fastify.min.cjs.map +0 -1
- package/dist/cjs/server/middlewares/index.cjs +0 -2
- package/dist/cjs/server/middlewares/index.cjs.map +0 -1
- package/dist/cjs/server/middlewares/index.min.cjs +0 -2
- package/dist/cjs/server/middlewares/index.min.cjs.map +0 -1
- package/dist/cjs/server/middlewares/requireAuthUser.cjs +0 -22
- package/dist/cjs/server/middlewares/requireAuthUser.cjs.map +0 -1
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs +0 -2
- package/dist/cjs/server/middlewares/requireAuthUser.min.cjs.map +0 -1
- package/dist/cjs/server/openapi.cjs +0 -191
- package/dist/cjs/server/openapi.cjs.map +0 -1
- package/dist/cjs/server/openapi.min.cjs +0 -30
- package/dist/cjs/server/openapi.min.cjs.map +0 -1
- package/dist/cjs/server/pipes.cjs +0 -67
- package/dist/cjs/server/pipes.cjs.map +0 -1
- package/dist/cjs/server/pipes.min.cjs +0 -2
- package/dist/cjs/server/pipes.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs +0 -21
- package/dist/cjs/server/requests-auth-methods/apiKeys.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/base.cjs +0 -20
- package/dist/cjs/server/requests-auth-methods/base.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/base.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/base.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/index.cjs +0 -4
- package/dist/cjs/server/requests-auth-methods/index.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/index.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/index.min.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/jwt.cjs +0 -78
- package/dist/cjs/server/requests-auth-methods/jwt.cjs.map +0 -1
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs +0 -2
- package/dist/cjs/server/requests-auth-methods/jwt.min.cjs.map +0 -1
- package/dist/cjs/server/requests.cjs +0 -80
- package/dist/cjs/server/requests.cjs.map +0 -1
- package/dist/cjs/server/requests.min.cjs +0 -2
- package/dist/cjs/server/requests.min.cjs.map +0 -1
- package/dist/cjs/server/routes.cjs +0 -74
- package/dist/cjs/server/routes.cjs.map +0 -1
- package/dist/cjs/server/routes.min.cjs +0 -2
- package/dist/cjs/server/routes.min.cjs.map +0 -1
- package/dist/cjs/server/sockets.cjs +0 -126
- package/dist/cjs/server/sockets.cjs.map +0 -1
- package/dist/cjs/server/sockets.min.cjs +0 -2
- package/dist/cjs/server/sockets.min.cjs.map +0 -1
- package/dist/cjs/server/types.cjs +0 -34
- package/dist/cjs/server/types.cjs.map +0 -1
- package/dist/cjs/server/types.min.cjs +0 -2
- package/dist/cjs/server/types.min.cjs.map +0 -1
- package/dist/cjs/types/overrides.cjs +0 -1
- package/dist/cjs/types/overrides.cjs.map +0 -1
- package/dist/cjs/types/overrides.min.cjs +0 -1
- package/dist/cjs/types/overrides.min.cjs.map +0 -1
- package/dist/cjs/utilities/authProviders.cjs +0 -53
- package/dist/cjs/utilities/authProviders.cjs.map +0 -1
- package/dist/cjs/utilities/authProviders.min.cjs +0 -2
- package/dist/cjs/utilities/authProviders.min.cjs.map +0 -1
- package/dist/cjs/utilities/hash.cjs +0 -17
- package/dist/cjs/utilities/hash.cjs.map +0 -1
- package/dist/cjs/utilities/hash.min.cjs +0 -2
- package/dist/cjs/utilities/hash.min.cjs.map +0 -1
- package/dist/cjs/utilities/json.cjs +0 -16
- package/dist/cjs/utilities/json.cjs.map +0 -1
- package/dist/cjs/utilities/json.min.cjs +0 -2
- package/dist/cjs/utilities/json.min.cjs.map +0 -1
- package/dist/cjs/utilities/media.cjs +0 -13
- package/dist/cjs/utilities/media.cjs.map +0 -1
- package/dist/cjs/utilities/media.min.cjs +0 -2
- package/dist/cjs/utilities/media.min.cjs.map +0 -1
- package/dist/cjs/utilities/random.cjs +0 -12
- package/dist/cjs/utilities/random.cjs.map +0 -1
- package/dist/cjs/utilities/random.min.cjs +0 -2
- package/dist/cjs/utilities/random.min.cjs.map +0 -1
- package/dist/cjs/utilities/retry.cjs +0 -14
- package/dist/cjs/utilities/retry.cjs.map +0 -1
- package/dist/cjs/utilities/retry.min.cjs +0 -2
- package/dist/cjs/utilities/retry.min.cjs.map +0 -1
- package/dist/cjs/validations/valleyed.cjs +0 -43
- package/dist/cjs/validations/valleyed.cjs.map +0 -1
- package/dist/cjs/validations/valleyed.min.cjs +0 -2
- package/dist/cjs/validations/valleyed.min.cjs.map +0 -1
- package/dist/esm/audit/events.min.mjs +0 -2
- package/dist/esm/audit/events.min.mjs.map +0 -1
- package/dist/esm/audit/events.mjs +0 -101
- package/dist/esm/audit/events.mjs.map +0 -1
- package/dist/esm/audit/index.min.mjs +0 -2
- package/dist/esm/audit/index.min.mjs.map +0 -1
- package/dist/esm/audit/index.mjs +0 -2
- package/dist/esm/audit/index.mjs.map +0 -1
- package/dist/esm/cache/base.min.mjs +0 -2
- package/dist/esm/cache/base.min.mjs.map +0 -1
- package/dist/esm/cache/base.mjs +0 -6
- package/dist/esm/cache/base.mjs.map +0 -1
- package/dist/esm/cache/pipes.min.mjs +0 -2
- package/dist/esm/cache/pipes.min.mjs.map +0 -1
- package/dist/esm/cache/pipes.mjs +0 -16
- package/dist/esm/cache/pipes.mjs.map +0 -1
- package/dist/esm/cache/types/in-memory.min.mjs +0 -2
- package/dist/esm/cache/types/in-memory.min.mjs.map +0 -1
- package/dist/esm/cache/types/in-memory.mjs +0 -47
- package/dist/esm/cache/types/in-memory.mjs.map +0 -1
- package/dist/esm/cache/types/redis.min.mjs +0 -2
- package/dist/esm/cache/types/redis.min.mjs.map +0 -1
- package/dist/esm/cache/types/redis.mjs +0 -55
- package/dist/esm/cache/types/redis.mjs.map +0 -1
- package/dist/esm/dbs/base/changes.min.mjs +0 -2
- package/dist/esm/dbs/base/changes.min.mjs.map +0 -1
- package/dist/esm/dbs/base/changes.mjs +0 -36
- package/dist/esm/dbs/base/changes.mjs.map +0 -1
- package/dist/esm/dbs/base/core.min.mjs +0 -1
- package/dist/esm/dbs/base/core.mjs +0 -1
- package/dist/esm/dbs/base/db.min.mjs +0 -2
- package/dist/esm/dbs/base/db.min.mjs.map +0 -1
- package/dist/esm/dbs/base/db.mjs +0 -14
- package/dist/esm/dbs/base/db.mjs.map +0 -1
- package/dist/esm/dbs/base/types.min.mjs +0 -2
- package/dist/esm/dbs/base/types.min.mjs.map +0 -1
- package/dist/esm/dbs/base/types.mjs +0 -2
- package/dist/esm/dbs/base/types.mjs.map +0 -1
- package/dist/esm/dbs/mongo/changes.min.mjs +0 -2
- package/dist/esm/dbs/mongo/changes.min.mjs.map +0 -1
- package/dist/esm/dbs/mongo/changes.mjs +0 -81
- package/dist/esm/dbs/mongo/changes.mjs.map +0 -1
- package/dist/esm/dbs/mongo/db.min.mjs +0 -2
- package/dist/esm/dbs/mongo/db.min.mjs.map +0 -1
- package/dist/esm/dbs/mongo/db.mjs +0 -225
- package/dist/esm/dbs/mongo/db.mjs.map +0 -1
- package/dist/esm/dbs/mongo/query.min.mjs +0 -2
- package/dist/esm/dbs/mongo/query.min.mjs.map +0 -1
- package/dist/esm/dbs/mongo/query.mjs +0 -66
- package/dist/esm/dbs/mongo/query.mjs.map +0 -1
- package/dist/esm/dbs/pipes.min.mjs +0 -2
- package/dist/esm/dbs/pipes.min.mjs.map +0 -1
- package/dist/esm/dbs/pipes.mjs +0 -104
- package/dist/esm/dbs/pipes.mjs.map +0 -1
- package/dist/esm/errors/equippedError.min.mjs +0 -2
- package/dist/esm/errors/equippedError.min.mjs.map +0 -1
- package/dist/esm/errors/equippedError.mjs +0 -12
- package/dist/esm/errors/equippedError.mjs.map +0 -1
- package/dist/esm/errors/requestError.min.mjs +0 -2
- package/dist/esm/errors/requestError.min.mjs.map +0 -1
- package/dist/esm/errors/requestError.mjs +0 -12
- package/dist/esm/errors/requestError.mjs.map +0 -1
- package/dist/esm/errors/types/badRequestError.min.mjs +0 -2
- package/dist/esm/errors/types/badRequestError.min.mjs.map +0 -1
- package/dist/esm/errors/types/badRequestError.mjs +0 -12
- package/dist/esm/errors/types/badRequestError.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthenticatedError.min.mjs +0 -2
- package/dist/esm/errors/types/notAuthenticatedError.min.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthenticatedError.mjs +0 -12
- package/dist/esm/errors/types/notAuthenticatedError.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthorizedError.min.mjs +0 -2
- package/dist/esm/errors/types/notAuthorizedError.min.mjs.map +0 -1
- package/dist/esm/errors/types/notAuthorizedError.mjs +0 -12
- package/dist/esm/errors/types/notAuthorizedError.mjs.map +0 -1
- package/dist/esm/errors/types/notFoundError.min.mjs +0 -2
- package/dist/esm/errors/types/notFoundError.min.mjs.map +0 -1
- package/dist/esm/errors/types/notFoundError.mjs +0 -12
- package/dist/esm/errors/types/notFoundError.mjs.map +0 -1
- package/dist/esm/errors/types/tokenExpired.min.mjs +0 -2
- package/dist/esm/errors/types/tokenExpired.min.mjs.map +0 -1
- package/dist/esm/errors/types/tokenExpired.mjs +0 -12
- package/dist/esm/errors/types/tokenExpired.mjs.map +0 -1
- package/dist/esm/errors/types/validationError.min.mjs +0 -2
- package/dist/esm/errors/types/validationError.min.mjs.map +0 -1
- package/dist/esm/errors/types/validationError.mjs +0 -16
- package/dist/esm/errors/types/validationError.mjs.map +0 -1
- package/dist/esm/events/base.min.mjs +0 -2
- package/dist/esm/events/base.min.mjs.map +0 -1
- package/dist/esm/events/base.mjs +0 -6
- package/dist/esm/events/base.mjs.map +0 -1
- package/dist/esm/events/pipes.min.mjs +0 -2
- package/dist/esm/events/pipes.min.mjs.map +0 -1
- package/dist/esm/events/pipes.mjs +0 -28
- package/dist/esm/events/pipes.mjs.map +0 -1
- package/dist/esm/events/types/kafka.min.mjs +0 -2
- package/dist/esm/events/types/kafka.min.mjs.map +0 -1
- package/dist/esm/events/types/kafka.mjs.map +0 -1
- package/dist/esm/events/types/rabbitmq.min.mjs +0 -2
- package/dist/esm/events/types/rabbitmq.min.mjs.map +0 -1
- package/dist/esm/events/types/rabbitmq.mjs +0 -54
- package/dist/esm/events/types/rabbitmq.mjs.map +0 -1
- package/dist/esm/instance/hooks.min.mjs +0 -2
- package/dist/esm/instance/hooks.min.mjs.map +0 -1
- package/dist/esm/instance/hooks.mjs +0 -26
- package/dist/esm/instance/hooks.mjs.map +0 -1
- package/dist/esm/instance/settings.min.mjs +0 -2
- package/dist/esm/instance/settings.min.mjs.map +0 -1
- package/dist/esm/instance/settings.mjs +0 -57
- package/dist/esm/instance/settings.mjs.map +0 -1
- package/dist/esm/jobs/pipes.min.mjs +0 -2
- package/dist/esm/jobs/pipes.min.mjs.map +0 -1
- package/dist/esm/jobs/pipes.mjs +0 -13
- package/dist/esm/jobs/pipes.mjs.map +0 -1
- package/dist/esm/jobs/types/redis.min.mjs +0 -2
- package/dist/esm/jobs/types/redis.min.mjs.map +0 -1
- package/dist/esm/jobs/types/redis.mjs.map +0 -1
- package/dist/esm/server/impls/base.min.mjs +0 -2
- package/dist/esm/server/impls/base.min.mjs.map +0 -1
- package/dist/esm/server/impls/base.mjs +0 -211
- package/dist/esm/server/impls/base.mjs.map +0 -1
- package/dist/esm/server/impls/express.min.mjs +0 -2
- package/dist/esm/server/impls/express.min.mjs.map +0 -1
- package/dist/esm/server/impls/express.mjs +0 -111
- package/dist/esm/server/impls/express.mjs.map +0 -1
- package/dist/esm/server/impls/fastify.min.mjs +0 -2
- package/dist/esm/server/impls/fastify.min.mjs.map +0 -1
- package/dist/esm/server/impls/fastify.mjs +0 -121
- package/dist/esm/server/impls/fastify.mjs.map +0 -1
- package/dist/esm/server/middlewares/index.min.mjs +0 -2
- package/dist/esm/server/middlewares/index.min.mjs.map +0 -1
- package/dist/esm/server/middlewares/index.mjs +0 -2
- package/dist/esm/server/middlewares/index.mjs.map +0 -1
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs +0 -2
- package/dist/esm/server/middlewares/requireAuthUser.min.mjs.map +0 -1
- package/dist/esm/server/middlewares/requireAuthUser.mjs +0 -22
- package/dist/esm/server/middlewares/requireAuthUser.mjs.map +0 -1
- package/dist/esm/server/openapi.min.mjs +0 -30
- package/dist/esm/server/openapi.min.mjs.map +0 -1
- package/dist/esm/server/openapi.mjs +0 -191
- package/dist/esm/server/openapi.mjs.map +0 -1
- package/dist/esm/server/pipes.min.mjs +0 -2
- package/dist/esm/server/pipes.min.mjs.map +0 -1
- package/dist/esm/server/pipes.mjs +0 -67
- package/dist/esm/server/pipes.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs +0 -21
- package/dist/esm/server/requests-auth-methods/apiKeys.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/base.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/base.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/base.mjs +0 -20
- package/dist/esm/server/requests-auth-methods/base.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/index.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/index.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/index.mjs +0 -4
- package/dist/esm/server/requests-auth-methods/index.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs +0 -2
- package/dist/esm/server/requests-auth-methods/jwt.min.mjs.map +0 -1
- package/dist/esm/server/requests-auth-methods/jwt.mjs +0 -78
- package/dist/esm/server/requests-auth-methods/jwt.mjs.map +0 -1
- package/dist/esm/server/requests.min.mjs +0 -2
- package/dist/esm/server/requests.min.mjs.map +0 -1
- package/dist/esm/server/requests.mjs +0 -80
- package/dist/esm/server/requests.mjs.map +0 -1
- package/dist/esm/server/routes.min.mjs +0 -2
- package/dist/esm/server/routes.min.mjs.map +0 -1
- package/dist/esm/server/routes.mjs +0 -74
- package/dist/esm/server/routes.mjs.map +0 -1
- package/dist/esm/server/sockets.min.mjs +0 -2
- package/dist/esm/server/sockets.min.mjs.map +0 -1
- package/dist/esm/server/sockets.mjs +0 -126
- package/dist/esm/server/sockets.mjs.map +0 -1
- package/dist/esm/server/types.min.mjs +0 -2
- package/dist/esm/server/types.min.mjs.map +0 -1
- package/dist/esm/server/types.mjs +0 -34
- package/dist/esm/server/types.mjs.map +0 -1
- package/dist/esm/types/overrides.min.mjs +0 -1
- package/dist/esm/types/overrides.mjs +0 -1
- package/dist/esm/utilities/authProviders.min.mjs +0 -2
- package/dist/esm/utilities/authProviders.min.mjs.map +0 -1
- package/dist/esm/utilities/authProviders.mjs +0 -53
- package/dist/esm/utilities/authProviders.mjs.map +0 -1
- package/dist/esm/utilities/hash.min.mjs +0 -2
- package/dist/esm/utilities/hash.min.mjs.map +0 -1
- package/dist/esm/utilities/hash.mjs +0 -17
- package/dist/esm/utilities/hash.mjs.map +0 -1
- package/dist/esm/utilities/json.min.mjs +0 -2
- package/dist/esm/utilities/json.min.mjs.map +0 -1
- package/dist/esm/utilities/json.mjs +0 -16
- package/dist/esm/utilities/json.mjs.map +0 -1
- package/dist/esm/utilities/media.min.mjs +0 -2
- package/dist/esm/utilities/media.min.mjs.map +0 -1
- package/dist/esm/utilities/media.mjs +0 -13
- package/dist/esm/utilities/media.mjs.map +0 -1
- package/dist/esm/utilities/random.min.mjs +0 -2
- package/dist/esm/utilities/random.min.mjs.map +0 -1
- package/dist/esm/utilities/random.mjs +0 -12
- package/dist/esm/utilities/random.mjs.map +0 -1
- package/dist/esm/utilities/retry.min.mjs +0 -2
- package/dist/esm/utilities/retry.min.mjs.map +0 -1
- package/dist/esm/utilities/retry.mjs +0 -14
- package/dist/esm/utilities/retry.mjs.map +0 -1
- package/dist/esm/validations/valleyed.min.mjs +0 -2
- package/dist/esm/validations/valleyed.min.mjs.map +0 -1
- package/dist/esm/validations/valleyed.mjs +0 -43
- package/dist/esm/validations/valleyed.mjs.map +0 -1
- package/dist/types/audit/events.js +0 -100
- package/dist/types/audit/index.d.ts +0 -44
- package/dist/types/audit/index.js +0 -1
- package/dist/types/cache/base.js +0 -5
- package/dist/types/cache/pipes.js +0 -15
- package/dist/types/cache/types/in-memory.js +0 -46
- package/dist/types/cache/types/redis.js +0 -54
- package/dist/types/db-C8YY1yTO.d.ts +0 -14
- package/dist/types/db-Dj1SGto0.d.ts +0 -24
- package/dist/types/dbs/base/changes.js +0 -35
- package/dist/types/dbs/base/core.js +0 -0
- package/dist/types/dbs/base/db.js +0 -13
- package/dist/types/dbs/base/types.js +0 -1
- package/dist/types/dbs/mongo/changes.js +0 -80
- package/dist/types/dbs/mongo/db.js +0 -224
- package/dist/types/dbs/mongo/query.js +0 -65
- package/dist/types/dbs/pipes.js +0 -103
- package/dist/types/errors/equippedError.js +0 -11
- package/dist/types/errors/requestError.js +0 -11
- package/dist/types/errors/types/badRequestError.js +0 -11
- package/dist/types/errors/types/notAuthenticatedError.js +0 -11
- package/dist/types/errors/types/notAuthorizedError.js +0 -11
- package/dist/types/errors/types/notFoundError.js +0 -11
- package/dist/types/errors/types/tokenExpired.js +0 -11
- package/dist/types/errors/types/validationError.js +0 -15
- package/dist/types/events/base.js +0 -5
- package/dist/types/events/pipes.js +0 -27
- package/dist/types/events/types/rabbitmq.js +0 -53
- package/dist/types/instance/hooks.js +0 -25
- package/dist/types/instance/settings.js +0 -56
- package/dist/types/jobs/pipes.js +0 -12
- package/dist/types/kafka-Cf-TUJgv.d.ts +0 -54
- package/dist/types/server/impls/base.js +0 -210
- package/dist/types/server/impls/express.js +0 -110
- package/dist/types/server/impls/fastify.js +0 -120
- package/dist/types/server/middlewares/index.js +0 -1
- package/dist/types/server/middlewares/requireAuthUser.js +0 -21
- package/dist/types/server/openapi.js +0 -190
- package/dist/types/server/pipes.js +0 -66
- package/dist/types/server/requests-auth-methods/apiKeys.js +0 -20
- package/dist/types/server/requests-auth-methods/base.js +0 -19
- package/dist/types/server/requests-auth-methods/index.js +0 -3
- package/dist/types/server/requests-auth-methods/jwt.js +0 -77
- package/dist/types/server/requests.js +0 -79
- package/dist/types/server/routes.js +0 -73
- package/dist/types/server/sockets.js +0 -125
- package/dist/types/server/types.js +0 -33
- package/dist/types/types/overrides.js +0 -0
- package/dist/types/utilities/authProviders.js +0 -52
- package/dist/types/utilities/hash.js +0 -16
- package/dist/types/utilities/json.js +0 -15
- package/dist/types/utilities/media.js +0 -12
- package/dist/types/utilities/random.js +0 -11
- package/dist/types/utilities/retry.js +0 -13
- package/dist/types/validations/valleyed.js +0 -42
- /package/dist/esm/{dbs/base/core.min.mjs.map → cache/adapters/redis/index.min.mjs.map} +0 -0
- /package/dist/esm/{dbs/base/core.mjs.map → cache/adapters/redis/index.mjs.map} +0 -0
- /package/dist/esm/{types/overrides.min.mjs.map → chunk-AQY7QVYI.min.mjs.map} +0 -0
- /package/dist/esm/{types/overrides.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,101 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [5.3.0](https://github.com/kevinand11/equipped/compare/v5.3.0-alpha.0...v5.3.0) (2026-06-19)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* **server:** add custom not found fallback ([6173b4f](https://github.com/kevinand11/equipped/commit/6173b4ffb7f14dd7f965507c972f9fb1434dc5d1))
|
|
11
|
+
|
|
12
|
+
## [5.3.0-alpha.0](https://github.com/kevinand11/equipped/compare/v5.2.9...v5.3.0-alpha.0) (2026-06-16)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### ⚠ BREAKING CHANGES
|
|
16
|
+
|
|
17
|
+
* **orm:** `Where`, `WhereOp`, `WhereGroupOp`, `QueryGroup`,
|
|
18
|
+
`WhereFactory`, and `FilterOp` are removed from the public API.
|
|
19
|
+
Use `Filter`, `FilterGroup`, and `FilterFactory` from `filter.ts`.
|
|
20
|
+
|
|
21
|
+
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
22
|
+
* **orm:** EventAudit class and all types exported from
|
|
23
|
+
src/audit/ are removed. Migrate to EventLog via
|
|
24
|
+
EventLog.from(repo).build().handler(name, def).
|
|
25
|
+
|
|
26
|
+
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
27
|
+
* bump version to 6.0.0 for breaking-change lockdown
|
|
28
|
+
* **orm:** delete Adapter.from builder; finalize class-based narrowing
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
* computed fields ([d1abd3e](https://github.com/kevinand11/equipped/commit/d1abd3ead8614490a5ca7c0b129e5ab4f59ede78))
|
|
33
|
+
* configurable ([01e3b32](https://github.com/kevinand11/equipped/commit/01e3b329fc5c828324b1e1d826d57c85b550805f))
|
|
34
|
+
* fields and schema fields ([e67a768](https://github.com/kevinand11/equipped/commit/e67a768e21a4d3720e85494be584d91260b31983))
|
|
35
|
+
* implement FilterGroup + queryable behaviour + filter normalisation ([507a8b2](https://github.com/kevinand11/equipped/commit/507a8b2dba27a0ad491b6876bf18f42c7a17a198)), closes [#1](https://github.com/kevinand11/equipped/issues/1) [#5](https://github.com/kevinand11/equipped/issues/5)
|
|
36
|
+
* orm adapters ([cc56149](https://github.com/kevinand11/equipped/commit/cc56149e5bde7fbc532eeede10b9bba2b7a68b20))
|
|
37
|
+
* orm insert path + validation pipeline + OrmValidationError ([9337445](https://github.com/kevinand11/equipped/commit/93374453817848c1cb419c45ec2ae56f593ba85d)), closes [#3](https://github.com/kevinand11/equipped/issues/3) [#1](https://github.com/kevinand11/equipped/issues/1)
|
|
38
|
+
* orm query ([c62f321](https://github.com/kevinand11/equipped/commit/c62f321108660b3843f6f38f81d8d597cb9a9236))
|
|
39
|
+
* orm repo ([0755998](https://github.com/kevinand11/equipped/commit/0755998819384e84e5666c6d2f7d30f3b86fabb8))
|
|
40
|
+
* orm schema ([a360b7e](https://github.com/kevinand11/equipped/commit/a360b7e3bf39a540eae2408cc78cc72abd51d9ea))
|
|
41
|
+
* **orm/postgresql:** migrate PG adapter to defineAdapter shape (issue [#12](https://github.com/kevinand11/equipped/issues/12), PRD [#1](https://github.com/kevinand11/equipped/issues/1)) ([492e1c8](https://github.com/kevinand11/equipped/commit/492e1c8ef715be7ae7d91ccd723a5df684e78f75))
|
|
42
|
+
* **orm:** add .required() modifier to OneBuilder with Req typestate ([e987ae9](https://github.com/kevinand11/equipped/commit/e987ae94c50a4e8d0e7e661f0fb0ad25989e1292))
|
|
43
|
+
* **orm:** add adapter iteration primitive ([6c7ef2b](https://github.com/kevinand11/equipped/commit/6c7ef2b37068bce46d094c054b8f7f2b75728089))
|
|
44
|
+
* **orm:** add AggregateBuilder with count-only end-to-end via in-memory ([e77e9da](https://github.com/kevinand11/equipped/commit/e77e9da81f5ea2ebd7ebb97868edcfb1a4266ab5))
|
|
45
|
+
* **orm:** add canonical AggregateOpName type and aggregateOps capability ([a67605c](https://github.com/kevinand11/equipped/commit/a67605cc9a4eadaf68d23cb71ea6d23b698fcf5c))
|
|
46
|
+
* **orm:** add EventLog foundations and atomic fire path ([9fe567e](https://github.com/kevinand11/equipped/commit/9fe567e02ee69ebec2fe7879233edf305aed95e4))
|
|
47
|
+
* **orm:** add EventLog replay and rerun with per-event session isolation ([ac1ad61](https://github.com/kevinand11/equipped/commit/ac1ad6103883438059c6a26294be048324880048))
|
|
48
|
+
* **orm:** add filter-only count terminal ([ff511be](https://github.com/kevinand11/equipped/commit/ff511be634112720ac4cb9506d2f13e9177e903c))
|
|
49
|
+
* **orm:** add full Change algebra (10 remaining variants) + full validation + migrationId/changeIndex ([2ec765f](https://github.com/kevinand11/equipped/commit/2ec765f2be31264a3cefd64f242d6eba2c5885e0)), closes [#1](https://github.com/kevinand11/equipped/issues/1) [#1](https://github.com/kevinand11/equipped/issues/1) [#1](https://github.com/kevinand11/equipped/issues/1)
|
|
50
|
+
* **orm:** add iteration options validation ([92bde6f](https://github.com/kevinand11/equipped/commit/92bde6f6ba54e2ed6b4ee84d658b7ab0e676ea18))
|
|
51
|
+
* **orm:** add MigrationCodegen + introspect (in-memory adapter) ([5897662](https://github.com/kevinand11/equipped/commit/58976620009ac2bd27488dd30f004460b010f3dd))
|
|
52
|
+
* **orm:** add migrations foundation tracer-bullet ([2c1602b](https://github.com/kevinand11/equipped/commit/2c1602b107fd4d4693246d26f7bc08d034dcf7e1)), closes [#103](https://github.com/kevinand11/equipped/issues/103)
|
|
53
|
+
* **orm:** add Migrator opts (to/steps), status(), dry(), orphan detection + error phases ([ba680b6](https://github.com/kevinand11/equipped/commit/ba680b6e5dd4c74ea3d69b681e90b02088514c45))
|
|
54
|
+
* **orm:** add Mongo adapter migration methods + structural narrowing fix ([3a60395](https://github.com/kevinand11/equipped/commit/3a603953e5301c722f2a985733251b5d7fe4ce5a))
|
|
55
|
+
* **orm:** add MongoDB adapter aggregate pipeline compiler ([f027e64](https://github.com/kevinand11/equipped/commit/f027e647bbe51e0cbed32b80e957c3c26dec3637))
|
|
56
|
+
* **orm:** add OrmAdapter abstract base class and Repo dispatch validator ([accff9f](https://github.com/kevinand11/equipped/commit/accff9f0260e6d473323e91c6bdf7b12d8056e84))
|
|
57
|
+
* **orm:** add OrmNotFoundError class ([18addab](https://github.com/kevinand11/equipped/commit/18addab294c66850e525f6030fe850bb98b3eb1b))
|
|
58
|
+
* **orm:** add paginated all-query envelope ([1defc89](https://github.com/kevinand11/equipped/commit/1defc89a33a0cd29634ab7ff41bf792d809e0c8e))
|
|
59
|
+
* **orm:** add per-migration tx + cluster-safe lock to Migrator ([88d6752](https://github.com/kevinand11/equipped/commit/88d6752b95f2c6af55e9e9bd55bae53b8af7152d)), closes [#104](https://github.com/kevinand11/equipped/issues/104)
|
|
60
|
+
* **orm:** add Postgres adapter migration implementation ([e6cde0c](https://github.com/kevinand11/equipped/commit/e6cde0c1bcbb77f797f37a3d812d8faffc6b9d3c))
|
|
61
|
+
* **orm:** add read query-shape pagination validation ([d2f3b00](https://github.com/kevinand11/equipped/commit/d2f3b00a67ffe053eab12b04e2145f4d899c3e5c))
|
|
62
|
+
* **orm:** complete AggregateBuilder surface (groupBy, aggregators, where/having) ([6bede84](https://github.com/kevinand11/equipped/commit/6bede84df409da31738f31cf4767cd871b2941f6))
|
|
63
|
+
* **orm:** complete walking skeleton type safety + remove adapter cast gap ([0a04718](https://github.com/kevinand11/equipped/commit/0a04718f0a03993ead6bd010e51ab305a867aa87)), closes [#2](https://github.com/kevinand11/equipped/issues/2) [#2](https://github.com/kevinand11/equipped/issues/2) [#5](https://github.com/kevinand11/equipped/issues/5)
|
|
64
|
+
* **orm:** export AggregateBuilder from public barrel ([2c312f7](https://github.com/kevinand11/equipped/commit/2c312f75bc60dd3025ff7852404a90d22e77053b))
|
|
65
|
+
* **orm:** extend OrmValidationError with aggregate kind and alias carrier ([39e4006](https://github.com/kevinand11/equipped/commit/39e4006890b8ce446799d73f93122ee04fd32c36))
|
|
66
|
+
* **orm:** filter-based mutations + deleteByPk + raw escape hatch ([5bbf877](https://github.com/kevinand11/equipped/commit/5bbf87742198709c513bf6f61fb3795798f8d9a2)), closes [#6](https://github.com/kevinand11/equipped/issues/6) [#1](https://github.com/kevinand11/equipped/issues/1)
|
|
67
|
+
* **orm:** implement JSON adapter migrations ([6b9ae13](https://github.com/kevinand11/equipped/commit/6b9ae132131b5776bc55c7dc0c680f606e94823d))
|
|
68
|
+
* **orm:** implement PostgreSQL adapter aggregate compiler ([3a06688](https://github.com/kevinand11/equipped/commit/3a06688a7474119ae1497382e4af8d5fbdad519a))
|
|
69
|
+
* **orm:** implement walking skeleton for defineSchema/defineAdapter/defineRepo ([2ab2c8e](https://github.com/kevinand11/equipped/commit/2ab2c8ea6ae5f8c3d299cf6d01e650ec32ce9d1e)), closes [#2](https://github.com/kevinand11/equipped/issues/2) [#2](https://github.com/kevinand11/equipped/issues/2)
|
|
70
|
+
* **orm:** json adapter aggregate delegation to in-memory ([dedb42c](https://github.com/kevinand11/equipped/commit/dedb42cc381a5eafdb6eafff357201da3f0d9ffb))
|
|
71
|
+
* **orm:** stream postgresql iteration through cursors ([ac18e17](https://github.com/kevinand11/equipped/commit/ac18e1757270dd77d21cae2f2e323003c888dd09))
|
|
72
|
+
* **orm:** update path + op helpers + auto-bump + conflict rejection ([2ee0bfa](https://github.com/kevinand11/equipped/commit/2ee0bfa5d63dc60b62a0621adbfbf120ada3f0a6)), closes [#4](https://github.com/kevinand11/equipped/issues/4)
|
|
73
|
+
* **orm:** upsert dual-path — schema-per-call upsertOne with insert+ops ([0d5f275](https://github.com/kevinand11/equipped/commit/0d5f27544a621916b4ed31753f56e854067203ff)), closes [#8](https://github.com/kevinand11/equipped/issues/8) [#1](https://github.com/kevinand11/equipped/issues/1)
|
|
74
|
+
* projection ([eac52a3](https://github.com/kevinand11/equipped/commit/eac52a3ddd7a385f77f522de811e724852dfd14c))
|
|
75
|
+
* raw command ([6a56326](https://github.com/kevinand11/equipped/commit/6a56326de92246f0d45ffe407fabd15aabbfcb1d))
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
### Bug Fixes
|
|
79
|
+
|
|
80
|
+
* align README with insert→create and repo.from→repo.on renames ([3378a84](https://github.com/kevinand11/equipped/commit/3378a84981919768eba0d6c0dad9328e95c683aa))
|
|
81
|
+
* one relation return type ([17f05f2](https://github.com/kevinand11/equipped/commit/17f05f273112ac18c85ad3fb3edb8c76dd341e0f))
|
|
82
|
+
* **orm:** drop past-last pagination neighbors ([6ff12da](https://github.com/kevinand11/equipped/commit/6ff12daa0224e180902e7ca6c56625597203d174))
|
|
83
|
+
* **orm:** honor batch size in non-postgres iteration ([acd605a](https://github.com/kevinand11/equipped/commit/acd605acd62bcb3aaeae9fea1b8f7dc489d0a386))
|
|
84
|
+
* **orm:** move ssl into postgresqlConnectionPipe with v.defaults ([a5aafe8](https://github.com/kevinand11/equipped/commit/a5aafe8ac41f90534de8f7ac9a6d2afc54f8f1f3))
|
|
85
|
+
* **orm:** narrow deleteOne fallback to PK filter and remove dead ordering getters ([0e56628](https://github.com/kevinand11/equipped/commit/0e56628074b8245f0ed10862ef577e6dc27e61fd))
|
|
86
|
+
* **orm:** remove unnecessary type cast in schema.pk() ([1cbda00](https://github.com/kevinand11/equipped/commit/1cbda00421223e00a5260eacd62a8f5d583dda23))
|
|
87
|
+
* **orm:** restore direct iterate generator ([bc8a33b](https://github.com/kevinand11/equipped/commit/bc8a33be0884bad22f73d2dbeb6d699d7ac0ba16))
|
|
88
|
+
* **orm:** validate explicit undefined read limits ([3d7c85f](https://github.com/kevinand11/equipped/commit/3d7c85f2c99827cfe0fbf879dc8a14448aa94c12))
|
|
89
|
+
* **postgresql:** use pg-cursor type package ([b6971c7](https://github.com/kevinand11/equipped/commit/b6971c7bed83b61772f58f5d8bd24281b5fc4fe8))
|
|
90
|
+
* pr cleanup ([cc306b6](https://github.com/kevinand11/equipped/commit/cc306b697c242110409703cb67f7c2849ece445d))
|
|
91
|
+
* resolve merge conflict with feature/orm ([e00169a](https://github.com/kevinand11/equipped/commit/e00169a9377a6418f7168f525a06df18c4a8006f))
|
|
92
|
+
* resolve merge conflicts with feature/orm (static-factory refactor) ([6ed7369](https://github.com/kevinand11/equipped/commit/6ed7369efa838ff0e9b54dd139658de5efe84154))
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
* bump version to 6.0.0 for breaking-change lockdown ([927b04a](https://github.com/kevinand11/equipped/commit/927b04a8a39ae06e41f89883183769f81fbecdbf)), closes [#45](https://github.com/kevinand11/equipped/issues/45) [#45](https://github.com/kevinand11/equipped/issues/45) [#46](https://github.com/kevinand11/equipped/issues/46) [#47](https://github.com/kevinand11/equipped/issues/47) [#48](https://github.com/kevinand11/equipped/issues/48) [#54](https://github.com/kevinand11/equipped/issues/54)
|
|
96
|
+
* **orm:** consolidate query.ts into filter.ts + query-options.ts ([f96b3b0](https://github.com/kevinand11/equipped/commit/f96b3b051d673f2c62833daa62c9b3c1e631ff5e))
|
|
97
|
+
* **orm:** delete Adapter.from builder; finalize class-based narrowing ([cec1fa0](https://github.com/kevinand11/equipped/commit/cec1fa0b9785d72f9f62bb1c9aaba6cc75f123df))
|
|
98
|
+
* **orm:** delete legacy src/audit/ EventAudit module ([e99d042](https://github.com/kevinand11/equipped/commit/e99d042eb339f58b1f6a40178b03d184a6ef0312))
|
|
99
|
+
|
|
5
100
|
### [5.2.9](https://github.com/kevinand11/equipped/compare/v5.2.8...v5.2.9) (2026-03-21)
|
|
6
101
|
|
|
7
102
|
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Equipped is a comprehensive, batteries-included, and opinionated full-stack fram
|
|
|
4
4
|
|
|
5
5
|
## Core Features
|
|
6
6
|
|
|
7
|
-
- **All-in-One**: Integrated server (Fastify/Express),
|
|
7
|
+
- **All-in-One**: Integrated server (Fastify/Express), typed ORM (adapter-agnostic), caching (Redis), job queue (Bull/Redis), and event bus (Kafka/RabbitMQ).
|
|
8
8
|
- **Type-Safe**: End-to-end type safety from environment variables and configuration to database models and API routes.
|
|
9
9
|
- **Modular & Opinionated**: Sensible defaults and a modular design allow you to enable only the features you need, while providing a clear structure for your application.
|
|
10
10
|
- **Lifecycle Management**: Coordinated startup and shutdown hooks (`setup`, `start`, `close`) ensure graceful initialization and termination of all components.
|
|
@@ -84,7 +84,7 @@ The `Instance` class is the heart of an Equipped application. It's a singleton t
|
|
|
84
84
|
|
|
85
85
|
- **`Instance.create(envsPipe, settings)`**: Initializes the singleton instance. It must be called only once. It validates environment variables and settings before creating the instance.
|
|
86
86
|
- **`Instance.get()`**: Retrieves the active instance. Throws an error if `create` has not been called.
|
|
87
|
-
- **`Instance.on(event, callback,
|
|
87
|
+
- **`Instance.on(event, callback, options?)`**: Registers a lifecycle hook.
|
|
88
88
|
- `setup`: Runs once before `start`. Ideal for setting up connections or listeners.
|
|
89
89
|
- `start`: Runs after `setup`. The primary phase for starting services.
|
|
90
90
|
- `close`: Runs when the application is shutting down (e.g., via `SIGINT`).
|
|
@@ -198,46 +198,374 @@ router.post('/upload')({
|
|
|
198
198
|
});
|
|
199
199
|
```
|
|
200
200
|
|
|
201
|
-
##
|
|
201
|
+
## ORM
|
|
202
202
|
|
|
203
|
-
Equipped
|
|
203
|
+
Equipped ships a typed, capability-aware ORM built on the stack **Schema → Relations → Adapter → Repo**. The package ships no database drivers — adapters (including the in-tree MongoDB and PostgreSQL adapters) declare exactly what they support, and the Repo's TypeScript surface narrows to match. Calling a method the adapter doesn't implement is a compile error, not a runtime throw.
|
|
204
|
+
|
|
205
|
+
### Defining a Schema
|
|
206
|
+
|
|
207
|
+
A Schema describes a single document shape — name, primary key, data fields, and optional computed fields. Schemas are adapter-agnostic and carry `valleyed` pipes for validation.
|
|
204
208
|
|
|
205
209
|
```typescript
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
210
|
+
import { Schema } from 'equipped/orm'
|
|
211
|
+
|
|
212
|
+
const UserSchema = Schema.from('users')
|
|
213
|
+
.pk('id', v.string(), () => crypto.randomUUID())
|
|
214
|
+
.field('email', v.string())
|
|
215
|
+
.field('name', v.string())
|
|
216
|
+
.field('age', v.number())
|
|
217
|
+
.field('orgId', v.string())
|
|
218
|
+
.field('tags', v.array(v.string()))
|
|
219
|
+
.field('bio', v.optional(v.string()), { onCreate: () => undefined })
|
|
220
|
+
.field('createdAt', v.number(), { onCreate: () => Date.now() })
|
|
221
|
+
.field('updatedAt', v.number(), {
|
|
222
|
+
onCreate: () => Date.now(),
|
|
223
|
+
onUpdate: () => Date.now(),
|
|
224
|
+
})
|
|
225
|
+
.build()
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
- **`pk(name, pipe, generator)`** — declares the primary key. The generator runs on create.
|
|
229
|
+
- **`field(name, pipe, opts?)`** — declares a data field. Optional `onCreate` / `onUpdate` generators auto-inject values.
|
|
230
|
+
- **`computed(name, deps, pipe, compute)`** — declares a derived field computed from persisted dependencies.
|
|
231
|
+
|
|
232
|
+
Fields with `onUpdate` generators auto-bump on every update unless the update explicitly touches that field.
|
|
233
|
+
|
|
234
|
+
### Defining Relations
|
|
235
|
+
|
|
236
|
+
Relations live in a separate artifact from the schema. They wire `hasMany` / `hasOne` / `belongsTo` descriptors using schema-tagged Field references as foreign keys.
|
|
237
|
+
|
|
238
|
+
```typescript
|
|
239
|
+
import { Relations, Schema } from 'equipped/orm'
|
|
240
|
+
|
|
241
|
+
const PostSchema = Schema.from('posts')
|
|
242
|
+
.pk('id', v.string(), () => crypto.randomUUID())
|
|
243
|
+
.field('title', v.string())
|
|
244
|
+
.field('userId', v.string())
|
|
245
|
+
.build()
|
|
246
|
+
|
|
247
|
+
const ProfileSchema = Schema.from('profiles')
|
|
248
|
+
.pk('id', v.string(), () => crypto.randomUUID())
|
|
249
|
+
.field('bio', v.string())
|
|
250
|
+
.field('userId', v.string())
|
|
251
|
+
.build()
|
|
252
|
+
|
|
253
|
+
const OrgSchema = Schema.from('orgs')
|
|
254
|
+
.pk('id', v.string(), () => crypto.randomUUID())
|
|
255
|
+
.field('name', v.string())
|
|
256
|
+
.build()
|
|
257
|
+
|
|
258
|
+
const UserRelations = Relations.from(UserSchema)
|
|
259
|
+
.hasMany('posts', PostSchema.fields.userId)
|
|
260
|
+
.hasOne('profile', ProfileSchema.fields.userId)
|
|
261
|
+
.belongsTo('org', UserSchema.fields.orgId, OrgSchema)
|
|
262
|
+
.build()
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
- **`hasMany(name, fk)`** — one-to-many. The FK lives on the target schema; target is inferred from the FK's phantom schema tag.
|
|
266
|
+
- **`hasOne(name, fk)`** — one-to-one. Same FK-driven inference as `hasMany`.
|
|
267
|
+
- **`belongsTo(name, fk, target, references?)`** — many-to-one. The FK lives on the source schema.
|
|
268
|
+
- **FK type-safety** — FKs must be `Field` instances (not raw strings), and pointing a string FK at a number PK is a compile error.
|
|
269
|
+
- **Self-referential** — works without special casing: `belongsTo('manager', src.fields.managerId, UserSchema)`.
|
|
270
|
+
- **Many-to-many** — modelled via an explicit join schema with two `belongsTo` relations.
|
|
271
|
+
|
|
272
|
+
### Defining an Adapter
|
|
273
|
+
|
|
274
|
+
An Adapter declares capabilities via three closed canonical sets and four optional behaviour bags, then implements the methods for each bag it declares.
|
|
275
|
+
|
|
276
|
+
```typescript
|
|
277
|
+
import { Adapter } from 'equipped/orm'
|
|
278
|
+
|
|
279
|
+
const adapter = Adapter.from<{ table: string }>()
|
|
280
|
+
.supportedFieldTypes('string', 'number', 'boolean', 'null', 'object', 'array', 'date')
|
|
281
|
+
.queryableOps('eq', 'ne', 'gt', 'gte', 'lt', 'lte', 'in', 'notIn')
|
|
282
|
+
.updateOps('set', 'inc', 'mul')
|
|
283
|
+
.lifecycle({
|
|
284
|
+
connect: async () => { /* open pool */ },
|
|
285
|
+
disconnect: async () => { /* close pool */ },
|
|
286
|
+
})
|
|
287
|
+
.crud({
|
|
288
|
+
findByPk: async (schema, config, pk) => { /* ... */ },
|
|
289
|
+
createMany: async (schema, config, data) => { /* ... */ },
|
|
290
|
+
updateByPk: async (schema, config, pk, ops) => { /* ... */ },
|
|
291
|
+
deleteByPk: async (schema, config, pk) => { /* ... */ },
|
|
292
|
+
raw: async (schema, config, command, params) => { /* ... */ },
|
|
293
|
+
})
|
|
294
|
+
.queryable({
|
|
295
|
+
findMany: async (schema, config, filter, options) => { /* ... */ },
|
|
296
|
+
updateMany: async (schema, config, filter, data) => { /* ... */ },
|
|
297
|
+
deleteMany: async (schema, config, filter) => { /* ... */ },
|
|
298
|
+
upsertOne: async (schema, config, filter, create, ops) => { /* ... */ },
|
|
299
|
+
})
|
|
300
|
+
.transactional({
|
|
301
|
+
session: async (fn) => { /* ... */ },
|
|
302
|
+
})
|
|
303
|
+
.build()
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
#### Capability Declarations
|
|
307
|
+
|
|
308
|
+
| Declaration | Values |
|
|
309
|
+
|---|---|
|
|
310
|
+
| `supportedFieldTypes` | `string`, `number`, `boolean`, `null`, `object`, `array`, `date` |
|
|
311
|
+
| `queryableOps` | `eq`, `ne`, `gt`, `gte`, `lt`, `lte`, `in`, `notIn`, `like`, `exists`, `notExists`, `contains`, `notContains` |
|
|
312
|
+
| `updateOps` | `set`, `inc`, `mul`, `min`, `max`, `unset`, `push`, `pull`, `patch` |
|
|
313
|
+
|
|
314
|
+
Adapters subset these sets — they cannot extend them. Extension requires a package version bump.
|
|
315
|
+
|
|
316
|
+
#### Behaviour Bags
|
|
317
|
+
|
|
318
|
+
| Bag | Methods | Purpose |
|
|
319
|
+
|---|---|---|
|
|
320
|
+
| `lifecycle` | `connect`, `disconnect` | Connection management |
|
|
321
|
+
| `crud` | `findByPk`, `createMany`, `updateByPk`, `deleteByPk`, `raw` | PK-keyed and raw operations |
|
|
322
|
+
| `queryable` | `findMany`, `updateMany`, `deleteMany`, `upsertOne` | Filter-based operations |
|
|
323
|
+
| `transactional` | `session` | Transaction support |
|
|
324
|
+
|
|
325
|
+
Every bag and every method within a bag is independently optional. An adapter that only declares `crud` with `findByPk` is a valid read-only, PK-only adapter.
|
|
326
|
+
|
|
327
|
+
**Co-required pair**: `.queryable()` requires `.queryableOps()` to have been called with a non-empty list. Calling `.queryable()` without it is both a compile error and a runtime throw.
|
|
328
|
+
|
|
329
|
+
**No-emulation rule**: the framework never silently emulates a missing op or behaviour client-side. If the adapter doesn't declare it, the Repo method doesn't exist at the type level. Adapter-specific power lives in `raw` only.
|
|
330
|
+
|
|
331
|
+
The in-tree adapters live under `src/orm/adapters/` — see their individual READMEs for session nesting behaviour and upsert-compatible filter shapes:
|
|
332
|
+
- [MongoDB adapter](src/orm/adapters/mongodb/README.md)
|
|
333
|
+
- [PostgreSQL adapter](src/orm/adapters/postgresql/README.md)
|
|
334
|
+
|
|
335
|
+
### Defining a Repo
|
|
336
|
+
|
|
337
|
+
A Repo wraps an adapter and provides the schema-per-call surface. One Repo handles all schemas — no registry, no per-schema derivation.
|
|
338
|
+
|
|
339
|
+
```typescript
|
|
340
|
+
import { Repo } from 'equipped/orm'
|
|
341
|
+
|
|
342
|
+
const repo = Repo.from(adapter)
|
|
343
|
+
.resolve((schema) => ({ table: schema.name }))
|
|
344
|
+
.build()
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
- **`Repo.from(adapter)`** — starts the builder, binding the adapter.
|
|
348
|
+
- **`.resolve(fn)`** — maps schema → adapter config. Called once.
|
|
349
|
+
|
|
350
|
+
### Repository API
|
|
351
|
+
|
|
352
|
+
All CRUD goes through `repo.on(Schema)`, which returns a `SchemaRef` that branches into `.one()` (single document) or `.all()` (collection). The Repo's only consumer-facing methods are `on(schema)`, `resolve(transform, fn)`, and `session(fn)`.
|
|
353
|
+
|
|
354
|
+
```typescript
|
|
355
|
+
// Create
|
|
356
|
+
const user = await repo.on(UserSchema).one().create({ email: 'a@b.com', name: 'Alice' })
|
|
357
|
+
const users = await repo.on(UserSchema).all().create([
|
|
358
|
+
{ email: 'a@b.com', name: 'Alice' },
|
|
359
|
+
{ email: 'b@c.com', name: 'Bob' },
|
|
360
|
+
])
|
|
361
|
+
|
|
362
|
+
// Read by PK
|
|
363
|
+
const found = await repo.on(UserSchema).one().id('u1').find()
|
|
364
|
+
|
|
365
|
+
// Read a stable paginated envelope. Use deterministic ordering for stable pages.
|
|
366
|
+
const page = await repo.on(UserSchema).all()
|
|
367
|
+
.where((q) => q.eq('name', 'Alice'))
|
|
368
|
+
.orderBy('createdAt', 'desc')
|
|
369
|
+
.page(3)
|
|
370
|
+
.limit(10)
|
|
371
|
+
.paginate()
|
|
372
|
+
|
|
373
|
+
console.log(page.items) // page documents
|
|
374
|
+
console.log(page.pages) // { current, start, last, previous, next }
|
|
375
|
+
console.log(page.docs) // { limit, total, count }
|
|
376
|
+
|
|
377
|
+
// Select specific fields
|
|
378
|
+
const partial = await repo.on(UserSchema).all()
|
|
379
|
+
.select(['id', 'name'])
|
|
380
|
+
.find()
|
|
381
|
+
|
|
382
|
+
// Preload relations
|
|
383
|
+
const withPosts = await repo.on(UserSchema).one().id('u1')
|
|
384
|
+
.preload([UserRelations.posts, UserRelations.org])
|
|
385
|
+
.find()
|
|
386
|
+
|
|
387
|
+
// Iterate a bounded query one document at a time
|
|
388
|
+
for await (const user of repo.on(UserSchema).all()
|
|
389
|
+
.where((q) => q.eq('active', true))
|
|
390
|
+
.orderBy('createdAt', 'desc')
|
|
391
|
+
.limit(100)
|
|
392
|
+
.iterate()) {
|
|
393
|
+
console.log(user.email)
|
|
218
394
|
}
|
|
395
|
+
// .iterate() is query iteration over the current result set. It is not a
|
|
396
|
+
// realtime stream, change feed, CDC listener, watch, or subscription API.
|
|
397
|
+
|
|
398
|
+
// Update
|
|
399
|
+
const updated = await repo.on(UserSchema).one().id('u1').update({ name: 'New Name' })
|
|
400
|
+
const allUpdated = await repo.on(UserSchema).all()
|
|
401
|
+
.where((q) => q.eq('name', 'Old'))
|
|
402
|
+
.update({ name: 'New' })
|
|
403
|
+
|
|
404
|
+
// Upsert
|
|
405
|
+
const upserted = await repo.on(UserSchema).one()
|
|
406
|
+
.where((q) => q.eq('email', 'a@b.com'))
|
|
407
|
+
.upsert({ create: { email: 'a@b.com', name: 'Alice' } })
|
|
408
|
+
|
|
409
|
+
// Delete
|
|
410
|
+
const deleted = await repo.on(UserSchema).one().id('u1').delete()
|
|
411
|
+
const allDeleted = await repo.on(UserSchema).all()
|
|
412
|
+
.where((q) => q.eq('name', 'ToDelete'))
|
|
413
|
+
.delete()
|
|
414
|
+
|
|
415
|
+
// Raw
|
|
416
|
+
const raw = await repo.on(UserSchema).raw('SELECT * FROM users')
|
|
417
|
+
```
|
|
219
418
|
|
|
220
|
-
|
|
221
|
-
// dbs: { types: { mongo: { type: 'mongo', uri: envs.MONGO_URI } } }
|
|
222
|
-
|
|
223
|
-
// 3. Access the table through the instance
|
|
224
|
-
const users = instance.dbs.mongo.use<PipeOutput<typeof UserEntity.schema>, UserEntity>({
|
|
225
|
-
db: 'main-db',
|
|
226
|
-
col: 'users',
|
|
227
|
-
mapper: (e) => new UserEntity(e),
|
|
228
|
-
// Optional: Listen for database changes
|
|
229
|
-
change: {
|
|
230
|
-
created: async ({ after }) => console.log(`User created: ${after.name}`),
|
|
231
|
-
updated: async ({ after }) => console.log(`User updated: ${after.name}`),
|
|
232
|
-
deleted: async ({ before }) => console.log(`User deleted: ${before.name}`),
|
|
233
|
-
}
|
|
234
|
-
});
|
|
419
|
+
Builder snapshots are immutable — branching from a base builder does not mutate the original.
|
|
235
420
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
421
|
+
**Transactions** (gated by `transactional.session`):
|
|
422
|
+
|
|
423
|
+
```typescript
|
|
424
|
+
const result = await repo.session(async () => {
|
|
425
|
+
const user = await repo.on(UserSchema).one().create({ email: 'a@b.com', name: 'Alice' })
|
|
426
|
+
await repo.on(PostSchema).one().create({ title: 'Hello', userId: user.id })
|
|
427
|
+
return user.id
|
|
428
|
+
})
|
|
429
|
+
// Throw inside the callback → automatic rollback
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
#### Method Gating
|
|
433
|
+
|
|
434
|
+
Builder methods are gated by the adapter's capability declarations. Methods whose bag or sub-method isn't declared collapse to `never` at the type level:
|
|
435
|
+
|
|
436
|
+
| Builder method | Required adapter capability |
|
|
437
|
+
|---|---|
|
|
438
|
+
| `schemaRef.raw()` | `crud.raw` |
|
|
439
|
+
| `one().update()` / `all().update()` | `queryable.updateMany` |
|
|
440
|
+
| `one().delete()` / `all().delete()` | `queryable.deleteMany` |
|
|
441
|
+
| `all().iterate()` | `queryable.iterateMany` |
|
|
442
|
+
| `one().upsert()` | `queryable.upsertOne` |
|
|
443
|
+
| `repo.session()` | `transactional.session` |
|
|
444
|
+
|
|
445
|
+
A schema with a field type not in `supportedFieldTypes` resolves to `never` in the schema argument position — the call won't compile.
|
|
446
|
+
|
|
447
|
+
### Filters (Query API)
|
|
448
|
+
|
|
449
|
+
The `.where()` builder step accepts a factory `(q) => q.op(field, value)` that builds a `FilterGroup`. Every method on `FilterGroup` maps to one of the 13 canonical filter ops:
|
|
450
|
+
|
|
451
|
+
| Op | Signature | Description |
|
|
452
|
+
|---|---|---|
|
|
453
|
+
| `eq` | `q.eq(field, value)` | Equal |
|
|
454
|
+
| `ne` | `q.ne(field, value)` | Not equal |
|
|
455
|
+
| `gt` | `q.gt(field, value)` | Greater than |
|
|
456
|
+
| `gte` | `q.gte(field, value)` | Greater than or equal |
|
|
457
|
+
| `lt` | `q.lt(field, value)` | Less than |
|
|
458
|
+
| `lte` | `q.lte(field, value)` | Less than or equal |
|
|
459
|
+
| `in` | `q.in(field, values)` | In array |
|
|
460
|
+
| `notIn` | `q.notIn(field, values)` | Not in array |
|
|
461
|
+
| `like` | `q.like(field, pattern)` | Substring match |
|
|
462
|
+
| `exists` | `q.exists(field)` | Field is non-null |
|
|
463
|
+
| `notExists` | `q.notExists(field)` | Field is null/undefined (its own op, not a boolean form of `exists`) |
|
|
464
|
+
| `contains` | `q.contains(field, values)` | Array contains subset |
|
|
465
|
+
| `notContains` | `q.notContains(field, values)` | Array does not contain subset |
|
|
466
|
+
|
|
467
|
+
Structural combinators build compound filters:
|
|
468
|
+
|
|
469
|
+
```typescript
|
|
470
|
+
// AND — all conditions must match
|
|
471
|
+
q.and([
|
|
472
|
+
(g) => g.gt('age', 18),
|
|
473
|
+
(g) => g.eq('active', true),
|
|
474
|
+
])
|
|
475
|
+
|
|
476
|
+
// OR — any condition matches
|
|
477
|
+
q.or([
|
|
478
|
+
(g) => g.eq('role', 'admin'),
|
|
479
|
+
(g) => g.eq('role', 'superadmin'),
|
|
480
|
+
])
|
|
481
|
+
```
|
|
482
|
+
|
|
483
|
+
Filters can reference fields by name (string) or by schema-tagged Field reference (`UserSchema.fields.email`). Empty `and([])` / `or([])` throws at builder time. Unknown fields throw `OrmValidationError` at the Repo-entry boundary.
|
|
484
|
+
|
|
485
|
+
Filter ops are gated per-adapter: the `FilterGroup` passed to a Repo method only exposes ops declared in the adapter's `queryableOps`. Undeclared ops are `never` at the type level.
|
|
486
|
+
|
|
487
|
+
### Update Operations
|
|
488
|
+
|
|
489
|
+
The `.update()` and `.upsert()` builder methods accept typed update data. Atomic update op helpers are exported from `equipped/orm`:
|
|
490
|
+
|
|
491
|
+
| Op | Helper | Target |
|
|
492
|
+
|---|---|---|
|
|
493
|
+
| `set` | `set<Schema>({ field: value })` | Any field (partial) |
|
|
494
|
+
| `inc` | `inc<Schema>(field, value)` | Numeric fields |
|
|
495
|
+
| `mul` | `mul<Schema>(field, value)` | Numeric fields |
|
|
496
|
+
| `min` | `min<Schema>(field, value)` | Comparable fields |
|
|
497
|
+
| `max` | `max<Schema>(field, value)` | Comparable fields |
|
|
498
|
+
| `unset` | `unset<Schema>(field)` | Optional fields |
|
|
499
|
+
| `push` | `push<Schema>(field, value)` | Array fields |
|
|
500
|
+
| `pull` | `pull<Schema>(field, value)` | Array fields |
|
|
501
|
+
| `patch` | `patch<Schema>(field, value)` | Object fields |
|
|
502
|
+
|
|
503
|
+
```typescript
|
|
504
|
+
import { IncOp } from 'equipped/orm'
|
|
505
|
+
|
|
506
|
+
await repo.on(UserSchema).one().id('u1').update({
|
|
507
|
+
name: 'Alice',
|
|
508
|
+
age: new IncOp('age', 1),
|
|
509
|
+
})
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
- Conflicting ops on the same field (e.g. setting and incrementing `views`) throw `OrmValidationError` with `kind: 'conflicting-ops'`.
|
|
513
|
+
- Only `set` values are pipe-validated; atomic op operands are not.
|
|
514
|
+
- Op availability is gated by the adapter's `updateOps` declaration — undeclared ops resolve to `never`.
|
|
515
|
+
|
|
516
|
+
### Context & Multi-tenancy
|
|
517
|
+
|
|
518
|
+
`repo.resolve(transform, fn)` scopes a block of queries with an explicit config override. It uses `AsyncLocalStorage` internally — transforms are visible to all queries within `fn`, including preload sub-queries and queries inside sessions. Parallel calls do not bleed into each other.
|
|
519
|
+
|
|
520
|
+
```typescript
|
|
521
|
+
import { type ConfigTransform, Repo } from 'equipped/orm'
|
|
522
|
+
|
|
523
|
+
type MyConfig = { table: string; tenantPrefix?: string }
|
|
524
|
+
|
|
525
|
+
const repo = Repo.from(adapter)
|
|
526
|
+
.resolve((schema) => ({ table: schema.name }))
|
|
527
|
+
.build()
|
|
528
|
+
|
|
529
|
+
// Per-request scope entry
|
|
530
|
+
app.use((req, res, next) => {
|
|
531
|
+
const tenantId = req.headers['x-tenant-id']
|
|
532
|
+
repo.resolve(
|
|
533
|
+
(config) => ({ ...config, tenantPrefix: tenantId }),
|
|
534
|
+
next,
|
|
535
|
+
)
|
|
536
|
+
})
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
**How it works**: `repo.resolve(transform, fn)` pushes a `ConfigTransform` onto the ALS context for the duration of `fn`. The transform is applied to the base config (from the builder's `.resolve()`) before the adapter receives it. Nested `repo.resolve()` calls compose — inner transforms see the outer-transformed config.
|
|
540
|
+
|
|
541
|
+
**Patterns**:
|
|
542
|
+
|
|
543
|
+
- **Hono / Express middleware**: call `repo.resolve(transform, next)` in middleware to scope all downstream queries.
|
|
544
|
+
- **Explicit per-operation**: wrap a single operation for ad-hoc config overrides.
|
|
545
|
+
|
|
546
|
+
**Footgun mitigations**: without a `repo.resolve()` scope, all queries run with the base config. To fail loud on missing tenant context, have your transform throw when the expected value is absent.
|
|
547
|
+
|
|
548
|
+
### Builder-chain Pattern Overview
|
|
549
|
+
|
|
550
|
+
All declarative artifact construction (`Schema.from()`, `Relations.from()`, `Adapter.from()`, `Repo.from()`) uses a uniform **static-factory builder-chain** pattern:
|
|
551
|
+
|
|
552
|
+
```typescript
|
|
553
|
+
const artifact = X.from(args)
|
|
554
|
+
.stepA(...)
|
|
555
|
+
.stepB(...)
|
|
556
|
+
.stepC(...)
|
|
557
|
+
.build()
|
|
239
558
|
```
|
|
240
559
|
|
|
560
|
+
**Rules**:
|
|
561
|
+
|
|
562
|
+
- **Once-per-step**: each builder step can be called at most once. Duplicate calls are compile errors via a uniqueness guard (`K extends keyof Acc ? never : K`).
|
|
563
|
+
- **Per-step coherence**: each step validates its own constraints at the call site. For example, `.queryable()` requires `.queryableOps()` to have been called first with a non-empty list.
|
|
564
|
+
- **Omission-equals-empty**: a step not called means the artifact doesn't declare that capability. Op-list fields default to `readonly []`; behaviours default to absent.
|
|
565
|
+
- **Name-parity convention**: builder method names match the capability names they declare (`.queryableOps()` declares `queryableOps`, `.crud()` declares `crud`, etc.).
|
|
566
|
+
|
|
567
|
+
This pattern applies only to **definitions** (static artifact construction). **Operations** (Repo method calls, `repo.session()`, op helpers like `set()`) use direct function calls.
|
|
568
|
+
|
|
241
569
|
## Caching (Redis)
|
|
242
570
|
|
|
243
571
|
A simple and effective caching layer backed by Redis is available on the instance.
|