{"_id":"accel-record","_rev":"46-b5ae9d720c9639b51cb88384525aaffc","name":"accel-record","dist-tags":{"latest":"2.3.0"},"versions":{"0.0.1":{"name":"accel-record","version":"0.0.1","keywords":["accella","accel-record"],"author":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"license":"Apache-2.0","_id":"accel-record@0.0.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"3922958084964d646103ec2a53c4eeec7a176118","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-0.0.1.tgz","fileCount":1,"integrity":"sha512-w9B+W/ck+IvXGHv24ng9uJIQHMubme5LpOhGVEymIRnNvwZHvhTw5/8mL9wvMantLoN47rvX7MIjlcEuXcbi0A==","signatures":[{"sig":"MEQCIF+RrMmuB5LNcB5rMAVQqmo9nR0zQlTfUTZ/jYDxYnd3AiAPqHL/gzYsdzFkQplH20xYUShfPm0V89XSR4l1kHK3nw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":807},"main":"index.js","types":"index.d.ts","gitHead":"c449e9f96dfd341fabb99bd33006b574d3bf07f3","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^0.0.1","accel-record-factory":"^0.0.1","prisma-generator-accel-record":"^0.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_0.0.1_1709618359377_0.4250410773354554","host":"s3://npm-registry-packages"}},"0.1.0":{"name":"accel-record","version":"0.1.0","keywords":["accella","accel-record"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@0.1.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"9bb9d89248d80edac0a4fd5990b1423ccb14b303","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-0.1.0.tgz","fileCount":3,"integrity":"sha512-umaMIfJl73Al/VY0EeyPasnpHoudZgC/w98TIMx773k6kgst/yZSi/CWWAmi41yVPec5luk0s9BkIdIglyzd9g==","signatures":[{"sig":"MEUCIAr6aj93EIpaH05YjezWWVy+eQMMDe7tcQ0ItQMdFq+jAiEAnnLBpKiX7FgE9oGGxkk5q3zZPihb9fPitGu1+nCHvds=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":864},"main":"dist/index.js","types":"dist/index.d.ts","gitHead":"9eb55ead6ff9729740f2ea61fcb8ad9a65f316ee","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^0.1.0","accel-record-factory":"^0.1.0","prisma-generator-accel-record":"^0.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_0.1.0_1710603359940_0.2817127877613379","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"accel-record","version":"0.1.1","keywords":["accella","accel-record"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@0.1.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"b4ec22655b853afa07513e210e6f76cc56e6a217","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-0.1.1.tgz","fileCount":3,"integrity":"sha512-BGmPlN1hA86tUeuAc2Ry99oeMH/PAwLtgp01Bc+WXQV8x2zAEoaAmvLyCCGDRPlPfbvEKFciNwapsDHxENDCQg==","signatures":[{"sig":"MEYCIQDWXcZHzjsizzx2gMCxWau3NQz2XW2OuLO5mz2kHbHq9AIhAIF/BbmyrfnCkpQHu22ZuH+y28qGxoX8USps3VIRGSYE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":892},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b2fe676c4adeebb0a4b226d6a2666280bf607d1f","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^0.1.1","accel-record-factory":"^0.1.1","prisma-generator-accel-record":"^0.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_0.1.1_1710770648525_0.569396972694783","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"accel-record","version":"0.1.2","keywords":["accella","accel-record"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@0.1.2","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"f4ec47f0b3f775a509412915acb8c04272e4d37c","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-0.1.2.tgz","fileCount":4,"integrity":"sha512-8SHBYMAfoz77whof1ZXw7tjEmo7I8QNdAiyS9alXXdDgRNN+2QMwLtMrRayNSXkoEdJc/sp9cCzrN5fDUeSTQw==","signatures":[{"sig":"MEYCIQC7HHW2s0u0TRV8nvYGOVUcj7CGsOanE0/UG2JbmlcfrQIhAKMTZDKbDBRbqlkL0JqyBg7a+JpFweCJaZ5H20eosDK8","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3970},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"0b50e14dc27ba2dae2f0e0c836b4f48a77cda9c2","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^0.1.1","accel-record-factory":"^0.1.1","prisma-generator-accel-record":"^0.1.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_0.1.2_1710951604955_0.774383913463254","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"accel-record","version":"0.2.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@0.2.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"e44eb850cfef9771bd5ecc2ae328188eff7cbf49","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-0.2.0.tgz","fileCount":4,"integrity":"sha512-bdkVnh3g5dqRTuxTVOBDHJunSm9YtjVbQacZsJQvRsNY/vzaTfxxhnzOIXfcQ7nOBlHeBaomJkF+Th1vP6O9bQ==","signatures":[{"sig":"MEUCIQCK2mT56bmyIGY+2A6LX3fk2dqrrWcPT8K6ijjGJYGCFAIgQGP76GozpsVqK6UKVDzUULhG/1ghAEwg47dE8s7y92E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12060},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"e9b0fa016fcd8861f222f08d693e9628d521d427","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^0.2.0","accel-record-factory":"^0.1.1","prisma-generator-accel-record":"^0.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_0.2.0_1711218718848_0.9816960764194793","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"accel-record","version":"0.3.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@0.3.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"9490a2bb97aa6dd94d76fd229c3eb0da0e098bcf","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-0.3.0.tgz","fileCount":4,"integrity":"sha512-7CsWnnxRwlNpZfuUY8Dg/PR3xP1tbCfkAj1bDR3phGU/So+hBNOKzANde3N9Hxeg7POT6O1FXiED1yh3XwuFvg==","signatures":[{"sig":"MEQCIF3dQQ1MqMWG4hOt7oHLiH64Mcct1TvLvsDmf5FSjsrMAiA35ERd9gsijsL4SfaZ5pX20kfn5NgpnThYrYS+fQVD+Q==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16083},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"f6acea6c12353f4932f6624f56fbd41ef0161857","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^0.3.0","accel-record-factory":"^0.3.0","prisma-generator-accel-record":"^0.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_0.3.0_1711547959119_0.6720443615580105","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"accel-record","version":"0.3.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@0.3.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"3c9158f22472179966d171c593fd63aed1b14ed1","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-0.3.1.tgz","fileCount":4,"integrity":"sha512-VclsH6z65hrMFM74M5LxJ1C4aeFSs3O8BJ4/gaxmQJ6UtkESaLjiaUlhvgvUOjTr8pb30J0rg6Om+ZeJACY75w==","signatures":[{"sig":"MEUCIQCe69bnfuVzShtNTzJF9pTiLK0x5RbgkIhhNtmgwrwSwAIgIr8qGVm60T7ANf5sd2XJ2JIDeENFrBS6l8sUwRIWe1g=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18556},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"852c4208a75f50ed2b7d5c1333a126c3cfaca0ca","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^0.3.1","accel-record-factory":"^0.3.1","prisma-generator-accel-record":"^0.3.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_0.3.1_1711645919758_0.1655732187543839","host":"s3://npm-registry-packages"}},"1.0.0-beta.0":{"name":"accel-record","version":"1.0.0-beta.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.0.0-beta.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"704ed59df6f79aad481141073056fd5466aa29a0","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.0.0-beta.0.tgz","fileCount":4,"integrity":"sha512-fyk/HfawJkQv2FFWSTbBlXBl21bFRQQcLGg8pliJvCCHBgmMjOhaVkidc427lSi19Sx4MNCDUIOS+6ysjmXn/Q==","signatures":[{"sig":"MEYCIQDuyxTQCiW/ZkVbWvj1MUGIayiuNw+LdQh05SCDeEfv2wIhAMfk96gYN4taT/WSNSMALnCIyL+ptr15YwuA9y8QbvJx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19103},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3210925a65185aa81e5f522428a3a9a97c1ed838","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.0.0-beta.0","accel-record-factory":"^1.0.0-beta.0","prisma-generator-accel-record":"^1.0.0-beta.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.0.0-beta.0_1712072380640_0.4577723693590754","host":"s3://npm-registry-packages"}},"1.0.0-beta.1":{"name":"accel-record","version":"1.0.0-beta.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.0.0-beta.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"7b790e0f8f9fd8a99683f9626f5205716c9033b8","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.0.0-beta.1.tgz","fileCount":4,"integrity":"sha512-5iLcDWX0hvK+InmoqwrrtKYEq0VYKEQ2w1pufEsIGHwsyU0ozda3uxmisH6D23PHIh0sb4EeqEUoNEPH9TFCvA==","signatures":[{"sig":"MEUCIGBOPrypiotXbiMXCXBHOSOuq9IOVgOJJAjEnRzVEVJUAiEA1ePPdA4f21DwUQxRlDolOLqTzjjlV+Jp+DiEZSkhZBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"2e21b47dd2c914e314e27a7956961dbe11373f59","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.0.0-beta.1","accel-record-factory":"^1.0.0-beta.1","prisma-generator-accel-record":"^1.0.0-beta.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.0.0-beta.1_1712167291561_0.1454234481711616","host":"s3://npm-registry-packages"}},"1.0.0-beta.2":{"name":"accel-record","version":"1.0.0-beta.2","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.0.0-beta.2","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"c2a612b81564dc602b58c11605ea32054d549081","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.0.0-beta.2.tgz","fileCount":4,"integrity":"sha512-/QPRbpZV+oxX/rvdtHs5bE0zztZILUxTWB/4vFUuL70xUidxhA9RjBMIMlniZsqWoRPFp40DvkL/vF0N3qJbLQ==","signatures":[{"sig":"MEYCIQCTm9Na1UcJvN+sbjmP77cMMZz0kBDcHP6kDvdf9gZtWgIhAO4VydqerzwRRlne+vWRnbrom5ORshBiQ/IDRi0Nt4V7","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"783283b69e739e2cfa5360b3ffc3b1f6601bd24f","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.0.0-beta.2","accel-record-factory":"^1.0.0-beta.2","prisma-generator-accel-record":"^1.0.0-beta.2"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.0.0-beta.2_1712378222250_0.8587163798646145","host":"s3://npm-registry-packages"}},"1.0.0-beta.3":{"name":"accel-record","version":"1.0.0-beta.3","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.0.0-beta.3","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"75b7320b1377489a44e5b5dd90ebbd2ede8031ef","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.0.0-beta.3.tgz","fileCount":4,"integrity":"sha512-c2HEImLE0zz48o3l9DQfswMS/TkpUuY0GQYPYXrF59IaK7sXwj6Zy1RluDuXg0maKFgQp2mjNtfRjV0Hg9RDig==","signatures":[{"sig":"MEYCIQDwECdz+3tYenTU+iN1QaujifKyGhqQ5pXzHnRqOa1pfQIhAM2obf1A4Zt1UVaReRzOQ7iHO3YaNhABACUl2c9IzEcH","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"65cfa1b53fad8b81107c6a082c70e5463194e86c","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.0.0-beta.3","accel-record-factory":"^1.0.0-beta.3","prisma-generator-accel-record":"^1.0.0-beta.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.0.0-beta.3_1712589300770_0.049181084685940624","host":"s3://npm-registry-packages"}},"1.0.0-beta.4":{"name":"accel-record","version":"1.0.0-beta.4","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.0.0-beta.4","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"7936f023efcfdaa549d02504df3df1534ddc2450","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.0.0-beta.4.tgz","fileCount":4,"integrity":"sha512-VnrCQgVcJH8zBdXyb9UFZbRx08ZIiTzqsgPzYuj4UlUZoiITeG+8gyHIdlbyCIlSd/vBBUdpFnOqauFCoM+JcQ==","signatures":[{"sig":"MEYCIQDXjPYvU9SO2II3s3NuqsQjiBWz3SH9BHxZRpsM326c1QIhAP9GDH7MyL1Qu7E9lF263RO8lusQBqXiTIwLapMPaACM","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20880},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"ccc2bfff8bc63cc23284c71e6d397f3059b90461","scripts":{"test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.0.0-beta.4","accel-record-factory":"^1.0.0-beta.4","prisma-generator-accel-record":"^1.0.0-beta.4"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.0.0-beta.4_1712768743192_0.8084342323746665","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"accel-record","version":"1.0.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.0.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"eff7bab2c20bbbab47a6f17f9c27da5953cd1ae9","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.0.0.tgz","fileCount":4,"integrity":"sha512-qMlDDy/WwwH/o4UqSI7RIQwFONbC6PNg82jHPuRy3wF0q5a01pr9Q3xIq/np7cFs8XHdm7++pr4otib5QvCkfQ==","signatures":[{"sig":"MEUCIQCSoUOsnIN6+PpAiLQLQggGDEfsrkYyaNfmosUib+FVpAIgBq2Yw+f+X6hOzIp3YbU9TWW+qpFBPFcoX+N24mA2HF8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22265},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"1176371af041f7b9391645ea639bebb320e0915f","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.0.0","accel-record-factory":"^1.0.0","prisma-generator-accel-record":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.0.0_1713369632750_0.7287615654580566","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"accel-record","version":"1.1.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.1.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"fcde84b1c07e8c6bc994ac75cd960a0d61822a07","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.1.0.tgz","fileCount":4,"integrity":"sha512-I2SdFQmG+vpfOBLxwyl2rsKFVqrOSYMB1US4reVVatP7voaPGgPTHLkPvzBthKScBrGVqmVChTZTmwNIFfSZ9A==","signatures":[{"sig":"MEUCIQDxjEr2jhe+t5+Sy8cC6gvW2DMrQS154YoFdewdbOfUsgIgcNVJUrSZa7kEfYMqEJhk1Ty6fgy2/jWv56Z27KPo7N4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25228},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"69c46180e50b2a4ccc94693017398e91db8ac537","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.1.0","accel-record-factory":"^1.1.0","prisma-generator-accel-record":"^1.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.1.0_1713973253714_0.9564589081491699","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"accel-record","version":"1.2.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.2.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"a3bc8aa58044635518afecb3d11fb027a07560fe","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.2.0.tgz","fileCount":4,"integrity":"sha512-/47qA2Nt+99r1z3WOwTFTzLuG7FpBuJyxhqbpDe9Bt1/lDklVkOj1zdX4+X+5eTKZq+Hv2zv5mhig4bogjN1OA==","signatures":[{"sig":"MEUCIQDetioHeFhc5vx15zdtTqIpAKnUXkpSCEipnArWJhr/nwIgDibX8xzwqiwvjvOmGKMXW9nkGM2X2X5rORJasin23Xk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"05f28ef8ae8aa4828114586a4c0368c7fd9b7339","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.2.0","accel-record-factory":"^1.2.0","prisma-generator-accel-record":"^1.2.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.2.0_1715701649273_0.6178684821879368","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"accel-record","version":"1.3.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.3.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"1bc5a1ce5d62984306284df99e3045a1ea62502b","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.3.0.tgz","fileCount":4,"integrity":"sha512-wmN8m9gCLOWKFn/sCpXvC80SFU1uaCrobIHDg1vyVsgLmbhcp0dxbuwF2333gv0DjwhU5Td82qI88mSSR9YdTA==","signatures":[{"sig":"MEUCIQCw0G0hsrsu46LFuxgMJfGK8ZMDFzjupshva1g4/Ow3JQIgQxxBxkqgYDHbQHGgqMWFd465zv3HyX0oRodl4SBlJ6A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26246},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"86529084129d5452c609402cbcf8318822788517","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.3.0","accel-record-factory":"^1.3.0","prisma-generator-accel-record":"^1.3.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.3.0_1716736993043_0.5437315509154499","host":"s3://npm-registry-packages"}},"1.4.0":{"name":"accel-record","version":"1.4.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.4.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"a116f983bf363dad17ac9367b2f30dc8e9f50de6","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.4.0.tgz","fileCount":4,"integrity":"sha512-Nf9xBstsWErlDgPktJI6z5kAeXdKMPR+q3xbqHX1AGuDez1ZAbWejbKS1aO5uXagUcAaplaRiBtBG8RKxSB8iQ==","signatures":[{"sig":"MEYCIQDZ+olL+IClHVg6e/erVjBxwYe4QPHYz+syZUta92YeUgIhAMml6aoDAnfC/K65kdWDqdRr/JaKfCYfmWEwmsQP12i6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27395},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a7b200ee40d55e0e3eef759935750e48c3e815d7","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.4.0","accel-record-factory":"^1.4.0","prisma-generator-accel-record":"^1.4.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.4.0_1717340807151_0.11300609449037458","host":"s3://npm-registry-packages"}},"1.5.0":{"name":"accel-record","version":"1.5.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.5.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"1c3fe16520b0bf40d3965e63f9675db42715f4aa","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.5.0.tgz","fileCount":4,"integrity":"sha512-fSHm7iab3Yy5503txJFJUxLJMBBLJFXzEY51gO1hbyOzD/QFDGjp/3k4OFYeT6lRsub39X0wO7HWxtK7UOYHzg==","signatures":[{"sig":"MEQCIDYVZ8JznNgpZC6MrNnUlgnKJUNnlg8fPQDMKjTDrlGAAiB/FqG6RmaWm2mQ+foWglQ/EbvZ/6QtX00aKPk9MnQzXw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27958},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"a8c5014756a29378f5b36fdc5bd36889620252df","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.5.0","accel-record-factory":"^1.5.0","prisma-generator-accel-record":"^1.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.5.0_1717948110306_0.5687479235114385","host":"s3://npm-registry-packages"}},"1.6.0":{"name":"accel-record","version":"1.6.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.6.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"3079654a653bee6d81aceae44c66e425062e4eec","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.6.0.tgz","fileCount":4,"integrity":"sha512-GqJw08PGb4ECEF+334cH8ZbtsrqL+Rg1BxycxULvSPaGaAxSoqKxF/OqvipnFqDMdpCyLQZaOXMdDGHbzhJZ9A==","signatures":[{"sig":"MEQCIE2aQS1UEP/4cyG++HPowz9jirww2tqPauISwX1EZr+0AiBoNVR2WEJAOcVFVXbg9XiFnvs2GObWNwQ6tLPFqzw2/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32001},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"3a85a488ede7d69ebc1ee73e6395f8e57fc6aa45","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.6.0","accel-record-factory":"^1.6.0","prisma-generator-accel-record":"^1.6.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.6.0_1718637608292_0.9444981312581453","host":"s3://npm-registry-packages"}},"1.7.0":{"name":"accel-record","version":"1.7.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.7.0","homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"f9c944c043921325fce1968f1c9a51ab3dc0a88f","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.7.0.tgz","fileCount":4,"integrity":"sha512-vPWRirM41czigLR9TOcFAslzguDtWRMBO4YN95WugxzUJjDEEY8Qeb3fCBwbKSgPNiUsL17OgvXKRnxdHVKZcA==","signatures":[{"sig":"MEQCID4uiXOBziWqL3HkA14MRXzZGBJEin2zicYd2TcWOe+UAiB0BA7FIWJNqDyO6Vw2Wy2fAZ9QJVtWsl/jagKmtNfNEg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32727},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"c0c20c123f4daf64a858fc5b9db3653238ee5a06","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.7.0","accel-record-factory":"^1.7.0","prisma-generator-accel-record":"^1.7.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.7.0_1719242735304_0.12011508170570617","host":"s3://npm-registry-packages"}},"1.8.0":{"name":"accel-record","version":"1.8.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.8.0","homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"6f69bd0de548d634140cf5cae3f7f29fea57c2b6","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.8.0.tgz","fileCount":4,"integrity":"sha512-BAvpdS0ScSJogOcTDPsfnTQuXAhFn7Ge36fYTQgQiPa4xOFpiewIu87MbriGx3pptB5CBKpad7ctMtrUN499SQ==","signatures":[{"sig":"MEUCIQCy7qF/hnuAIuTcxwMJkf45vAbC0lkioQJZ7mCHrrRGngIgdMXH+yeSgUnCGek2RR3OpR14o7pqNrGKaH2jEqr1fjg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":32729},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"65ecdaca323243e6df05366a27e4c7c125a2e8c4","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.8.0","accel-record-factory":"^1.8.0","prisma-generator-accel-record":"^1.8.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.8.0_1719858529377_0.18279118046999354","host":"s3://npm-registry-packages"}},"1.9.1":{"name":"accel-record","version":"1.9.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.9.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"23f29825fecab729d74af5d16d3ba556b2e020dc","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.9.1.tgz","fileCount":4,"integrity":"sha512-1oNCbuKs+A6h+BMFtzYxyjV0R3cRVh+6OtQju9yMpolSuT7x6nRv+uJ0EZ0fhIvxnxBZGuBWGmgG+izNtKC5jQ==","signatures":[{"sig":"MEQCIBy5xSKZ0hRMG05lxlTgiQmI/QKDkwU1ng3NqTns9To7AiBk3JKfBI0CTOSatySiZCZc79H6il9I/4fS1z6DIGRRwg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":34514},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"b925a38f2bbb31697be41591072d054285947f5f","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.9.1","accel-record-factory":"^1.9.1","prisma-generator-accel-record":"^1.9.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.9.1_1720716750433_0.345912456814746","host":"s3://npm-registry-packages"}},"1.10.0":{"name":"accel-record","version":"1.10.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.10.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"0d0231a656e1141062c6ee5f44ca469546d5e840","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.10.0.tgz","fileCount":4,"integrity":"sha512-Lck3xwsg1jweCAu3I29VK3HC9RfgneFcZdAsWHkal/yPS3pSIQrG9X1KyJYXhcZVaAireXg33DB5ZMH8NgbI3g==","signatures":[{"sig":"MEYCIQDUWHP1LA80lCp0q9CfLeN+ZnI4GcmjWZphNklEXWCUUwIhANNfsTMkNWChZsi9yv79nPsQgBtmw32iUnPQLBsy9aJX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35326},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","gitHead":"423d696301e14b594ed2f50209ee9ab9cd5596cb","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.10.0","accel-record-factory":"^1.10.0","prisma-generator-accel-record":"^1.10.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.10.0_1721453559349_0.8177015633048657","host":"s3://npm-registry-packages"}},"1.10.1":{"name":"accel-record","version":"1.10.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.10.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"b79234a9e1e4d2268f45d5a92e5a1551c15d6dd6","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.10.1.tgz","fileCount":4,"integrity":"sha512-u8Ghjji5jDhZ+Z0c9efA/wMWS32NTJW0z5ijaZ+UYvUUVfReyi/41bWCV5EBKcjUcmzuTRyhZ95MRTNi+5P6QQ==","signatures":[{"sig":"MEUCIQD0GUxgrIOciUTgPK1tfHAAvEVJ2UyKZi10BM/GEzU7zgIgfhKkSrf1skYTWu2UgomnWyRRZ03HC44SyMuKOMMw1Yc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":35532},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"}},"gitHead":"b712830790fd8248d544fa1efb263aabe0341469","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.10.1","accel-record-factory":"^1.10.1","prisma-generator-accel-record":"^1.10.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.10.1_1722526100995_0.6694293001771965","host":"s3://npm-registry-packages"}},"1.11.0":{"name":"accel-record","version":"1.11.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.11.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"7b6018ef6558cfe03554ebc03d584970fcdc20af","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.11.0.tgz","fileCount":4,"integrity":"sha512-Mv2f29NP1J+WKKAD9ZpABJgV1ylT3mUgRwoxPQs4gdOx4/J8mPbrXB9qlHGTNt5jd78435qF+oS7bsxC+1nxvg==","signatures":[{"sig":"MEUCIG3ICDFWWiQqohmXD0fItCLGqG0Ll+zlFR60/LGytFHfAiEAj5om6/VzrmSqO1/wWUoUdOUjmQYAy47sqOBF9GUaI9M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37232},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"}},"gitHead":"9849d880d0336537d7dbb034c8046ae690c25d9a","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.11.0","accel-record-factory":"^1.11.0","prisma-generator-accel-record":"^1.11.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.11.0_1723223897027_0.8082763052804085","host":"s3://npm-registry-packages"}},"1.12.0":{"name":"accel-record","version":"1.12.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.12.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"5d62c789a04cab9f6a49c128c60aae27a56b0bb6","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.12.0.tgz","fileCount":4,"integrity":"sha512-FwDIev7AcoNEkUeYfW2zF/uPbMj7JFXlwydqx/T4fU6tKHck34JXBtlD3ganuvld+F6Nl5llavRmWy5u9VAKVQ==","signatures":[{"sig":"MEYCIQDDlYd6RAvPHH5jl8bAEC7ezZ4CCFq1Gu4qugabxKWEngIhAIxabDoCZu3CUmEviEYhQxvb3bRANlPMzEeG2Nq2toSa","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":37796},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"}},"gitHead":"d47dd893923b965eac1014f6c4cc50ae39299eef","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.12.0","accel-record-factory":"^1.12.0","prisma-generator-accel-record":"^1.12.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.12.0_1723832100587_0.5188003542624107","host":"s3://npm-registry-packages"}},"1.13.0":{"name":"accel-record","version":"1.13.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.13.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"0f4368903ff6a64317340bb0e388aa52575a7a41","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.13.0.tgz","fileCount":4,"integrity":"sha512-GUWyBqEHg29yN0dr1oEmX55BjBhlq869QQoUPiyZXk4fTgD0WUgeca2q73Mw5AfrORocPLgt3cpEwTQxLjyr9A==","signatures":[{"sig":"MEQCIDwYo5QCDXXI10B642TZlS+/bv8nj2wveCz0z+qBPn++AiBImmZbTEQoBib/2UV4bFHTSm5tswd814Fwfn15dIpKLQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38779},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"}},"gitHead":"654ec01f83672a69220c09a57803fbcdfcaf2cca","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.13.0","accel-record-factory":"^1.13.0","prisma-generator-accel-record":"^1.13.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.13.0_1724421769547_0.8464581801374382","host":"s3://npm-registry-packages"}},"1.14.0":{"name":"accel-record","version":"1.14.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.14.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"f49f986ab46a457f9ef7007aa27222530505a9e1","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.14.0.tgz","fileCount":4,"integrity":"sha512-/lbVsNSLxE0P1Lqzxfe5HYA/ntTg/LAT/keIdPWIYsKHJiMV+tPencQnchCwMLkL3F0vFqwlhk5nRxt+Vc84sA==","signatures":[{"sig":"MEYCIQCJ2cP9TgZay75B9eJsGkl7wHVUDCLG/2h2rwcuJbLU4QIhAIQatFdEOt2WTAlKIUTEsTh9TH8DokQCbN/UAWcDsBjA","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":38835},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"}},"gitHead":"8dc7557cd5ccff062ced5d60245b46068e70fb6e","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.14.0","accel-record-factory":"^1.14.0","prisma-generator-accel-record":"^1.14.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.14.0_1725033030293_0.5070705086357945","host":"s3://npm-registry-packages"}},"1.14.1":{"name":"accel-record","version":"1.14.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.14.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"1924d0d3e9bf8e425793d7c0a4d73eff87406379","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.14.1.tgz","fileCount":16,"integrity":"sha512-0mKOCnMdIsGVnK4vBo0NakFFPAk89DQX+7Z+morS70S+MpYJPkhTItLGGunIukxvFLzyQexByrTuJwKnMTpfTg==","signatures":[{"sig":"MEUCIDiCUFA+ysrGKUWgE/PhyLiy4a80/2eOrUSb5pFHP9BIAiEAqGwGc3NvFXWtsUlvLcNjSO5sMEH4FPq506ah/fCCBuM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":39457},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"}},"gitHead":"47d64ec0e83f88919a5a067d633290650093b217","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.14.1","accel-record-factory":"^1.14.1","prisma-generator-accel-record":"^1.14.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.14.1_1725460248172_0.6961280925060871","host":"s3://npm-registry-packages"}},"1.15.0":{"name":"accel-record","version":"1.15.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.15.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"f092d9bbfdcac59ea77db304de3f0530900e5742","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.15.0.tgz","fileCount":16,"integrity":"sha512-4Uco6aWKvI/in56t1L/rTUsfhKt8pRRgDI9za5ZIdPo6r9U1UTqqR24Px4jQxo5Ag6kwhJ4xkG+ulzzsKs3vuQ==","signatures":[{"sig":"MEQCICaA62pIB5gal35Mh9lQIJRMux9xbfvQ9VeT+mqjRfiWAiBfherN0DcJpciaTN2zeu/uRQ/3RwkB9+y2cA5dohgIpA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"}},"gitHead":"30908009e71daeceac8666c119acf9d8b6d36a46","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.15.0","accel-record-factory":"^1.15.0","prisma-generator-accel-record":"^1.15.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.15.0_1725894227189_0.47476534142962756","host":"s3://npm-registry-packages"}},"1.15.1":{"name":"accel-record","version":"1.15.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.15.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"6163d758b429523c38c057f69a3bab990848a713","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.15.1.tgz","fileCount":16,"integrity":"sha512-p97l4+06+SpX7BH7oAckelpulwHTL9NMzIw8bs+foSZHdJgoGpZzNtV3nVCo36+2UJR5XojXkDxBuQHMPRDNEA==","signatures":[{"sig":"MEUCICq4rGMMzcMBMQm7qFU50aC4VEyp1Z887mI8KLi0LQTxAiEAkdr3vwwVqJXHnHvDTQs+/g4H3svHgdAJ4PzrULKnyMo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41812},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"}},"gitHead":"f5adc3c0bb93e817766a541168ce8b371f612e4b","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.15.1","accel-record-factory":"^1.15.1","prisma-generator-accel-record":"^1.15.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.15.1_1730991079906_0.1271693450990039","host":"s3://npm-registry-packages"}},"1.16.0":{"name":"accel-record","version":"1.16.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.16.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"3b95a98784154e8415d6640d99773afb7f537bf8","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.16.0.tgz","fileCount":16,"integrity":"sha512-e9rvXSmHYraFjiATXUBoybaj62bErrCYwBEe5ysKGGRmeYWJC8pXG+gjoUTJaOe4Iz5bRCNCaG/ZumOtr7FdeQ==","signatures":[{"sig":"MEYCIQCFnRfdzqIwTZ9sdDTdsTEJzymF3K6Ui7AeCp35EfcalwIhAIgjyHFF9B2yxGlOq47kYxd+cq1+qMDNHD4+F/94ZvjT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41707},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"}},"gitHead":"bb97801c63c309b1a2a04c35e5b402f64c56e8ff","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.16.0","accel-record-factory":"^1.16.0","prisma-generator-accel-record":"^1.16.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.16.0_1732206590854_0.9043178742517342","host":"s3://npm-registry-packages"}},"1.17.0":{"name":"accel-record","version":"1.17.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.17.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"77a98de7563da5c84e4a0b6b337e5730712cc2dd","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.17.0.tgz","fileCount":16,"integrity":"sha512-PQbkvhQTbiWRf19zNuXInb9WsgpEBJDaawcvqyujvAaGnSNITMkXNsw1eXKoEBc71a0j76Inh87w1hC3sDrWfg==","signatures":[{"sig":"MEUCICrN1hw1sESF3dZit2alUur//fInO1ba/4G0HG9YfF4KAiEAnahEAD3U+iUV1UgiRbGRAI8AccGAbLLg73/pa20Kuhw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41707},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"}},"gitHead":"13aaeb0a478b82b79164ae154568d17abd6a7781","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.2.4","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.11.0","dependencies":{"accel-record-core":"^1.17.0","accel-record-factory":"^1.17.0","prisma-generator-accel-record":"^1.17.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.17.0_1732977329644_0.7512330887221994","host":"s3://npm-registry-packages"}},"1.17.1":{"name":"accel-record","version":"1.17.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.17.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"1296cf812dba16e5331d9682b2c7af5c3d600603","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.17.1.tgz","fileCount":12,"integrity":"sha512-EZ2j1miG+BRveBkO1f5mvUuBTlRpYU+vxZXXaddc0IfV9bV30qUKJV5wQeqImqPzdkIxd3Tgo76vAxwzZyEH7Q==","signatures":[{"sig":"MEUCIAF0d9L2FwISjdraWB9xOjSLwdovAJzpDcn1aUm74cGoAiEAjpMWRyPDBTF5rFlqGdN+IrOm4BgZteNe+zyw/ZNrcsk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41505},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"}},"gitHead":"8e3b551bca908802ebeae7aacb297e33f75f3331","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"accel-record-core":"^1.17.1","accel-record-factory":"^1.17.0","prisma-generator-accel-record":"^1.17.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.17.1_1733638207542_0.4543707418860725","host":"s3://npm-registry-packages"}},"1.18.0":{"name":"accel-record","version":"1.18.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.18.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"425fd90fcf28549ce0fcc4cf9603a228c3783a2b","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.18.0.tgz","fileCount":12,"integrity":"sha512-ikxiin/Oqa2hlL400SjIp48T5Va2Vt8/Rp0oGVg2LAir0bK7ZPEpdbyAHmJt7+BIhj4aQ9kSSbfUdtwqYDThLg==","signatures":[{"sig":"MEQCIC7IAUXzyXvInR9Z42que6nVU8JVWontgpXa/WYaj05LAiBE8U4xrDtJkZsVyzj0uR2Z9blqjZsErk7oc3D16myzBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41505},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"}},"gitHead":"bc65bfa8e87420c3ae6e5d4c8ab3472f0f2167dd","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"accel-record-core":"^1.18.0","accel-record-factory":"^1.17.0","prisma-generator-accel-record":"^1.17.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.18.0_1734276055181_0.44948151976417083","host":"s3://npm-registry-packages-npm-production"}},"1.19.0":{"name":"accel-record","version":"1.19.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.19.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"2d24c256b53de4163d5f4b476c437d41577564a8","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.19.0.tgz","fileCount":12,"integrity":"sha512-T7lzb9Lf+gYBhWRH8spMKa31pOW3L8Yu7cJbThcYaUJ8x1IHTKoRPX1YLbl5Ei39n8VQenDYKdF8F6JL/PeXSA==","signatures":[{"sig":"MEUCIAecH2L9wxZpbUKyySnP6l4nw9N+InLUdxyU9eOF1nEaAiEAtjyKxHnfZ2CZtp2vjbBQHud5+ONvjj3YW/1IYOC7iGI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":41505},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"}},"gitHead":"e75196a8a9f10920c55a61af24c5bfe06b61742a","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"accel-record-core":"^1.19.0","accel-record-factory":"^1.17.0","prisma-generator-accel-record":"^1.18.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.19.0_1734884926550_0.31460556181827215","host":"s3://npm-registry-packages-npm-production"}},"1.20.0":{"name":"accel-record","version":"1.20.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.20.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"dc0e1215e092a50837995963613c3a394d80f578","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.20.0.tgz","fileCount":14,"integrity":"sha512-VjxW7y1P4C828TALsPptOVR9Qubv7oleM3vI1nyWmX6b999IqNPkVpqvJwyWP+dTuSMe2M9LwAiIKPrV4AFTgQ==","signatures":[{"sig":"MEUCIQDAyuHg2QN1BwMdy2eqjoroJgeShPYc+NHSXBRLXEr4LwIgWsEnFchUrs3NwJFVExMLFBW/SExKawY2DeI30VmtFTI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42017},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"}},"gitHead":"d06e17b9872e2fca002f4b188ba888d94b3a08fc","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"accel-record-core":"^1.20.0","accel-record-factory":"^1.17.0","prisma-generator-accel-record":"^1.18.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.20.0_1735681841905_0.6388517818189505","host":"s3://npm-registry-packages-npm-production"}},"1.21.0":{"name":"accel-record","version":"1.21.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@1.21.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"49e227ebf194d1301181b70e2d4259e5869157c1","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-1.21.0.tgz","fileCount":14,"integrity":"sha512-Iwfnwdg0qz0QTpASghwoJuyWMLZoIdWBMAnPeqAOTXpnKRLBMneqYBG9BPzjNUJ7LLZtywSJleT6PpHWLWUpLg==","signatures":[{"sig":"MEUCIEHDJnBm2b+KUbc+20sD3ZPJt/UceyOfllE6c4r50xLfAiEAt5KkWric4n/fvc10aJwYn2QHjEWvuBFWAelrWjuxzbI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42017},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"}},"gitHead":"a807ccc5bc37f38438d0cb68f1ec980621ea76ce","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"accel-record-core":"^1.21.0","accel-record-factory":"^1.17.0","prisma-generator-accel-record":"^1.18.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_1.21.0_1736271197740_0.017712456726925563","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"accel-record","version":"2.0.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@2.0.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"53022e9348be05764819c06daf6f79816151c62e","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-2.0.0.tgz","fileCount":14,"integrity":"sha512-Sezm7ZoCwsotoOoLFXFCFYuPeHO8SwTqmdAtf02MaKrEAfUw+aFhtnWGdVj+ZvTtpN2I2uFnsJ2CC206ehFu/A==","signatures":[{"sig":"MEYCIQCnKqm0Y1UyxznQXB2SoEFSnWokwe6EIPerNIt+HURkHgIhAKpm2kzvl50m7g6BjiIePjVa8SdabXUHecqn4P7B68cZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":42992},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"}},"gitHead":"6f46d7f6c591fef81f755b314061ded9509bb275","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.1","dependencies":{"accel-record-core":"^2.0.0","accel-record-factory":"^2.0.0","prisma-generator-accel-record":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_2.0.0_1736870210942_0.21912590985703484","host":"s3://npm-registry-packages-npm-production"}},"2.0.1":{"name":"accel-record","version":"2.0.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@2.0.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"f31ec11a1ad6ca4de6b8163fcbae4200a06daa7e","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-2.0.1.tgz","fileCount":14,"integrity":"sha512-lr24tJk/52EqZgGxKEGObNQnUTIW31/LVrsN26L0gbT8eVjx4tXbTSpDB8qGftX/WZHfsSnxGRIQnBDQsyRdtQ==","signatures":[{"sig":"MEUCIGZECPHIOb/r+oYIvWJ+sMv8aCD/u2Lh6FTgO25LUoRaAiEAv/esAt+7eZrL7h1VTOCyFp9tjW4rDKIRBSw5kuTnW+Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":42992},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"}},"gitHead":"6f39f853e0a59e88d7966ee1368475473d52f12c","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.2","dependencies":{"accel-record-core":"^2.0.1","accel-record-factory":"^2.0.0","prisma-generator-accel-record":"^2.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_2.0.1_1738687108190_0.09109166308764416","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"accel-record","version":"2.1.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@2.1.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"c2f2632fc4b5ff133c09feb1b1d83dc3553d9825","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-2.1.0.tgz","fileCount":16,"integrity":"sha512-TZzJWhsHqkdSGbRsNwfV0ZyodFwTp5MkmCHTe4wNPPpvM2mwDG8D1r5sPGfxVGzE/mzoa5oL7hE11wbVIZ4mXQ==","signatures":[{"sig":"MEQCICZNFWjdT4Ptpt74J9G+m3IpyDOzYe30f9QrT0gGGOZrAiBOgx29W7TNoar4G3oYRmJ3mNHembQqmGvBvR+QORdnxQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43185},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./merge":{"types":"./dist/merge.d.ts","default":"./dist/merge.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"}},"gitHead":"577cdb5e1c4df3371052e8dc5c5dfb46613f9f91","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.2","dependencies":{"accel-record-core":"^2.1.0","accel-record-factory":"^2.0.0","prisma-generator-accel-record":"^2.0.1"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_2.1.0_1740501763905_0.8237833424770551","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"accel-record","version":"2.1.1","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@2.1.1","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"a03496888f7bf6b1cd76a7c4947d3c846bb80cf9","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-2.1.1.tgz","fileCount":16,"integrity":"sha512-NJSmHQYX6romhl/n4BX0XKsyaeDQNikp/qd88dK1rVG3FfVwnthnXzrq5fB5iAhsW7ULebPq5eevyzt83rHAPg==","signatures":[{"sig":"MEUCIQCP3Y7nYRTFnXdt7s4qEmYAf4N7RoT5eskNjRIpyrD1qwIgAU1YrX16QD0e3Uhmbwj96JG34qASRTsk3laj4cMcNBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43185},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./merge":{"types":"./dist/merge.d.ts","default":"./dist/merge.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"}},"gitHead":"a21d78df011946946100708fc18254a4cd04b100","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.18.3","dependencies":{"accel-record-core":"^2.1.1","accel-record-factory":"^2.0.0","prisma-generator-accel-record":"^2.0.3"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_2.1.1_1741807197329_0.0936088021573902","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"accel-record","version":"2.2.0","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","_id":"accel-record@2.2.0","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","bugs":{"url":"https://github.com/koyopro/accella/issues"},"dist":{"shasum":"73fdc618c753df32261cb001e53ef4d33a8ca967","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-2.2.0.tgz","fileCount":16,"integrity":"sha512-yx2bWqLPe6QCguD/lFGcKMeYibQyBhhI9eW0Ly8Q7G3EFim5FCNOFDKeyBC9eu+t2mqHXeZJfJ2itvuszTfH6A==","signatures":[{"sig":"MEUCIQDApo8arYjrdyDrfbNtBzipXmLRPXVOCCtwz+F9FKcXRAIgbtbinTBvMERE0I/BLgVsZXGatWN4FslK4mF/v3Js+3o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":43185},"main":"dist/index.js","type":"module","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./merge":{"types":"./dist/merge.d.ts","default":"./dist/merge.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"}},"gitHead":"07acd6851a202bfe34f8e0ab6e75c26f40d3cbc3","scripts":{"test":"vitest","build":"tsc","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"repository":{"url":"git+https://github.com/koyopro/accella.git","type":"git"},"_npmVersion":"10.8.2","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","directories":{},"_nodeVersion":"20.19.0","dependencies":{"accel-record-core":"^2.2.0","accel-record-factory":"^2.0.0","prisma-generator-accel-record":"^2.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/accel-record_2.2.0_1742493737888_0.22920264989560302","host":"s3://npm-registry-packages-npm-production"}},"2.3.0":{"name":"accel-record","version":"2.3.0","description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","type":"module","main":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./attributes":{"types":"./dist/attributes.d.ts","default":"./dist/attributes.js"},"./merge":{"types":"./dist/merge.d.ts","default":"./dist/merge.js"},"./enums":{"types":"./dist/enums.d.ts","default":"./dist/enums.js"},"./validations":{"types":"./dist/validations.d.ts","default":"./dist/validations.js"},"./search":{"types":"./dist/search.d.ts","default":"./dist/search.js"},"./errors":{"types":"./dist/errors.d.ts","default":"./dist/errors.js"}},"scripts":{"build":"tsc","test":"vitest","test:migrate":"DATABASE_URL=file:./test.db npx prisma migrate dev --schema=tests/prisma/schema.prisma"},"repository":{"type":"git","url":"git+https://github.com/koyopro/accella.git"},"bugs":{"url":"https://github.com/koyopro/accella/issues"},"homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","keywords":["accella","accel-record","activerecord","orm"],"author":{"name":"koyopro"},"license":"Apache-2.0","dependencies":{"accel-record-core":"^2.3.0","accel-record-factory":"^2.0.0","prisma-generator-accel-record":"^2.1.0"},"_id":"accel-record@2.3.0","gitHead":"3afadecb8ec84dabedc243ae64523ffb5dc07a55","_nodeVersion":"20.19.0","_npmVersion":"10.8.2","dist":{"integrity":"sha512-K1vxJEd2rr765x+5B4SFFt5tueacenUURPAG5nW1a/oC1dFtJ7m0/l2p6+qLOJ3imj5Zx5XkwgUly+kuTU3jZg==","shasum":"6bd2153a85e925c701194d4319cd0dfdcebb3c1d","tarball":"https://registry.npmjs.org/accel-record/-/accel-record-2.3.0.tgz","fileCount":16,"unpackedSize":43185,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC4bpFFOgqTr81H+VnfRZ06pN7UNU/kzaZ0It/ILiqUEgIgQTPNt5CCGIW88zSwiLMBex60mZFOZSBPM93hyS7b5hU="}]},"_npmUser":{"name":"koyopro","email":"koyopro2.0@gmail.com"},"directories":{},"maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/accel-record_2.3.0_1744046182026_0.045372653622223424"},"_hasShrinkwrap":false}},"time":{"created":"2024-03-05T05:59:19.281Z","modified":"2025-04-07T17:16:22.404Z","0.0.1":"2024-03-05T05:59:19.497Z","0.1.0":"2024-03-16T15:36:00.085Z","0.1.1":"2024-03-18T14:04:08.687Z","0.1.2":"2024-03-20T16:20:05.096Z","0.2.0":"2024-03-23T18:31:59.080Z","0.3.0":"2024-03-27T13:59:19.292Z","0.3.1":"2024-03-28T17:12:00.161Z","1.0.0-beta.0":"2024-04-02T15:39:40.791Z","1.0.0-beta.1":"2024-04-03T18:01:31.731Z","1.0.0-beta.2":"2024-04-06T04:37:02.450Z","1.0.0-beta.3":"2024-04-08T15:15:00.892Z","1.0.0-beta.4":"2024-04-10T17:05:43.339Z","1.0.0":"2024-04-17T16:00:32.884Z","1.1.0":"2024-04-24T15:40:53.870Z","1.2.0":"2024-05-14T15:47:29.442Z","1.3.0":"2024-05-26T15:23:13.182Z","1.4.0":"2024-06-02T15:06:47.319Z","1.5.0":"2024-06-09T15:48:30.619Z","1.6.0":"2024-06-17T15:20:08.533Z","1.7.0":"2024-06-24T15:25:35.479Z","1.8.0":"2024-07-01T18:28:49.514Z","1.9.0":"2024-07-11T16:27:24.780Z","1.9.1":"2024-07-11T16:52:30.631Z","1.10.0":"2024-07-20T05:32:39.506Z","1.10.1":"2024-08-01T15:28:21.174Z","1.11.0":"2024-08-09T17:18:17.288Z","1.12.0":"2024-08-16T18:15:00.823Z","1.13.0":"2024-08-23T14:02:49.730Z","1.14.0":"2024-08-30T15:50:30.471Z","1.14.1":"2024-09-04T14:30:48.434Z","1.15.0":"2024-09-09T15:03:47.531Z","1.15.1":"2024-11-07T14:51:20.101Z","1.16.0":"2024-11-21T16:29:51.008Z","1.17.0":"2024-11-30T14:35:29.900Z","1.17.1":"2024-12-08T06:10:07.730Z","1.18.0":"2024-12-15T15:20:55.373Z","1.19.0":"2024-12-22T16:28:46.730Z","1.20.0":"2024-12-31T21:50:42.119Z","1.21.0":"2025-01-07T17:33:17.936Z","2.0.0":"2025-01-14T15:56:51.174Z","2.0.1":"2025-02-04T16:38:28.404Z","2.1.0":"2025-02-25T16:42:44.096Z","2.1.1":"2025-03-12T19:19:57.525Z","2.2.0":"2025-03-20T18:02:18.114Z","2.3.0":"2025-04-07T17:16:22.234Z"},"bugs":{"url":"https://github.com/koyopro/accella/issues"},"author":{"name":"koyopro"},"license":"Apache-2.0","homepage":"https://github.com/koyopro/accella/tree/master/packages/accel-record","keywords":["accella","accel-record","activerecord","orm"],"repository":{"type":"git","url":"git+https://github.com/koyopro/accella.git"},"description":"Accel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.","maintainers":[{"name":"koyopro","email":"koyopro2.0@gmail.com"}],"readme":"Language: [English](https://github.com/koyopro/accella/blob/main/packages/accel-record/README.md) | [日本語](https://github.com/koyopro/accella/blob/main/packages/accel-record/README-ja.md)\n\n# Accel Record\n\nAccel Record is a type-safe and synchronous ORM for TypeScript. It adopts the Active Record pattern and is heavily influenced by Ruby on Rails' Active Record.\n\nIt uses Prisma for schema management and migration, and you can also use existing Prisma schemas as is.\n\nIt can be used with MySQL, PostgreSQL, and SQLite.\n\n## Features\n\n- Active Record pattern\n- Type-safe classes\n- Native ESM\n- Synchronous API\n- Support for MySQL, PostgreSQL, and SQLite\n\n## Table of Contents\n\n- [Usage](#usage)\n- [Installation](#installation)\n- [Quick Start](#quick-start)\n- [Examples](#examples)\n- [Model Types](#model-types)\n- [Prisma Schema and Field Types](#prisma-schema-and-field-types)\n- [Type of Json Field](#type-of-json-field)\n- [Associations](#associations)\n- [Query Interface](#query-interface)\n- [Scopes](#scopes)\n- [Flexible Search](#flexible-search)\n- [Testing](#testing)\n- [Validation](#validation)\n- [Callbacks](#callbacks)\n- [Serialization](#serialization)\n- [Bulk Insert](#bulk-insert)\n- [Transactions](#transactions)\n- [Lock](#lock)\n- [Internationalization (I18n)](#internationalization-i18n)\n- [Password Authentication](#password-authentication)\n- [Form Objects](#form-objects)\n- [Nullable Values Handling](#nullable-values-handling)\n- [Time Zone for DateTime Columns](#time-zone-for-datetime-columns)\n- [Future Planned Features](#future-planned-features)\n- [Background of Design and Development](#background-of-design-and-development)\n\n## Usage\n\nFor example, if you define a User model like this:\n\n```ts\n// prisma/schema.prisma\nmodel User {\n  id        Int    @id @default(autoincrement())\n  firstName String\n  lastName  String\n  age       Int?\n}\n```\n\nYou can write domain logic as follows:\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst user: User = User.create({\n  firstName: \"John\",\n  lastName: \"Doe\",\n});\n\nuser.update({\n  age: 26,\n});\n\nfor (const user of User.all()) {\n  console.log(user.firstName);\n}\n\nconst john: User | undefined = User.findBy({\n  firstName: \"John\",\n  lastName: \"Doe\",\n});\n\njohn.delete();\n```\n\nYou can also extend models and define custom methods as you like.\n\n```ts\n// src/models/user.ts\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class UserModel extends ApplicationRecord {\n  // Define a method to get the full name\n  get fullName(): string {\n    return `${this.firstName} ${this.lastName}`;\n  }\n}\n```\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst user = User.create({\n  firstName: \"John\",\n  lastName: \"Doe\",\n});\n\nconsole.log(user.fullName); // => \"John Doe\"\n```\n\n## Installation\n\n1. Install the npm package:\n\n   ```\n   npm install accel-record\n   ```\n\n2. Install a database driver:\n\n   - for **MySQL** or **MariaDB**\n\n     ```\n     npm install mysql2\n     ```\n\n   - for **PostgreSQL**\n\n     ```\n     npm install pg\n     ```\n\n   - for **SQLite**\n\n     ```\n     npm install better-sqlite3\n     ```\n\n## Quick Start\n\nHere is an example for MySQL.\n\n```sh\n$ npm install accel-record mysql2\n$ npx prisma init\n```\n\nBy defining the Prisma schema as shown below and calling `initAccelRecord`, you can connect to the database.\n\n```ts\n// prisma/schema.prisma\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n\ngenerator custom_generator {\n  provider = \"prisma-generator-accel-record\"\n  output   = \"../src/models\"\n}\n\ndatasource db {\n  provider = \"mysql\"\n  url      = env(\"DATABASE_URL\")\n}\n\nmodel User {\n  id        Int    @id @default(autoincrement())\n  firstName String\n  lastName  String\n  age       Int?\n}\n```\n\n```ts\n// src/index.ts\nimport { initAccelRecord } from \"accel-record\";\nimport { getDatabaseConfig, User } from \"./models/index.js\";\n\ninitAccelRecord(getDatabaseConfig()).then(() => {\n  User.create({\n    firstName: \"John\",\n    lastName: \"Doe\",\n  });\n  console.log(`New user created! User.count is ${User.count()}`);\n  process.exit(0);\n});\n```\n\n```sh\n$ export DATABASE_URL=\"mysql://root:@localhost:3306/accel_test\"\n$ npx prisma migrate dev\n# Example of executing .ts files using tsx\n$ npm i -D tsx\n$ npx tsx src/index.ts\nNew user created! User.count is 1\n```\n\n## Examples\n\n### Creating and Saving Data\n\n```ts\nimport { NewUser, User } from \"./models/index.js\";\n\n// Create a user\nconst user: User = User.create({\n  firstName: \"John\",\n  lastName: \"Doe\",\n});\nconsole.log(user.id); // => 1\n\n// You can also write it like this\nconst user: NewUser = User.build({});\nuser.firstName = \"Alice\";\nuser.lastName = \"Smith\";\nuser.save();\nconsole.log(user.id); // => 2\n```\n\n### Retrieving Data\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst allUsers = User.all();\nconsole.log(`IDs of all users: ${allUsers.map((u) => u.id).join(\", \")}`);\n\nconst firstUser = User.first();\nconsole.log(`Name of the first user: ${firstUser?.firstName}`);\n\nconst john = User.findBy({ firstName: \"John\" });\nconsole.log(`ID of the user with the name John: ${john?.id}`);\n\nconst does = User.where({ lastName: \"Doe\" });\nconsole.log(`Number of users with the last name Doe: ${does.count()}`);\n```\n\n### Updating Data\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst user = User.first()!;\n\nuser.update({ age: 26 });\n\n// You can also write it like this\nuser.age = 26;\nuser.save();\n```\n\n### Deleting Data\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst user = User.first()!;\n\n// Delete a record\nuser.delete();\n\n// Alternatively, delete with associations\nuser.destroy();\n```\n\n## Model Types\n\n### NewModel and PersistedModel\n\nAccel Record provides two types, `NewModel` and `PersistedModel`, to distinguish between newly created and saved models. \\\nDepending on the schema definition, some properties in `NewModel` allow `undefined`, while `PersistedModel` does not. \\\nThis allows you to handle both pre-save and post-save models in a type-safe manner.\n\n```ts\nimport { User, NewUser } from \"./models/index.js\";\n\n/*\nExample of NewModel:\nNewUser represents a pre-save model and has the following type:\n\ninterface NewUser {\n  id: number | undefined;\n  firstName: string | undefined;\n  lastName: string | undefined;\n  age: number | undefined;\n}\n*/\nconst newUser: NewUser = User.build({});\n\n/*\nExample of PersistedModel:\nUser represents a saved model and has the following type:\n\ninterface User {\n  id: number;\n  firstName: string;\n  lastName: string;\n  age: number | undefined;\n}\n*/\nconst persistedUser: User = User.first()!;\n```\n\n### BaseModel\n\nThe above `NewModel` and `PersistedModel` inherit from `BaseModel`. \\\nMethods defined in `BaseModel` can be used by both `NewModel` and `PersistedModel`.\n\n```ts\n// src/models/user.ts\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\n/*\nExample of BaseModel:\nUserModel corresponds to `NewUser` and `User` in `BaseModel`.\n */\nexport class UserModel extends ApplicationRecord {\n  // Methods defined here can be used by both `NewUser` and `User`.\n  get fullName(): string | undefined {\n    if (!this.firstName || !this.lastName) {\n      // For `NewUser`, we need to consider the possibility of `firstName` and `lastName` being `undefined`.\n      return undefined;\n    }\n    return `${this.firstName} ${this.lastName}`;\n  }\n}\n```\n\n```ts\nimport { User, NewUser } from \"./models/index.js\";\n\nconst newUser: NewUser = User.build({});\nconsole.log(newUser.fullName); // => undefined\n\nconst user: User = User.first()!;\nconsole.log(user.fullName); // => \"John Doe\"\n```\n\nYou can also define methods that are type-safe and can only be used by `PersistedModel` by specifying the `this` type for the method. (In this case, the `get` keyword cannot be used due to TypeScript specifications)\n\n```ts\n// src/models/user.ts\nimport { ApplicationRecord } from \"./applicationRecord.js\";\nimport { User } from \"./index.js\";\n\nexport class UserModel extends ApplicationRecord {\n  // This method can only be used by `User` and is type-safe. Using it with `NewUser` will result in a type error.\n  fullName(this: User): string {\n    return `${this.firstName} ${this.lastName}`;\n  }\n}\n```\n\n```ts\nimport { User, NewUser } from \"./models/index.js\";\n\nconst newUser: NewUser = User.build({});\n// @ts-expect-error\nnewUser.fullName();\n// => The 'this' context of type 'NewUser' is not assignable to method's 'this' of type 'User'.\n\nconst user: User = User.first()!;\nconsole.log(user.fullName()); // => \"John Doe\"\n```\n\n### Converting from NewModel to PersistedModel\n\nBy using methods like `save()` and `isPersisted()`, you can convert a `NewModel` type to a `PersistedModel` type.\n\n```ts\nimport { User, NewUser } from \"./models/index.js\";\n\n// Prepare a user of NewModel type\nconst user: NewUser = User.build({\n  firstName: \"John\",\n  lastName: \"Doe\",\n});\n\nif (user.save()) {\n  // If save is successful, the NewModel is converted to PersistedModel.\n  // In this block, the user can be treated as User type.\n  console.log(user.id); // user.id is of type number\n} else {\n  // If save fails, the NewModel remains the same type.\n  // In this block, the user remains as NewUser type.\n  console.log(user.id); // user.id is of type number | undefined\n}\n\nconst someFunc = (user: NewUser | User) => {\n  if (user.isPersisted()) {\n    // If isPersisted() is true, the NewModel is converted to PersistedModel.\n    // In this block, the user can be treated as User type.\n    console.log(user.id); // user.id is of type number\n  } else {\n    // If isPersisted() is false, the NewModel remains the same type.\n    // In this block, the user remains as NewUser type.\n    console.log(user.id); // user.id is of type number | undefined\n  }\n};\n```\n\n## Prisma Schema and Field Types\n\nAccel Record uses Prisma for schema definition, and the support status for each feature is as follows:\n\n| Feature                         | Notation    | Support |\n| ------------------------------- | ----------- | ------- |\n| ID                              | @id         | ✅      |\n| Multi-field ID (Composite ID)   | @@id        | ✅      |\n| Table name mapping              | @@map       | ✅      |\n| Column name mapping             | @map        | ✅      |\n| Default value                   | @default    | ✅      |\n| Updated at                      | @updatedAt  | ✅      |\n| List                            | []          | ✅      |\n| Optional                        | ?           | ✅      |\n| Relation field                  |             | ✅      |\n| Implicit many-to-many relations |             | ✅      |\n| Enums                           | enum        | ✅      |\n| Unsupported type                | Unsupported | -       |\n\nThe types of NewModel and PersistedModel differ depending on whether the field type is required or optional.\n\n| Type           | NewModel | PersistedModel  |\n| -------------- | -------- | --------------- |\n| Required Field | Nullable | **NonNullable** |\n| Optional Field | Nullable | Nullable        |\n\nIn addition, the types of NewModel and PersistedModel differ depending on how the default value is specified.\n\n| Argument        | NewModel        | PersistedModel  |\n| --------------- | --------------- | --------------- |\n| Static value    | **NonNullable** | **NonNullable** |\n| autoincrement() | Nullable        | **NonNullable** |\n| now()           | Nullable        | **NonNullable** |\n| dbgenerated()   | Nullable        | **NonNullable** |\n| uuid()          | **NonNullable** | **NonNullable** |\n| cuid()          | **NonNullable** | **NonNullable** |\n\nHere are examples of model definitions and their corresponding NewModel and PersistedModel:\n\n```ts\n// prisma/schema.prisma\n\nmodel Sample {\n  id         Int      @id @default(autoincrement())\n  required   Int\n  optional   String?\n  hasDefault Boolean  @default(false)\n  createdAt  DateTime @default(now())\n  updatedAt  DateTime @updatedAt\n  uuid       String   @default(uuid())\n  cuid       String   @default(cuid())\n}\n```\n\n```ts\n// NewModel\ninterface NewSample {\n  id: number | undefined;\n  required: number | undefined;\n  optional: string | undefined;\n  hasDefault: boolean;\n  createdAt: Date | undefined;\n  updatedAt: Date | undefined;\n  uuid: string;\n  cuid: string;\n}\n\n// PersistedModel\ninterface Sample {\n  id: number;\n  required: number;\n  optional: string | undefined;\n  hasDefault: boolean;\n  createdAt: Date;\n  updatedAt: Date;\n  uuid: string;\n  cuid: string;\n}\n```\n\n## Type of Json Field\n\nWhen defining a Json type in a typical Prisma schema, you cannot specify strict types.\n\n```ts\n// prisma/schema.prisma\nmodel Sample {\n  id   Int  @id @default(autoincrement())\n  data Json // you don't have strict type for Json field\n}\n```\n\nWith Accel Record, you can specify the type for Json fields in the BaseModel. \\\nIn this case, you can handle Json fields in a type-safe manner for both reading and writing.\n\n```ts\n// src/models/sample.ts\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class SampleModel extends ApplicationRecord {\n  // You can specify the type for Json fields in the BaseModel\n  data: { myKey1: string; myKey2: number } | undefined = undefined;\n}\n```\n\n```ts\nimport { Sample } from \"./models/index.js\";\n\nconst sample = Sample.build({});\n\n// OK\nsample.data = { myKey1: \"value1\", myKey2: 123 };\n\n// Type Error !\nsample.data = { foo: \"value1\" };\n// => Type '{ foo: string; }' is not assignable to type '{ myKey1: string; myKey2: number; } | undefined'.\n\n// OK\nconsole.log(sample.data?.myKey1);\n\n// Type Error !\nconsole.log(sample.data?.foo);\n// => Property 'foo' does not exist on type '{ myKey1: string; myKey2: number; } | undefined'.\n```\n\n## Associations\n\nBelow are examples of operations on models with associations.\n\n### One-to-One Relationship\n\n```ts\n// prisma/schema.prisma\nmodel User {\n  id      Int    @id @default(autoincrement())\n  profile Profile?\n}\n\nmodel Profile {\n  id     Int    @id @default(autoincrement())\n  userId Int    @unique\n  user   User   @relation(fields: [userId], references: [id])\n}\n```\n\n```ts\nimport { User, Profile } from \"./models/index.js\";\n\nconst user = User.create({});\n\n// Saving the association (Pattern 1)\nconst profile = Profile.create({ user });\n\n// Saving the association (Pattern 2)\nuser.profile = Profile.build({});\n\n// Saving the association (Pattern 3)\nuser.update({ profile: Profile.build({}) });\n\n// Retrieving the association\nuser.profile;\n\nprofile.user;\n\n// Deleting the association (Pattern 1)\nuser.profile?.destroy();\n\n// Deleting the association (Pattern 2)\nuser.profile = undefined;\n```\n\n### One-to-Many Relationship\n\n```ts\n// prisma/schema.prisma\nmodel User {\n  id       Int      @id @default(autoincrement())\n  posts    Post[]\n}\n\nmodel Post {\n  id     Int    @id @default(autoincrement())\n  userId Int\n  user   User   @relation(fields: [userId], references: [id])\n}\n```\n\n```ts\nimport { User, Post } from \"./models/index.js\";\n\nconst user = User.create({});\n\n// Saving the association (Pattern 1)\nconst post = Post.create({ user });\n\n// Saving the association (Pattern 2)\nuser.posts.push(Post.build({}));\n\n// Saving the association (Pattern 3)\nuser.posts = [Post.build({})];\n\n// Retrieving the association\nuser.posts.toArray();\n\npost.user;\n\n// Deleting the association (Pattern 1)\nuser.posts.destroy(post);\n\n// Deleting the association (Pattern 2)\npost.destroy();\n```\n\n### Many-to-Many Relationship\n\nIn Prisma schema, there are two ways to define Many-to-Many relationships: explicit and implicit.\n\nFor explicit Many-to-Many relationships, you define an intermediate table.\nIn this case, you would operate in a similar way as the previous One-to-Many relationship.\n\nHere is an example of an implicit Many-to-Many relationship.\n\n```ts\n// prisma/schema.prisma\nmodel User {\n  id     Int     @id @default(autoincrement())\n  groups Group[]\n}\n\nmodel Group {\n  id    Int    @id @default(autoincrement())\n  users User[]\n}\n```\n\n```ts\nimport { User, Group } from \"./models/index.js\";\n\nconst user = User.create({});\nconst group = Group.create({});\n\n// Saving the association (Pattern 1)\nuser.groups.push(group);\n\n// Saving the association (Pattern 2)\nuser.groups = [group];\n\n// Saving the association (Pattern 3)\ngroup.users.push(user);\n\n// Saving the association (Pattern 4)\ngroup.users = [user];\n\n// Retrieving the association\nuser.groups.toArray();\n\ngroup.users.toArray();\n\n// Deleting the association (Pattern 1)\nuser.groups.destroy(group);\n\n// Deleting the association (Pattern 2)\ngroup.users.destroy(user);\n```\n\n## Query Interface\n\n### Model Query Interface\n\nHere are some examples of using the interface to perform queries on models.\nEach method allows you to query the model in a type-safe manner using information generated from the model definition.\nYou can also take advantage of IDE autocompletion.\n\nFor more details, refer to the list of methods in the Relation class.\n\n```ts\nimport { User } from \"./models/index.js\";\n\nUser.where({\n  name: \"John\",\n  age: { \">=\": 18 },\n  email: { endsWith: \"@example.com\" },\n})\n  .order(\"createdAt\", \"desc\")\n  .includes(\"posts\", \"setting\")\n  .offset(10)\n  .limit(10);\n\nUser.where({ name: [\"John\", \"Alice\"] }).exists();\n\nUser.joins(\"profile\").where(\"Profile.name = ?\", \"John\").count();\n\nUser.first()?.posts.destroyAll();\n```\n\nThe model query interface does not currently support features like GROUP BY.\nThis is because these queries have limited benefits from using schema type information.\n\nIf you need to execute queries that cannot be achieved with the model query interface, please use raw SQL or the Knex QueryBuilder explained below.\n\n### Executing Raw SQL Queries\n\nYou can use the `Model.connection.execute()` method to execute raw SQL queries and synchronously retrieve the results.\n\n```ts\nimport { Model } from \"accel-record\";\n\nconst rows = Model.connection.execute(\n  `select firstName, count(id) as cnt\n   from User\n   group by firstName`,\n  []\n);\n\nconsole.log(rows);\n// => [{ firstName: \"John\", cnt: 1 }, { firstName: \"Alice\", cnt: 2 }]\n```\n\n### Executing Queries with Knex QueryBuilder\n\nYou can use Knex to build and execute queries.\nWe have added an `execute()` method to Knex's QueryBuilder, which allows you to execute queries synchronously.\n\nFor more details on the functionality, refer to the following link:\n[Knex Query Builder | Knex.js](https://knexjs.org/guide/query-builder.html)\n\n```ts\nimport { Model } from \"accel-record\";\nimport { User } from \"./models/index.js\";\n\n// You can obtain an instance of Knex with Model.connection.knex.\nconst knex = Model.connection.knex;\nconst rows = knex\n  .select(\"name\", knex.raw(\"SUM(score) as total\"))\n  .from(\"Score\")\n  .groupBy(\"name\")\n  .execute();\n\nconsole.log(rows);\n// => [{ name: \"John\", total: \"1\" }, { name: \"Alice\", total: \"2\" }]\n\n// You can perform queries on the corresponding tables for each model using the queryBuilder property.\nconst rows = User.queryBuilder.select(\"name\").groupBy(\"name\").execute();\n\nconsole.log(rows); // => [{ name: \"John\" }, { name: \"Alice\" }]\n```\n\n## Scopes\n\nYou can define the content of reusable queries as scopes.\n\nTo define a scope, create a static class method on the model and decorate it with `@scope`.\nAfter that, run `prisma generate` to reflect the scopes in the query interface.\n\n```ts\n// src/models/user.ts\n\nimport { scope } from \"accel-record\";\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class UserModel extends ApplicationRecord {\n  @scope\n  static johns() {\n    return this.where({ name: \"John\" });\n  }\n\n  @scope\n  static adults() {\n    return this.where({ age: { \">=\": 20 } });\n  }\n}\n```\n\nWith the above definition, you can use the scopes as follows:\n\n```ts\nimport { User } from \"./models/index.js\";\n\n// Get the count of users with name \"John\" and age greater than or equal to 20\nUser.johns().adults().count(); // => 1\n```\n\n## Flexible Search\n\nUsing the `.search()` method, you can perform object-based flexible searches.\n(The interface is inspired by the Ransack gem.)\n\nSearch parameters are specified as an object with keys representing the field name and search condition combination strings, and values representing the search values.\nYou can include associations in the keys.\nThe search conditions include `eq`, `cont`, `matches`, `lt`, `gte`, `in`, `null`, and more.\nIn addition, modifiers such as `not`, `or`, `and`, `any`, `all` are also available.\nPlease refer to the documentation of the search() method for more details.\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst search = User.search({\n  name_eq: \"John\", // name equals \"John\"\n  age_not_null: 1, // age is not null\n  profile_bio_cont: \"foo\", // related profile's bio contains \"foo\"\n  email_or_name_cont_any: [\"bar\", \"baz\"], // email or name contains \"bar\" or \"baz\"\n});\nconst users = search.result();\n```\n\nAdditionally, you can include the names of searchable scopes defined in the `searchableScopes` array as keys in the search parameters.\n\nFor example, the `bio_cont` scope defined as follows can be used in the search parameters:\n\n```ts\n// src/models/user.ts\n\nimport { scope } from \"accel-record\";\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nclass UserModel extends ApplicationRecord {\n  @scope\n  static bio_cont(value: string) {\n    return this.joins(\"profile\").where({\n      profile: { bio: { contains: value } },\n    });\n  }\n  static searchableScopes = [\"bio_cont\"];\n}\n```\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst search = User.search({ bio_cont: \"foo\" }); // profile's bio contains \"foo\"\nconst users = search.result();\n```\n\n## Testing\n\n### Testing with Vitest\n\nIn Vitest, you prepare a setup file like the following for testing.\n\n```ts\n// tests/vitest.setup.ts\n\nimport { DatabaseCleaner, Migration, initAccelRecord, stopWorker } from \"accel-record\";\nimport path from \"path\";\nimport { fileURLToPath } from \"url\";\n\nimport { getDatabaseConfig } from \"../src/models/index.js\";\n\nconst __dirname = path.dirname(fileURLToPath(import.meta.url));\n\nbeforeAll(async () => {\n  await initAccelRecord({\n    ...getDatabaseConfig(), // type and prismaDir are automatically set based on the schema.prisma file.\n\n    // Vitest usually performs tests in a multi-threaded manner.\n    // To use different databases in each thread, separate the databases using VITEST_POOL_ID.\n    datasourceUrl: `mysql://root:@localhost:3306/accel_test${process.env.VITEST_POOL_ID}`,\n  });\n  // If prismaDir is specified in initAccelRecord, you can execute pending migrations.\n  await Migration.migrate();\n});\n\n// Use DatabaseCleaner in beforeEach and afterEach to clean up the database for each test.\nbeforeEach(async () => {\n  DatabaseCleaner.start();\n});\n\nafterEach(async () => {\n  DatabaseCleaner.clean();\n});\n\n// Call stopWorker in afterAll to stop the synchronous subprocess at the end of the test.\nafterAll(async () => {\n  stopWorker();\n});\n```\n\nBy specifying the above file in the setupFiles of the Vitest configuration file, you can initialize the database before running the tests.\nFor more details, refer to the [Vitest documentation](https://vitest.dev/config/#setupfiles).\n\n```js\n// vitest.config.js\n\nexport default {\n  test: {\n    globals: true,\n    setupFiles: [\"./tests/vitest.setup.ts\"], // Add here\n    // ...\n  },\n  // ...\n};\n```\n\n### Model Factory\n\nTo generate test records, you can use a Factory.  \nPlease refer to [accel-record-factory](https://github.com/koyopro/accella/blob/main/packages/accel-record-factory/README.md) for more details.\n\n```ts\n// tests/factories/user.ts\n\nimport { defineFactory } from \"accel-record-factory\";\nimport { User } from \"../../src/models/index.js\";\n\nexport const UserFactory = defineFactory(User, {\n  firstName: \"John\",\n  lastName: \"Doe\",\n  age: 20,\n});\n\nexport { UserFactory as $User };\n```\n\n```ts\n// tests/user.test.ts\n\nimport { $User } from \"./factories/user\";\n\nconst newUser = $User.build();\nnewUser.firstName; // => \"John\"\nnewUser.lastName; // => \"Doe\"\nnewUser.age; // => 20\n```\n\n## Validation\n\n### Sample Validation\n\nHere is an example of validation for a model.\n\n```ts\n// src/models/user.ts\nimport { validates } from \"accel-record/validations\";\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class UserModel extends ApplicationRecord {\n  static validations = validates(this, [[\"firstName\", { presence: true }]]);\n}\n```\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst user = User.build({ firstName: \"\" });\nuser.isValid(); // => false\nuser.errors.fullMessages(); // => [\"FirstName can't be blank\"]\n\nuser.firstName = \"John\";\nuser.isValid(); // => true\n```\n\n### Validation Execution Timing\n\nWhen using the `save`, `update`, and `create` methods, validation is automatically executed, and the saving process is only performed if there are no errors.\n\n```ts\nimport { User } from \"./models/index.js\";\n\n// If a validation error occurs, save or update will return false.\nconst newUser = User.build({ firstName: \"\" });\nnewUser.save(); // => false\nnewUser.errors.fullMessages(); // => [\"FirstName can't be blank\"]\n\nconst user = User.first()!;\nuser.update({ firstName: \"\" }); // => false\nnewUser.errors.fullMessages(); // => [\"FirstName can't be blank\"]\n\n// If a validation error occurs, create will throw an exception.\nUser.create({ firstName: \"\" }); // => Error: Failed to create\n```\n\n### Validation Definition\n\nYou can define validations by using the `validates()` function and adding a `validations` property to the model class. Alternatively, you can override the `validateAttributes()` method of the BaseModel.\n\n```ts\n// prisma/schema.prisma\nmodel ValidateSample {\n  id       Int     @id @default(autoincrement())\n  accepted Boolean\n  pattern  String\n  key      String\n  count    Int\n  size     String\n}\n```\n\n```ts\n// ./models/validateSample.ts\nimport { Validator } from \"accel-record\";\nimport { validates } from \"accel-record/validations\";\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class ValidateSampleModel extends ApplicationRecord {\n  static validations = validates(this, [\n    // Common validations can be easily written using validation helpers.\n    [\"accepted\", { acceptance: true }],\n    [\n      \"pattern\",\n      {\n        length: { minimum: 2, maximum: 5 },\n        format: { with: /^[a-z]+$/, message: \"only allows lowercase letters\" },\n      },\n    ],\n    [\"size\", { inclusion: { in: [\"small\", \"medium\", \"large\"] } }],\n    [[\"key\", \"size\"], { presence: true }],\n\n    // Example of using a custom validator\n    MyValidator,\n  ]);\n\n  // You can also override the validateAttributes method to define validations.\n  override validateAttributes() {\n    this.validates(\"key\", { uniqueness: true });\n\n    // If you want to perform custom validation logic, use the errors.add method to add error messages.\n    if (this.key && !/^[a-z]$/.test(this.key[0])) {\n      this.errors.add(\"key\", \"should start with a lowercase letter\");\n    }\n  }\n}\n\n// Custom validators inherit from Validator and implement the validate method.\nclass MyValidator extends Validator<{ key: string | undefined }> {\n  validate() {\n    if (this.record.key === \"xs\") {\n      this.errors.add(\"key\", \"should not be xs\");\n    }\n  }\n}\n```\n\n## Callbacks\n\nBy using the `before` and `after` decorators, you can define callbacks in your models to perform actions before or after validation or saving records.\nThe targets for callbacks are `validation`, `save`, `create`, `update`, and `destroy`.\nThe feature is available in environments where Stage 3 decorators, implemented in TypeScript 5.0, are supported.\n\n```ts\n// ./models/callbackSample.ts\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class CallbackSampleModel extends ApplicationRecord {\n  @before(\"save\")\n  beforeSave() {\n    // this method is called before save\n  }\n\n  @after(\"create\")\n  afterCreate() {\n    // this method is called after create\n  }\n}\n```\n\n## Serialization\n\nBy using the `toHash` and `toHashArray` methods, you can convert the model's data into plain objects.\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst userHash = User.first()!.toHash({\n  only: [\"firstName\", \"lastName\"],\n  include: { posts: { only: [\"title\"] } },\n});\nconsole.log(userHash);\n// => { firstName: \"John\", lastName: \"Doe\", posts: [{ title: \"Hello\" }] }\n\nconst usersHashArray = User.all().toHashArray({\n  only: [\"firstName\", \"lastName\"],\n});\nconsole.log(usersHashArray);\n// => [{ firstName: \"John\", lastName: \"Doe\" }, { firstName: \"Alice\", lastName: \"Smith\" }]\n```\n\nBy using the `toJson` method, you can convert the model's data into a JSON string.\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst userJson = User.first()!.toHah({\n  only: [\"firstName\", \"lastName\"],\n  include: { posts: { only: [\"title\"] } },\n});\nconsole.log(userJson);\n// => {\"firstName\":\"John\",\"lastName\":\"Doe\",\"posts\":[{\"title\":\"Hello\"}]}\n\nconst usersJson = User.all().toHashArray({\n  only: [\"firstName\", \"lastName\"],\n});\nconsole.log(usersJson);\n// => [{\"firstName\":\"John\",\"lastName\":\"Doe\"},{\"firstName\":\"Alice\",\"lastName\":\"Smith\"}]\n```\n\n## Bulk Insert\n\nBulk Insert is a feature that allows you to insert multiple records into the database at once. \\\nIn Accel Record, you can use the `import()` method to perform Bulk Insert.\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst users = [\n  User.build({ id: 1, firstName: \"Foo\", lastName: \"Bar\" }),\n  User.build({ id: 2, firstName: \"John\", lastName: \"Doe\" }),\n];\n\nUser.import(users, {\n  onDuplicateKeyUpdate: [\"firstName\", \"lastName\"],\n  validate: \"throw\",\n});\n```\n\n## Transactions\n\nYou can use the `Model.transaction()` method to utilize transactions. By throwing a `Rollback` exception, you can rollback the transaction, and transactions can be nested.\n\n```ts\nimport { Rollback } from \"accel-record\";\nimport { User } from \"./models/index.js\";\n\nUser.transaction(() => {\n  User.create({});\n  console.log(User.count()); // => 1\n\n  User.transaction(() => {\n    User.create({});\n    console.log(User.count()); // => 2\n\n    // The inner transaction is rolled back by throwing a Rollback\n    throw new Rollback();\n  });\n  // The outer transaction is committed\n});\nconsole.log(User.count()); // => 1\n```\n\n## Lock\n\nYou can perform row locking using the `lock()` and `withLock()` methods. (Supported in MySQL and PostgreSQL)\n\n```ts\nimport { User } from \"./models/index.js\";\n\nUser.transaction(() => {\n  const user1 = User.lock().find(1);\n  const user2 = User.lock().find(2);\n\n  user1.point += 100;\n  user2.point -= 100;\n\n  user1.save();\n  user2.save();\n});\n```\n\n```ts\nconst user = User.find(1);\nuser.withLock(() => {\n  user.update({ name: \"bar\" });\n});\n```\n\n## Internationalization (I18n)\n\nWe provide internationalization functionality using [`i18next`](https://www.i18next.com).\n\nYou can reference the translation of model names and attribute names by using the `Model.model_name.human` method and the `Model.human_attribute_name(attribute)` method.\n\n```ts\nimport i18next from \"i18next\";\nimport { User } from \"./models/index.js\";\n\ni18next\n  .init({\n    lng: \"en\",\n    resources: {\n      en: {\n        translation: {\n          \"accelrecord.models.User\": \"User\",\n          \"accelrecord.attributes.User.firstName\": \"First Name\",\n          \"accelrecord.attributes.User.lastName\": \"Last Name\",\n        },\n      },\n    },\n  })\n  .then(() => {\n    console.log(User.modelName.human); // => \"User\"\n    console.log(User.humanAttributeName(\"firstName\")); // => \"First Name\"\n  });\n```\n\n### Translation of Error Messages\n\nValidation error messages are also translatable and can be referenced using the following keys:\n\n```\naccelrecord.errors.models.[ModelName].attributes.[attribute].[messageKey]\naccelrecord.errors.models.[ModelName].[messageKey]\naccelrecord.errors.messages.[messageKey]\nerrors.attributes.[attribute].[messageKey]\nerrors.messages.[messageKey]\n```\n\n```ts\nimport { validates } from \"accel-record/validations\";\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nclass UserModel extends ApplicationRecord {\n  static validations = validates(this, [[\"firstName\", { presence: true }]]);\n}\n```\n\nIn the example above, the translation of the message key `'blank'` will be used for the error message.\n\nIn this example, the following keys will be searched in order, and the first key found will be used:\n\n```\naccelrecord.errors.models.User.attributes.name.blank\naccelrecord.errors.models.User.blank\naccelrecord.errors.messages.blank\nerrors.attributes.name.blank\nerrors.messages.blank\n```\n\n```ts\nimport i18next from \"i18next\";\nimport { User } from \"./models/index.js\";\n\ni18next\n  .init({\n    lng: \"en\",\n    resources: {\n      en: {\n        translation: {\n          \"accelrecord.models.User\": \"User\",\n          \"accelrecord.attributes.User.firstName\": \"First Name\",\n          \"accelrecord.attributes.User.lastName\": \"Last Name\",\n          \"accelrecord.errors.messages.blank\": \"can't be blank\", // Add\n        },\n      },\n    },\n  })\n  .then(() => {\n    const user = User.build({});\n    user.validate();\n    console.log(User.errors.fullMessages);\n    // => [\"First Name can't be blank\"]\n  });\n```\n\nThe message keys corresponding to each validation are as follows:\n\n| Validation   | Option    | Message Key | Interpolation |\n| ------------ | --------- | ----------- | ------------- |\n| acceptance   | -         | 'accepted'  | -             |\n| presence     | -         | 'blank'     | -             |\n| length       | 'minimum' | 'tooShort'  | count         |\n| length       | 'maximum' | 'tooLong'   | count         |\n| uniqueness   | -         | 'taken'     | -             |\n| format       | -         | 'invalid'   | -             |\n| inclusion    | -         | 'inclusion' | -             |\n| numericality | 'equalTo' | 'equalTo'   | count         |\n\nFor those with interpolation set to `count`, that part will be replaced with the value specified in the option when the error message contains `{{count}}`.\n\n### Translation of Enums\n\nYou can define translations for each value of an Enum.\n\n```ts\n// prisma/schema.prisma\n\nenum Role {\n  MEMBER\n  ADMIN\n}\n\nmodel User {\n  /* ... */\n  role Role @default(MEMBER)\n}\n```\n\nYou can use `User.role.options()` to retrieve the translations corresponding to each value of the Enum.\nFor each `User` with a `role`, you can retrieve the translation corresponding to the Enum value using the `roleText` property.\n\n```ts\nimport i18next from \"i18next\";\nimport { User } from \"./models/index.js\";\n\ni18next\n  .init({\n    lng: \"ja\",\n    resources: {\n      ja: {\n        translation: {\n          \"enums.User.Role.MEMBER\": \"Member\",\n          \"enums.User.Role.ADMIN\": \"Admin\",\n        },\n      },\n    },\n  })\n  .then(() => {\n    User.role.options(); // => [[\"Member\", \"MEMBER\"], [\"Admin\", \"ADMIN\"]]\n\n    const user = User.build({});\n    user.role; // => \"MEMBER\"\n    user.roleText; // => \"Member\"\n  });\n```\n\nIn the example of `user.role`, the following keys will be searched in order, and the first key found will be used:\n\n```\nenums.User.Role.MEMBER\nenums.defaults.Role.MEMBER\nenums.Role.MEMBER\n```\n\n## Password Authentication\n\nWe provide a mechanism for securely hashing and authenticating passwords using Bcrypt.\n\nFirst, add a `passwordDigest` field to the model to store the hashed password.\n\n```ts\n// prisma/schema.prisma\nmodel User {\n  ...\n  passwordDigest String // Stores the hash value of the password\n}\n```\n\nNext, use `hasSecurePassword()` to add functionality to the model for hashing and authenticating passwords.\n\n```ts\n// ./models/user.ts\nimport { hasSecurePassword, Mix } from \"accel-record\";\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class UserModel extends Mix(ApplicationRecord, hasSecurePassword()) {}\n```\n\nWith this, you can perform password validation and hashing using the `password` and `passwordConfirmation` fields, and authenticate passwords using the `authenticate()` method.\n\n```ts\nimport { User } from \"./models/index.js\";\n\nconst user = User.build({});\nuser.password = \"\";\nuser.save(); // => false (password can't be blank)\nuser.password = \"myPassword\";\nuser.save(); // => false (password confirmation doesn't match)\nuser.passwordConfirmation = \"myPassword\";\nuser.save(); // => true\n\nuser.authenticate(\"invalid\"); // => false\nuser.authenticate(\"myPassword\"); // => true\n```\n\nYou can customize the field name for storing the password by setting it to something other than `passwordDigest`, and you can manage multiple passwords in the model as well.\n\n```ts\n// ./models/user.ts\nimport { hasSecurePassword, Mix } from \"accel-record\";\nimport { ApplicationRecord } from \"./applicationRecord.js\";\n\nexport class UserModel extends Mix(\n  ApplicationRecord,\n  hasSecurePassword(), // Uses the passwordDigest field\n  hasSecurePassword({ attribute: \"recovery\", validation: false }) // Uses the recoveryDigest field\n) {}\n```\n\n## Form Objects\n\nForm objects are a design pattern that allows you to separate validation and saving logic from regular models. They are used for handling processes that span multiple models or for handling form processing that doesn't correspond to regular models.\nBy inheriting from the `FormModel` class, you can define attributes and perform validations just like regular models, even though the form object is not directly related to a database table.\n\n```ts\nimport { FormModel } from \"accel-record\";\nimport { attributes } from \"accel-record/attributes\";\nimport { validates } from \"accel-record/validations\";\n\nclass MyForm extends FormModel {\n  title = attributes.string();\n  priority = attributes.integer(3);\n  dueDate = attributes.date();\n\n  static validations = validates(this, [\n    [\"title\", { presence: true }],\n    [\"priority\", { numericality: { between: [1, 5] } }],\n  ]);\n\n  save() {\n    if (this.isInvalid()) return false;\n\n    // Perform actions when validation succeeds\n    // Save values to models, etc.\n    // ...\n    return true;\n  }\n}\n```\n\n```ts\n// Receive form input values\nconst myFormParams = { title: \"Task\", priority: \"2\", dueDate: \"2022-12-31\" };\nconst form = MyForm.build(myFormParams);\nif (form.save()) {\n  // Actions to take on successful save\n  /* ... */\n} else {\n  // Actions to take on save failure\n  const errorMessages = form.errors.fullMessages();\n  // Display error messages, etc.\n  /* ... */\n}\n```\n\n## Nullable Values Handling\n\nRegarding nullable values, TypeScript, like JavaScript, has two options: undefined and null. \\\nFor Accel Record, there is no need to use null, and nullable values are consistently represented as undefined.\nThis is mainly to avoid the complexity of mixing null and undefined. \\\nWhile we understand that there are benefits to using undefined and null differently, we prioritize code readability and maintainability by avoiding the complexity of types.\n\n```ts\nimport { User } from \"./models/index.js\";\n\n// Optional fields have undefined as their default value.\nconst newUser = User.build({});\nnewUser.age; // => undefined\n\n// You can also specify undefined to search for records with null values in the database.\nconst user = User.findBy({ age: undefined })!;\n\n// Fields with null values in the database are treated as undefined.\nuser.age; // => undefined\n\n// By specifying undefined for optional fields, you can update the value to null in the database.\nuser.update({ age: undefined });\n```\n\n## Time Zone for DateTime Columns\n\nIn JavaScript, Date values retrieved from DateTime columns will be in the local time zone. The storage format for each database engine is as follows:\n\n### SQLite\n\n- DateTimes are stored as Unix Timestamps in the database. (Usually, there is no need to be aware of time zones)\n\n### MySQL\n\n- By default, the time stored in the database is treated as UTC.\n- You can change this behavior by specifying the timezone when connecting.\n\n```bash\nexport DATABASE_URL=\"mysql://root:@localhost:3306/accel_test?timezone=+09:00\"\n```\n\n### PostgreSQL\n\n- For `timestamp (without time zone)` type, the time stored in the database is treated as the local time zone.\n- If you need to handle times in a time zone other than the local time zone, consider using the `timestamp with time zone` type.\n\n## Future Planned Features\n\n[Accel Record Roadmap](https://github.com/koyopro/accella/issues/1)\n\n## Background of Design and Development\n\nIntroducing articles about the motivation behind the design and development of Accel Record.\n\n- [Introduction to \"Accel Record\": A TypeScript ORM Using the Active Record Pattern](https://dev.to/koyopro/introduction-to-accel-record-a-typescript-orm-using-the-active-record-pattern-2oeh)\n- [Seeking a Type-Safe Ruby on Rails in TypeScript, I Started Developing an ORM](https://dev.to/koyopro/seeking-a-type-safe-ruby-on-rails-in-typescript-i-started-developing-an-orm-1of5)\n- [Why We Adopted a Synchronous API for the New TypeScript ORM](https://dev.to/koyopro/why-we-adopted-a-synchronous-api-for-the-new-typescript-orm-1jm)\n- [Even Server-Side TypeScript Needs the Option to Avoid Asynchronous Processing](https://dev.to/koyopro/even-server-side-typescript-needs-the-option-to-avoid-asynchronous-processing-1opm)\n","readmeFilename":"README.md"}