{"_id":"prisma-prefixed-ids","_rev":"16-9bf99b49813881c1dc4cd3beef6b79b7","name":"prisma-prefixed-ids","dist-tags":{"latest":"2.1.0"},"versions":{"1.0.0":{"name":"prisma-prefixed-ids","version":"1.0.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageethsilva@gmail.com"},"license":"MIT","_id":"prisma-prefixed-ids@1.0.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"895c2bc688a79bd84c5f2f6b53b5a39ff18717c9","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.0.0.tgz","fileCount":13,"integrity":"sha512-R/fcOPYv9ANiIMnOjYcApWci2PiORxT68p7t1UuZxK/JcKvuPYYIHHZNELToCAbUdYxS7L7cydC4g6jF6zyIlA==","signatures":[{"sig":"MEYCIQCRy95rnbYlsAE7H1Nhb9WbS+ep7kRAUOF8oy2E3HqrJgIhAMu+VJ41jf2BSfj8+X/jSQNjy1kCtC9O+bIdqeL1cTJF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17679},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"fb98286c56d07b3b6d59e1cd15666c3361fa024e","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.18.3","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.0.0_1743866837814_0.1796587537771439","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"prisma-prefixed-ids","version":"1.0.1","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageethsilva@gmail.com"},"license":"MIT","_id":"prisma-prefixed-ids@1.0.1","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"c9e612f044d49bcf26563696668475beaed639e5","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.0.1.tgz","fileCount":13,"integrity":"sha512-CuPJzyD6+8QQMnMPJu86ODS0eejTanh0JzF6AtrV895BJaqSh2Rrqd2jTqNcCUDKobdj4R5DLsXgjvVY36mvEA==","signatures":[{"sig":"MEUCIQCxtDNbUNEhF1kKBJ39IWk3rsqldBUZ9isyguGPpFEoSwIgbhlLjySMXP67Ur2fhxjzYd7YL9WMBShjpQYVa1EKTq0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17680},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f43885017fc7c388d6e52965d31fd3ce5ec5bb7f","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.18.3","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.0.1_1743867099800_0.4309894988454468","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"prisma-prefixed-ids","version":"1.1.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageethsilva@gmail.com"},"license":"MIT","_id":"prisma-prefixed-ids@1.1.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"370c4c8d3a4a8ccd3f171bfa8f4d1ef750e35bf5","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.1.0.tgz","fileCount":13,"integrity":"sha512-rCWnM0DuJqhiiOqMAo0spn6epq4uA+4Ytw5lmTBJT0m9gDedeY/ZLkDIJ2sbtJjJwWYD4SP4yTC8SoLKNjYvhw==","signatures":[{"sig":"MEQCIBQDZC+bVenPkAO88RUeEnKYPtcCPt1o39iLxw663ROWAiA/qZ1oOicGcM1pe+ark7Gy5PTWgOhCONSK0dLOkCAH5g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17700},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1f644c5fb9ee5cad6b8198afa750fd489e6dd35a","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.18.3","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.1.0_1743867270916_0.6392087967709577","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"prisma-prefixed-ids","version":"1.1.1","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageethsilva@gmail.com"},"license":"MIT","_id":"prisma-prefixed-ids@1.1.1","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"1b6f76d950579b2766e8f961bce9d9ccd9f96a97","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.1.1.tgz","fileCount":13,"integrity":"sha512-f0RN/5oXQ7vVoqNRTPRpBnxp/w545qhnuIjA75Yp6z6Y3bVYr3za3C5ZhU9oDC2/RGP+DLCToq8eNr1pwUepDg==","signatures":[{"sig":"MEUCIGCiEDEqHDo9imU/wQi4DpxBN40NQOmP0oMi43Smgk8kAiEA+OCqSuwGEiYhvyKsQQQjLC2z62Gv+ZNcQ6nE0vcJ/3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17700},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"7d9d00ae077628e69319919d564dddc8437bd6c4","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.18.3","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.1.1_1743867557524_0.5690401015539972","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"prisma-prefixed-ids","version":"1.2.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageethsilva@gmail.com"},"license":"MIT","_id":"prisma-prefixed-ids@1.2.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"4a77c1ad1d1dbf3c6e17477f90c661eccb662270","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.2.0.tgz","fileCount":13,"integrity":"sha512-OlFl60wNvxFwJZ72AxTjfP3ZPp58xNXhMs9GEmkehTcUEfLFFDC64apmPwXCTcyuFr2wNvHplIahPZpOw7LyqQ==","signatures":[{"sig":"MEQCIFvcDyfuyf3wNmP8KCNXexT15h9a0NR+JLHKYzVOsv6RAiBxgzjl3s/emtiVL4HRo/cGdGlx4/4joWE0IOeckcQxrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18885},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"d7867a2b2f775c22b26e565a4098f060e47fe218","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"tsc","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.18.3","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.2.0_1743870239802_0.48787269467901084","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"prisma-prefixed-ids","version":"1.3.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.3.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"949e2995d6c1564a51985cf260244a285bc2dd63","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.3.0.tgz","fileCount":6,"integrity":"sha512-oNn2uBVl2Mq/REZ9DK9hqzt8PqmbM+rIVx6azzwNiB9lAHxs64oRMM3/gKR9C4thYEw14lBvGxkAJ7KUSmERJA==","signatures":[{"sig":"MEYCIQCCtAkJt18mtZRyU6jjQN6EBu8UkVsQ/71WiPZsDSglxwIhAJqwTFO+sRot8SpeyI2lesBD6UwXXJVwYF5cRAnqaNVv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11864},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"02aa57524db580d68a622f889eca30503b737fb1","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.18.3","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.3.0_1743872459388_0.5774834326708032","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"prisma-prefixed-ids","version":"1.3.1","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.3.1","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"50403f849b9bb6dacde2a408c8fe8b6e2f247a06","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.3.1.tgz","fileCount":6,"integrity":"sha512-yF/5/nTSyVXeMCXtcwA2HW3zKOUXhALLXDq5O+Akxx5yOMC2gD2WWN3dYV6fa3ssxnboltUG1ElUUrOwl8+ONg==","signatures":[{"sig":"MEQCIA6juptEqWvrVXJKRmtYoKtY5XhgFzAkgnbBvJ4tMUKEAiAKdMB2c3va8KaqzaZWdd5Xle3XWD6NqaJML2PdiCMLyA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11979},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"ec1cf32d663b4930af3c20500686b967f23861bb","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.18.3","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.3.1_1743881613036_0.4695338487884062","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"prisma-prefixed-ids","version":"1.4.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.4.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"8340df0dbf3c550a2a06b898ae102cbf2180b3fd","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.4.0.tgz","fileCount":6,"integrity":"sha512-Plp3DAIsVQJLGWawTynMQCKTdFTxtUjvHWeEV2sLYaCiuGmC9qqA+Qjq4Y/shjjqayTnt89st4ul4a71EqoNwQ==","signatures":[{"sig":"MEYCIQCdwLviwGytHwQZIEsyr9TiOVe0jM7gj/PTU/afcwDySgIhAJsSsZ+5BtaVbuc0BAQw40dRxLPCmelWMNkDhWZV3Ttd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":11955},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"659e11bab6cff91feba0643ccfde2914842e2c39","scripts":{"lint":"eslint . --ext .ts","test":"jest","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","prepare":"npm run build","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:watch":"jest --watch","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.19.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.4.0_1755186065781_0.17564009004992442","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"prisma-prefixed-ids","version":"1.5.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.5.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"cb0a3c361a0ec758399ab718b988d2a65329003b","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.5.0.tgz","fileCount":6,"integrity":"sha512-QB99JBEZ4b0bPIuEw5FQe4mOnHH7cxtnp6nWi9LIS2oljnGoZnDVoY/I8fa8C5ZfA+wIoyGYlZgCVyzzIcb6bQ==","signatures":[{"sig":"MEUCICz7SmoBfz24SN6ExDHFRYIFNuLPVbv3RhntYcvGUQ6hAiEAmilMkogujLCEoPMMpTWmqvl5+GMpZBbvDJ6azLrl1FM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40246},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","prisma":{"schema":"tests/prisma/schema.prisma"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"adfe41a4b309dab4960c4926e22f8f9daa88b1e6","scripts":{"lint":"eslint . --ext .ts","test":"npm run test:unit && npm run test:integration","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","db:push":"prisma db push","prepare":"npm run build","db:reset":"prisma migrate reset --force","db:setup":"npm run db:generate && npm run db:push","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:unit":"jest --testPathIgnorePatterns=integration","test:watch":"jest --watch","db:generate":"prisma generate","postinstall":"npm run clean:test-artifacts","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'","test:integration":"npm run db:setup && jest --testPathPattern=integration","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.19.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","prisma":"^5.0.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.5.0_1755267776400_0.31861236259451364","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"prisma-prefixed-ids","version":"1.5.1","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.5.1","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"e58fb807351f66488a7cbcb878e7d00e54f49756","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.5.1.tgz","fileCount":6,"integrity":"sha512-7qTLcx/unOzuE0qCfjzDj5bg4A9R21BMqdojmfDpP3vroeAmEUZRkULuJF0MZgicE61X1FxNkPL4XlFv7fEtGQ==","signatures":[{"sig":"MEQCIGNGvMZRCb74nG+nQhj/a5ICCGjeTHECz8ZBYb/GWwQhAiBzJLWcLHvAZFURw53hM5+SBLPrgvBoKOGGxJpeYNHx/A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40192},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","prisma":{"schema":"tests/prisma/schema.prisma"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"21a2743db8877ead0ef7d2a84c54bed2a7d032ba","scripts":{"lint":"eslint . --ext .ts","test":"npm run test:unit && npm run test:integration","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","db:push":"prisma db push","prepare":"npm run build","db:reset":"prisma migrate reset --force","db:setup":"npm run db:generate && npm run db:push","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:unit":"jest --testPathIgnorePatterns=integration","test:watch":"jest --watch","db:generate":"prisma generate","postinstall":"npm run clean:test-artifacts","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'","test:integration":"npm run db:setup && jest --testPathPattern=integration","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.19.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","prisma":"^5.0.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.5.1_1755420385610_0.3947148204592412","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"prisma-prefixed-ids","version":"1.5.2","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.5.2","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"e1f16118f4943922b9f927612de151e3e3112d74","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.5.2.tgz","fileCount":6,"integrity":"sha512-Bfyc0+6VvQZIKPsS32XRqbwzee6szFhcY6q3BMp/jAPcaz2xeHPFj2VmAdpJsUSzfQFSMRXnEX2e89cF9esVlg==","signatures":[{"sig":"MEQCIGOI7HhUqKhguVg2MUJxmqkgOfwCC/PeyckG4H7da1epAiAbu5SMGFxg16xrIDKBU1KXVqpcFzXqUUaA6UBynoWPQA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40399},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","prisma":{"schema":"tests/prisma/schema.prisma"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"1564f670a42e568e55f70a19415d8e3a5c44177f","scripts":{"lint":"eslint . --ext .ts","test":"npm run test:unit && npm run test:integration","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","db:push":"prisma db push","prepare":"npm run build","db:reset":"prisma migrate reset --force","db:setup":"npm run db:generate && npm run db:push","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:unit":"jest --testPathIgnorePatterns=integration","test:watch":"jest --watch","db:generate":"prisma generate","postinstall":"npm run clean:test-artifacts","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'","test:integration":"npm run db:setup && jest --testPathPattern=integration","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.19.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","prisma":"^5.0.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.5.2_1755421154005_0.18363037671724247","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"prisma-prefixed-ids","version":"1.6.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.6.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"709e132b382023825863c4ddb111c69b4c65e1d6","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.6.0.tgz","fileCount":6,"integrity":"sha512-TCD5ZgFl3yemdDQmjXvG6LqtosOMWoG9VxhcuVZzFfDIJYp5YKFlVTr7ikikF2OUqckjEyazlExim/MAWbHcKg==","signatures":[{"sig":"MEYCIQD1AIyWlAfkdzp1dqBl83iwbpX0HFTOa2IskZ79KkPNIAIhAIytvdn3MPr6M+BdVUqdLSgF1AOI2wCEX6FZX1DlPqgk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40348},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","prisma":{"schema":"tests/prisma/schema.prisma"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"623c416e3d52b8a1ef93b0451be4e7c8162407bc","scripts":{"lint":"eslint . --ext .ts","test":"npm run test:unit && npm run test:integration","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","db:push":"prisma db push","prepare":"npm run build","db:reset":"prisma migrate reset --force","db:setup":"npm run db:generate && npm run db:push","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:unit":"jest --testPathIgnorePatterns=integration","test:watch":"jest --watch","db:generate":"prisma generate","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'","test:integration":"npm run db:setup && jest --testPathPattern=integration","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.19.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","prisma":"^5.0.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.6.0_1758253931867_0.020003340210257736","host":"s3://npm-registry-packages-npm-production"}},"1.6.1":{"name":"prisma-prefixed-ids","version":"1.6.1","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.6.1","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"213f313d918ec7c26cc7fa8fe17930ba465d9407","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.6.1.tgz","fileCount":6,"integrity":"sha512-KBBOpgIyC9R3mmzpO269ed1EJVDGq0Vm6yw74HugM3x/m7gk9uwwfp3wHS2ufckuEM1pQsEXHYBZMKkTj15UEA==","signatures":[{"sig":"MEYCIQD7iAboN0Rwi8+SuZb1Bx1/r1Tmk3ThwBi+5adJ77KclgIhAOsoBNHm181YeyPZmoGJkJAHcxWU8hUfVYBeNy2JOhQq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":40348},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","prisma":{"schema":"tests/prisma/schema.prisma"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"2462c9a2b3072526303a62d06f015fd6f07661e2","scripts":{"lint":"eslint . --ext .ts","test":"npm run test:unit && npm run test:integration","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","db:push":"prisma db push","prepare":"npm run build","db:reset":"prisma migrate reset --force","db:setup":"npm run db:generate && npm run db:push","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:unit":"jest --testPathIgnorePatterns=integration","test:watch":"jest --watch","db:generate":"prisma generate","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'","test:integration":"npm run db:setup && jest --testPathPattern=integration","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.19.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","prisma":"^5.0.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.6.1_1758254220774_0.8229259563058711","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"prisma-prefixed-ids","version":"1.7.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@1.7.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"17ed34bf44e547d43430f63137139a4e2d1475cb","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-1.7.0.tgz","fileCount":6,"integrity":"sha512-juATvQTNdEwA1rzDlzKhog/2YhkuWxlmyAGcTmRR1GBh43G7MRNYBK6fK9kQIuuPPzeE6Ikf59pi8v2c+Y/CJg==","signatures":[{"sig":"MEUCIQDzRYgrzRKJ+D5TjJJs+WAXKJPFjRBwykm1rltnJt0bSQIgbp5duYyCW0bHHb29+Gdc9olBDMKPhq+SXsOkeCmBVf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":44705},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","prisma":{"schema":"tests/prisma/schema.prisma"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"c7a4593de65089a2f267c4f2e3412dbf18c33b22","scripts":{"lint":"eslint . --ext .ts","test":"npm run test:unit && npm run test:integration","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","db:push":"prisma db push","prepare":"npm run build","db:reset":"prisma migrate reset --force","db:setup":"npm run db:generate && npm run db:push","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:unit":"jest --testPathIgnorePatterns=integration","test:watch":"jest --watch","trypublish":"npm publish --access public","db:generate":"prisma generate","format:check":"prettier --check \"src/**/*.ts\"","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__'","test:integration":"npm run db:setup && jest --testPathPattern=integration","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.8.2","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"20.19.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^5.0.0 || ^6.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","eslint":"^8.56.0","prisma":"^5.0.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^20.0.0","@types/nanoid":"^2.0.0","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^5.0.0 || ^6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_1.7.0_1765684464009_0.952030374298753","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"prisma-prefixed-ids","version":"2.0.0","keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","_id":"prisma-prefixed-ids@2.0.0","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"dist":{"shasum":"93212ca2d6c759b0dc5ee02848603bc9104f9cf2","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-2.0.0.tgz","fileCount":6,"integrity":"sha512-5trAuaZkBxEAmOf/rIbZ5PHD6EjBMmYTsflI7eDHm3vskucZ3CjsjslCalMxPKbnoY1USYuIn/aTZ2e7/GCjPA==","signatures":[{"sig":"MEYCIQCtCkiaF+GZxxit+Kxe5SQUyhS8uyTosmqdr8JJrKp8WAIhALdsq5My4P9At6B1VQ+vgdhsczkQSkiD5cMO2ymIBhaq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45938},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","prisma":{"schema":"tests/prisma/schema.prisma"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"gitHead":"854c8572c50b607fada5d8ebf6dfc8e80a5500be","scripts":{"lint":"eslint . --ext .ts","test":"npm run test:unit && npm run test:integration","build":"npm run clean && npm run build:esm && npm run build:cjs","clean":"rm -rf dist","format":"prettier --write \"src/**/*.ts\"","db:push":"prisma db push","prepare":"npm run build","db:reset":"prisma migrate reset --force","db:setup":"npm run db:generate && npm run db:push","git:push":"git push && git push --tags","lint:fix":"eslint . --ext .ts --fix","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","build:esm":"tsc -p tsconfig.json","test:unit":"jest --testPathIgnorePatterns=integration","test:mysql":"npm run db:setup:mysql && jest --testPathPattern=integration.mysql","test:watch":"jest --watch","trypublish":"npm publish --access public","db:generate":"prisma generate","format:check":"prettier --check \"src/**/*.ts\"","db:push:mysql":"prisma db push --schema=tests/prisma/schema.mysql.prisma","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__' --testPathIgnorePatterns='integration'","test:postgres":"npm run db:setup:postgres && jest --testPathPattern=integration.postgres","db:setup:mysql":"npm run db:generate:mysql && npm run db:push:mysql","db:push:postgres":"prisma db push --schema=tests/prisma/schema.postgres.prisma","test:integration":"npm run db:setup && jest --testPathPattern=integration --testPathIgnorePatterns='integration.mysql|integration.postgres'","db:generate:mysql":"prisma generate --schema=tests/prisma/schema.mysql.prisma","db:setup:postgres":"npm run db:generate:postgres && npm run db:push:postgres","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal","db:generate:postgres":"prisma generate --schema=tests/prisma/schema.postgres.prisma"},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"repository":{"url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git","type":"git"},"_npmVersion":"10.9.4","description":"A Prisma extension that adds prefixed IDs to your models","directories":{},"_nodeVersion":"22.22.0","dependencies":{"nanoid":"^5.0.0","@prisma/client":"^6.0.0 || ^7.0.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.0.0","dotenv":"^16.0.0","eslint":"^8.56.0","prisma":"^7.0.0","ts-jest":"^29.0.0","prettier":"^3.0.0","typescript":"^5.0.0","@types/jest":"^29.0.0","@types/node":"^22.0.0","@types/nanoid":"^2.0.0","@libsql/client":"^0.17.0","@prisma/adapter-pg":"^7.3.0","@prisma/adapter-libsql":"^7.3.0","eslint-config-prettier":"^9.0.0","@prisma/adapter-mariadb":"^7.3.0","@typescript-eslint/parser":"^6.0.0","@typescript-eslint/eslint-plugin":"^6.0.0"},"peerDependencies":{"@prisma/client":"^6.0.0 || ^7.0.0"},"_npmOperationalInternal":{"tmp":"tmp/prisma-prefixed-ids_2.0.0_1769586640359_0.6255289285090768","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"prisma-prefixed-ids","version":"2.1.0","description":"A Prisma extension that adds prefixed IDs to your models","type":"module","main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.js","require":"./dist/index.cjs","types":"./dist/index.d.ts"}},"repository":{"type":"git","url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git"},"scripts":{"clean":"rm -rf dist","build":"npm run clean && npm run build:esm && npm run build:cjs","build:esm":"tsc -p tsconfig.json","build:cjs":"tsc -p tsconfig.cjs.json && mv dist/cjs/index.js dist/index.cjs && rm -rf dist/cjs","prepare":"npm run build","clean:test-artifacts":"rm -rf test-client prisma/test.db prisma/test.db-journal","test":"npm run test:unit && npm run test:integration","test:unit":"jest --testPathIgnorePatterns=integration","test:integration":"npm run db:setup && jest --testPathPattern=integration --testPathIgnorePatterns='integration.mysql|integration.postgres'","test:mysql":"npm run db:setup:mysql && jest --testPathPattern=integration.mysql","test:postgres":"npm run db:setup:postgres && jest --testPathPattern=integration.postgres","db:setup:mysql":"npm run db:generate:mysql && npm run db:push:mysql","db:generate:mysql":"prisma generate --schema=tests/prisma/schema.mysql.prisma","db:push:mysql":"prisma db push --schema=tests/prisma/schema.mysql.prisma","db:setup:postgres":"npm run db:generate:postgres && npm run db:push:postgres","db:generate:postgres":"prisma generate --schema=tests/prisma/schema.postgres.prisma","db:push:postgres":"prisma db push --schema=tests/prisma/schema.postgres.prisma","test:watch":"jest --watch","test:coverage":"jest --coverage --collectCoverageFrom='src/**/*.ts' --coveragePathIgnorePatterns='src/__tests__' --testPathIgnorePatterns='integration'","db:setup":"npm run db:generate && npm run db:push","db:generate":"prisma generate","db:push":"prisma db push","db:reset":"prisma migrate reset --force","lint":"eslint . --ext .ts","lint:fix":"eslint . --ext .ts --fix","format":"prettier --write \"src/**/*.ts\"","format:check":"prettier --check \"src/**/*.ts\"","git:push":"git push && git push --tags","trypublish":"npm publish --access public"},"keywords":["prisma","extension","ids","prefixed","nanoid"],"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","dependencies":{"@prisma/client":"^6.0.0 || ^7.0.0","nanoid":"^5.0.0"},"devDependencies":{"@libsql/client":"^0.17.0","@prisma/adapter-libsql":"^7.3.0","@prisma/adapter-mariadb":"^7.3.0","@prisma/adapter-pg":"^7.3.0","@types/jest":"^29.0.0","@types/nanoid":"^2.0.0","@types/node":"^22.0.0","@typescript-eslint/eslint-plugin":"^6.0.0","@typescript-eslint/parser":"^6.0.0","dotenv":"^16.0.0","eslint":"^8.56.0","eslint-config-prettier":"^9.0.0","jest":"^29.0.0","prettier":"^3.0.0","prisma":"^7.0.0","ts-jest":"^29.0.0","typescript":"^5.0.0"},"peerDependencies":{"@prisma/client":"^6.0.0 || ^7.0.0"},"prisma":{"schema":"tests/prisma/schema.prisma"},"_id":"prisma-prefixed-ids@2.1.0","gitHead":"edf46cbea8f1d603ff54ea6d1dc0f81f975ee537","bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-fvUleSq04zzuZkaLh8fgcv/MTFCnFrgjHSq/Dszzycnz59k21RvZ+3fXdOLsPvbL7QmIbmx10XNnFedjS7XsZA==","shasum":"594a6e00ae7b625582f7aa18fca3f8241dd0bb85","tarball":"https://registry.npmjs.org/prisma-prefixed-ids/-/prisma-prefixed-ids-2.1.0.tgz","fileCount":6,"unpackedSize":45093,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIH7QPfPSNP3gOcXhA5FT14ZG6HezTyqfAmt/QYtkioBzAiBR6CdxHhVtcROWw4U2UKzEvT7qQo3HEBvlWqZZUluUxg=="}]},"_npmUser":{"name":"prageethsilva","email":"prageethsilva@gmail.com"},"directories":{},"maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/prisma-prefixed-ids_2.1.0_1771955957335_0.17964971206464542"},"_hasShrinkwrap":false}},"time":{"created":"2025-04-05T15:27:17.813Z","modified":"2026-02-24T17:59:17.638Z","1.0.0":"2025-04-05T15:27:18.005Z","1.0.1":"2025-04-05T15:31:39.972Z","1.1.0":"2025-04-05T15:34:31.101Z","1.1.1":"2025-04-05T15:39:17.740Z","1.2.0":"2025-04-05T16:24:00.013Z","1.3.0":"2025-04-05T17:00:59.589Z","1.3.1":"2025-04-05T19:33:33.210Z","1.4.0":"2025-08-14T15:41:05.973Z","1.5.0":"2025-08-15T14:22:56.569Z","1.5.1":"2025-08-17T08:46:25.806Z","1.5.2":"2025-08-17T08:59:14.164Z","1.6.0":"2025-09-19T03:52:12.050Z","1.6.1":"2025-09-19T03:57:00.940Z","1.7.0":"2025-12-14T03:54:24.155Z","2.0.0":"2026-01-28T07:50:40.483Z","2.1.0":"2026-02-24T17:59:17.486Z"},"bugs":{"url":"https://github.com/pureartisan/prisma-prefixed-ids/issues"},"author":{"name":"Prageeth Silva","email":"prageeth@codemode.com.au"},"license":"MIT","homepage":"https://github.com/pureartisan/prisma-prefixed-ids#readme","keywords":["prisma","extension","ids","prefixed","nanoid"],"repository":{"type":"git","url":"git+https://github.com/pureartisan/prisma-prefixed-ids.git"},"description":"A Prisma extension that adds prefixed IDs to your models","maintainers":[{"name":"prageethsilva","email":"prageethsilva@gmail.com"}],"readme":"# Prisma Prefixed IDs\n\n[![npm version](https://img.shields.io/npm/v/prisma-prefixed-ids.svg)](https://www.npmjs.com/package/prisma-prefixed-ids)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Build Status](https://github.com/pureartisan/prisma-prefixed-ids/actions/workflows/ci.yml/badge.svg)](https://github.com/pureartisan/prisma-prefixed-ids/actions/workflows/ci.yml)\n\nA Prisma extension that automatically adds prefixed IDs to your models. This package allows you to configure custom prefixes for your models and even customize how the IDs are generated.\n\n## Installation\n\n```bash\nnpm install prisma-prefixed-ids\n```\n\n## Usage\n\n### Object-Based Prefixes (Simple Configuration)\n\n```typescript\nimport { type Prisma, PrismaClient } from \"@prisma/client\";\nimport { extendPrismaClient } from 'prisma-prefixed-ids';\n\ntype ModelName = Prisma.ModelName;\n// NOTE: if your Prisma.ModelName is not available in your setup,\n// simply use the following instead:\n// type ModelName = string;\n\n// Create your Prisma client\nconst prisma = new PrismaClient();\n\n// Define your model prefixes as an object\nconst prefixes: Partial<Record<ModelName, string>> = {\n  Organization: 'org',\n  User: 'usr',\n  // Add more model prefixes as needed\n};\n\n// Extend the client with prefixed IDs\nconst extendedPrisma = extendPrismaClient(prisma, {\n  prefixes,\n});\n// NOTE: if typing is an issue, simply override the \n// return type to be the original `PrismaClient`:\n// const extendedPrisma = extendPrismaClient(prisma, {\n//    prefixes,\n// }) as unknown as PrismaClient\n\n// Use the extended client\nconst organization = await extendedPrisma.organization.create({\n  data: {\n    name: 'My Organization',\n    // id will be automatically generated with prefix 'org_'\n  },\n});\n\nconsole.log(organization.id); // e.g., 'org_abc123...'\n```\n\n### Function-Based Prefixes (Dynamic Configuration)\n\nYou can also use a function to determine prefixes dynamically. This is useful when you need conditional logic or want to compute prefixes based on the model name:\n\n```typescript\nimport { type Prisma, PrismaClient } from \"@prisma/client\";\nimport { extendPrismaClient } from 'prisma-prefixed-ids';\n\ntype ModelName = Prisma.ModelName;\n\nconst prisma = new PrismaClient();\n\n// Define prefixes using a function\nconst extendedPrisma = extendPrismaClient(prisma, {\n  prefixes: (modelName: ModelName): string | null => {\n    // Return prefix for known models, null for unknown models\n    switch (modelName) {\n      case 'Organization':\n        return 'org';\n      case 'User':\n        return 'usr';\n      case 'Post':\n        return 'pst';\n      case 'Comment':\n        return 'cmt';\n      default:\n        return null; // No prefix for unknown models\n    }\n  },\n});\n\n// Or use a more dynamic approach\nconst extendedPrismaDynamic = extendPrismaClient(prisma, {\n  prefixes: (modelName: ModelName): string | null => {\n    // Convert model name to lowercase prefix\n    const prefix = modelName.toLowerCase().slice(0, 3);\n    // Only apply to certain models\n    const allowedModels = ['User', 'Post', 'Comment'];\n    return allowedModels.includes(modelName) ? prefix : null;\n  },\n});\n\n// Use the extended client\nconst user = await extendedPrisma.user.create({\n  data: {\n    name: 'John Doe',\n    // id will be automatically generated with prefix 'usr_'\n  },\n});\n\nconsole.log(user.id); // e.g., 'usr_abc123...'\n```\n\n**Note:** When using function-based prefixes, return `null` for models that should not have prefixed IDs. The extension will skip ID generation for those models.\n\n**Backward Compatibility:** The function-based prefix feature is fully backward compatible. Existing code using object-based prefixes will continue to work without any changes.\n\n## Nested Writes Support (v1.5.0+)\n\nSince version 1.5.0, this package fully supports **nested writes** with automatic ID generation for all related records. This includes complex relationship operations like:\n\n### Basic Nested Creates\n\n```typescript\n// Create a user with nested posts\nconst userWithPosts = await extendedPrisma.user.create({\n  data: {\n    name: 'John Doe',\n    email: 'john@example.com',\n    posts: {\n      create: [\n        {\n          title: 'My First Post',\n          content: 'Hello world!',\n          published: true,\n        },\n        {\n          title: 'Draft Post', \n          content: 'Work in progress...',\n          published: false,\n        },\n      ],\n    },\n  },\n  include: { posts: true },\n});\n\n// Result:\n// - User gets ID: usr_abc123...\n// - Posts get IDs: pst_def456..., pst_ghi789...\n```\n\n### Deep Nested Writes\n\n```typescript\n// Create deeply nested structures with automatic ID generation\nconst complexUser = await extendedPrisma.user.create({\n  data: {\n    name: 'Jane Smith',\n    email: 'jane@example.com',\n    posts: {\n      create: {\n        title: 'Post with Categories and Comments',\n        content: 'A comprehensive post...',\n        published: true,\n        categories: {\n          create: {\n            name: 'Technology',\n            description: 'Tech-related posts',\n          },\n        },\n        comments: {\n          createMany: {\n            data: [\n              { content: 'Great post!', authorName: 'Reader 1' },\n              { content: 'Very informative', authorName: 'Reader 2' },\n            ],\n          },\n        },\n      },\n    },\n  },\n  include: {\n    posts: {\n      include: {\n        categories: true,\n        comments: true,\n      },\n    },\n  },\n});\n\n// All related records automatically get prefixed IDs:\n// - User: usr_...\n// - Post: pst_...  \n// - Category: cat_...\n// - Comments: cmt_..., cmt_...\n```\n\n### Update Operations with Nested Creates\n\n```typescript\n// Update existing records and create new related records\nconst updatedUser = await extendedPrisma.user.update({\n  where: { id: 'usr_existing123' },\n  data: {\n    name: 'Updated Name',\n    posts: {\n      create: [\n        {\n          title: 'New Post After Update',\n          content: 'Added after user update',\n        },\n      ],\n    },\n  },\n  include: { posts: true },\n});\n\n// Existing user keeps original ID, new posts get fresh prefixed IDs\n```\n\n### Upsert Operations\n\n```typescript\n// Upsert with nested creates\nconst upsertedUser = await extendedPrisma.user.upsert({\n  where: { email: 'maybe@example.com' },\n  create: {\n    name: 'New User',\n    email: 'maybe@example.com',\n    posts: {\n      create: {\n        title: 'First Post',\n        content: 'Created during upsert',\n      },\n    },\n  },\n  update: {\n    name: 'Updated Existing User',\n  },\n  include: { posts: true },\n});\n\n// IDs are generated only for the create branch if record doesn't exist\n```\n\n### ConnectOrCreate Operations\n\n```typescript\n// Connect to existing or create new with automatic ID generation\nconst postWithCategories = await extendedPrisma.post.create({\n  data: {\n    title: 'Post with Mixed Categories',\n    content: 'Some categories exist, others will be created',\n    categories: {\n      connectOrCreate: [\n        {\n          where: { name: 'Existing Category' },\n          create: { name: 'Should not be created' },\n        },\n        {\n          where: { name: 'New Category' },\n          create: { \n            name: 'New Category',\n            description: 'Freshly created category',\n          },\n        },\n      ],\n    },\n  },\n  include: { categories: true },\n});\n\n// New categories get prefixed IDs, existing ones are connected as-is\n```\n\n### Supported Nested Operations\n\nThe extension supports all Prisma nested write operations:\n\n- ✅ **`create`** - Single nested record creation\n- ✅ **`createMany`** - Multiple nested records creation  \n- ✅ **`connectOrCreate`** - Connect existing or create new records\n- ✅ **`upsert`** - Update existing or create new records\n- ✅ **Deeply nested structures** - Multiple levels of relationships\n- ✅ **Mixed operations** - Combining create, connect, disconnect in single query\n\nAll nested records that are created (not connected to existing ones) will automatically receive prefixed IDs according to your configuration.\n\n## Custom ID Generation\n\nYou can customize how IDs are generated by providing your own ID generator function:\n\n```typescript\nimport { extendPrismaClient } from 'prisma-prefixed-ids';\nimport { customAlphabet } from 'nanoid';\n\n// Create a custom ID generator\nconst customIdGenerator = (prefix: string) => {\n  const nanoid = customAlphabet('1234567890abcdef', 10);\n  return `${prefix}_${nanoid()}`;\n};\n\n// With object-based prefixes\nconst extendedPrisma = extendPrismaClient(prisma, {\n  prefixes: {\n    Organization: 'org',\n    User: 'usr',\n  },\n  idGenerator: customIdGenerator,\n});\n\n// With function-based prefixes\nconst extendedPrismaWithFunction = extendPrismaClient(prisma, {\n  prefixes: (modelName) => {\n    if (modelName === 'Organization') return 'org';\n    if (modelName === 'User') return 'usr';\n    return null;\n  },\n  idGenerator: customIdGenerator,\n});\n```\n\n## Configuration Options\n\nThe extension accepts the following configuration:\n\n- `prefixes`: Either an object mapping model names to prefixes, or a function that returns a prefix for a given model name (required)\n- `idGenerator`: A function that generates IDs (optional, defaults to using nanoid)\n\n### Prefixes Configuration\n\nThe `prefixes` configuration can be provided in two ways:\n\n#### Option 1: Object-Based (Simple)\n\nA simple object where:\n- Keys are your Prisma model names (case sensitive)\n- Values are the prefixes you want to use (without the underscore, which is added automatically)\n\nExample:\n```typescript\nconst prefixes = {\n  Organization: 'org',\n  User: 'usr',\n  Post: 'post',\n  Comment: 'cmt',\n};\n```\n\n#### Option 2: Function-Based (Dynamic)\n\nA function that takes a model name and returns a prefix string or `null`:\n- Accepts `modelName: ModelName` as parameter\n- Returns `string | null`:\n  - Returns a `string` prefix for models that should have prefixed IDs\n  - Returns `null` for models that should not have prefixed IDs\n\nExample:\n```typescript\nconst prefixes = (modelName: ModelName): string | null => {\n  // Simple mapping\n  const prefixMap: Record<string, string> = {\n    Organization: 'org',\n    User: 'usr',\n    Post: 'pst',\n    Comment: 'cmt',\n  };\n  return prefixMap[modelName] ?? null;\n};\n\n// Or with conditional logic\nconst prefixes = (modelName: ModelName): string | null => {\n  if (modelName.startsWith('System')) {\n    return 'sys'; // All system models get 'sys' prefix\n  }\n  if (modelName === 'User' || modelName === 'Organization') {\n    return modelName.toLowerCase().slice(0, 3);\n  }\n  return null; // Other models get no prefix\n};\n```\n\n**When to use function-based prefixes:**\n- You need conditional logic based on model names\n- You want to compute prefixes dynamically\n- You have a large number of models and want to avoid maintaining a large object\n- You need to apply prefixes based on naming patterns or conventions\n\n### ID Generator Function\n\nThe `idGenerator` function should:\n- Accept a prefix as its only parameter\n- Return a string that will be used as the ID\n\nThe default generator uses nanoid with a 24-character length and alphanumeric characters.\n\n## Why nanoid instead of UUID v4?\n\nThis package uses [nanoid](https://github.com/ai/nanoid) for ID generation instead of UUID v4 for several reasons:\n\n1. **Better Collision Resistance**: While UUID v4 has a 122-bit random component, nanoid with 24 characters (using 36 possible characters) provides approximately 128 bits of entropy, making it even more collision-resistant than UUID v4.\n\n2. **Smaller Size**: A UUID v4 is 36 characters long (including hyphens), while a nanoid with 24 characters is more compact. When combined with a prefix (e.g., `usr_`), the total length is still shorter than a UUID v4.\n\n3. **URL-Safe**: nanoid uses URL-safe characters by default, making it suitable for use in URLs without encoding.\n\n4. **Customizable**: nanoid allows you to customize the alphabet and length, giving you more control over the ID format.\n\n5. **Better Performance**: nanoid is optimized for performance and generates IDs faster than UUID v4.\n\nFor example, with a 24-character nanoid:\n- The chance of a collision is approximately 1 in 2^142 (even better than UUID v4's 2^122)\n- The ID length is 24 characters + prefix length (e.g., `usr_abc123DEF...`)\n- The alphabet includes 62 characters (0-9, a-z, A-Z), providing high entropy while remaining readable\n\n## Development\n\n### Running Tests\n\nThis project includes comprehensive unit and integration tests:\n\n```bash\n# Run all tests\nnpm test\n\n# Run only unit tests (fast, no database)\nnpm run test:unit\n\n# Run only integration tests (uses real SQLite database)\nnpm run test:integration\n```\n\nThe integration tests automatically download the Prisma query engine and set up a SQLite database as needed. No additional setup is required.\n\nFor more detailed development information, see [DEVELOPMENT.md](./DEVELOPMENT.md).\n\n## License\n\nMIT ","readmeFilename":"README.md"}