{"_id":"@200systems/mf-repository-base","_rev":"12-b01b301064c9f4f7ca46589a8e99afdd","name":"@200systems/mf-repository-base","dist-tags":{"latest":"1.1.6"},"versions":{"1.0.1":{"name":"@200systems/mf-repository-base","version":"1.0.1","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.0.1","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"01e81b2ea622a31e741b61cbed2f4a6b8360a667","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.0.1.tgz","fileCount":26,"integrity":"sha512-DNIA1Jr/fkCFpWTQlfUBzWEn8C0LKwqbkeCrQS6fMwVgNjiaECEdIYNlyQUUnH5k7za0iK1cShVZ70tSnjkAFA==","signatures":[{"sig":"MEUCIGfncJ8zBGYqbAddcvNyE2QiAG8KAnXmMyudM/Sy2gW0AiEAowrRAlcZhZhlfulonnYoOncy1SfBStaCpQeqSDBIX0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58717},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b23d0aca4444d3727bef596b99d52f845ee6bdd8","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.0.1_1750937028176_0.7052794711956454","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.0.2":{"name":"@200systems/mf-repository-base","version":"1.0.2","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.0.2","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"65b4b20557675033c8076ada7f9ef15a13f0d069","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.0.2.tgz","fileCount":26,"integrity":"sha512-wsuz5x+F0WsUodvDRtH61d32sQcAnaRJbq/ZMOfbGacVOdAQm6A7xDBVPB+pitRzMQIa8scgyGSvKe4o3y32zA==","signatures":[{"sig":"MEUCIQDo97/ZZx00VilJ5U5xDDgxh3u+fmXr5e29h7M+t6eIjQIgEK5+8E5gLR+LScCb4depVZId6QgHu4RQIzm/Q7gY4EY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58875},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"3b9df0fba14ad311035a103071c895f780597d75","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.0.2_1751014421117_0.9905227081580812","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.0.3":{"name":"@200systems/mf-repository-base","version":"1.0.3","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.0.3","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"935a4f09d7eb8d3ffabb0c741a5e17218b5bcc51","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.0.3.tgz","fileCount":26,"integrity":"sha512-czu0fH6kyFcKC046mOwAm4x/oIDXI47stRlwXLxwafi8fNoXShkGojT1DzFyPpKYmBEFl9D2mApV60eDFs2miA==","signatures":[{"sig":"MEQCIBguoAJjdw9jh0YxBPTc/Djy++2ij3xaXF6+0NkyfgdZAiBNKF4zQHzCvvQ1MzKOQUDx3tHJXQb7vkFVWr0ZUQ4NjQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58875},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"17e3ce1150d8a91f15ba15d4208a96a40cf211b9","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.0.3_1751056800000_0.7162114528125809","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.0.4":{"name":"@200systems/mf-repository-base","version":"1.0.4","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.0.4","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"64775821ea05b4bda99aaff13280dde48714966a","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.0.4.tgz","fileCount":26,"integrity":"sha512-Zr/5wvrcrDHtoyQflOQIBV1XfEaBqhbRILmLun4fk0wMPrtIPeNI8Gqi6kUoVDKtaEx5l63qjODcCZXu/2rxag==","signatures":[{"sig":"MEYCIQDyX20WxIQXbWoOIaITXIxBsq7JBMcyb5NbNHvrrNYQkQIhALzLH3vGwl1wBjOT7kiQrN5G3svfRiCSwxFDLgtXNujA","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58875},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d7bb90f291b6b532083319fa040cfeb43eae8ad7","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.0.4_1751058914789_0.7497569068632075","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.0.5":{"name":"@200systems/mf-repository-base","version":"1.0.5","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.0.5","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"c2cdb70cefc0de380fe907bf84291cc749f95e6b","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.0.5.tgz","fileCount":26,"integrity":"sha512-CAEbfWlFKWSH8iSpRgUqy2TxcK1IIbxNKIP4ulV0odP4Z4ingii4QeLXk3ymyT5/tH14WlI86eDmKznagrNo/Q==","signatures":[{"sig":"MEYCIQCWkjjLO0ZzhfvdQOZsN2mP6GNVh7qLguEOfwCGQw5xBwIhAL3tAhrh7KXb/nUxgOAKEWjQt/MOM/M3qFrq0+4iaN5F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":58897},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"d7bb90f291b6b532083319fa040cfeb43eae8ad7","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.0.5_1751059751279_0.13609145882162288","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.1.1":{"name":"@200systems/mf-repository-base","version":"1.1.1","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.1.1","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"ec3cfa951f11343952734bbbbe39b8f613f2520e","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.1.1.tgz","fileCount":26,"integrity":"sha512-zkjgjF6lxAoK+C+QA2GZY0y7WkMcHNZY++zkBgWgT8Xa++6qOSonr08QH9yx89qQOZNNxGfQ4zSVXd42fRLykw==","signatures":[{"sig":"MEQCICGMYVcmA36O/Gxk00LJkaPHZ87w3Tz9uGazMmBXSnWuAiAnRNvtPMTW4aINeY9X8l1tsfVe+nv5dT5ZFeiue3RDkg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62715},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b2e1d0a164c5cfd355a044b56b7ec48c88def397","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.1.1_1751223531395_0.19033946444524563","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.1.2":{"name":"@200systems/mf-repository-base","version":"1.1.2","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.1.2","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"227c6b016a217d3f8ae78810dee296c16db163c1","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.1.2.tgz","fileCount":26,"integrity":"sha512-DzZMHlmS196QmOkhzBBxaGDWTSbOnkw2TQ/zeh9Yk3OJO6CzbjZESxM7gDcJTjZ5FUuIa6U8Mde2uq/o7DU80A==","signatures":[{"sig":"MEUCIQCLUIYYu1BbDLvALwTuNp6yNSlocqH73Ul5MLuY1SuM1QIgVsjdh4ZP68N4ThdR8/7cUQiCy6OmNdN3EvGdsfmydJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62715},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"b2e1d0a164c5cfd355a044b56b7ec48c88def397","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.1.2_1751224234035_0.8271638728916533","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.1.3":{"name":"@200systems/mf-repository-base","version":"1.1.3","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.1.3","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"37f9df2ce2f4c516a925801c681605ef21f72994","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.1.3.tgz","fileCount":26,"integrity":"sha512-9bNpzFJNPhfew9iXMGgNybbDQ5fXXlxoxvasBc6fHslR+XuohWoZH4QXbFUXisUNkyM7srf65XqOQxB1r0XMUQ==","signatures":[{"sig":"MEYCIQDf0ea787qD7UOminGtnLlPCkwFkAsNAT3rXJ02Hdee5QIhAJwSiC2gKpi4fRW9QZ+QBd+QncbhQDckeaf41RHlvUw0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62715},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"23dcee4f5721e057c3d9625f10e1823f834a466d","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.1.3_1751472524488_0.3934380155532833","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.1.4":{"name":"@200systems/mf-repository-base","version":"1.1.4","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.1.4","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"5606a3964fdae7c7a84d54c5a7f6e1ecc3ca1a9d","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.1.4.tgz","fileCount":26,"integrity":"sha512-ywtHMD573iHfsbf/v8kPcJdb1Qovbp46/SKBbzRlP2x2PmtVaXLXz4MclzsZco9HjDmTdwTR8EmWvoup7zU8cw==","signatures":[{"sig":"MEYCIQCW4p9R6oXBefF9LGBKjKfhx+nxUMwAYaiDfL965Yo7vQIhAOCKpmdJ+yvFb9aPQv8CQ6rdkRyF99eFyq1sBa1sS+v+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62739},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"23dcee4f5721e057c3d9625f10e1823f834a466d","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.1.4_1751473976630_0.7939413293881761","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.1.5":{"name":"@200systems/mf-repository-base","version":"1.1.5","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.1.5","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"a7493c8b822308e9e3f9fdc59b573e6cafb16d5b","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.1.5.tgz","fileCount":26,"integrity":"sha512-vwTv180S+Vr/PUMsdtXl2oEbIGIk2/PSWVd1SdHGxMqAsVUX+zvbBevMtADqpRhUvmnxhTX6+JtQK4lWAcv1bg==","signatures":[{"sig":"MEUCIQCUJl5KBvKn21ifSP1ymOsnU6YtHJ1CJqReh2Hz/KJ85QIgU/W1pVmd8DA89UvF4FvXpzr5gypyq0jQOqeRr653nzY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62749},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"23dcee4f5721e057c3d9625f10e1823f834a466d","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.1.5_1751474250229_0.24172730453756786","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."},"1.1.6":{"name":"@200systems/mf-repository-base","version":"1.1.6","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","_id":"@200systems/mf-repository-base@1.1.6","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"homepage":"https://github.com/200Systems/bitbrick-microframework#readme","bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"dist":{"shasum":"89b118c2b71c28388d959168a0301ebef1b3dcaa","tarball":"https://registry.npmjs.org/@200systems/mf-repository-base/-/mf-repository-base-1.1.6.tgz","fileCount":26,"integrity":"sha512-n7RXhn+Hj62LT8UWsXCtv5Vs2I8vedWcfe2MibzW/wa23EH7prvl6+WN3MWsszw1GVApbiSG8GzxyUpn2dWItg==","signatures":[{"sig":"MEUCIDthjC8YO0L2D59GsxereXhHusxD1NxhlSFJN4un7yfDAiEAynqJj1okhcW6yoe3StfCBjjgirsJsu5N7MVjcywRkKY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":62749},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=18.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.js"}},"gitHead":"23dcee4f5721e057c3d9625f10e1823f834a466d","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"vitest run","build":"tsc","clean":"rm -rf dist *.tsbuildinfo","lint:fix":"eslint src/**/*.ts --fix","test:watch":"vitest","test:coverage":"vitest run --coverage","prepublishOnly":"npm run build && npm run test"},"_npmUser":{"name":"200systems","actor":{"name":"200systems","type":"user","email":"cleiton.marques@200.systems"},"email":"cleiton.marques@200.systems"},"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"_npmVersion":"10.8.1","description":"Base repository classes with generic CRUD operations and query building","directories":{},"_nodeVersion":"22.3.0","dependencies":{"@200systems/mf-logger":"^1.0.0","@200systems/mf-db-core":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vitest":"^1.0.0","typescript":"^5.8.3","@types/node":"^20.10.0"},"_npmOperationalInternal":{"tmp":"tmp/mf-repository-base_1.1.6_1751475259008_0.9667142122421477","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Descontinuado: use @groundbrick/repository-base."}},"time":{"created":"2025-06-26T11:23:48.110Z","modified":"2026-09-27T14:02:41.227Z","1.0.1":"2025-06-26T11:23:48.378Z","1.0.2":"2025-06-27T08:53:41.318Z","1.0.3":"2025-06-27T20:40:00.221Z","1.0.4":"2025-06-27T21:15:14.994Z","1.0.5":"2025-06-27T21:29:13.136Z","1.1.1":"2025-06-29T18:58:51.567Z","1.1.2":"2025-06-29T19:10:34.221Z","1.1.3":"2025-07-02T16:08:44.662Z","1.1.4":"2025-07-02T16:32:56.810Z","1.1.5":"2025-07-02T16:37:30.460Z","1.1.6":"2025-07-02T16:54:19.215Z"},"bugs":{"url":"https://github.com/200Systems/bitbrick-microframework/issues"},"author":{"name":"Cleiton Marques","email":"cleiton.marques@200.systems"},"license":"MIT","homepage":"https://github.com/200Systems/bitbrick-microframework#readme","keywords":["typescript","repository","crud","database","microframework","postgresql","mysql","orm","query-builder"],"repository":{"url":"git+https://github.com/200Systems/bitbrick-microframework.git","type":"git","directory":"packages/repository-base"},"description":"Base repository classes with generic CRUD operations and query building","maintainers":[{"name":"200systems","email":"cleiton.marques@200.systems"}],"readme":"# @200systems/mf-repository-base\n\n💾 SQL Repository Foundation for PostgreSQL and MySQL\n\n\nGeneric repository base classes with CRUD operations for the microframework. Provides a simple, type-safe data access layer that works consistently across PostgreSQL and MySQL databases.\n\n## 🚀 Features\n\n- ✅ **Generic CRUD Operations**: Type-safe create, read, update, delete operations\n- 🔁 **Database Agnostic**: Works with both PostgreSQL and MySQL through unified interface\n- 🧠 **Simple Query Methods**: Easy-to-use methods for common database operations\n- 🧩 **Pagination Support**: Built-in pagination with metadata\n- 🛡 **Automatic SQL Adaptation**: Handles PostgreSQL `$1` vs MySQL `?` parameter differences\n- 🔍 **Logging Integration**: Comprehensive logging with performance tracking\n- 🧪 **Type Safety**: Full TypeScript support with generic entity types\n- 📦 **No ORM Complexity**: Simple, lightweight approach focused on SQL\n\n## 📦 Installation\n\n```bash\nnpm install @200systems/mf-repository-base\n```\n\n## ⚡ Quick Start\n\n### 1. Define Your Entity\n\n```typescript\nimport { BaseEntity } from '@200systems/mf-repository-base';\n\n// Simple entity interface\ninterface User extends BaseEntity {\n  name: string;\n  email: string;\n  active: boolean;\n}\n```\n\n### 2. Create Repository\n\n```typescript\nimport { BaseRepository, DatabaseClient } from '@200systems/mf-repository-base';\n\nclass UserRepository extends BaseRepository<User> {\n  constructor(db: DatabaseClient) {\n    super(db, 'users'); // Pass database client and table name\n  }\n\n  // Add custom methods as needed\n  async findByEmail(email: string): Promise<User | null> {\n    return this.findOne('email = ?', [email]);\n  }\n\n  async findActiveUsers(): Promise<User[]> {\n    return this.findMany('active = ?', [true]);\n  }\n}\n```\n\n### 3. Use Repository\n\n```typescript\nimport { DatabaseFactory } from '@200systems/mf-db-postgres';\n\n// Initialize database\nconst db = DatabaseFactory.getInstance({\n  host: 'localhost',\n  database: 'myapp',\n  user: 'user',\n  password: 'password'\n});\n\n// Create repository\nconst userRepository = new UserRepository(db);\n\n// Use CRUD operations\nconst user = await userRepository.create({\n  name: 'John Doe',\n  email: 'john@example.com',\n  active: true\n});\n\nconst foundUser = await userRepository.findById(user.id!);\nconst allUsers = await userRepository.findAll();\nconst activeUsers = await userRepository.findActiveUsers();\n```\n\n## 📚 API Reference\n\n### BaseRepository<T>\n\nGeneric base repository class providing CRUD operations for any entity type.\n\n#### Constructor\n\n```typescript\nconstructor(\n  db: DatabaseClient,\n  tableName: string,\n  logger?: Logger\n)\n```\n\n#### Basic CRUD Methods\n\n##### `findById(id: number): Promise<T | null>`\nFind a single record by ID.\n\n```typescript\nconst user = await userRepository.findById(123);\n```\n\n##### `findOne(condition: string, params?: any[]): Promise<T | null>`\nFind a single record by condition.\n\n```typescript\nconst user = await userRepository.findOne('email = ?', ['john@example.com']);\n```\n\n##### `findMany(condition?: string, params?: any[]): Promise<T[]>`\nFind multiple records by condition.\n\n```typescript\nconst activeUsers = await userRepository.findMany('active = ?', [true]);\nconst allUsers = await userRepository.findMany(); // No condition = all records\n```\n\n##### `findAll(options?: QueryOptions): Promise<T[]>`\nFind all records with optional sorting and pagination.\n\n```typescript\n// Simple find all\nconst users = await userRepository.findAll();\n\n// With pagination\nconst users = await userRepository.findAll({\n  pagination: { limit: 10, offset: 20 }\n});\n\n// With sorting\nconst users = await userRepository.findAll({\n  sort: { column: 'name', direction: 'ASC' }\n});\n\n// Multiple sorts\nconst users = await userRepository.findAll({\n  sort: [\n    { column: 'active', direction: 'DESC' },\n    { column: 'name', direction: 'ASC' }\n  ]\n});\n```\n\n##### `create(data: CreateEntityData<T>): Promise<T>`\nCreate a new record. Automatically excludes `id`, `created_at`, and `updated_at`.\n\n```typescript\nconst user = await userRepository.create({\n  name: 'John Doe',\n  email: 'john@example.com',\n  active: true\n});\n```\n\n##### `update(id: number, data: UpdateEntityData<T>): Promise<T | null>`\nUpdate a record by ID. Automatically excludes `id` and `created_at`.\n\n```typescript\nconst updated = await userRepository.update(123, {\n  name: 'Jane Doe',\n  active: false\n});\n```\n\n##### `delete(id: number): Promise<boolean>`\nDelete a record by ID. Returns `true` if record was deleted, `false` if not found.\n\n```typescript\nconst deleted = await userRepository.delete(123);\n```\n\n#### Utility Methods\n\n##### `count(condition?: string, params?: any[]): Promise<number>`\nCount records with optional condition.\n\n```typescript\nconst totalUsers = await userRepository.count();\nconst activeCount = await userRepository.count('active = ?', [true]);\n```\n\n##### `exists(id: number): Promise<boolean>`\nCheck if a record exists by ID.\n\n```typescript\nconst userExists = await userRepository.exists(123);\n```\n\n##### `findPaginated(options): Promise<PaginatedResult<T>>`\nFind records with pagination and metadata.\n\n```typescript\nconst result = await userRepository.findPaginated({\n  condition: 'active = ?',\n  params: [true],\n  pagination: { limit: 10, offset: 0 }\n});\n\nconsole.log(result.data);        // Array of records\nconsole.log(result.total);       // Total count\nconsole.log(result.hasNext);     // Boolean\nconsole.log(result.hasPrevious); // Boolean\n```\n\n##### `rawQuery<R>(sql: string, params?: any[]): Promise<QueryResult<R>>`\nExecute raw SQL query (use with caution).\n\n```typescript\nconst result = await userRepository.rawQuery<User>(\n  'SELECT * FROM users WHERE created_at > ?',\n  [new Date('2024-01-01')]\n);\n```\n\n## 🧾 Types\n\n### Entity Types\n\n```typescript\n// Base entity with common fields\ninterface BaseEntity {\n  id?: number;\n  created_at?: Date;\n  updated_at?: Date;\n}\n\n// Simple entity with just ID\ninterface SimpleEntity {\n  id?: number;\n}\n\n// Helper types for CRUD operations\ntype CreateEntityData<T> = Omit<T, 'id' | 'created_at' | 'updated_at'>;\ntype UpdateEntityData<T> = Partial<Omit<T, 'id' | 'created_at'>>;\n```\n\n### Query Types\n\n```typescript\ninterface QueryOptions {\n  pagination?: {\n    limit?: number;\n    offset?: number;\n  };\n  sort?: {\n    column: string;\n    direction?: 'ASC' | 'DESC';\n  } | Array<{\n    column: string;\n    direction?: 'ASC' | 'DESC';\n  }>;\n}\n\ninterface PaginatedResult<T> {\n  data: T[];\n  total: number;\n  limit: number;\n  offset: number;\n  hasNext: boolean;\n  hasPrevious: boolean;\n}\n```\n\n## 🛠 Database Compatibility\n\nThis package automatically handles differences between PostgreSQL and MySQL:\n\n| Feature | PostgreSQL | MySQL | Repository Behavior |\n|---------|------------|-------|-------------------|\n| Parameters | `$1, $2, $3` | `?, ?, ?` | Automatically converted |\n| RETURNING | Supported | Not supported | Uses RETURNING when available, falls back to SELECT |\n| INSERT ID | RETURNING * | LAST_INSERT_ID() | Handles both approaches |\n| Timestamps | NOW() | NOW() | Consistent across both |\n\n## 🧠 Custom Repository Examples\n\n### Basic Custom Repository\n\n```typescript\nclass ProductRepository extends BaseRepository<Product> {\n  constructor(db: DatabaseClient) {\n    super(db, 'products');\n  }\n\n  async findByCategory(categoryId: number): Promise<Product[]> {\n    return this.findMany('category_id = ?', [categoryId]);\n  }\n\n  async findFeatured(): Promise<Product[]> {\n    return this.findMany('featured = ?', [true]);\n  }\n\n  async searchByName(name: string): Promise<Product[]> {\n    return this.findMany('name ILIKE ?', [`%${name}%`]);\n  }\n}\n```\n\n### Repository with Complex Queries\n\n```typescript\nclass OrderRepository extends BaseRepository<Order> {\n  constructor(db: DatabaseClient) {\n    super(db, 'orders');\n  }\n\n  async findByDateRange(startDate: Date, endDate: Date): Promise<Order[]> {\n    return this.findMany(\n      'created_at >= ? AND created_at <= ?',\n      [startDate, endDate]\n    );\n  }\n\n  async getMonthlyStats(year: number, month: number) {\n    const sql = `\n      SELECT \n        COUNT(*) as total_orders,\n        SUM(total_amount) as total_revenue,\n        AVG(total_amount) as avg_order_value\n      FROM orders \n      WHERE EXTRACT(YEAR FROM created_at) = ?\n        AND EXTRACT(MONTH FROM created_at) = ?\n    `;\n    \n    const result = await this.rawQuery<{\n      total_orders: number;\n      total_revenue: number;\n      avg_order_value: number;\n    }>(sql, [year, month]);\n    \n    return result.rows[0];\n  }\n}\n```\n\n### Repository with Soft Deletes\n\n```typescript\ninterface SoftDeletableEntity extends BaseEntity {\n  deleted_at?: Date;\n}\n\nclass UserRepository extends BaseRepository<User & SoftDeletableEntity> {\n  constructor(db: DatabaseClient) {\n    super(db, 'users');\n  }\n\n  // Override findMany to exclude soft-deleted records by default\n  async findMany(condition?: string, params: any[] = []): Promise<User[]> {\n    const softDeleteCondition = 'deleted_at IS NULL';\n    \n    if (condition) {\n      condition = `${condition} AND ${softDeleteCondition}`;\n    } else {\n      condition = softDeleteCondition;\n    }\n    \n    return super.findMany(condition, params);\n  }\n\n  // Soft delete method\n  async softDelete(id: number): Promise<boolean> {\n    const updated = await this.update(id, { \n      deleted_at: new Date() \n    } as Partial<User>);\n    return updated !== null;\n  }\n\n  // Find including soft-deleted records\n  async findAllIncludingDeleted(): Promise<User[]> {\n    return super.findMany(); // Bypass the override\n  }\n}\n```\n\n## 🧩 Integration with Service Layer\n\n```typescript\nimport { UserRepository } from './repositories/UserRepository';\nimport { createLogger } from '@200systems/mf-logger';\n\nclass UserService {\n  private logger = createLogger().child('user-service');\n\n  constructor(private userRepository: UserRepository) {}\n\n  async createUser(userData: CreateUserRequest): Promise<User> {\n    // Validation happens here in service layer\n    if (!userData.email || !userData.name) {\n      throw new Error('Email and name are required');\n    }\n\n    // Check if user already exists\n    const existing = await this.userRepository.findByEmail(userData.email);\n    if (existing) {\n      throw new Error('User with this email already exists');\n    }\n\n    // Create user (repository handles the database operation)\n    const user = await this.userRepository.create({\n      name: userData.name,\n      email: userData.email,\n      active: true\n    });\n\n    this.logger.info('User created successfully', { userId: user.id });\n    return user;\n  }\n\n  async getUserById(id: number): Promise<User> {\n    const user = await this.userRepository.findById(id);\n    if (!user) {\n      throw new Error('User not found');\n    }\n    return user;\n  }\n}\n```\n\n## 💡 Best Practices\n\n### 1. Keep Repositories Simple\nRepositories should focus on data access, not business logic:\n\n```typescript\n// ✅ Good - Simple data access\nasync findActiveUsers(): Promise<User[]> {\n  return this.findMany('active = ?', [true]);\n}\n\n// ❌ Bad - Business logic in repository\nasync createUserWithValidation(userData: any): Promise<User> {\n  // Validation should be in service layer\n  if (!userData.email) throw new Error('Email required');\n  return this.create(userData);\n}\n```\n\n### 2. Use Type Safety\nAlways define proper entity interfaces:\n\n```typescript\n// ✅ Good - Properly typed\ninterface User extends BaseEntity {\n  name: string;\n  email: string;\n  active: boolean;\n}\n\n// ❌ Bad - Losing type safety\ninterface User {\n  [key: string]: any;\n}\n```\n\n### 3. Custom Methods for Domain Logic\nAdd repository methods that make sense for your domain:\n\n```typescript\nclass UserRepository extends BaseRepository<User> {\n  // Domain-specific finder methods\n  async findByEmail(email: string): Promise<User | null> {\n    return this.findOne('email = ?', [email]);\n  }\n\n  async findActiveUsersInDepartment(departmentId: number): Promise<User[]> {\n    return this.findMany(\n      'active = ? AND department_id = ?', \n      [true, departmentId]\n    );\n  }\n}\n```\n\n### 4. Error Handling\nLet errors bubble up to the service layer:\n\n```typescript\nclass UserService {\n  async getUser(id: number): Promise<User> {\n    try {\n      const user = await this.userRepository.findById(id);\n      if (!user) {\n        throw new Error('User not found');\n      }\n      return user;\n    } catch (error) {\n      this.logger.error('Failed to get user', error, { userId: id });\n      throw error; // Re-throw for caller to handle\n    }\n  }\n}\n```\n\n## ⚙️ Performance Tips\n\n### 1. Use Appropriate Queries\n```typescript\n// ✅ Good - Specific condition\nconst activeUsers = await userRepository.findMany('active = ?', [true]);\n\n// ❌ Bad - Loading all then filtering\nconst allUsers = await userRepository.findAll();\nconst activeUsers = allUsers.filter(u => u.active);\n```\n\n### 2. Pagination for Large Datasets\n```typescript\n// ✅ Good - Paginated\nconst users = await userRepository.findPaginated({\n  pagination: { limit: 20, offset: 0 }\n});\n\n// ❌ Bad - Loading everything\nconst allUsers = await userRepository.findAll();\n```\n\n### 3. Count Before Fetching\n```typescript\n// ✅ Good - Check count first\nconst userCount = await userRepository.count('active = ?', [true]);\nif (userCount > 1000) {\n  // Handle large dataset differently\n}\n```\n\n## 🧬 Dependencies\n\nThis package depends on:\n- `@200systems/mf-db-core` - Database interfaces and types\n- `@200systems/mf-logger` - Logging functionality\n\n## 📜 License\n\nMIT","readmeFilename":"README.md"}