{"_id":"@aopslabs/xf-dm","_rev":"3-bc27ddd6355d52215a25362fcfde28b5","name":"@aopslabs/xf-dm","dist-tags":{"latest":"0.2.2"},"versions":{"0.2.0":{"name":"@aopslabs/xf-dm","version":"0.2.0","license":"SEE LICENSE IN LICENSE","_id":"@aopslabs/xf-dm@0.2.0","maintainers":[{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"}],"homepage":"https://github.com/eeemzs/xf-packages#readme","bugs":{"url":"https://github.com/eeemzs/xf-packages/issues"},"dist":{"shasum":"9e81a469a31787479d1109b195e5da33ee99adc1","tarball":"https://registry.npmjs.org/@aopslabs/xf-dm/-/xf-dm-0.2.0.tgz","fileCount":20,"integrity":"sha512-6IpyJMNlJuPwulDOvA8/H6UvlWUvuFO6Cyt7/zeGM7zqTqhjSvYTwP75sTwPa8HX5HuEdR81fP9klxDN3kHmYQ==","signatures":[{"sig":"MEUCIESAVA6dKg4Ni00vJ9Lzr+OvGiVA49REobnHd5dYQBCgAiEAvVNlaQlIrTFzmTscsBn7OI8eF8HNSKyT57vyzAaafro=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26214},"main":"./dist/index.js","type":"module","_from":"file:S:/dev-js2/tmp/xf-public-b4-dm-20260804-r1/aopslabs-xf-dm-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"build":"tsc -p tsconfig.lib.json","build:debug":"tsc -p tsconfig.lib.json --sourceMap"},"_npmUser":{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"},"_resolved":"S:\\dev-js2\\tmp\\xf-public-b4-dm-20260804-r1\\aopslabs-xf-dm-0.2.0.tgz","_integrity":"sha512-6IpyJMNlJuPwulDOvA8/H6UvlWUvuFO6Cyt7/zeGM7zqTqhjSvYTwP75sTwPa8HX5HuEdR81fP9klxDN3kHmYQ==","repository":{"url":"git+https://github.com/eeemzs/xf-packages.git","type":"git"},"_npmVersion":"11.6.4","description":"Repository factory and resolver utilities for applications that support MongoDB, Drizzle ORM, or Redis-backed data access.","directories":{},"_nodeVersion":"22.18.0","dependencies":{"tslib":"^2.3.0","effect":"3.20.0","@aopslabs/xf-db":"^0.2.0","@aopslabs/xf-core":"^0.2.0","@aopslabs/xf-logger":"^0.2.1","@aopslabs/xf-db-redis":"^0.2.0","@aopslabs/xf-db-drizzle":"^0.2.0","@aopslabs/xf-db-mongoose":"^0.2.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.9.3","@types/node":"^25.3.0"},"_npmOperationalInternal":{"tmp":"tmp/xf-dm_0.2.0_1785862010245_0.07816626476334165","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@aopslabs/xf-dm","version":"0.2.1","license":"SEE LICENSE IN LICENSE","_id":"@aopslabs/xf-dm@0.2.1","maintainers":[{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"}],"homepage":"https://github.com/eeemzs/tsapps#readme","bugs":{"url":"https://github.com/eeemzs/tsapps/issues"},"dist":{"shasum":"eb2c6f1553daa888bc609762df483e8ece26fb25","tarball":"https://registry.npmjs.org/@aopslabs/xf-dm/-/xf-dm-0.2.1.tgz","fileCount":20,"integrity":"sha512-6FId23GQ63l0MUKYdl2TLhopkInv4zrJCWrz/Sc85NHdFTh7Pf8mo9aycrVUotU7ndNqk43WxXSTBAD3sToK6A==","signatures":[{"sig":"MEYCIQDiTfAEXu356UZZ8zICLsor5TROqx2AffPeVlNnA4bG7QIhAM4klWIa9HQRBcPrKL3sSm/k2I4HZkF0KHdLAAK5HlpI","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":26403},"main":"./dist/index.js","type":"module","_from":"file:/home/runner/work/_temp/release-candidates/aopslabs-xf-dm-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"lint":"eslint . --max-warnings=0","build":"tsc -p tsconfig.lib.json","build:debug":"tsc -p tsconfig.lib.json --sourceMap"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3ecc2bc3-66a4-45b5-bf2d-b241609fc8ef"}},"_resolved":"/home/runner/work/_temp/release-candidates/aopslabs-xf-dm-0.2.1.tgz","_integrity":"sha512-6FId23GQ63l0MUKYdl2TLhopkInv4zrJCWrz/Sc85NHdFTh7Pf8mo9aycrVUotU7ndNqk43WxXSTBAD3sToK6A==","repository":{"url":"git+https://github.com/eeemzs/tsapps.git","type":"git","directory":"packages/xf-packages/xf-dm"},"_npmVersion":"11.9.0","description":"Repository factory and resolver utilities for applications that support MongoDB, Drizzle ORM, or Redis-backed data access.","directories":{},"_nodeVersion":"24.20.0","dependencies":{"tslib":"^2.3.0","effect":"3.20.0","@aopslabs/xf-db":"^0.2.1","@aopslabs/xf-core":"^0.2.1","@aopslabs/xf-logger":"^0.2.2","@aopslabs/xf-db-redis":"^0.2.1","@aopslabs/xf-db-drizzle":"^0.2.1","@aopslabs/xf-db-mongoose":"^0.2.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"9.39.5","typescript":"5.9.3","@types/node":"25.3.0","@aopslabs/eslint-config":"0.0.0","@aopslabs/typescript-config":"0.0.0"},"_npmOperationalInternal":{"tmp":"tmp/xf-dm_0.2.1_1788791327403_0.43271135162905017","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@aopslabs/xf-dm","version":"0.2.2","type":"module","main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{"./package.json":"./package.json",".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"dependencies":{"effect":"3.20.0","tslib":"^2.3.0","@aopslabs/xf-core":"^0.2.1","@aopslabs/xf-db":"^0.2.2","@aopslabs/xf-db-drizzle":"^0.2.2","@aopslabs/xf-db-mongoose":"^0.2.2","@aopslabs/xf-db-redis":"^0.2.2","@aopslabs/xf-logger":"^0.2.2"},"devDependencies":{"@types/node":"25.3.0","eslint":"9.39.5","typescript":"5.9.3","@aopslabs/eslint-config":"0.0.0","@aopslabs/typescript-config":"0.0.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org"},"private":false,"repository":{"type":"git","url":"git+https://github.com/eeemzs/tsapps.git","directory":"packages/xf-packages/xf-dm"},"license":"SEE LICENSE IN LICENSE","scripts":{"build":"tsc -p tsconfig.lib.json","build:debug":"tsc -p tsconfig.lib.json --sourceMap","lint":"eslint . --max-warnings=0"},"_id":"@aopslabs/xf-dm@0.2.2","description":"Repository factory and resolver utilities for applications that support MongoDB, Drizzle ORM, or Redis-backed data access.","bugs":{"url":"https://github.com/eeemzs/tsapps/issues"},"homepage":"https://github.com/eeemzs/tsapps#readme","_integrity":"sha512-KD61Q0lF2xKuHwWBGc0wd8bvl8ePqgot6vH08FYSJRRTOdVxzkznsi7eCK4PrYVD0TazoG+U3wi2R34ddV/2Dg==","_resolved":"/home/runner/work/_temp/release-candidates/aopslabs-xf-dm-0.2.2.tgz","_from":"file:/home/runner/work/_temp/release-candidates/aopslabs-xf-dm-0.2.2.tgz","_nodeVersion":"24.20.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-KD61Q0lF2xKuHwWBGc0wd8bvl8ePqgot6vH08FYSJRRTOdVxzkznsi7eCK4PrYVD0TazoG+U3wi2R34ddV/2Dg==","shasum":"8abc477e20d37cf621e688d299b36a5967e3248e","tarball":"https://registry.npmjs.org/@aopslabs/xf-dm/-/xf-dm-0.2.2.tgz","fileCount":20,"unpackedSize":27094,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC6DanfzhkZAOpkCognYgQBo42SfUszkDmDkICNARpR1QIgLrQB1laVfW+r5Raa2s2Qwsd38tIixwAFIUgdmrfFfYc="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3ecc2bc3-66a4-45b5-bf2d-b241609fc8ef"}},"directories":{},"maintainers":[{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/xf-dm_0.2.2_1789257784274_0.28686510888636585"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-04T16:46:50.045Z","modified":"2026-09-13T00:03:04.564Z","0.2.0":"2026-08-04T16:46:50.386Z","0.2.1":"2026-09-07T14:28:47.534Z","0.2.2":"2026-09-13T00:03:04.410Z"},"bugs":{"url":"https://github.com/eeemzs/tsapps/issues"},"license":"SEE LICENSE IN LICENSE","homepage":"https://github.com/eeemzs/tsapps#readme","repository":{"type":"git","url":"git+https://github.com/eeemzs/tsapps.git","directory":"packages/xf-packages/xf-dm"},"description":"Repository factory and resolver utilities for applications that support MongoDB, Drizzle ORM, or Redis-backed data access.","maintainers":[{"name":"mzsonmez","email":"mzsonmez2@hotmail.com"}],"readme":"# @aopslabs/xf-dm\n\nRepository factory and resolver utilities for applications that support MongoDB, Drizzle ORM, or Redis-backed data access.\n\n## Installation\n\n```bash\nnpm install @aopslabs/xf-dm\n```\n\n## Repository factory\n\n`createRepositoryFactory` selects a repository constructor from the supplied `repositoryConfig`. It returns an Effect value so connection and configuration failures remain typed.\n\n```typescript\nimport { Effect } from 'effect';\nimport { createRepositoryFactory } from '@aopslabs/xf-dm';\n\nconst repositories = createRepositoryFactory({\n  moduleName: 'CustomerRepository',\n  mongoRepo: MongoCustomerRepository,\n  drizzleRepo: DrizzleCustomerRepository,\n  redisRepo: RedisCustomerRepository\n});\n\nconst repository = await Effect.runPromise(\n  repositories.create({\n    repositoryConfig: {\n      repositoryType: 'drizzle',\n      url: process.env.DATABASE_URL\n    },\n    initConnectionOnCreate: true\n  })\n);\n```\n\n## Supported adapters\n\n| Repository type | Adapter package |\n| --- | --- |\n| `mongo` | `@aopslabs/xf-db-mongoose` |\n| `drizzle` | `@aopslabs/xf-db-drizzle` |\n| `redis` | `@aopslabs/xf-db-redis` |\n\nThe package also exports Promise and Effect resolver helpers, shared repository creation options, typed factory errors, and legacy compatibility utilities.\n\n## License\n\nCopyright (c) 2026 Mehmet Zeki Sönmez.\n\nLicensed under the [**PolyForm Strict License 1.0.0**](https://polyformproject.org/licenses/strict/1.0.0). The license permits noncommercial use and does not grant permission to modify or redistribute the package.\n","readmeFilename":"README.md"}