{"_id":"frourio-framework-prisma-generators","_rev":"35-d0ad56bfe83439f05a15dcc5f2fe7b62","name":"frourio-framework-prisma-generators","dist-tags":{"latest":"7.8.2"},"versions":{"1.0.0":{"name":"frourio-framework-prisma-generators","version":"1.0.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"dist":{"shasum":"0c45228b47738c45220f44183c019a7c9fa64235","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.0.tgz","fileCount":16,"integrity":"sha512-jf2pVWlx5dS2Fm9ghgWESu9kW8NMC2m9RBEUhKH9o8fUOmJ+P+57E2F8uNeDQjzqdPXI0Ihc6U6SBR3NN+ypdA==","signatures":[{"sig":"MEUCIQDWpusLQtVYnfNXEbavfdreO/TPkwANN4CjkITnn0fA9AIgcXv8OAKAtKd42th2MkLlYh3YYNDY/6Wi2wJSMcoYl5Q=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15134},"gitHead":"4e9ecd584b63bb0444fe657a035c00d58977f1eb","scripts":{"typecheck":"tsc --noEmit","gen-example":"tsc && npm run prisma:generate","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.2.4","description":"","directories":{},"_nodeVersion":"20.11.0","dependencies":{"tsc":"^2.0.4","prettier":"^3.3.3","typescript":"^5.6.2","change-case":"^5.4.4","@prisma/client":"^5.20.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.0_1727764032367_0.8639835754275271","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"frourio-framework-prisma-generators","version":"1.0.1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-generators":"lib/index.js"},"dist":{"shasum":"3a1d5a9e6115c2f88b5d9816005dba14ca93f163","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.1.tgz","fileCount":37,"integrity":"sha512-MoAEtatAe3py+rwtS5+vgSoIuAZHu6ty+fQYVO4sZmENO2yI+Fxzq7JSgGFFR1Ek+8hDfX9h4ogBT0bMk2WEHw==","signatures":[{"sig":"MEUCIQCrmiUU8bfQSlJxjU25VJNhUhuI95xxmysZi30/Kky0sAIgLN/XRyouM5lq5GE8M2n3rkbfWTZLwXvOz6MvBXj+Mdc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41526},"gitHead":"64b24f2f5b26cb596ea8865cbfc3ccb070163c8b","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.2.4","description":"","directories":{},"_nodeVersion":"20.11.0","dependencies":{"prettier":"^3.3.3","change-case":"^5.4.4","@prisma/client":"^5.20.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.1_1727764799771_0.7665709195518333","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"frourio-framework-prisma-generators","version":"1.0.2","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.2","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-generators":"lib/generators/index.js"},"dist":{"shasum":"8f8e03aba47aa0e18b801894344948da349c4752","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.2.tgz","fileCount":23,"integrity":"sha512-QR7RUo8fnVYNTXt1RQZ6eaSrFnTKFp4zr2E7TDLzxTBYJiuB7OIvrIVqHnSVYk9LATmcbUfPtNvjaHlKx1tatg==","signatures":[{"sig":"MEUCIDD63Xyhj76Da12JJWLSV06a+m5lMxvaQuQbXx5slRyFAiEAodZZZhcmAOTSFMoja+xJvlGps/emZx4/U5caTL7PbcM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27655},"gitHead":"f73c7b467ce583b2f85dd387ce9e780376401503","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.2.4","description":"","directories":{},"_nodeVersion":"20.11.0","dependencies":{"prettier":"^3.3.3","change-case":"^5.4.4","@prisma/client":"^5.20.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.2_1727765235731_0.5339772853914972","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"frourio-framework-prisma-generators","version":"1.0.3","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.3","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-generators":"lib/generators/model/index.js"},"dist":{"shasum":"c8decbffe8705758b907c1678f5a96edbf30eadb","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.3.tgz","fileCount":23,"integrity":"sha512-RSEhNQEHkZJmO9NklrKQhD1Ctw460mVIlCgF3cfoMclggLeK7Cdobb1ripVkq/ttvbUA+WGORVPhv2nxYNBm2A==","signatures":[{"sig":"MEYCIQDa7fxxf/csorO/PgRAeOC4cCdOtq/yfN0zh1noGEPUxQIhALWwB8eClItip4I06weVzMusYIZsrGP/RqrYKrx1/1Zt","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27659},"gitHead":"f73c7b467ce583b2f85dd387ce9e780376401503","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.2.4","description":"","directories":{},"_nodeVersion":"20.11.0","dependencies":{"prettier":"^3.3.3","change-case":"^5.4.4","@prisma/client":"^5.20.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.3_1727765469798_0.08427949005062163","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"frourio-framework-prisma-generators","version":"1.0.4","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.4","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-generators":"lib/generators/model/index.js"},"dist":{"shasum":"469a831203ae704ccfcfc2d8bc0bf275e27b7b85","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.4.tgz","fileCount":23,"integrity":"sha512-87RHehycmZ8bj184w+B8hs0aIs58Js2/x3iep7BfS2fooCS8Qd/Nr2TBZI8y7qxYIJ9mCSU56tQ1fkInKxCSyw==","signatures":[{"sig":"MEUCIQDzemjl/BQ5sXp4lU+omNFbZPpt05pE1eBTB7KCnABxbwIgEcEXzykLMRc2L8vILL9osyQh3mzR3CIbO1/A7CHoRYs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27659},"gitHead":"a40db4fd7125e55f4ee8132d5e074894cf71a89a","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.2.4","description":"","directories":{},"_nodeVersion":"20.11.0","dependencies":{"prettier":"^3.3.3","change-case":"^5.4.4","@prisma/client":"^5.20.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.4_1727765912547_0.7195465768219436","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"frourio-framework-prisma-generators","version":"1.0.5","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.5","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-generators":"tsx lib/generators/model/index.js"},"dist":{"shasum":"89d38f00d28e0b887be96e49867dc66994505860","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.5.tgz","fileCount":23,"integrity":"sha512-iZQcQ3Xspk0HSjqOH5e7dWXRF7zxFFJkyfxXFmTCoGbGBej92rUvJezGbga3j7TFd+lUBB3T+dFTVc0gmi73RA==","signatures":[{"sig":"MEYCIQDbEH96ltRt2ILpAnjizYqwc9UySRgLvMK8IfbKtE5yrwIhALhbKMmbI9GtpqB5ZDDBjOopA3qfiPdhH9Xldz5hh+YM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27685},"type":"commonjs","gitHead":"bad4de0dc3cfea5a0e6c91eafd2701a874b4475e","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.2.4","description":"","directories":{},"_nodeVersion":"20.11.0","dependencies":{"prettier":"^3.3.3","change-case":"^5.4.4","@prisma/client":"^5.20.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.5_1727766996262_0.8417990265575932","host":"s3://npm-registry-packages"}},"1.0.6":{"name":"frourio-framework-prisma-generators","version":"1.0.6","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.6","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"35e0e8c1129f959f4eabf92b642a4fc76ee704c8","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.6.tgz","fileCount":26,"integrity":"sha512-Z180oby85li1+i+XIF2W6DL0vR7nDT60/Te507SlKLCHGC48qtuUzs/0z3Qk/oPXQs1yLCyOH/CqBTKHB2QPcw==","signatures":[{"sig":"MEYCIQCTrTHh8WWSp5IyhC7DNRkjMkcqKK8TH8Y7OUoXB5wL2QIhAOTQrnrtgv1+4/+g3TFDxtGEuO/TBwnepiPABVJWMDiW","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28039},"type":"commonjs","gitHead":"955455c0f807b83862bd940e001dc845539b3af4","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.6_1727770716945_0.025299734985487765","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"frourio-framework-prisma-generators","version":"1.0.7","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.7","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"2e43ad592f1844dc9c1a7ff272caf9dbe1452732","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.7.tgz","fileCount":26,"integrity":"sha512-f47RRAjpjdVM+oZGkiTChI2rv1SSCBBg0aSIG/NVXzDsul2YW8swgKA21fg5c1zr5voMncPPu97ja6ZUw4gTtg==","signatures":[{"sig":"MEQCID2FQ9rWG02QJ5sfVdF63OVE/53xaP67NNLkaV4fjwf2AiBLCjE3kk7OJLoeaDyfBwgqeMTHh/sXaw2w1O/HepF6aQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28426},"type":"commonjs","gitHead":"551a1fd8072a6dc8bd0491030585c669ddc8bb9b","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"## Install","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.7_1727771428800_0.5078061336510913","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"frourio-framework-prisma-generators","version":"1.0.8","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.8","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"efe543a23ee6e93855933b0ac1f0ce40de82069d","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.8.tgz","fileCount":26,"integrity":"sha512-u2V6Lzg9LrpQL9JQNdgE/qJ7Pd7ur2zhGiIek2id6usZX28qRV6wLRYTExuwO/sEynZdW3lUKq/N/1Gp+VFUIg==","signatures":[{"sig":"MEUCIEYoVYLYE5bRukWKPx/XqOy5vmqQOzXxqgONOL66I66uAiEAoiTz9cj4tGL6lXRWF/vnwLMYjr2pi6IQ1GiBxHpZrL4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":28597},"type":"commonjs","gitHead":"43035eaefc999c1dd3f003d4ae5bf35ef5c22884","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"## Requirements - prisma, @prisma/client@5.20.0   - both needs to be same version","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.8_1728037231966_0.44085904678089416","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"frourio-framework-prisma-generators","version":"1.0.9","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.0.9","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"702b73550fcc5f07853f9d298885bcd40b96b378","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.0.9.tgz","fileCount":26,"integrity":"sha512-4pHyutcC6rVYrV8vaRMNFcBxVoRnJZjR2INb7nubzhAf4nwEaCcutmTfKeYLcgfq/y8x843pgwIVzah2lMA1nA==","signatures":[{"sig":"MEYCIQDwtUbCp35ZRemExVy9yhNDpyAITwQfX51MGP/Vidlk0AIhAO5rdFkALzn8ZLAyoVRIf7Rtel0xyC9BuMnaRtUVe0/y","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":29466},"type":"commonjs","gitHead":"de169bb035e919fffcb2d13a1caa507f944bdf60","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"## Requirements - prisma, @prisma/client@5.20.0   - both needs to be same version","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^20.11.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.0.9_1728643105328_0.269466957366747","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"frourio-framework-prisma-generators","version":"1.1.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.1.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"d9c1b3bb620650d090c14db2bf9086eaaae28ea9","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.1.0.tgz","fileCount":26,"integrity":"sha512-snJoXy7panDqcbBofJZJ9roou5myIggZt4ATXVkmOHA08bxpJqNoDQpwjMOjMI7RmkrGVLI5JjVfL620NHzdBA==","signatures":[{"sig":"MEUCICTkZ0Lu71JC3Y4Q7QBM8YpREblLyq/FPJ53i5PBy0/4AiEAxWeDIbV4GXbFsfvD9AfoS1My26ezvUR9b9HLToKm5iw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30423},"type":"commonjs","gitHead":"2bfcb9db8495c8e564630b2f03610dea3dac4b42","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"## Requirements - prisma, @prisma/client@5.20.0   - both needs to be same version","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.1.0_1732129549581_0.37818575663809506","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"frourio-framework-prisma-generators","version":"1.1.1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.1.1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"3da1d95335fc7eab2003c4ae3197edd1e6f2b67f","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.1.1.tgz","fileCount":26,"integrity":"sha512-LqQsnkhyWegplnTH4xbY27jRQTvtjSTjsz6TlNHtrwH5AFoSNy62azT2e8KkkWWeZkbFJTvzGZoU7ki5dEnw3g==","signatures":[{"sig":"MEQCIFeYcyVthOCyikcdbWwxYdBvFSsL29yc26+kR9oqxPx1AiAR1b87YgsHOuf0bNoL+16vfrhfQjHHV1266cRIcbJa4g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30814},"type":"commonjs","gitHead":"ef0a9a8a9bb05e91a35a0a43b58e5f31b44d94d0","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"## Requirements - prisma, @prisma/client@5.20.0   - both needs to be same version","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.1.1_1732132603162_0.3679528762478099","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"frourio-framework-prisma-generators","version":"1.2.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@1.2.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"91510f83fe0015f3ba33f8fffa26c2feffd5f488","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-1.2.0.tgz","fileCount":29,"integrity":"sha512-va6kfeBni/ywkmV6jvghwbj3rpnZeSsIpCPv1nGATV25roJBEom+uNv9rFMvx/5D8PTh7SDVJUsIkAqRo0jwwQ==","signatures":[{"sig":"MEYCIQDctj/HqRQLDlNgVJPT7I0+pWfSbbHDU1nbj6OgTcmCMgIhANMgMLn0u3MxxEaJtWQhIXs7LusuyHvHbs6i0+5iGtrA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38984},"type":"commonjs","gitHead":"50dfda30c4f813cd6628b75b8444662469c7b344","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"## Requirements - prisma, @prisma/client@5.20.0   - both needs to be same version","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_1.2.0_1732298712456_0.6272186351982953","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"frourio-framework-prisma-generators","version":"2.0.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.0.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"45574d94162cb9bb920cf018571be1d8b426dc7b","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.0.0.tgz","fileCount":29,"integrity":"sha512-Sv30MxogFahL15bzqp0xnmUfp+wBeNIf8B+S4D3opqYHcH4gQGI3L1AvxXS7KXNfVXKy8Mb9Tar6XrGOCTdadQ==","signatures":[{"sig":"MEUCIFOlnQY+G7MrtLcu01RdnqNlT0b2OZJPzafK5IfAACzKAiEA50u98xsKKUyEdVdGZ+kktwNuXgBUAYrCm6fsSxmQPHA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47025},"type":"commonjs","gitHead":"238ceb35792a94bf2565254b167c19cab3e2bf02","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.0.0_1732733019182_0.6349534559399526","host":"s3://npm-registry-packages"}},"2.0.1":{"name":"frourio-framework-prisma-generators","version":"2.0.1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.0.1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"d53b78a42afa28f76e2d7f58c54d4e958c222329","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.0.1.tgz","fileCount":29,"integrity":"sha512-zjFb2Vn2pZCmCa3ALl4abfZ9oglHPZIXm/lBxaWe8PY38X61Pi7056sPLNZuYSx34n9pt5dkrOS1VhU31pdiYQ==","signatures":[{"sig":"MEUCIDY11ODpqERut8W3wmZmWlRN4FnizIBiSBYFSWoE9G5NAiEA5qQJdrPzPPgwDJAncJv8GvfmxoLPKnFZ5eCOn4Boqww=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47718},"type":"commonjs","gitHead":"6ec5d93a9861e0ab3c54ec8415a18533a6b0c0b5","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.8.3","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"22.9.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.0.1_1733156395792_0.4277637835723629","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"frourio-framework-prisma-generators","version":"2.1.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.1.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"9d291ace69d87d7e5ec2bafd2a497c86521311ef","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.1.0.tgz","fileCount":29,"integrity":"sha512-CCndfo+v39If2h2uYx3hrUH4s4/fZVI7n3N8R/eRY0RmvBJdAOdE/Loz36z7RiR+Z4iAMXjT+I8QWD/HaKIqnw==","signatures":[{"sig":"MEUCIQDUCPMeumiQq4HzyLvPQTC6nnM64ccqMyzM9BMUpHnO5gIgf0l/EDxXqDJMrigtsWV+WzWfPFhPnO6jkxB6RByhM7I=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":46860},"type":"commonjs","gitHead":"1bf2c8b0a463f7098e15c5d1cd47d89dc84527aa","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"23.3.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.1.0_1734271308461_0.28296027625175935","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"frourio-framework-prisma-generators","version":"2.1.1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.1.1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"fd0594a14fe402b2ff408abe14e255083b71f917","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.1.1.tgz","fileCount":29,"integrity":"sha512-lcbXZ5H6yEzYZAElnt8N90xYjTHOOJzRUF/fYkS5LmxW+j0qXpY6vrq3IhbbVsyaPbrvNt8LnojWeqCAGjd4SQ==","signatures":[{"sig":"MEQCICdMBQV74gCwJtYjM3e7w0zONtp7GidmMxsKqbLUqtHDAiAgmicappD+O3tWOKK9U1Yf5F3GxWSg90K/74M9u3dEiQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47278},"type":"commonjs","gitHead":"da9ffc7dace08158f4d679692c580e10c225daaf","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"23.3.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.1.1_1734272456120_0.145548004125432","host":"s3://npm-registry-packages-npm-production"}},"2.1.2":{"name":"frourio-framework-prisma-generators","version":"2.1.2","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.1.2","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"4dcc89a09a3c55bd9605f063526fe6939acdea29","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.1.2.tgz","fileCount":29,"integrity":"sha512-1kJelLfIKD+vnG1e+De99z79Q31yQl9HD3l5jJJQ2CUa8lLLNFC+ggFZPcPCo5zyXb7BB0LPF4Ik1Q5Xn89jmw==","signatures":[{"sig":"MEUCIHd3SXc9+nW1m9lpUFMiPjKgf4Y1dmnJD6iO8JXlGJYdAiEA7RGfr6uHmoj0y6gtorDrj/+2a1iyDfu7ehOthnFtDMQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47327},"type":"commonjs","gitHead":"7cbbdcea4904b247d16c93b9a59b58eb3ae527b8","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"23.3.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.1.2_1734273701499_0.015421807004484478","host":"s3://npm-registry-packages-npm-production"}},"2.1.3":{"name":"frourio-framework-prisma-generators","version":"2.1.3","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.1.3","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"430bb5b720adec6ef52266882c52fb68f4af48a8","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.1.3.tgz","fileCount":29,"integrity":"sha512-nLITISElzC6b6iZFUHl0WvMJ3OsTfaqIkTh6DvNewZFfL9ldvG+VdXGqkBppG9aZU480SrW8ejGZzsz1HIsjKQ==","signatures":[{"sig":"MEUCIDBdF4VKjmWTaMeaMnZxc7FGBfKfBwPmMmjtpKVerLwQAiEA8R0ioyXg36mXpzEYsgRAHAfRevjC8s58ZlCk4Z2QA+4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47354},"type":"commonjs","gitHead":"67c026c8cac9d22b6f43a65f6a5cfbbb63b31d93","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"23.3.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.1.3_1734950993980_0.33114386087613834","host":"s3://npm-registry-packages-npm-production"}},"2.1.4":{"name":"frourio-framework-prisma-generators","version":"2.1.4","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.1.4","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"fb313e358847354321d1835d3ebebc6507351e7c","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.1.4.tgz","fileCount":29,"integrity":"sha512-rq5MbeB8gdBnaT2Gn//0JtDAe/j+KkUWVZgnNF6kYQS4jeFXRXl/950rL7pL1PxXTsE3aUbJtsH0drBO8Amzvg==","signatures":[{"sig":"MEYCIQCzlFPtTs4ymOv0xgWzYmyCC+q0gDL+eCH1vAjT+qIpowIhAPmIgz/fqZEYyAvUB5wvGOf4uDvVr/5iMJU9Xw0T2YlY","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47789},"type":"commonjs","gitHead":"fd388003bc97a522facab41dd407570e92e60a75","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"23.3.0","dependencies":{"prettier":"^3.3.3","@prisma/client":"^5.20.0","change-case-all":"^2.1.0","@prisma/internals":"^5.20.0","@prisma/generator-helper":"^5.20.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.1","ts-node":"^10.9.2","typescript":"^5.6.2","@types/node":"^22.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.1.4_1734971881498_0.057298316722293796","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"frourio-framework-prisma-generators","version":"2.2.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.2.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"eff1e4fa3482df93aabf14749ee73af3691ec9b5","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.2.0.tgz","fileCount":29,"integrity":"sha512-jK1nOqtjjcHNZFq8BqR3kXVpG/YlUvXBOBvxS04/gXUpaGRXc08f8AM8m1CdHqx3QdBmPogDMnc5Rw6GliHRjw==","signatures":[{"sig":"MEYCIQDrrb3IF02qoNr2vmZS5OSQ/cYIJGB7bI5lx/rjlXTxWgIhAMHOgVDBklWmqrJ7aQNGjb1a4xFoxWP18TwaAqzR8Vg+","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":47792},"type":"commonjs","gitHead":"0c4d83cbe5eb20fec12fdb0009f7415bd7ceb6cd","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"23.3.0","dependencies":{"prettier":"^3.4.2","@prisma/client":"^6.1.0","change-case-all":"^2.1.0","@prisma/internals":"^6.1.0","@prisma/generator-helper":"^6.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","ts-node":"^10.9.2","typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.2.0_1736222950923_0.025817404669356225","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"frourio-framework-prisma-generators","version":"2.2.1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@2.2.1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"da838bb593f507083e59055c557a651c4c2ea726","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-2.2.1.tgz","fileCount":29,"integrity":"sha512-HKMYDPdu7EQMPTE09c/LUjejuZtSd8O5mJki7petXWKsOLN+SpxDcVKy2sIn5P7Hm/P7jYcbYHydcbqjhSBaHg==","signatures":[{"sig":"MEQCIGbPdzqe8GzPPJDev45TgOkaAVeaCnYZyxgRKNA9TUUTAiAsBlieCVItDi4CTBdO4A5VpxlQ4/WaYD05M1nvxY8UtQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47839},"type":"commonjs","gitHead":"6d0319583a8030e8619168fe22376ecc3279326d","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"23.3.0","dependencies":{"prettier":"^3.4.2","@prisma/client":"^6.1.0","change-case-all":"^2.1.0","@prisma/internals":"^6.1.0","@prisma/generator-helper":"^6.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","ts-node":"^10.9.2","typescript":"^5.7.2","@types/node":"^22.10.5"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_2.2.1_1737544518966_0.6622422030045387","host":"s3://npm-registry-packages-npm-production"}},"6.9.0":{"name":"frourio-framework-prisma-generators","version":"6.9.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@6.9.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"3a5e8a8988075f94573a672aa5a033b910ecf4d3","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-6.9.0.tgz","fileCount":32,"integrity":"sha512-Df1H964QIfx2e4KO9bTIv+gP746ziPHknJUA3PZ/caAWzCcwyqDLoG6ucgOBmxQV+n0K58ZJ/dszqXG1EBSLgg==","signatures":[{"sig":"MEUCIQD5QOO391bb4AiuIckgSC+7utplVn1FkLwcOS5TxAUFYgIgUzJOU+z9rsC7q+dOygBAo4hJr5fRKj7uH3S2oHuFdfI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48490},"type":"commonjs","gitHead":"00fff95f0df83644598c7bc2a0d256ecaceb4f4d","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"22.12.0","dependencies":{"prettier":"^3.5.3","@prisma/client":"^6.9.0","change-case-all":"^2.1.0","@prisma/internals":"^6.9.0","@prisma/generator-helper":"^6.9.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","ts-node":"^10.9.2","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_6.9.0_1749652859848_0.8388311441332845","host":"s3://npm-registry-packages-npm-production"}},"6.9.0-rev1":{"name":"frourio-framework-prisma-generators","version":"6.9.0-rev1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@6.9.0-rev1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"eb11ebe931727739dce055869fc0d2636a3f3532","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-6.9.0-rev1.tgz","fileCount":32,"integrity":"sha512-vdBHJfWaqq1NNHJ+nPZ3/pC02/lqLRXEpyQBlW7VelWOBeMVZTGGvssDexByEaoriXqscUN+zalOpt1CJvR93g==","signatures":[{"sig":"MEUCIQC9jUmJub+o62QHE2MEfH9Ub/QieqfTeORcZceP9qADtQIgM7SxNeJm9mACpnegRrW2rIImbTHeFoF+VTKkWEugH4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48502},"type":"commonjs","gitHead":"8c93b2ca22ca41a3e4fd6523a7ea8fba6682d535","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.0","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"22.12.0","dependencies":{"prettier":"^3.5.3","@prisma/client":"^6.9.0","change-case-all":"^2.1.0","@prisma/internals":"^6.9.0","@prisma/generator-helper":"^6.9.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","ts-node":"^10.9.2","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_6.9.0-rev1_1753051532983_0.6725054562913724","host":"s3://npm-registry-packages-npm-production"}},"7.2.0":{"name":"frourio-framework-prisma-generators","version":"7.2.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.2.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"adac8a3509eb29d795309f908ed68d92799e7897","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.2.0.tgz","fileCount":32,"integrity":"sha512-vPE9G82Me+lNIuWVRLIFOzedCHDkxISajXA+F8JuvDmWxVHjaIR7s0kTOLqtyUxwRDdTCS7lXtJkE7TDqh+ULg==","signatures":[{"sig":"MEUCIQCyA712oDwAZEZQqRtlUDrSP3/SkYwSkvH0IOrI47c9fwIgVQwc7EWOMZy8ZRIGhL8PQndau/AefQjhygPDkh21mgk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":48564},"type":"commonjs","gitHead":"a5872a1783a70a3f2148fca9f59ff76b71cad30f","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"11.6.2","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"24.12.0","dependencies":{"prettier":"^3.5.3","@prisma/client":"^7.2.0","change-case-all":"^2.1.0","@prisma/internals":"^7.2.0","@prisma/generator-helper":"^7.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","prisma":"^7.2.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.2.0_1767119682738_0.025855185309570095","host":"s3://npm-registry-packages-npm-production"}},"7.3.0":{"name":"frourio-framework-prisma-generators","version":"7.3.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.3.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"66b4aec1d804bf51e911c2999a32ee68d4b67d45","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.3.0.tgz","fileCount":32,"integrity":"sha512-LMdLe27ExQaDOE17f96TvSA40Sc+q7/4MPJy3HJXEr7F8WubU2K7A6NcI3UEH50b0POKgTNK8BjylbeZbknqrg==","signatures":[{"sig":"MEYCIQCVdxoL7qbJo3D1p6YrNkxAtY8oFAoNueHwIbQluziR/gIhAMGsYXSdODWmMH8VX9jScjZwt3a4iEkNfZpAUsqtLQmS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49573},"type":"commonjs","gitHead":"6b4085f433c2f1c59b5a7d724558520cefc68d3d","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"11.6.2","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"24.12.0","dependencies":{"prettier":"^3.5.3","@prisma/client":"^7.2.0","change-case-all":"^2.1.0","@prisma/internals":"^7.2.0","@prisma/generator-helper":"^7.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","prisma":"^7.2.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.3.0_1775469905129_0.7010461474695586","host":"s3://npm-registry-packages-npm-production"}},"7.7.0":{"name":"frourio-framework-prisma-generators","version":"7.7.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.7.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"2ce6799b064d72b83e04928e8566b2a820f9019f","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.7.0.tgz","fileCount":32,"integrity":"sha512-ctPA9VeWKpURXU95XjjSMVIRJ8njDDWLtARkVZhT7HBIa9PAwTn4wmLsYodj7ClVp6Puatyq7DLzTix2Aofbvg==","signatures":[{"sig":"MEQCIFp6gPF0yvderFYikzmF+zUAxl4bMqF/w3jllzvef+cYAiBuduxs6O0vahm9X9LGWGWcwdODp3G5Wrh409M9sCiihg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":49573},"type":"commonjs","gitHead":"6fa7d128ed6dae041e6f7b4708d3a9f1532815aa","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"11.6.2","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"24.12.0","dependencies":{"prettier":"^3.5.3","@prisma/client":"^7.7.0","change-case-all":"^2.1.0","@prisma/internals":"^7.7.0","@prisma/generator-helper":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","prisma":"^7.7.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.7.0_1775582010286_0.8209972225432647","host":"s3://npm-registry-packages-npm-production"}},"7.7.0-rev1":{"name":"frourio-framework-prisma-generators","version":"7.7.0-rev1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.7.0-rev1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js","frourio-framework-prisma-repository-generator":"lib/generators/repository/generator.js"},"dist":{"shasum":"e137b2aebee8ee3379088b647d47f9f04228cf67","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.7.0-rev1.tgz","fileCount":56,"integrity":"sha512-i6KADHzXzIcZO2E8AazqkU8IgbD3zJCbl6awPYkmgBkFs/Isf+ASBzXujKSmcvHbryCY7DV8B4RPK1n2BTphNw==","signatures":[{"sig":"MEUCIFWB0W4wJDRJ8c3FxM+01jQf/MJrRElYMuJNJFnmAH6XAiEA8JphT6b+mhlc5EYuKEFLDEY0uEIqKTePjWVVxSF4jqc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185080},"type":"commonjs","gitHead":"e2e8664306f56cb44fa6f6e46fcb4b282f3049f6","scripts":{"lint":"eslint src tests","test":"vitest run","generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","test:watch":"vitest","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"deprecated":"Use 7.7.1 instead. Versioning scheme changed from prerelease to patch.","repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"11.6.2","description":"A Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"prettier":"^3.5.3","@types/node":">=20.0.0","@prisma/client":"^7.2.0","change-case-all":"^2.1.0","@prisma/internals":"^7.2.0","@prisma/generator-helper":"^7.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","eslint":"^10.2.0","prisma":"^7.2.0","vitest":"^4.1.2","ts-node":"^10.9.2","typescript":"^5.8.3","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.7.0-rev1_1775591860179_0.24023675874304873","host":"s3://npm-registry-packages-npm-production"}},"7.7.1":{"name":"frourio-framework-prisma-generators","version":"7.7.1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.7.1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js","frourio-framework-prisma-repository-generator":"lib/generators/repository/generator.js"},"dist":{"shasum":"201c723d7a912b19d9844b018fb5d8eefda047c9","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.7.1.tgz","fileCount":56,"integrity":"sha512-LhXMjoCiNqGPl1kYF+SA0hSDSIt6S63b7m3VfbGZL3WhrqWhuguuAgjVoZqQuh/bt05FCGMATjimp5mMq8xtBw==","signatures":[{"sig":"MEQCIFcFcaJQ2jvkyOU7gSA7tGSrWvqgHUrxfwFbpXHV4FBCAiA3kw8HiLu3ammi36XbQsiefA8+j1zOM5lNkzMxV571vg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":185075},"type":"commonjs","gitHead":"306db91b7e5f6cee9eab4befc3391eb391ec77ab","scripts":{"lint":"eslint src tests","test":"vitest run","generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","test:watch":"vitest","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"11.6.2","description":"A Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"prettier":"^3.5.3","@types/node":">=20.0.0","@prisma/client":"^7.2.0","change-case-all":"^2.1.0","@prisma/internals":"^7.2.0","@prisma/generator-helper":"^7.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","eslint":"^10.2.0","prisma":"^7.2.0","vitest":"^4.1.2","ts-node":"^10.9.2","typescript":"^5.8.3","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.7.1_1775592033124_0.9066173223875311","host":"s3://npm-registry-packages-npm-production"}},"7.7.2":{"name":"frourio-framework-prisma-generators","version":"7.7.2","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.7.2","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js"},"dist":{"shasum":"ec5e77142b34e152f9dfe56ab4bab14829c12abf","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.7.2.tgz","fileCount":56,"integrity":"sha512-nk/X2jcCwZEyyWYNdf1UDMFOnzMSB5EHLa9X2sAJ2LKZr3PVy6Hrj2FLJgMU/SNLClCyJIRY36cgiZVk+LPaCQ==","signatures":[{"sig":"MEQCIG9QmOWG00waKI8ouIAc2nulzOLxjrr6hMllosq2mbNUAiAQ1WV/Y4NHLNmfNZXrAstP7smV3BxVsZg9X10pFFz5SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":141369},"type":"commonjs","gitHead":"a9255554ba42b361316c989e5305e2e26aefa463","scripts":{"generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"11.6.2","description":"- Generate model from prisma schema - Can be compatible with `Json` type field by specifying type","directories":{},"_nodeVersion":"24.12.0","dependencies":{"prettier":"^3.5.3","@prisma/client":"^7.7.0","change-case-all":"^2.1.0","@prisma/internals":"^7.7.0","@prisma/generator-helper":"^7.7.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","prisma":"^7.7.0","ts-node":"^10.9.2","typescript":"^5.8.3","@types/node":"^24.0.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.7.2_1775593748851_0.7570491826776207","host":"s3://npm-registry-packages-npm-production"}},"7.7.3":{"name":"frourio-framework-prisma-generators","version":"7.7.3","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.7.3","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js","frourio-framework-prisma-repository-generator":"lib/generators/repository/generator.js"},"dist":{"shasum":"cc967c8e5eddc994fd011c278b8d7e568766e1fb","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.7.3.tgz","fileCount":83,"integrity":"sha512-nHTGnm/LXQXWo6+CwxFLG7BUJp4sc8cKhB8I0QgsIRB1wL3qJMn8z/R8z9HpLjkvIb5xX11XLW94HRbaX2HaPg==","signatures":[{"sig":"MEUCIQC24mRMl1QdKPCNkEIZwYggwR7UZl4up1I80qHhk75+ggIgJMeGSSAnoeveTaH8xfKm4ELVbCchRJQN+Xba4ZQ9G/Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254462},"type":"commonjs","exports":{".":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"},"./spec":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"}},"gitHead":"7b3e24aee06430456eb038dfa1a86e64a0ba4e6b","scripts":{"lint":"eslint src tests","test":"vitest run","generate":"tsc && npm run prisma:generate","typecheck":"tsc --noEmit","test:watch":"vitest","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git diff-index --quiet HEAD --","typecheck:generated":"tsc --project tsconfig.generated.json"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.8","description":"A Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"jiti":"^2.4.2","prettier":"^3.5.3","@types/node":">=20.0.0","@prisma/client":"^7.2.0","change-case-all":"^2.1.0","@prisma/internals":"^7.2.0","@prisma/generator-helper":"^7.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","eslint":"^10.2.0","prisma":"^7.2.0","vitest":"^4.1.3","ts-node":"^10.9.2","typescript":"^5.8.3","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.7.3_1776735660875_0.10598460399418297","host":"s3://npm-registry-packages-npm-production"}},"7.8.0":{"name":"frourio-framework-prisma-generators","version":"7.8.0","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.8.0","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js","frourio-framework-prisma-repository-generator":"lib/generators/repository/generator.js"},"dist":{"shasum":"a443b55affb2c319c6fef9fcedec39750529d53e","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.8.0.tgz","fileCount":83,"integrity":"sha512-l/Qr3WNYcRKGCjnD/wKC34EO0Lo+JOErap446b6buNu4tMSnrlV+Go6IpOSFZkS25at0uhi6UHq5I3oAsUUchA==","signatures":[{"sig":"MEUCIQCkvdhwVhz5HzzsyE/J3j0vCoNa6XPduQX6xFKQARTxCwIgNcy0RG4hfUtkdlZlttmQbWm7Wos51obLFb0w469O1/o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275170},"type":"commonjs","exports":{".":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"},"./spec":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"}},"gitHead":"336e649a2b8379e48a6ef2a2c650cc0037add343","scripts":{"lint":"eslint src tests","test":"vitest run","generate":"tsc && npm run prisma:generate","typecheck":"tsc --project tsconfig.check.json","test:watch":"vitest","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git update-index --refresh && git diff-index --quiet HEAD --","typecheck:generated":"tsc --project tsconfig.generated.json"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.8","description":"A Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"jiti":"^2.4.2","prettier":"^3.5.3","@types/node":">=20.0.0","@prisma/client":"^7.2.0","change-case-all":"^2.1.0","@prisma/internals":"^7.2.0","@prisma/generator-helper":"^7.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","eslint":"^10.2.0","prisma":"^7.2.0","vitest":"^4.1.3","ts-node":"^10.9.2","typescript":"^5.8.3","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.8.0_1779348051383_0.7662140348440016","host":"s3://npm-registry-packages-npm-production"}},"7.8.1":{"name":"frourio-framework-prisma-generators","version":"7.8.1","keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","_id":"frourio-framework-prisma-generators@7.8.1","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js","frourio-framework-prisma-repository-generator":"lib/generators/repository/generator.js"},"dist":{"shasum":"138a854b6d8e8f0af7198888cbd0bb3d9ce111fe","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.8.1.tgz","fileCount":83,"integrity":"sha512-nEn4am6huZlpkNmwHyw8+e01r7HGGG4IdvSw2KOPjkdtxRLhJvyIbii+JYaNhwfB+lBIgPf/afwFgd+UCyj8Hw==","signatures":[{"sig":"MEUCIDuTO2mqbJNddNvxhfZsri2pG9e/UGunqsjFoMyLjXuPAiEAtzidcufOC178MU8UP7/CKvUU9yAb647RFZZUPU5av/A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275502},"type":"commonjs","exports":{".":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"},"./spec":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"}},"gitHead":"94e5bb86442f297c0f476f11108a195a2b3dd229","scripts":{"lint":"eslint src tests","test":"vitest run","generate":"tsc && npm run prisma:generate","typecheck":"tsc --project tsconfig.check.json","test:watch":"vitest","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish","prisma:generate":"npx prisma generate","check-uncommitted":"git update-index --refresh && git diff-index --quiet HEAD --","typecheck:generated":"tsc --project tsconfig.generated.json"},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"repository":{"url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git","type":"git"},"_npmVersion":"10.9.8","description":"A Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.","directories":{},"_nodeVersion":"24.12.0","dependencies":{"jiti":"^2.4.2","prettier":"^3.5.3","@types/node":">=20.0.0","@prisma/client":"^7.2.0","change-case-all":"^2.1.0","@prisma/internals":"^7.2.0","@prisma/generator-helper":"^7.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.20.1","eslint":"^10.2.0","prisma":"^7.2.0","vitest":"^4.1.3","ts-node":"^10.9.2","typescript":"^5.8.3","@typescript-eslint/parser":"^8.58.0","@typescript-eslint/eslint-plugin":"^8.58.0"},"_npmOperationalInternal":{"tmp":"tmp/frourio-framework-prisma-generators_7.8.1_1779380368462_0.37375854249016616","host":"s3://npm-registry-packages-npm-production"}},"7.8.2":{"name":"frourio-framework-prisma-generators","version":"7.8.2","description":"A Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.","bin":{"frourio-framework-prisma-model-generator":"lib/generators/model/generator.js","frourio-framework-prisma-repository-generator":"lib/generators/repository/generator.js"},"type":"commonjs","exports":{".":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"},"./spec":{"types":"./lib/spec/index.d.ts","default":"./lib/spec/index.js"}},"scripts":{"typecheck":"tsc --project tsconfig.check.json","typecheck:generated":"tsc --project tsconfig.generated.json","lint":"eslint src tests","test":"vitest run","test:watch":"vitest","generate":"tsc && npm run prisma:generate","prisma:generate":"npx prisma generate","check-uncommitted":"git update-index --refresh && git diff-index --quiet HEAD --","package:publish":"npm update && npm run check-uncommitted && ./package.sh && cd package && npm publish"},"repository":{"type":"git","url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git"},"keywords":["prisma","prisma-client","prisma-generators"],"author":{"name":"mikana0918"},"license":"ISC","bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","dependencies":{"@prisma/client":"^7.2.0","@prisma/generator-helper":"^7.2.0","@prisma/internals":"^7.2.0","@types/node":">=20.0.0","change-case-all":"^2.1.0","jiti":"^2.4.2","prettier":"^3.5.3"},"devDependencies":{"@typescript-eslint/eslint-plugin":"^8.58.0","@typescript-eslint/parser":"^8.58.0","eslint":"^10.2.0","prisma":"^7.2.0","ts-node":"^10.9.2","tsx":"^4.20.1","typescript":"^5.8.3","vitest":"^4.1.3"},"_id":"frourio-framework-prisma-generators@7.8.2","gitHead":"1d0b14a3917264f4cf6cee0f0b872e989c21bba3","_nodeVersion":"24.12.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-ni9Sth63pxiU3tLJJdgq0oRsicMTMq5Sf5p0IZ0zGbZ/HQ0MNyqzH88cHdjoIN1Iooj1tlogbBU+2thjvmxHHQ==","shasum":"fe3533d188c3ea01bf4516f9dfe2592196801fa2","tarball":"https://registry.npmjs.org/frourio-framework-prisma-generators/-/frourio-framework-prisma-generators-7.8.2.tgz","fileCount":86,"unpackedSize":278206,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDiiUAzmF+tYKoCrzqIQDKFobzEZzaAi02ECdo2JIUOigIhAMh8tTO2Z5p8h7P/Im7OAu/qpBSeEwOUSC0MSt4/jyjs"}]},"_npmUser":{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"},"directories":{},"maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/frourio-framework-prisma-generators_7.8.2_1781158484963_0.48476069377634556"},"_hasShrinkwrap":false}},"time":{"created":"2024-10-01T06:27:12.366Z","modified":"2026-06-11T06:14:45.261Z","1.0.0":"2024-10-01T06:27:12.548Z","1.0.1":"2024-10-01T06:40:00.005Z","1.0.2":"2024-10-01T06:47:15.930Z","1.0.3":"2024-10-01T06:51:09.992Z","1.0.4":"2024-10-01T06:58:32.730Z","1.0.5":"2024-10-01T07:16:36.452Z","1.0.6":"2024-10-01T08:18:37.162Z","1.0.7":"2024-10-01T08:30:28.982Z","1.0.8":"2024-10-04T10:20:32.137Z","1.0.9":"2024-10-11T10:38:25.496Z","1.1.0":"2024-11-20T19:05:49.791Z","1.1.1":"2024-11-20T19:56:43.389Z","1.2.0":"2024-11-22T18:05:12.886Z","2.0.0":"2024-11-27T18:43:39.332Z","2.0.1":"2024-12-02T16:19:55.994Z","2.1.0":"2024-12-15T14:01:48.660Z","2.1.1":"2024-12-15T14:20:56.357Z","2.1.2":"2024-12-15T14:41:41.690Z","2.1.3":"2024-12-23T10:49:54.159Z","2.1.4":"2024-12-23T16:38:01.676Z","2.2.0":"2025-01-07T04:09:11.138Z","2.2.1":"2025-01-22T11:15:19.198Z","6.9.0":"2025-06-11T14:41:00.013Z","6.9.0-rev1":"2025-07-20T22:45:33.136Z","7.2.0":"2025-12-30T18:34:42.884Z","7.3.0":"2026-04-06T10:05:05.276Z","7.7.0":"2026-04-07T17:13:30.432Z","7.7.0-rev1":"2026-04-07T19:57:40.347Z","7.7.1":"2026-04-07T20:00:33.263Z","7.7.2":"2026-04-07T20:29:08.983Z","7.7.3":"2026-04-21T01:41:01.049Z","7.8.0":"2026-05-21T07:20:51.524Z","7.8.1":"2026-05-21T16:19:28.611Z","7.8.2":"2026-06-11T06:14:45.146Z"},"bugs":{"url":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators/issues"},"author":{"name":"mikana0918"},"license":"ISC","homepage":"https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators#readme","keywords":["prisma","prisma-client","prisma-generators"],"repository":{"type":"git","url":"git+https://github.com/InterfaceX-co-jp/frourio-framework-prisma-generators.git"},"description":"A Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.","maintainers":[{"name":"mikana0918","email":"shogo.kusuhara@gmail.com"}],"readme":"# frourio-framework-prisma-generators\n\nA Prisma generator that produces immutable, type-safe TypeScript model classes from your Prisma schema.\n\n## Features\n\n- Generates immutable TypeScript model classes from Prisma schema\n- `toDto()` method for DTO conversion (DateTime to ISO string, Decimal to number, etc.)\n- `fromPrismaValue()` for bridging from Prisma Client results\n- **Builder pattern** for flexible construction, model extension, and test fixtures\n- **`dto.config.ts` spec file (recommended)** — single source of truth for DTO shape: `hide` / `nested` / `profiles` / `jsonType` / per-view `select`, `transforms`, `computed`, `raw`. Preferred over `///` schema annotations.\n- Custom typing for `Json` fields (`@json` annotation, or `jsonType` in spec)\n- Field hiding from DTO output (`@dto(hidden: true)` annotation, or `hide: true` in spec)\n- Custom DTO profiles with pick/omit (`@dto.profile` annotation, or `profiles` in spec — **spec recommended**)\n- Auto-generated relation types (`WithIncludes`)\n- Automatic foreign key field exclusion when a relation field exists\n- **Repository generation** (beta) — auto-generated repository classes with `findBy`, `paginate`, and CRUD\n- **View-driven DTO generation** — declare `select`, `transforms`, `computed`, and `raw` views in the spec; the generator emits per-view types, classes, and repository methods\n\n## Requirements\n\n- prisma, @prisma/client@7.2.0 or later **(both must be the same version!)**\n\n## Install\n\n```bash\nnpm install -D frourio-framework-prisma-generators\n```\n\n## Setup\n\nAdd the generator configuration to your `schema.prisma`:\n\n```prisma\ngenerator frourio_framework_prisma_model_generator {\n    provider = \"frourio-framework-prisma-model-generator\"\n    output   = \"__generated__/models\"\n    additionalTypePath = \"./additionalType.config\" // Required when using @json annotation\n    spec               = \"./dto.config.ts\"         // Optional — enables view-driven DTO generation\n}\n```\n\n| Option | Description |\n|--------|-------------|\n| `provider` | Generator name (fixed value) |\n| `output` | Output directory (relative to prisma schema) |\n| `additionalTypePath` | Import path for custom types used with `@json` annotation |\n| `spec` | Path to view-driven DTO spec file (see [View-Driven DTO Generation](#view-driven-dto-generation)) |\n\n### Repository Generator (Beta)\n\nAdd a separate generator block to enable auto-generated repository classes:\n\n```prisma\ngenerator repository {\n    provider  = \"frourio-framework-prisma-repository-generator\"\n    output    = \"__generated__/repository\"\n    modelPath = \"__generated__/model\"    // Path to model generator output\n    spec      = \"./dto.config.ts\"        // Optional — enables view repository methods\n}\n```\n\n| Option | Description |\n|--------|-------------|\n| `provider` | Generator name (fixed value) |\n| `output` | Output directory (relative to prisma schema) |\n| `modelPath` | Path to model generator output (for import resolution) |\n| `spec` | Path to view-driven DTO spec file. Use the same spec file as the model generator to enable `findById{View}` / `findMany{View}` / `paginate{View}` methods |\n\n---\n\n## Examples\n\nWorking examples are available in the [`examples/`](examples/) directory:\n\n### Basic Usage\n\n| File | Description |\n|------|-------------|\n| [`basic/01-from-prisma-value.ts`](examples/basic/01-from-prisma-value.ts) | `fromPrismaValue` and `toDto` — query, convert, and output |\n| [`basic/02-dto-hidden.ts`](examples/basic/02-dto-hidden.ts) | `@dto(hidden: true)` — hide sensitive fields like `password` |\n| [`basic/03-dto-profiles.ts`](examples/basic/03-dto-profiles.ts) | `@dto.profile` — purpose-specific DTOs with pick/omit |\n| [`basic/04-json-typed-fields.ts`](examples/basic/04-json-typed-fields.ts) | `@json` — custom TypeScript types for Json fields |\n| [`basic/05-dto-nested.ts`](examples/basic/05-dto-nested.ts) | `@dto(nested: true)` — auto-convert relations to nested DTOs |\n\n### Builder Pattern\n\n| File | Description |\n|------|-------------|\n| [`builder/01-basic-builder.ts`](examples/builder/01-basic-builder.ts) | Skip unused relations with the builder |\n| [`builder/02-test-fixture.ts`](examples/builder/02-test-fixture.ts) | Test fixtures with Faker |\n| [`builder/03-extend-model.ts`](examples/builder/03-extend-model.ts) | Custom fields, builder extension, DTO customization |\n\n### Repository Pattern (Beta)\n\n| File | Description |\n|------|-------------|\n| [`repository/UserRepository.ts`](examples/repository/UserRepository.ts) | Extending the generated repository with custom queries |\n| [`repository/JsonField.repository.ts`](examples/repository/JsonField.repository.ts) | Simple repository usage without the generator |\n\n> **Note:** Repository generation is a beta feature. Add a separate `repository` generator block to enable it.\n\n### View-Driven DTO\n\n| File | Description |\n|------|-------------|\n| [`views/01-direct-view.ts`](examples/views/01-direct-view.ts) | Direct use of generated view select + class + DTO |\n| [`views/02-repository-views.ts`](examples/views/02-repository-views.ts) | `findById{View}` / `findMany{View}` / `paginate{View}` repository methods |\n| [`views/03-computed-fields.ts`](examples/views/03-computed-fields.ts) | Computed fields added to the DTO via `computed: { from }` |\n\n---\n\n## Repository Generator (Beta)\n\nWhen the repository generator is enabled, it produces:\n\n- **`BaseRepository`** — abstract class with CRUD operations and pagination\n- **`{Model}Repository`** — concrete class per model with auto-generated query methods\n\n### Auto-Generated Methods\n\nFor each model, the following methods are generated based on schema metadata:\n\n| Source | Generated Method | Example |\n|--------|-----------------|---------|\n| `@id` field | `findBy{Field}(value)` | `findById(id: number)` |\n| `@unique` field | `findBy{Field}(value)` | `findByEmail(email: string)` |\n| `@@unique([x, y])` | `findBy{X}And{Y}(x, y)` | `findByBookIdAndPostId(bookId, postId)` |\n| All models | `paginate(args?)` | Typed filtering, sorting, and pagination |\n\n### Inherited Methods (from BaseRepository)\n\n| Method | Description |\n|--------|-------------|\n| `findMany(args?)` | Find all matching records |\n| `findFirst(args?)` | Find the first matching record |\n| `count(args?)` | Count matching records |\n| `exists(where)` | Check if a matching record exists |\n| `create(args)` | Create a record and return the model |\n| `createMany(args)` | Batch create records (returns count) |\n| `update(args)` | Update a record and return the model |\n| `updateMany(args)` | Batch update records (returns count) |\n| `upsert(args)` | Create or update a record |\n| `delete(args)` | Delete a record and return the model |\n| `deleteMany(args?)` | Batch delete records (returns count) |\n| `aggregate(args)` | Aggregate operations (count, sum, avg, min, max) |\n| `cursorPaginate(args)` | Cursor-based pagination for large datasets |\n| `withTransaction(tx)` | Create a repository instance bound to a transaction |\n\n### Usage — Direct\n\n```ts\nimport { PrismaClient } from \"@prisma/client\";\nimport { UserRepository } from \"./__generated__/repository/User.repository\";\n\nconst prisma = new PrismaClient();\nconst userRepo = new UserRepository(prisma.user);\n\n// Auto-generated findBy methods\nconst user = await userRepo.findById(1);\nconst userByEmail = await userRepo.findByEmail(\"alice@example.com\");\n\n// Paginate with typed filters\nconst page = await userRepo.paginate({\n  page: 1,\n  perPage: 20,\n  where: { name: { contains: \"alice\", mode: \"insensitive\" } },\n  orderBy: { field: \"id\", direction: \"desc\" },\n});\n```\n\n### Usage — Extending with Custom Methods\n\n```ts\nimport { PrismaClient } from \"@prisma/client\";\nimport { UserRepository as GeneratedUserRepository } from \"./__generated__/repository/User.repository\";\n\nexport class UserRepository extends GeneratedUserRepository {\n  // Add custom query methods\n  async findActiveUsers() {\n    return this.findMany({ where: { active: true } });\n  }\n}\n```\n\n---\n\n## View-Driven DTO Generation\n\n> **Recommended way to configure DTOs.** A single typed `dto.config.ts` is preferred over `///` schema annotations: it is type-checked against the Prisma schema, supports IDE autocomplete, allows arrow functions / static maps for `transforms` and `computed` (which annotations cannot express), and keeps DTO concerns out of the schema file. New projects should configure DTOs through the spec; existing `@dto(hidden: true)` / `@dto(nested: true)` / `@dto.profile` / `@json` annotations remain supported for backward compatibility.\n\nDeclare view shapes, transforms, and computed fields in a single spec file. The model generator emits per-view types and a `View` class; the repository generator adds `findById{View}` / `findMany{View}` / `paginate{View}` methods. Base model configuration (`hide`, `nested`, `profiles`, `jsonType`) can also be expressed in the spec as the recommended alternative to `///` schema annotations.\n\n### Enable\n\nAdd `spec` to both generator blocks (see [Setup](#setup)):\n\n```prisma\ngenerator frourio_framework_prisma_model_generator {\n    provider = \"frourio-framework-prisma-model-generator\"\n    output   = \"__generated__/model\"\n    spec     = \"./dto.config.ts\"\n}\n\ngenerator repository {\n    provider  = \"frourio-framework-prisma-repository-generator\"\n    output    = \"__generated__/repository\"\n    modelPath = \"__generated__/model\"\n    spec      = \"./dto.config.ts\"\n}\n```\n\n### Spec file (`dto.config.ts`)\n\nThe spec default-exports `registerModelDtos([...])`. Each entry is a `defineModelDto(modelName, { base?, views? })`.\n\n```ts\nimport {\n  registerModelDtos,\n  defineModelDto,\n} from \"frourio-framework-prisma-generators/spec\";\n\nexport default registerModelDtos([\n  defineModelDto(\"User\", {\n    // base: configures the default DTO (alternative to /// annotations)\n    base: {\n      fields: {\n        password: { hide: true },   // === @dto(hidden: true)\n        posts:    { nested: true }, // === @dto(nested: true)\n      },\n      profiles: [\n        { name: \"Public\", pick: [\"id\", \"email\", \"name\"] },\n        { name: \"Admin\",  omit: [\"password\"] },\n      ],\n    },\n    // views: per-view select + mapping\n    views: {\n      listItem: {\n        select: { id: true, email: true, name: true },\n      },\n      profile: {\n        select: {\n          id: true, email: true, name: true,\n          posts: { select: { id: true, title: true, published: true } },\n        },\n      },\n    },\n  }),\n]);\n```\n\nTwo orthogonal blocks per model:\n\n- **`base`** — configures the full-model DTO (`{Model}Model` + `{Model}ModelDto`). Equivalent to `///` schema annotations.\n  - `fields[name].hide` — exclude from DTO (same as `@dto(hidden: true)`)\n  - `fields[name].nested` — expand relation as nested DTO (same as `@dto(nested: true)`)\n  - `fields[name].map` — static enum→label map\n  - `fields[name].jsonType` — custom TS type for `Json` fields (same as `@json(type: [...])`)\n  - `profiles` — same as `@dto.profile` (array of `{ name, pick?, omit? }`)\n- **`views`** — per-view query shape + mapping. Each key becomes a generated view with its own `Select`, `Row`, `Dto`, and `View` class.\n\n### View types\n\nGenerated per view (for `defineModelDto(\"Post\", { views: { detail: {...} } })`):\n\n- `postDetailSelect` — typed `Prisma.PostSelect` const for `prisma.post.findMany({ select })`\n- `PostDetailRow` — raw row shape returned by Prisma\n- `PostDetailDto` — flattened DTO type (after transforms / computed applied)\n- `PostDetailView` — class with `static fromPrismaValue(row)` and `toDto()`\n\nOutput path: `__generated__/views/{Model}.views.ts`.\n\n#### Select view\n\n```ts\nviews: {\n  listItem: {\n    select: { id: true, email: true, name: true },\n  },\n}\n```\n\n#### Transforms — function\n\n```ts\nadminListItem: {\n  select: { id: true, title: true, published: true },\n  transforms: {\n    published: (v) => (v ? \"公開\" : \"非公開\"),  // v inferred as boolean\n  },\n}\n```\n\n`transforms` rewrites specific fields. The value can be a function (receives the raw DB value) or a static map. Keys support dot-paths (`\"students.attendance\"`) to target fields inside nested relations.\n\n#### Transforms — static map\n\n```ts\nwithStatus: {\n  select: { id: true, status: true },\n  transforms: {\n    status: {\n      DRAFT: \"下書き\",\n      PUBLISHED: \"公開\",\n      ARCHIVED: \"アーカイブ\",\n    },\n  },\n}\n```\n\nSugar for enum→label mapping.\n\n#### Computed fields\n\n```ts\ndetail: {\n  select: { id: true, title: true, published: true },\n  computed: {\n    summary: {\n      from: (v) => `${v.title} (${v.published ? \"公開\" : \"非公開\"})`,\n    },\n  },\n}\n```\n\nAdds a property not present in `select`. Return type is inferred from `from`. The function runs inside the view class's `toDto()`.\n\n#### Raw views\n\n```ts\nstats: {\n  raw: (prisma, args: { authorId: number }) =>\n    prisma.post.aggregate({\n      where: { authorId: args.authorId },\n      _count: { id: true },\n      _sum:   { viewCount: true },\n    }),\n  map: (row) => ({\n    totalPosts: row._count.id,\n    totalViews: row._sum.viewCount ?? 0,\n  }),\n}\n```\n\nBypasses select-based generation. `prisma` is typed as `PrismaClient`; `args` is explicit; `row` is inferred from `raw`'s return. The DTO type comes from `map`'s return.\n\n### Usage — direct\n\n```ts\nimport {\n  userProfileSelect,\n  UserProfileView,\n  type UserProfileDto,\n} from \"./__generated__/views/User.views\";\n\nconst row = await prisma.user.findUnique({\n  where: { id: 1 },\n  select: userProfileSelect,\n});\nconst dto: UserProfileDto | null = row\n  ? UserProfileView.fromPrismaValue(row).toDto()\n  : null;\n```\n\n### Usage — repository methods\n\nWhen both generators share the same `spec`, each non-raw view produces three repository methods:\n\n| Method | Returns |\n|--------|---------|\n| `findById{View}(id)` | `{Model}{View}Dto \\| null` |\n| `findMany{View}(args?)` | `{Model}{View}Dto[]` |\n| `paginate{View}(args?)` | `{ rows, page, perPage, total, totalPages }` of `{Model}{View}Dto` |\n\n```ts\nconst userRepo = new UserRepository(prisma.user);\n\nconst profile = await userRepo.findByIdProfile(1);\n//    ^? UserProfileDto | null\n\nconst items = await userRepo.findManyListItem();\n//    ^? UserListItemDto[]\n\nconst paged = await userRepo.paginateProfile({\n  page: 1,\n  perPage: 20,\n  orderBy: { field: \"id\", direction: \"desc\" },\n});\n```\n\n---\n\n## Generated Model Structure\n\nFor each Prisma model, the following are generated:\n\n```prisma\nmodel Post {\n  id        Int      @id @default(autoincrement())\n  createdAt DateTime @default(now())\n  title     String\n  content   String?\n  author    User?    @relation(fields: [authorId], references: [id])\n  authorId  Int?\n}\n```\n\n### DTO Type (`{Model}ModelDto`)\n\nThe return type of `toDto()`. `DateTime` is converted to `string`. Foreign key fields (e.g. `authorId`) are automatically excluded when a corresponding relation field exists.\n\n```ts\nexport type PostModelDto = {\n  id: number;\n  createdAt: string;    // DateTime → string (ISO 8601)\n  title: string;\n  content?: string | null;\n  author?: UserWithIncludes | null;\n};\n```\n\n### Constructor Args Type (`{Model}ModelConstructorArgs`)\n\nThe constructor argument type. `DateTime` remains as the `Date` type.\n\n```ts\nexport type PostModelConstructorArgs = {\n  id: number;\n  createdAt: Date;      // DateTime → Date\n  title: string;\n  content?: string | null;\n  author?: UserWithIncludes | null;\n};\n```\n\n### FromPrismaValue Args Type (`{Model}ModelFromPrismaValueArgs`)\n\nThe argument type for `fromPrismaValue()`. Pass the Prisma record as `self` and relations as separate arguments.\n\n```ts\nexport type PostModelFromPrismaValueArgs = {\n  self: PrismaPost;\n  author?: UserWithIncludes;\n};\n```\n\n### Model Class (`{Model}Model`)\n\nAn immutable model class. All fields are stored as `private readonly` and accessed via getters.\n\n```ts\nexport class PostModel {\n  private readonly _id: number;\n  private readonly _createdAt: Date;\n  private readonly _title: string;\n  private readonly _content?: string | null;\n  private readonly _author?: UserWithIncludes | null;\n\n  constructor(args: PostModelConstructorArgs) { ... }\n\n  static fromPrismaValue(args: PostModelFromPrismaValueArgs) {\n    return new PostModel({\n      id: args.self.id,\n      createdAt: args.self.createdAt,\n      title: args.self.title,\n      content: args.self.content,\n      author: args.author,\n    });\n  }\n\n  toDto() {\n    return {\n      id: this._id,\n      createdAt: this._createdAt.toISOString(),\n      title: this._title,\n      content: this._content,\n      author: this._author,\n    };\n  }\n\n  get id() { return this._id; }\n  get createdAt() { return this._createdAt; }\n  get title() { return this._title; }\n  get content() { return this._content; }\n  get author() { return this._author; }\n}\n```\n\n### Relation Type (`{Model}WithIncludes`)\n\nA `WithIncludes` type is generated for models referenced by relation fields. It includes the related model's relation fields as optional properties.\n\n```ts\nexport type UserWithIncludes = PartialBy<\n  Prisma.UserGetPayload<typeof includeUser>,\n  keyof (typeof includeUser)['include']\n>;\n```\n\n---\n\n## Type Mapping\n\nConversion rules from Prisma types to TypeScript types:\n\n| Prisma Type | Constructor / Getter | DTO (`toDto()`) | Conversion |\n|-------------|---------------------|-----------------|------------|\n| `String` | `string` | `string` | None |\n| `Int` | `number` | `number` | None |\n| `Float` | `number` | `number` | None |\n| `Boolean` | `boolean` | `boolean` | None |\n| `DateTime` | `Date` | `string` | `.toISOString()` |\n| `Json` | `Prisma.JsonValue` | `Prisma.JsonValue` | None (overridable via `@json`) |\n| `Decimal` | `number` | `number` | `.toNumber()` in `fromPrismaValue` |\n| `BigInt` | `bigint` | `string` | `.toString()` |\n| `Bytes` | `Buffer` | `string` | `Buffer.from().toString('base64')` |\n| Enum | `Prisma{EnumName}` | `Prisma{EnumName}` | None |\n| Relation | `{Type}WithIncludes` | `{Type}WithIncludes` | None |\n\nNullable fields use `?` with `| null` typing. In `toDto()`, they are safely converted using optional chaining (`?.`) and nullish coalescing (`?? null`).\n\n---\n\n## Annotations\n\nAn annotation system using Prisma's `///` documentation comments.\n\n### `@json` - Custom Typing for Json Fields\n\nAssign a custom TypeScript type to `Json` fields.\n\n#### Syntax\n\n```prisma\nfieldName Json /// @json(type: [TypeName])\n```\n\n#### Configuration\n\nSet the `additionalTypePath` to the import path of your custom types:\n\n```prisma\ngenerator frourio_framework_prisma_model_generator {\n    provider           = \"frourio-framework-prisma-model-generator\"\n    output             = \"__generated__/models\"\n    additionalTypePath = \"./additionalType.config\"\n}\n```\n\n#### Example\n\n**1. Add annotations to your schema:**\n\n```prisma\nmodel JsonField {\n  id         Int  @id @default(autoincrement())\n  rawJson    Json\n  jsonObject Json /// @json(type: [JsonObject])\n  jsonArray  Json /// @json(type: [JsonArray])\n}\n```\n\n**2. Define your custom types:**\n\n```ts\n// prisma/additionalType.config.ts\nexport type JsonObject = {\n  foo: string;\n  bar: number;\n};\n\nexport type JsonArray = JsonObject[];\n```\n\n**3. Generated output:**\n\n```ts\nimport { JsonObject, JsonArray } from '../../additionalType.config';\n\nexport type JsonFieldModelDto = {\n  id: number;\n  rawJson: Prisma.JsonValue;   // No annotation → Prisma.JsonValue\n  jsonObject: JsonObject;       // @json → custom type\n  jsonArray: JsonArray;         // @json → custom type\n};\n```\n\nIn `fromPrismaValue()`, the value is cast via `as unknown as JsonObject`.\n\n---\n\n### `@dto(hidden: true)` - Hide Fields from DTO\n\nExclude specific fields from the `toDto()` output and the `{Model}ModelDto` type. Useful for sensitive fields like `password` that should not appear in API responses.\n\n#### Syntax\n\n```prisma\nfieldName Type /// @dto(hidden: true)\n```\n\n#### Example\n\n```prisma\nmodel User {\n  id       Int    @id @default(autoincrement())\n  email    String @unique\n  name     String?\n  password String /// @dto(hidden: true)\n}\n```\n\n#### Generated Output\n\n```ts\n// DTO type — password is excluded\nexport type UserModelDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n  // password is not included here\n};\n\nexport class UserModel {\n  private readonly _password: string;  // Still stored internally\n\n  toDto() {\n    return {\n      id: this._id,\n      email: this._email,\n      name: this._name,\n      // password is not output\n    };\n  }\n\n  get password() { return this._password; }  // Still accessible via getter\n}\n```\n\n#### Behavior\n\n| Target | Effect of `hidden` |\n|--------|-------------------|\n| `{Model}ModelDto` type | Excluded |\n| `toDto()` method | Excluded |\n| `{Model}ModelConstructorArgs` type | **Not affected** (included) |\n| `fromPrismaValue()` | **Not affected** (included) |\n| Private fields | **Not affected** (retained) |\n| Getters | **Not affected** (accessible) |\n\n---\n\n### `@dto(nested: true)` - Nested DTO Conversion\n\nAutomatically convert relation fields into their model's DTO form in `toDto()` output. Without this annotation, relation fields are passed through as raw Prisma `WithIncludes` types.\n\n#### Syntax\n\n```prisma\nfieldName Model[] /// @dto(nested: true)\n```\n\n#### Example\n\n```prisma\nmodel User {\n  id    Int    @id @default(autoincrement())\n  email String\n  posts Post[] /// @dto(nested: true)\n  books Book[]\n}\n```\n\n#### Generated Output\n\n```ts\n// DTO type — posts uses PostModelDto instead of PostWithIncludes\nexport type UserModelDto = {\n  id: number;\n  email: string;\n  posts: PostModelDto[];        // @dto(nested: true) → nested DTO\n  books: BookWithIncludes[];    // no annotation → raw Prisma type\n};\n\nexport class UserModel {\n  toDto() {\n    return {\n      id: this._id,\n      email: this._email,\n      // posts are automatically converted via builder + toDto\n      posts: this._posts.map((el) =>\n        PostModel.builder().fromPrisma(el).build().toDto()\n      ),\n      books: this._books,\n    };\n  }\n}\n```\n\n#### Behavior\n\n| Target | Effect of `nested` |\n|--------|-------------------|\n| `{Model}ModelDto` type | Relation type becomes `{Related}ModelDto` |\n| `toDto()` method | Automatically converts via `builder().fromPrisma().build().toDto()` |\n| `{Model}ModelConstructorArgs` type | **Not affected** (uses `WithIncludes`) |\n| `fromPrismaValue()` | **Not affected** (uses `WithIncludes`) |\n\n---\n\n### `@dto.profile` - Custom DTO Profiles\n\n> **Recommended:** define profiles in `dto.config.ts` via `base.profiles` instead — it is type-checked, supports IDE autocomplete, and keeps DTO definitions out of the schema. See [View-Driven DTO Generation](#view-driven-dto-generation). The annotation form below is still supported for backward compatibility.\n\nGenerate purpose-specific DTO types and methods. Control field inclusion with `pick` (include only specified fields) or `omit` (exclude specified fields).\n\n#### Syntax\n\nWrite `///` comments above the model declaration:\n\n```prisma\n/// @dto.profile(name: ProfileName, pick: [field1, field2, ...])\n/// @dto.profile(name: ProfileName, omit: [field1, field2, ...])\nmodel ModelName {\n  ...\n}\n```\n\n- `name`: Profile name (PascalCase recommended). Used for method and type names.\n- `pick`: List of field names to include (mutually exclusive with `omit`).\n- `omit`: List of field names to exclude (mutually exclusive with `pick`).\n\n#### Example\n\n```prisma\n/// @dto.profile(name: Public, pick: [id, email, name])\n/// @dto.profile(name: Admin, omit: [password])\nmodel User {\n  id       Int    @id @default(autoincrement())\n  email    String @unique\n  name     String?\n  password String /// @dto(hidden: true)\n\n  posts Post[]\n}\n```\n\n#### Generated Output\n\n```ts\n// Default DTO — password excluded by @dto(hidden: true)\nexport type UserModelDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n  posts: PostWithIncludes[];\n};\n\n// Public profile — only the 3 fields specified by pick\nexport type UserPublicDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n};\n\n// Admin profile — all fields except password (including relations)\nexport type UserAdminDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n  posts: PostWithIncludes[];\n};\n\nexport class UserModel {\n  // Default DTO\n  toDto(): UserModelDto { ... }\n\n  // Profile DTOs\n  toPublicDto(): UserPublicDto { ... }\n  toAdminDto(): UserAdminDto { ... }\n}\n```\n\n#### Profiles and Hidden Fields\n\nProfiles **override** `@dto(hidden: true)`. If a profile explicitly picks a hidden field, it will be included in that profile's output.\n\n```prisma\n/// @dto.profile(name: Debug, pick: [id, password])\nmodel User {\n  id       Int    @id\n  password String /// @dto(hidden: true)\n}\n```\n\nIn this case:\n- `toDto()` — `password` is **excluded** (hidden applies)\n- `toDebugDto()` — `password` is **included** (profile overrides hidden)\n\n#### Validation\n\n- Using both `pick` and `omit` on the same profile causes the profile to be ignored\n- Referencing a non-existent field name logs a warning and skips that field\n- Duplicate profile names on the same model use only the first definition\n- An empty `pick` / `omit` list causes the profile to be skipped\n\n---\n\n## Combining Annotations\n\nMultiple annotations can be specified on the same field:\n\n```prisma\nmodel Config {\n  id       Int  @id\n  settings Json /// @json(type: [SettingsObject]) @dto(hidden: true)\n}\n```\n\nIn this case:\n- `settings` is stored internally as the `SettingsObject` type\n- Excluded from `toDto()` and `ConfigModelDto`\n- Accessible via getter (`config.settings`) as the `SettingsObject` type\n\n---\n\n## Builder Pattern\n\nEach model generates a `{Model}ModelBuilder` class with a fluent API. The builder provides:\n\n- **Optional relations** — skip relations you don't need (list relations default to `[]`)\n- **Individual scalar setters** — perfect for test fixtures with Faker\n- **Extensibility** — subclass the builder to add custom fields\n\n> **Note:** `fromPrismaValue()` remains strict — all relations are required. The builder is a separate, opt-in flexible path.\n\n### Basic Usage — Skip Unused Relations\n\n```ts\n// Before (fromPrismaValue — all relations required):\nconst user = UserModel.fromPrismaValue({\n  self: prismaUser,\n  posts: loadedPosts,\n  books: [],                         // must pass even if unused\n  initiatorUserNotification: [],      // must pass even if unused\n  receivingUserNotification: [],      // must pass even if unused\n});\n\n// After (builder — only set what you need):\nconst user = UserModel.builder()\n  .fromPrisma(prismaUser)            // sets all scalar fields\n  .posts(loadedPosts)                // only the relation you loaded\n  .build();                          // books, notifications → []\n```\n\n### Test Fixtures with Faker\n\nIndividual scalar setters make the builder ideal for test data generation:\n\n```ts\nimport { faker } from \"@faker-js/faker\";\n\nfunction createUserFixture(overrides?: Partial<{\n  id: number;\n  email: string;\n  name: string | null;\n  password: string;\n}>) {\n  return UserModel.builder()\n    .id(overrides?.id ?? faker.number.int())\n    .email(overrides?.email ?? faker.internet.email())\n    .name(overrides?.name ?? faker.person.fullName())\n    .password(overrides?.password ?? faker.internet.password())\n    .build();\n  // All relations default to [] — only specify scalars\n}\n\n// In tests:\nconst user = createUserFixture();\nconst admin = createUserFixture({ email: \"admin@example.com\" });\n```\n\n### Extending Models — Custom Fields\n\nSubclass the generated model and builder to add custom fields:\n\n```ts\nimport {\n  UserModel,\n  UserModelBuilder,\n  UserModelConstructorArgs,\n} from \"./__generated__/model/User.model\";\n\n// 1. Extend the model\ntype AppUserArgs = UserModelConstructorArgs & { fullName: string };\n\nclass AppUser extends UserModel {\n  private readonly _fullName: string;\n\n  constructor(args: AppUserArgs) {\n    super(args);\n    this._fullName = args.fullName;\n  }\n\n  get fullName() { return this._fullName; }\n\n  override toDto() {\n    return { ...super.toDto(), fullName: this._fullName };\n  }\n}\n\n// 2. Extend the builder\nclass AppUserBuilder extends UserModelBuilder {\n  private _fullName?: string;\n\n  fullName(value: string): this {\n    this._fullName = value;\n    return this;\n  }\n\n  override build(): AppUser {\n    if (!this._fullName) throw new Error('\"fullName\" is required');\n    return new AppUser({\n      ...this.buildArgs(),   // protected — accessible from subclasses\n      fullName: this._fullName,\n    });\n  }\n}\n\n// Usage:\nconst appUser = new AppUserBuilder()\n  .fromPrisma(prismaUser)\n  .fullName(\"John Doe\")\n  .posts(loadedPosts)\n  .build();\n\nappUser.toDto();\n// → { id, email, name, posts, ..., fullName }\n```\n\n### Extending Models — Custom DTO Output\n\nOverride `toDto()` to transform nested relations into rich DTOs:\n\n```ts\nclass UserWithNestedDtos extends UserModel {\n  override toDto() {\n    return {\n      ...super.toDto(),\n      posts: this.posts.map((post) =>\n        PostModel.builder().fromPrisma(post).build().toDto()\n      ),\n    };\n  }\n}\n```\n\n### Generated Builder API Reference\n\nFor a model with scalar fields (`id`, `email`, `name`, `password`) and list relations (`posts`, `books`):\n\n```ts\nexport class UserModelBuilder {\n  protected _args: Partial<UserModelConstructorArgs>;\n\n  // Set all scalars from a Prisma record (with type conversions)\n  fromPrisma(value: PrismaUser): this;\n\n  // Individual scalar setters\n  id(value: number): this;\n  email(value: string): this;\n  name(value: string | null): this;\n  password(value: string): this;\n\n  // Relation setters\n  posts(value: PostWithIncludes[]): this;\n  books(value: BookWithIncludes[]): this;\n\n  // Resolve args with validation and defaults (protected for subclasses)\n  protected buildArgs(): UserModelConstructorArgs;\n\n  // Construct the model instance\n  build(): UserModel;\n}\n```\n\n#### Default Values in `buildArgs()`\n\n| Field Kind | Default |\n|------------|---------|\n| Required scalar | Throws `Error` if not set |\n| Optional scalar | `null` |\n| List relation | `[]` |\n| Optional single relation | `undefined` |\n| Required single relation | Throws `Error` if not set |\n\n---\n---\n\n# frourio-framework-prisma-generators (Japanese / 日本語)\n\nPrisma schema からイミュータブルな TypeScript モデルクラスを自動生成するジェネレーターです。\n\n## 機能一覧\n\n- Prisma schema から型安全なモデルクラスを生成\n- `toDto()` メソッドによる DTO 変換（DateTime の ISO 文字列変換、Decimal の number 変換など）\n- `fromPrismaValue()` による Prisma Client からの変換\n- **Builder パターン** — 柔軟な構築、モデル拡張、テスト fixture 生成\n- **`dto.config.ts` spec ファイル（推奨）** — DTO 形状の単一情報源: `hide` / `nested` / `profiles` / `jsonType` / view ごとの `select`・`transforms`・`computed`・`raw`。`///` スキーマアノテーションより優先推奨。\n- `Json` 型フィールドのカスタム型指定（`@json` アノテーション、または spec の `jsonType`）\n- フィールド非表示機能（`@dto(hidden: true)` アノテーション、または spec の `hide: true`）\n- カスタム DTO プロファイル（`@dto.profile` アノテーション、または spec の `profiles` — **spec 推奨**）\n- リレーションフィールドの自動型生成（`WithIncludes` 型）\n- 外部キーフィールドの自動除外（リレーションフィールドが存在する場合）\n- **リポジトリ生成**（ベータ） — `findBy`、`paginate`、CRUD 付きリポジトリクラスを自動生成\n- **View 駆動 DTO 生成** — spec ファイルに `select`・`transforms`・`computed`・`raw` view を宣言すると、view ごとの型・クラス・リポジトリメソッドが自動生成される\n\n## 要件\n\n- prisma, @prisma/client@7.2.0 以降 **（両方同じバージョンが必要です！）**\n\n## インストール\n\n```bash\nnpm install -D frourio-framework-prisma-generators\n```\n\n## セットアップ\n\n`schema.prisma` にジェネレーター設定を追加します:\n\n```prisma\ngenerator frourio_framework_prisma_model_generator {\n    provider = \"frourio-framework-prisma-model-generator\"\n    output   = \"__generated__/models\"\n    additionalTypePath = \"./additionalType.config\" // Json 型フィールドに型を指定する場合に必要\n    spec               = \"./dto.config.ts\"         // 任意 — View 駆動 DTO 生成を有効化\n}\n```\n\n| オプション | 説明 |\n|-----------|------|\n| `provider` | ジェネレーター名（固定値） |\n| `output` | 生成先ディレクトリ（Prisma schema からの相対パス） |\n| `additionalTypePath` | `@json` アノテーションで使用する型のインポートパス |\n| `spec` | View 駆動 DTO の spec ファイルパス（[View 駆動 DTO 生成](#view-駆動-dto-生成)参照） |\n\n### リポジトリジェネレーター（ベータ）\n\n別のジェネレーターブロックを追加してリポジトリクラスの自動生成を有効にします:\n\n```prisma\ngenerator repository {\n    provider  = \"frourio-framework-prisma-repository-generator\"\n    output    = \"__generated__/repository\"\n    modelPath = \"__generated__/model\"    // モデルジェネレーターの出力パス\n    spec      = \"./dto.config.ts\"        // 任意 — view のリポジトリメソッドを有効化\n}\n```\n\n| オプション | 説明 |\n|-----------|------|\n| `provider` | ジェネレーター名（固定値） |\n| `output` | 生成先ディレクトリ（Prisma schema からの相対パス） |\n| `modelPath` | モデルジェネレーターの出力パス（import 解決用） |\n| `spec` | View 駆動 DTO の spec ファイルパス。モデルジェネレーターと同じ spec を指定すると `findById{View}` / `findMany{View}` / `paginate{View}` メソッドが生成される |\n\n---\n\n## サンプルコード\n\n[`examples/`](examples/) ディレクトリに動作するサンプルがあります:\n\n### 基本的な使い方\n\n| ファイル | 説明 |\n|---------|------|\n| [`basic/01-from-prisma-value.ts`](examples/basic/01-from-prisma-value.ts) | `fromPrismaValue` と `toDto` — クエリ、変換、出力 |\n| [`basic/02-dto-hidden.ts`](examples/basic/02-dto-hidden.ts) | `@dto(hidden: true)` — `password` 等のセンシティブフィールドを隠す |\n| [`basic/03-dto-profiles.ts`](examples/basic/03-dto-profiles.ts) | `@dto.profile` — pick/omit による用途別 DTO |\n| [`basic/04-json-typed-fields.ts`](examples/basic/04-json-typed-fields.ts) | `@json` — Json フィールドにカスタム TypeScript 型を指定 |\n| [`basic/05-dto-nested.ts`](examples/basic/05-dto-nested.ts) | `@dto(nested: true)` — リレーションをネスト DTO に自動変換 |\n\n### Builder パターン\n\n| ファイル | 説明 |\n|---------|------|\n| [`builder/01-basic-builder.ts`](examples/builder/01-basic-builder.ts) | 不要なリレーションをスキップ |\n| [`builder/02-test-fixture.ts`](examples/builder/02-test-fixture.ts) | Faker を使ったテスト fixture |\n| [`builder/03-extend-model.ts`](examples/builder/03-extend-model.ts) | カスタムフィールド追加、Builder 拡張、DTO カスタマイズ |\n\n### リポジトリパターン\n\n| ファイル | 説明 |\n|---------|------|\n| [`repository/UserRepository.ts`](examples/repository/UserRepository.ts) | 生成されたリポジトリを継承してカスタムクエリを追加 |\n| [`repository/JsonField.repository.ts`](examples/repository/JsonField.repository.ts) | ジェネレーターなしのシンプルなリポジトリ利用 |\n\n> **注意:** リポジトリ生成はベータ機能です。別の `repository` ジェネレーターブロックを追加して有効化してください。\n\n### View 駆動 DTO\n\n| ファイル | 説明 |\n|---------|------|\n| [`views/01-direct-view.ts`](examples/views/01-direct-view.ts) | 生成された view select + クラス + DTO を直接使う |\n| [`views/02-repository-views.ts`](examples/views/02-repository-views.ts) | `findById{View}` / `findMany{View}` / `paginate{View}` リポジトリメソッド |\n| [`views/03-computed-fields.ts`](examples/views/03-computed-fields.ts) | `computed: { from }` で DTO に計算フィールドを追加 |\n\n---\n\n## リポジトリジェネレーター（ベータ）\n\nリポジトリジェネレーターを有効にすると、以下が生成されます：\n\n- **`BaseRepository`** — CRUD 操作とページネーションを提供する抽象クラス\n- **`{Model}Repository`** — モデルごとの具象クラス（自動生成されたクエリメソッド付き）\n\n### 自動生成されるメソッド\n\nスキーマのメタデータに基づいて、各モデルに以下のメソッドが生成されます：\n\n| ソース | 生成されるメソッド | 例 |\n|-------|-----------------|-----|\n| `@id` フィールド | `findBy{Field}(value)` | `findById(id: number)` |\n| `@unique` フィールド | `findBy{Field}(value)` | `findByEmail(email: string)` |\n| `@@unique([x, y])` | `findBy{X}And{Y}(x, y)` | `findByBookIdAndPostId(bookId, postId)` |\n| 全モデル共通 | `paginate(args?)` | 型付きフィルタリング、ソート、ページネーション |\n\n### 継承メソッド（BaseRepository から）\n\n| メソッド | 説明 |\n|---------|------|\n| `findMany(args?)` | 条件に一致する全件を取得 |\n| `findFirst(args?)` | 条件に一致する最初の1件を取得 |\n| `count(args?)` | 条件に一致するレコード数を返す |\n| `exists(where)` | 条件に一致するレコードの存在チェック |\n| `create(args)` | レコードを作成してモデルを返す |\n| `createMany(args)` | 一括作成（件数を返す） |\n| `update(args)` | レコードを更新してモデルを返す |\n| `updateMany(args)` | 一括更新（件数を返す） |\n| `upsert(args)` | レコードの作成または更新 |\n| `delete(args)` | レコードを削除してモデルを返す |\n| `deleteMany(args?)` | 一括削除（件数を返す） |\n| `aggregate(args)` | 集約操作（count, sum, avg, min, max） |\n| `cursorPaginate(args)` | カーソルベースのページネーション（大規模データ向け） |\n| `withTransaction(tx)` | トランザクションにバインドしたリポジトリインスタンスを生成 |\n\n### 使い方 — 直接利用\n\n```ts\nimport { PrismaClient } from \"@prisma/client\";\nimport { UserRepository } from \"./__generated__/repository/User.repository\";\n\nconst prisma = new PrismaClient();\nconst userRepo = new UserRepository(prisma.user);\n\n// 自動生成された findBy メソッド\nconst user = await userRepo.findById(1);\nconst userByEmail = await userRepo.findByEmail(\"alice@example.com\");\n\n// 型付きフィルタでページネーション\nconst page = await userRepo.paginate({\n  page: 1,\n  perPage: 20,\n  where: { name: { contains: \"alice\", mode: \"insensitive\" } },\n  orderBy: { field: \"id\", direction: \"desc\" },\n});\n```\n\n### 使い方 — カスタムメソッドの追加\n\n```ts\nimport { PrismaClient } from \"@prisma/client\";\nimport { UserRepository as GeneratedUserRepository } from \"./__generated__/repository/User.repository\";\n\nexport class UserRepository extends GeneratedUserRepository {\n  // カスタムクエリメソッドを追加\n  async findActiveUsers() {\n    return this.findMany({ where: { active: true } });\n  }\n}\n```\n\n---\n\n## View 駆動 DTO 生成\n\n> **DTO 設定の推奨方式。** 単一の型付き `dto.config.ts` を `///` スキーマアノテーションより推奨。Prisma スキーマに対して型チェックされ、IDE 補完が効き、`transforms`・`computed` でアロー関数や静的マップを使える（アノテーションでは表現不能）。DTO 関連設定をスキーマファイルから分離できる。新規プロジェクトは spec で DTO を設定すること。既存の `@dto(hidden: true)` / `@dto(nested: true)` / `@dto.profile` / `@json` アノテーションも後方互換のため引き続きサポート。\n\nview の形状・transform・計算フィールドを単一 spec ファイルに宣言します。モデルジェネレーターが view ごとの型と `View` クラスを生成し、リポジトリジェネレーターが `findById{View}` / `findMany{View}` / `paginate{View}` メソッドを追加します。モデル全体のベース設定（`hide`・`nested`・`profiles`・`jsonType`）も spec で表現でき、`///` スキーマアノテーションの推奨代替になります。\n\n### 有効化\n\n両方のジェネレーターブロックに `spec` を追加します（[セットアップ](#セットアップ)参照）:\n\n```prisma\ngenerator frourio_framework_prisma_model_generator {\n    provider = \"frourio-framework-prisma-model-generator\"\n    output   = \"__generated__/model\"\n    spec     = \"./dto.config.ts\"\n}\n\ngenerator repository {\n    provider  = \"frourio-framework-prisma-repository-generator\"\n    output    = \"__generated__/repository\"\n    modelPath = \"__generated__/model\"\n    spec      = \"./dto.config.ts\"\n}\n```\n\n### spec ファイル (`dto.config.ts`)\n\n`registerModelDtos([...])` をデフォルトエクスポートします。各要素は `defineModelDto(modelName, { base?, views? })` です。\n\n```ts\nimport {\n  registerModelDtos,\n  defineModelDto,\n} from \"frourio-framework-prisma-generators/spec\";\n\nexport default registerModelDtos([\n  defineModelDto(\"User\", {\n    // base: デフォルト DTO の設定（/// アノテーションの代替）\n    base: {\n      fields: {\n        password: { hide: true },   // === @dto(hidden: true)\n        posts:    { nested: true }, // === @dto(nested: true)\n      },\n      profiles: [\n        { name: \"Public\", pick: [\"id\", \"email\", \"name\"] },\n        { name: \"Admin\",  omit: [\"password\"] },\n      ],\n    },\n    // views: view ごとの select + マッピング\n    views: {\n      listItem: {\n        select: { id: true, email: true, name: true },\n      },\n      profile: {\n        select: {\n          id: true, email: true, name: true,\n          posts: { select: { id: true, title: true, published: true } },\n        },\n      },\n    },\n  }),\n]);\n```\n\nモデルごとに独立した 2 ブロック:\n\n- **`base`** — フルモデル DTO（`{Model}Model` + `{Model}ModelDto`）の設定。`///` スキーマアノテーション と等価。\n  - `fields[name].hide` — DTO から除外（`@dto(hidden: true)` と同じ）\n  - `fields[name].nested` — リレーションをネスト DTO として展開（`@dto(nested: true)` と同じ）\n  - `fields[name].map` — enum→label の静的マップ\n  - `fields[name].jsonType` — `Json` フィールドのカスタム TS 型（`@json(type: [...])` と同じ）\n  - `profiles` — `@dto.profile` と同じ（`{ name, pick?, omit? }` の配列）\n- **`views`** — view ごとのクエリ形状 + マッピング。各キーが `Select`・`Row`・`Dto`・`View` クラスを持つ view として生成される。\n\n### View の種別\n\nview ごとの生成物（例: `defineModelDto(\"Post\", { views: { detail: {...} } })`）:\n\n- `postDetailSelect` — `prisma.post.findMany({ select })` で使う型付き `Prisma.PostSelect` 定数\n- `PostDetailRow` — Prisma が返す生のロウ型\n- `PostDetailDto` — transforms / computed 適用後のフラット DTO 型\n- `PostDetailView` — `static fromPrismaValue(row)` と `toDto()` を持つクラス\n\n出力先: `__generated__/views/{Model}.views.ts`\n\n#### Select view\n\n```ts\nviews: {\n  listItem: {\n    select: { id: true, email: true, name: true },\n  },\n}\n```\n\n#### Transforms — 関数\n\n```ts\nadminListItem: {\n  select: { id: true, title: true, published: true },\n  transforms: {\n    published: (v) => (v ? \"公開\" : \"非公開\"),  // v は boolean と推論\n  },\n}\n```\n\n`transforms` は特定フィールドを書き換えます。値は関数（DB の生値を受け取る）または静的マップ。キーはドットパス（`\"students.attendance\"`）でネストしたリレーション内のフィールドも対象にできます。\n\n#### Transforms — 静的マップ\n\n```ts\nwithStatus: {\n  select: { id: true, status: true },\n  transforms: {\n    status: {\n      DRAFT: \"下書き\",\n      PUBLISHED: \"公開\",\n      ARCHIVED: \"アーカイブ\",\n    },\n  },\n}\n```\n\nenum→label 変換のシュガー。\n\n#### 計算フィールド (computed)\n\n```ts\ndetail: {\n  select: { id: true, title: true, published: true },\n  computed: {\n    summary: {\n      from: (v) => `${v.title} (${v.published ? \"公開\" : \"非公開\"})`,\n    },\n  },\n}\n```\n\n`select` に存在しないプロパティを追加します。戻り値型は `from` から推論。関数は view クラスの `toDto()` 内で実行されます。\n\n#### Raw view\n\n```ts\nstats: {\n  raw: (prisma, args: { authorId: number }) =>\n    prisma.post.aggregate({\n      where: { authorId: args.authorId },\n      _count: { id: true },\n      _sum:   { viewCount: true },\n    }),\n  map: (row) => ({\n    totalPosts: row._count.id,\n    totalViews: row._sum.viewCount ?? 0,\n  }),\n}\n```\n\nselect ベースの生成をバイパスします。`prisma` は `PrismaClient` 型付き、`args` は明示注釈、`row` は `raw` の戻り値から推論。DTO 型は `map` の戻り値から決まります。\n\n### 使い方 — 直接利用\n\n```ts\nimport {\n  userProfileSelect,\n  UserProfileView,\n  type UserProfileDto,\n} from \"./__generated__/views/User.views\";\n\nconst row = await prisma.user.findUnique({\n  where: { id: 1 },\n  select: userProfileSelect,\n});\nconst dto: UserProfileDto | null = row\n  ? UserProfileView.fromPrismaValue(row).toDto()\n  : null;\n```\n\n### 使い方 — リポジトリメソッド\n\n両方のジェネレーターが同じ `spec` を参照すると、raw 以外の各 view に対して 3 つのリポジトリメソッドが生成されます:\n\n| メソッド | 戻り値 |\n|---------|-------|\n| `findById{View}(id)` | `{Model}{View}Dto \\| null` |\n| `findMany{View}(args?)` | `{Model}{View}Dto[]` |\n| `paginate{View}(args?)` | `{Model}{View}Dto` のページ結果 `{ rows, page, perPage, total, totalPages }` |\n\n```ts\nconst userRepo = new UserRepository(prisma.user);\n\nconst profile = await userRepo.findByIdProfile(1);\n//    ^? UserProfileDto | null\n\nconst items = await userRepo.findManyListItem();\n//    ^? UserListItemDto[]\n\nconst paged = await userRepo.paginateProfile({\n  page: 1,\n  perPage: 20,\n  orderBy: { field: \"id\", direction: \"desc\" },\n});\n```\n\n---\n\n## 生成されるモデル構造\n\n各 Prisma モデルに対して、以下が生成されます:\n\n```prisma\nmodel Post {\n  id        Int      @id @default(autoincrement())\n  createdAt DateTime @default(now())\n  title     String\n  content   String?\n  author    User?    @relation(fields: [authorId], references: [id])\n  authorId  Int?\n}\n```\n\n### DTO 型 (`{Model}ModelDto`)\n\n`toDto()` の戻り値型です。`DateTime` は `string` に変換されます。外部キーフィールド（`authorId` など）はリレーションフィールドがある場合、自動的に除外されます。\n\n```ts\nexport type PostModelDto = {\n  id: number;\n  createdAt: string;    // DateTime → string (ISO 8601)\n  title: string;\n  content?: string | null;\n  author?: UserWithIncludes | null;\n};\n```\n\n### コンストラクタ引数型 (`{Model}ModelConstructorArgs`)\n\nモデルのコンストラクタ引数型です。`DateTime` は `Date` 型のまま保持されます。\n\n```ts\nexport type PostModelConstructorArgs = {\n  id: number;\n  createdAt: Date;      // DateTime → Date\n  title: string;\n  content?: string | null;\n  author?: UserWithIncludes | null;\n};\n```\n\n### FromPrismaValue 引数型 (`{Model}ModelFromPrismaValueArgs`)\n\n`fromPrismaValue()` の引数型です。`self` に Prisma モデルのレコードを、リレーションは個別引数で渡します。\n\n```ts\nexport type PostModelFromPrismaValueArgs = {\n  self: PrismaPost;\n  author?: UserWithIncludes;\n};\n```\n\n### モデルクラス (`{Model}Model`)\n\nイミュータブルなモデルクラスです。全フィールドは `private readonly` で保持され、getter でアクセスします。\n\n```ts\nexport class PostModel {\n  private readonly _id: number;\n  private readonly _createdAt: Date;\n  private readonly _title: string;\n  private readonly _content?: string | null;\n  private readonly _author?: UserWithIncludes | null;\n\n  constructor(args: PostModelConstructorArgs) { ... }\n\n  static fromPrismaValue(args: PostModelFromPrismaValueArgs) {\n    return new PostModel({\n      id: args.self.id,\n      createdAt: args.self.createdAt,\n      title: args.self.title,\n      content: args.self.content,\n      author: args.author,\n    });\n  }\n\n  toDto() {\n    return {\n      id: this._id,\n      createdAt: this._createdAt.toISOString(),\n      title: this._title,\n      content: this._content,\n      author: this._author,\n    };\n  }\n\n  get id() { return this._id; }\n  get createdAt() { return this._createdAt; }\n  get title() { return this._title; }\n  get content() { return this._content; }\n  get author() { return this._author; }\n}\n```\n\n### リレーション型 (`{Model}WithIncludes`)\n\nリレーションフィールドを持つモデルには `WithIncludes` 型が生成されます。リレーション先のフィールドをオプショナルとして含む型です。\n\n```ts\nexport type UserWithIncludes = PartialBy<\n  Prisma.UserGetPayload<typeof includeUser>,\n  keyof (typeof includeUser)['include']\n>;\n```\n\n---\n\n## 型変換ルール\n\n| Prisma 型 | Constructor / Getter | DTO (`toDto()`) | 変換処理 |\n|-----------|---------------------|-----------------|---------|\n| `String` | `string` | `string` | なし |\n| `Int` | `number` | `number` | なし |\n| `Float` | `number` | `number` | なし |\n| `Boolean` | `boolean` | `boolean` | なし |\n| `DateTime` | `Date` | `string` | `.toISOString()` |\n| `Json` | `Prisma.JsonValue` | `Prisma.JsonValue` | なし（`@json` で上書き可） |\n| `Decimal` | `number` | `number` | `fromPrismaValue` で `.toNumber()` |\n| `BigInt` | `bigint` | `string` | `.toString()` |\n| `Bytes` | `Buffer` | `string` | `Buffer.from().toString('base64')` |\n| Enum | `Prisma{EnumName}` | `Prisma{EnumName}` | なし |\n| Relation | `{Type}WithIncludes` | `{Type}WithIncludes` | なし |\n\nnullable フィールドは `?` 付きで `| null` 型になり、`toDto()` ではオプショナルチェーン（`?.`）と null 合体（`?? null`）で安全に変換されます。\n\n---\n\n## アノテーション\n\nPrisma の `///` ドキュメントコメントを使ったアノテーションシステムです。\n\n### `@json` - Json 型フィールドのカスタム型指定\n\n`Json` 型フィールドに独自の TypeScript 型を指定できます。\n\n#### 構文\n\n```prisma\nfieldName Json /// @json(type: [TypeName])\n```\n\n#### 設定\n\n`additionalTypePath` にカスタム型のインポート先を指定してください:\n\n```prisma\ngenerator frourio_framework_prisma_model_generator {\n    provider           = \"frourio-framework-prisma-model-generator\"\n    output             = \"__generated__/models\"\n    additionalTypePath = \"./additionalType.config\"\n}\n```\n\n#### 使用例\n\n**1. スキーマにアノテーションを追加:**\n\n```prisma\nmodel JsonField {\n  id         Int  @id @default(autoincrement())\n  rawJson    Json\n  jsonObject Json /// @json(type: [JsonObject])\n  jsonArray  Json /// @json(type: [JsonArray])\n}\n```\n\n**2. カスタム型を定義:**\n\n```ts\n// prisma/additionalType.config.ts\nexport type JsonObject = {\n  foo: string;\n  bar: number;\n};\n\nexport type JsonArray = JsonObject[];\n```\n\n**3. 生成結果:**\n\n```ts\nimport { JsonObject, JsonArray } from '../../additionalType.config';\n\nexport type JsonFieldModelDto = {\n  id: number;\n  rawJson: Prisma.JsonValue;   // アノテーションなし → Prisma.JsonValue\n  jsonObject: JsonObject;       // @json → カスタム型\n  jsonArray: JsonArray;         // @json → カスタム型\n};\n```\n\n`fromPrismaValue()` では `as unknown as JsonObject` でキャストされます。\n\n---\n\n### `@dto(hidden: true)` - フィールド非表示\n\n特定のフィールドを `toDto()` の出力と `{Model}ModelDto` 型から除外します。`password` のようなセンシティブなフィールドを API レスポンスに含めたくない場合に使用します。\n\n#### 構文\n\n```prisma\nfieldName Type /// @dto(hidden: true)\n```\n\n#### 使用例\n\n```prisma\nmodel User {\n  id       Int    @id @default(autoincrement())\n  email    String @unique\n  name     String?\n  password String /// @dto(hidden: true)\n}\n```\n\n#### 生成結果\n\n```ts\n// DTO 型 — password が除外される\nexport type UserModelDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n  // password はここに含まれない\n};\n\nexport class UserModel {\n  private readonly _password: string;  // 内部では保持される\n\n  toDto() {\n    return {\n      id: this._id,\n      email: this._email,\n      name: this._name,\n      // password は出力されない\n    };\n  }\n\n  get password() { return this._password; }  // getter ではアクセス可能\n}\n```\n\n#### 動作仕様\n\n| 対象 | hidden の影響 |\n|------|-------------|\n| `{Model}ModelDto` 型 | 除外される |\n| `toDto()` メソッド | 除外される |\n| `{Model}ModelConstructorArgs` 型 | **影響なし**（含まれる） |\n| `fromPrismaValue()` | **影響なし**（含まれる） |\n| private フィールド | **影響なし**（保持される） |\n| getter | **影響なし**（アクセス可能） |\n\n---\n\n### `@dto(nested: true)` - ネスト DTO 変換\n\nリレーションフィールドを `toDto()` 出力時に自動的にそのモデルの DTO 形式に変換します。このアノテーションがない場合、リレーションは Prisma の `WithIncludes` 型のまま渡されます。\n\n#### 構文\n\n```prisma\nfieldName Model[] /// @dto(nested: true)\n```\n\n#### 使用例\n\n```prisma\nmodel User {\n  id    Int    @id @default(autoincrement())\n  email String\n  posts Post[] /// @dto(nested: true)\n  books Book[]\n}\n```\n\n#### 生成結果\n\n```ts\n// DTO 型 — posts は PostWithIncludes ではなく PostModelDto を使用\nexport type UserModelDto = {\n  id: number;\n  email: string;\n  posts: PostModelDto[];        // @dto(nested: true) → ネスト DTO\n  books: BookWithIncludes[];    // アノテーションなし → 生の Prisma 型\n};\n\nexport class UserModel {\n  toDto() {\n    return {\n      id: this._id,\n      email: this._email,\n      // posts は builder + toDto で自動変換される\n      posts: this._posts.map((el) =>\n        PostModel.builder().fromPrisma(el).build().toDto()\n      ),\n      books: this._books,\n    };\n  }\n}\n```\n\n#### 動作仕様\n\n| 対象 | nested の影響 |\n|------|-------------|\n| `{Model}ModelDto` 型 | リレーション型が `{Related}ModelDto` になる |\n| `toDto()` メソッド | `builder().fromPrisma().build().toDto()` で自動変換 |\n| `{Model}ModelConstructorArgs` 型 | **影響なし**（`WithIncludes` を使用） |\n| `fromPrismaValue()` | **影響なし**（`WithIncludes` を使用） |\n\n---\n\n### `@dto.profile` - カスタム DTO プロファイル\n\n> **推奨:** プロファイルは `dto.config.ts` の `base.profiles` で定義する方を推奨。型チェック・IDE 補完が効き、DTO 定義をスキーマから分離できる。詳細は [View 駆動 DTO 生成](#view-駆動-dto-生成) 参照。以下のアノテーション形式も後方互換のため引き続きサポート。\n\n用途別に異なる DTO 型とメソッドを生成します。`pick`（指定フィールドのみ含める）または `omit`（指定フィールドを除外）で制御します。\n\n#### 構文\n\nモデルの上に `///` コメントとして記述します:\n\n```prisma\n/// @dto.profile(name: ProfileName, pick: [field1, field2, ...])\n/// @dto.profile(name: ProfileName, omit: [field1, field2, ...])\nmodel ModelName {\n  ...\n}\n```\n\n- `name`: プロファイル名（PascalCase 推奨）。メソッド名と型名に使用される\n- `pick`: 含めるフィールド名のリスト（`omit` と排他）\n- `omit`: 除外するフィールド名のリスト（`pick` と排他）\n\n#### 使用例\n\n```prisma\n/// @dto.profile(name: Public, pick: [id, email, name])\n/// @dto.profile(name: Admin, omit: [password])\nmodel User {\n  id       Int    @id @default(autoincrement())\n  email    String @unique\n  name     String?\n  password String /// @dto(hidden: true)\n\n  posts Post[]\n}\n```\n\n#### 生成結果\n\n```ts\n// デフォルト DTO — @dto(hidden: true) により password が除外\nexport type UserModelDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n  posts: PostWithIncludes[];\n};\n\n// Public プロファイル — pick で指定した 3 フィールドのみ\nexport type UserPublicDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n};\n\n// Admin プロファイル — omit で password のみ除外（リレーション含む全フィールド）\nexport type UserAdminDto = {\n  id: number;\n  email: string;\n  name?: string | null;\n  posts: PostWithIncludes[];\n};\n\nexport class UserModel {\n  // デフォルト DTO\n  toDto(): UserModelDto { ... }\n\n  // プロファイル DTO\n  toPublicDto(): UserPublicDto { ... }\n  toAdminDto(): UserAdminDto { ... }\n}\n```\n\n#### プロファイルと hidden の関係\n\nプロファイルは `@dto(hidden: true)` を **override** します。プロファイルで明示的に `pick` したフィールドは、そのフィールドが hidden であっても含まれます。\n\n```prisma\n/// @dto.profile(name: Debug, pick: [id, password])\nmodel User {\n  id       Int    @id\n  password String /// @dto(hidden: true)\n}\n```\n\nこの場合:\n- `toDto()` → `password` は **除外される**（hidden が適用される）\n- `toDebugDto()` → `password` は **含まれる**（プロファイルが hidden を override）\n\n#### バリデーション\n\n- `pick` と `omit` を同一プロファイルで同時に指定するとそのプロファイルは無視されます\n- 存在しないフィールド名を指定すると警告が出力されスキップされます\n- 同じプロファイル名が重複する場合、最初の定義のみ使用されます\n- `pick` / `omit` のリストが空の場合、そのプロファイルは生成されません\n\n---\n\n## アノテーションの組み合わせ\n\n複数のアノテーションを同じフィールドに指定できます:\n\n```prisma\nmodel Config {\n  id       Int  @id\n  settings Json /// @json(type: [SettingsObject]) @dto(hidden: true)\n}\n```\n\nこの場合:\n- `settings` は `SettingsObject` 型として内部保持される\n- `toDto()` と `ConfigModelDto` からは除外される\n- getter (`config.settings`) では `SettingsObject` 型でアクセス可能\n\n---\n\n## Builder パターン\n\n各モデルに `{Model}ModelBuilder` クラスが生成されます。Builder は以下を提供します:\n\n- **リレーション省略** — 不要なリレーションをスキップ（リスト系は `[]` デフォルト）\n- **個別スカラーセッター** — Faker と組み合わせたテスト fixture に最適\n- **拡張性** — Builder をサブクラス化してカスタムフィールドを追加\n\n> **注意:** `fromPrismaValue()` は厳密なまま変更されません（全リレーション必須）。Builder は柔軟性を選ぶための別経路です。\n\n### 基本的な使い方 — 不要なリレーションをスキップ\n\n```ts\n// Before (fromPrismaValue — 全リレーション必須):\nconst user = UserModel.fromPrismaValue({\n  self: prismaUser,\n  posts: loadedPosts,\n  books: [],                         // 使わなくても必須\n  initiatorUserNotification: [],      // 使わなくても必須\n  receivingUserNotification: [],      // 使わなくても必須\n});\n\n// After (Builder — 必要なものだけ):\nconst user = UserModel.builder()\n  .fromPrisma(prismaUser)            // スカラーフィールドを一括セット\n  .posts(loadedPosts)                // ロードしたリレーションだけ\n  .build();                          // books, notifications → []\n```\n\n### テスト fixture — Faker と組み合わせ\n\n個別スカラーセッターにより、テストデータ生成に最適です:\n\n```ts\nimport { faker } from \"@faker-js/faker\";\n\nfunction createUserFixture(overrides?: Partial<{\n  id: number;\n  email: string;\n  name: string | null;\n  password: string;\n}>) {\n  return UserModel.builder()\n    .id(overrides?.id ?? faker.number.int())\n    .email(overrides?.email ?? faker.internet.email())\n    .name(overrides?.name ?? faker.person.fullName())\n    .password(overrides?.password ?? faker.internet.password())\n    .build();\n  // リレーションは全て [] デフォルト — スカラーだけ指定\n}\n\n// テストで:\nconst user = createUserFixture();\nconst admin = createUserFixture({ email: \"admin@example.com\" });\n```\n\n### モデル拡張 — カスタムフィールド追加\n\n生成されたモデルと Builder をサブクラス化してカスタムフィールドを追加:\n\n```ts\nimport {\n  UserModel,\n  UserModelBuilder,\n  UserModelConstructorArgs,\n} from \"./__generated__/model/User.model\";\n\n// 1. モデルを拡張\ntype AppUserArgs = UserModelConstructorArgs & { fullName: string };\n\nclass AppUser extends UserModel {\n  private readonly _fullName: string;\n\n  constructor(args: AppUserArgs) {\n    super(args);\n    this._fullName = args.fullName;\n  }\n\n  get fullName() { return this._fullName; }\n\n  override toDto() {\n    return { ...super.toDto(), fullName: this._fullName };\n  }\n}\n\n// 2. Builder を拡張\nclass AppUserBuilder extends UserModelBuilder {\n  private _fullName?: string;\n\n  fullName(value: string): this {\n    this._fullName = value;\n    return this;\n  }\n\n  override build(): AppUser {\n    if (!this._fullName) throw new Error('\"fullName\" is required');\n    return new AppUser({\n      ...this.buildArgs(),   // protected — サブクラスからアクセス可能\n      fullName: this._fullName,\n    });\n  }\n}\n\n// 使用例:\nconst appUser = new AppUserBuilder()\n  .fromPrisma(prismaUser)\n  .fullName(\"John Doe\")\n  .posts(loadedPosts)\n  .build();\n\nappUser.toDto();\n// → { id, email, name, posts, ..., fullName }\n```\n\n### モデル拡張 — DTO 出力のカスタマイズ\n\n`toDto()` をオーバーライドしてネストしたリレーションをリッチな DTO に変換:\n\n```ts\nclass UserWithNestedDtos extends UserModel {\n  override toDto() {\n    return {\n      ...super.toDto(),\n      posts: this.posts.map((post) =>\n        PostModel.builder().fromPrisma(post).build().toDto()\n      ),\n    };\n  }\n}\n```\n\n### 生成される Builder API リファレンス\n\nスカラーフィールド（`id`, `email`, `name`, `password`）とリスト系リレーション（`posts`, `books`）を持つモデルの場合:\n\n```ts\nexport class UserModelBuilder {\n  protected _args: Partial<UserModelConstructorArgs>;\n\n  // Prisma レコードからスカラーを一括セット（型変換あり）\n  fromPrisma(value: PrismaUser): this;\n\n  // 個別スカラーセッター\n  id(value: number): this;\n  email(value: string): this;\n  name(value: string | null): this;\n  password(value: string): this;\n\n  // リレーションセッター\n  posts(value: PostWithIncludes[]): this;\n  books(value: BookWithIncludes[]): this;\n\n  // バリデーション + デフォルト値で引数を解決（サブクラス用 protected）\n  protected buildArgs(): UserModelConstructorArgs;\n\n  // モデルインスタンスを構築\n  build(): UserModel;\n}\n```\n\n#### `buildArgs()` のデフォルト値\n\n| フィールド種別 | デフォルト |\n|--------------|---------|\n| 必須スカラー | 未セット時 `Error` を throw |\n| オプショナルスカラー | `null` |\n| リスト系リレーション | `[]` |\n| オプショナル単一リレーション | `undefined` |\n| 必須単一リレーション | 未セット時 `Error` を throw |\n","readmeFilename":"README.md"}