{"_id":"@aomex/prisma-to-validator","_rev":"5-9d00b66ebf8f8d4f06ffee6ce3b54b3e","name":"@aomex/prisma-to-validator","dist-tags":{"latest":"0.0.4"},"versions":{"0.0.1":{"name":"@aomex/prisma-to-validator","version":"0.0.1","license":"MIT","_id":"@aomex/prisma-to-validator@0.0.1","maintainers":[{"name":"fwh1990","email":"fanwenhua1990@gmail.com"}],"homepage":"https://aomex.js.org","bugs":{"url":"https://github.com/aomex/aomex/issues"},"bin":{"prisma-to-aomex-validator":"dist/bin.js"},"dist":{"shasum":"633366ecd92da54ca16be49eca037ecdb98be23f","tarball":"https://registry.npmjs.org/@aomex/prisma-to-validator/-/prisma-to-validator-0.0.1.tgz","fileCount":10,"integrity":"sha512-aGXrb2URwBQyxNN2GYyngLiWmpPnL0WvBK+m1eyc/MUbDtYSwO79M/1USP8wzaJId0w5eSNsbJ2bb2cvKqqamQ==","signatures":[{"sig":"MEQCIDAY+CGWAbs8+zav5a/R0UaCboVwaHEo7uHaoX0H3AwAAiBG2n4pQ7V1R1gUL6xty/uQjltv448NHAO0v9LNzk+Ucw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24050,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJrMAACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq8LQ//YWJacbovQOA60+pOLP8ad8o9217oMyeHRZ6DUOjNUNqYaVJH\r\nfh1Wuz94DZJGYFu8lZmWBcXuxYEjOvyfZZAVvxIriRCfRE6walRxqzdvDYrz\r\ndOKD5l+wAjZTGTsnZNCw3yJyvc5gkaFrC57syt26xs/IwMyIxq3hqXZL+jm5\r\nwo9891AussRhu0H6KZMHhStGMYc+LimKNhV9zzfRL/5vyrSz20mY3EY3Nx8z\r\nZBNVt0si0QTUOvEaEdLafxZMOQ41hxV+rxGuplZU2qr3fTn65vDoYgydy63W\r\n5NYDbIP6C+Zlv4bLc3bNYa2yr1WBt/0K5V+djKC8jRCoukYAzwd1Ro/4xDmE\r\npiFlHNRqWx4oQXEw1/9WYVuHGtj30zyVurtZ930IgkL2UPE3eciVaejPeIVP\r\nFJzAv+lANB8gWn+Ce6gs+XPriC9T30ei3x5ec/vKmObhPO8unEVOZ/Mnos69\r\nxw6EJmYIMt+7OZTC7aimfscAENC2xvrg/sgPmQ1THVcaLW2drLEau+ZLMA5B\r\nt5fGMgQHYiUSIAgdpwOm+kvYe3Js2C9hg1sEB3k9Jq1Z9bm97ic2MHDC2WGr\r\nedXR+GIxfVUIwlGxmpSVwJ1LKrf4B/IFfrOI0f//QdAt/UFznVzDYdxFa+cH\r\noPcy9AfmPd4WS/TxSUn58JrTnuwlH6jrEjc=\r\n=4/wz\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","_from":"file:aomex-prisma-to-validator-0.0.1.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{},"_npmUser":{"name":"fwh1990","email":"fanwenhua1990@gmail.com"},"_resolved":"/tmp/7fd2cc6783f648c54f468057e951954d/aomex-prisma-to-validator-0.0.1.tgz","_integrity":"sha512-aGXrb2URwBQyxNN2GYyngLiWmpPnL0WvBK+m1eyc/MUbDtYSwO79M/1USP8wzaJId0w5eSNsbJ2bb2cvKqqamQ==","repository":{"url":"git+ssh://git@github.com/aomex/aomex.git","type":"git"},"_npmVersion":"8.19.3","description":"Generate validators from prisma","directories":{},"sideEffects":false,"_nodeVersion":"18.13.0","dependencies":{"prettier":"^2.8.7","lodash.omit":"^4.5.0","lodash.pick":"^4.4.0","lodash.camelcase":"^4.3.0","lodash.upperfirst":"^4.3.1","@types/lodash.omit":"^4.5.7","@types/lodash.pick":"^4.4.7","@prisma/generator-helper":"^4.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^4.12.0","@aomex/core":"^0.0.15","read-pkg-up":"^9.1.0","@types/prettier":"^2.7.2","@prisma/internals":"^4.12.0","@types/lodash.camelcase":"^4.3.7","@types/lodash.upperfirst":"^4.3.7"},"peerDependencies":{"@aomex/core":"^0.0.15"},"_npmOperationalInternal":{"tmp":"tmp/prisma-to-validator_0.0.1_1680257792579_0.8464906261319038","host":"s3://npm-registry-packages"}},"0.0.2":{"name":"@aomex/prisma-to-validator","version":"0.0.2","license":"MIT","_id":"@aomex/prisma-to-validator@0.0.2","maintainers":[{"name":"fwh1990","email":"fanwenhua1990@gmail.com"}],"homepage":"https://aomex.js.org","bugs":{"url":"https://github.com/aomex/aomex/issues"},"bin":{"prisma-to-aomex-validator":"dist/bin.js"},"dist":{"shasum":"b3195f99725edf89d6573200447f208aa14940f3","tarball":"https://registry.npmjs.org/@aomex/prisma-to-validator/-/prisma-to-validator-0.0.2.tgz","fileCount":10,"integrity":"sha512-mReMdu6BQ70H8QVndRn4AdC2yE0iq1peKhz9jC1n02qqeZFnjRrmRjG8ZmPnsB9B0Lz9UNB0xbJv+aL1cWrrNA==","signatures":[{"sig":"MEUCIDNdkXEovwDReV7Uld0J66a3lBTfV6OA2go9kP8929ghAiEAtbT8Fjj1ZaTedxg1vNqYHarpMlcatznoHzu0dOgOnrE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24739,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJsDbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpkIQ/7BBnyoX7zSjIVEIGw1scgY4NFRI2JaGQcp/iA5N+uZFDsLAGk\r\nf2VEJPLhtpS/EVJOrsLgl+06/42w52MbnpJFYIeA9IshpIg8nQy+87mhwrRr\r\njj/tUIOmMkiEgpLQByZGjZa/NsLRWvjtWTgymH98uxoJyWpVThg7Fw5yV9Ot\r\n3hl2gsVdSzY8Pcq5iBVlW/YjYKT05N5mAkPdxKxn1bNRhdIU9BZKqUmhabAn\r\nXHEpLJeRiXPxvnOmzqxYtu9+ohz2+DhbsOWquKLRw6mswesRB4Xk3m1CSsi2\r\nchyu0S/MjfQAuvyD23Ua15n2Ljlrt5vJS1EJmwL8HBsWCY7finJi97hKm7uv\r\ngdw4OpcxL69nW1pM16QykD6LHH2POK5DFzYmrMsDJm3dEUyZhTS0RruQhgsz\r\nrSXoYW0kbop/AV+qnf+w/bEdFRuqHSxRQAw0CJ5kkrqXPRxaumxR0VwAMMNq\r\nv8vWHUHgB9Ih6JXm9RJIhx1Ew9EblMEStnhrbWv06LUudckd86lMrsLCokJl\r\npeqsOCPv7jB9BIUUsPllV5sYnUZgc9KG3vjDAxzstuC97YBEb6nOlXDNtljA\r\n7+gs3P22x/UijO1H09uswpjOJNI3CLnZ2L5y/O73mXAJGAoomqk8n6Yb+Rfq\r\nBK87fFqftnG01VL4uA9AdaieyNNX8+7ZqoU=\r\n=M3vr\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","_from":"file:aomex-prisma-to-validator-0.0.2.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{},"_npmUser":{"name":"fwh1990","email":"fanwenhua1990@gmail.com"},"_resolved":"/tmp/8080c04444b3dc6d19d1f0f33b3f59eb/aomex-prisma-to-validator-0.0.2.tgz","_integrity":"sha512-mReMdu6BQ70H8QVndRn4AdC2yE0iq1peKhz9jC1n02qqeZFnjRrmRjG8ZmPnsB9B0Lz9UNB0xbJv+aL1cWrrNA==","repository":{"url":"git+ssh://git@github.com/aomex/aomex.git","type":"git"},"_npmVersion":"8.19.3","description":"Generate validators from prisma","directories":{},"sideEffects":false,"_nodeVersion":"18.13.0","dependencies":{"prettier":"^2.8.7","lodash.omit":"^4.5.0","lodash.pick":"^4.4.0","lodash.camelcase":"^4.3.0","lodash.upperfirst":"^4.3.1","@types/lodash.omit":"^4.5.7","@types/lodash.pick":"^4.4.7","@prisma/generator-helper":"^4.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^4.12.0","@aomex/core":"^0.0.15","read-pkg-up":"^9.1.0","@types/prettier":"^2.7.2","@prisma/internals":"^4.12.0","@types/lodash.camelcase":"^4.3.7","@types/lodash.upperfirst":"^4.3.7"},"peerDependencies":{"@aomex/core":"^0.0.15"},"_npmOperationalInternal":{"tmp":"tmp/prisma-to-validator_0.0.2_1680261339712_0.7526878102767585","host":"s3://npm-registry-packages"}},"0.0.3":{"name":"@aomex/prisma-to-validator","version":"0.0.3","license":"MIT","_id":"@aomex/prisma-to-validator@0.0.3","maintainers":[{"name":"fwh1990","email":"fanwenhua1990@gmail.com"}],"homepage":"https://aomex.js.org","bugs":{"url":"https://github.com/aomex/aomex/issues"},"bin":{"prisma-to-aomex-validator":"dist/bin.js"},"dist":{"shasum":"3665109e54a7ec53eaf49d463285e891e3b2401e","tarball":"https://registry.npmjs.org/@aomex/prisma-to-validator/-/prisma-to-validator-0.0.3.tgz","fileCount":10,"integrity":"sha512-jjuS6Dc8WdA7W690HvAsP+l9TO75ImgUufluq8Q1WEorsI8670tOBRV2s06IBUoLs7lAOHe0EaWNq8/0dNLeMQ==","signatures":[{"sig":"MEUCIF1XAnwAG1PL+zRHNDCMurcT+I8UuWEz/4r5QYHmNwqPAiEAi75/mAXsNAa2qbY1jmPgf2LnktwyQbfUdK5+HDuonfI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":26341,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkKP2jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmol6w//c0EUp5f8sSu6Xbwv0m9F0xycDNdR1UlRuGK21UzU0350DKCO\r\nkoIUFr4AjcJqcjXAUX+TaPdphsxKetAtapauPSmyoe4SJPriEq9bOb5uNf1j\r\nVQlITflX/ntxz0UpFwIpDRr1heKsfNZe/8M4i2mlNJbFaerQmYJpF9N0O/CT\r\nwcfE+ESF+D+K6GIzUyQTV0knBNhWsRKc4yYYvPTp58hCWnXeqGXaRtXYixoF\r\neyptfH7g60/knpYAyxLip6jhu1ayhu44REzKnQAZEeG0dGihlgNHmhvd6ANB\r\nY6TAnfwq97IJ7L+H/a0Mx81xMAiYLBzrIb1iMU/wX7vfTuhcCm4rBWCzgJLg\r\nVDSZFYVrY53iCLYuSEDWC7GxxmOwu9BP4tNBcYlLveNeyL/Zbr4qYEsDzY70\r\nXY4mYuvXS2jdhkVgD/yzZSBmEY2seZli/pHufjKH1VwY5uG1If0e/nwUYZ7d\r\n03n35+XBQsKlFELczACFlWgnEE+AWQNfNVHjKYVT2CubMuPh1IKIk0rw+TcQ\r\n7FCdDlXHvzvYPCoMHCt8LsF6ES1Cr+/XJPSFIu42+ARI75VLE04K24LYcUBF\r\n1yjVMQz4t2GY8JR+Mo3SKj8SwcI/yrTSkbA3ghU5sckvLCWipFIGBnaulTPE\r\nTsNS2HxLSrvxp4DYMGrD5s5oWi8a4Be7uQY=\r\n=VQsj\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","_from":"file:aomex-prisma-to-validator-0.0.3.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{},"_npmUser":{"name":"fwh1990","email":"fanwenhua1990@gmail.com"},"_resolved":"/tmp/5b7038f2141e8a77e9c07324fae3af4e/aomex-prisma-to-validator-0.0.3.tgz","_integrity":"sha512-jjuS6Dc8WdA7W690HvAsP+l9TO75ImgUufluq8Q1WEorsI8670tOBRV2s06IBUoLs7lAOHe0EaWNq8/0dNLeMQ==","repository":{"url":"git+ssh://git@github.com/aomex/aomex.git","type":"git"},"_npmVersion":"8.19.2","description":"Generate validators from prisma","directories":{},"sideEffects":false,"_nodeVersion":"18.12.0","dependencies":{"prettier":"^2.8.7","lodash.omit":"^4.5.0","lodash.pick":"^4.4.0","lodash.camelcase":"^4.3.0","lodash.upperfirst":"^4.3.1","@types/lodash.omit":"^4.5.7","@types/lodash.pick":"^4.4.7","@prisma/generator-helper":"^4.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^4.12.0","@aomex/core":"^0.0.16","read-pkg-up":"^9.1.0","@types/prettier":"^2.7.2","@prisma/internals":"^4.12.0","@types/lodash.camelcase":"^4.3.7","@types/lodash.upperfirst":"^4.3.7"},"peerDependencies":{"@aomex/core":"^0.0.16"},"_npmOperationalInternal":{"tmp":"tmp/prisma-to-validator_0.0.3_1680407971450_0.712850633256936","host":"s3://npm-registry-packages"}},"0.0.4":{"name":"@aomex/prisma-to-validator","version":"0.0.4","license":"MIT","_id":"@aomex/prisma-to-validator@0.0.4","maintainers":[{"name":"fwh1990","email":"fanwenhua1990@gmail.com"}],"homepage":"https://aomex.js.org","bugs":{"url":"https://github.com/aomex/aomex/issues"},"bin":{"prisma-to-aomex-validator":"dist/bin.js"},"dist":{"shasum":"0bcbf44de7e2a329fd7af8327f804ef5fb1c11bf","tarball":"https://registry.npmjs.org/@aomex/prisma-to-validator/-/prisma-to-validator-0.0.4.tgz","fileCount":9,"integrity":"sha512-2e1UnVxJtZw3ubSyMOqR7jQmxttUS/vGoVh1y4xBcEd3udxk2+5ccqGzNjhCXoC7upO1qEtAQE6yF45mXIujng==","signatures":[{"sig":"MEQCICaboHnKszkhg6ROowFQ7OPa1JIMB5njoYSt58FRChJ7AiBpwu1cawK1LsrREe2g24aCGwycMJu/meTCLl0ZV9ouQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":27628,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkLCErACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpSDhAAhEfCJ0O+No/mUBo9bm2FpfFOS7uAJQ9wmNJeNrQy6/3a9ahN\r\nIlAK7W7hFI8l222zE5n3eeZ/IFUzSgKOSm1aBp3lzCN6gGSTouetpYjAwlOr\r\nc25yDeZhrZlFBJy4uZxP+wpkq2ZpiVO2gzgkZs1oOxmgEIlDUKtQhbVjkkTt\r\ndmsfPWwM2o2N4z+rsCSUYIG6nne0O4blruYSm8QR66jw6944OpIsyqRwKnjt\r\n1IuRIO0L33K0MSJcMurXl6dSXWnu5KJAIEy7cTnInCJVAwomoZtldNZPnlQK\r\neX2TrqZUFP/W69i5SXfyvqW0bwO8dOwQVpaD1FQz2hXAlUCpmzBO52o6lVA+\r\n4o6F/iGeCzzmWAA4fhxBuuKZjVmrxZfMyuPg33VIJOHYOu9PP6hg+N9+9Nou\r\na7R00L4dkEzBLi+J/xlSMrB9uF+y/IwA2np9sLCXvwU9maP35bWhm/tBFQ7r\r\ncvYxGKBiE5KkZvdq4dxppTXeH8WGpB9MFUuPD1GW21oCbQKO2V8EvUp1e624\r\ntCXFcDwHog7T/+LOFa8rUXWRL2eu5S4JIyUrMAD2+LAAZTR8C22MHEwWnWHt\r\n6O1//WyYDWyI7DB/+uxxDZXVMjBkLWBSxPuVAdLPah0F2VgWW2GLoSOKhYY6\r\njXKd13gPD+av+3hTvc2ZATJeE4A5Jos4GIA=\r\n=Wu/H\r\n-----END PGP SIGNATURE-----\r\n"},"type":"module","_from":"file:aomex-prisma-to-validator-0.0.4.tgz","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"scripts":{"test":"vitest"},"_npmUser":{"name":"fwh1990","email":"fanwenhua1990@gmail.com"},"_resolved":"/tmp/9e0d87a32a873ec32bf77a16439a45b0/aomex-prisma-to-validator-0.0.4.tgz","_integrity":"sha512-2e1UnVxJtZw3ubSyMOqR7jQmxttUS/vGoVh1y4xBcEd3udxk2+5ccqGzNjhCXoC7upO1qEtAQE6yF45mXIujng==","repository":{"url":"git+ssh://git@github.com/aomex/aomex.git","type":"git"},"_npmVersion":"8.19.2","description":"Generate validators from prisma","directories":{},"sideEffects":false,"_nodeVersion":"18.12.0","dependencies":{"prettier":"^2.8.7","lodash.omit":"^4.5.0","lodash.pick":"^4.4.0","lodash.camelcase":"^4.3.0","lodash.upperfirst":"^4.3.1","@types/lodash.omit":"^4.5.7","@types/lodash.pick":"^4.4.7","@prisma/generator-helper":"^4.12.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"prisma":"^4.12.0","@aomex/core":"^0.0.17","read-pkg-up":"^9.1.0","@types/prettier":"^2.7.2","@prisma/internals":"^4.12.0","@types/lodash.camelcase":"^4.3.7","@types/lodash.upperfirst":"^4.3.7"},"peerDependencies":{"@aomex/core":"^0.0.17"},"_npmOperationalInternal":{"tmp":"tmp/prisma-to-validator_0.0.4_1680613675058_0.6847170121094124","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-03-31T10:16:32.498Z","modified":"2024-08-10T13:59:42.028Z","0.0.1":"2023-03-31T10:16:32.719Z","0.0.2":"2023-03-31T11:15:39.853Z","0.0.3":"2023-04-02T03:59:31.637Z","0.0.4":"2023-04-04T13:07:55.290Z"},"bugs":{"url":"https://github.com/aomex/aomex/issues"},"license":"MIT","homepage":"https://aomex.js.org","repository":{"url":"git+ssh://git@github.com/aomex/aomex.git","type":"git"},"description":"Generate validators from prisma","maintainers":[{"email":"geekacting@gmail.com","name":"geekact"}],"readme":"# Installation\n\n```bash\npnpm add @aomex/prisma-to-validator\n```\n\n# Tested engines\n\n- mysql\n- postgresql\n- mongodb\n- sqlite\n\n# Generator\n\n1. Inject to File `prisma/schema.prisma`\n\n```diff\ndatasource db {\n  provider = \"mysql\"\n  url      = env(\"DATABASE_URL\")\n}\n\ngenerator client {\n  provider = \"prisma-client-js\"\n}\n\n+ generator aomex {\n+   provider = \"prisma-to-aomex-validator\"\n+ }\n\nmodel user {\n  id    Int  @id @default(autoincrement())\n  name  String\n  age   Int?\n}\n\n```\n\n2. Execute in terminal\n\n```bash\nnpx prisma generate\n```\n\n3. See output\n\n```typescript\n// File: node_modules/@aomex/prisma-to-validator/dist/index.js\nexport const UserModel = {\n  /**\n   * Original: `Int`\n   *\n   * Runtime: `rule.int()`\n   */\n  id: rule.int(),\n  /**\n   * Original: `String`\n   *\n   * Runtime: `rule.string()`\n   */\n  name: rule.string(),\n  /**\n   * Original: `Int?`\n   *\n   * Runtime: `rule.int().nullable()`\n   */\n  age: rule.int().nullable(),\n};\n\n// File: node_modules/@aomex/prisma-to-validator/dist/index.d.ts\nexport declare const UserModel: {\n  /**\n   * Original: `Int`\n   *\n   * Runtime: `rule.int()`\n   */\n  id: IntValidator<number>;\n  /**\n   * Original: `String`\n   *\n   * Runtime: `rule.string()`\n   */\n  name: StringValidator<string>;\n  /**\n   * Original: `Int?`\n   *\n   * Runtime: `rule.int().nullable()`\n   */\n  age: IntValidator<number | null>;\n};\n```\n\n# Import generated models\n\n```typescript\nimport { UserModel, pick, omit } from '@aomex/prisma-to-validator';\n\n// IntValidator<number>\nconst ruleId = UserModel.id;\n\n// { id: IntValidator<number>; name: StringValidator<string> }\nconst sub1 = pick(UserModel, 'id', 'name');\n\n// { id: IntValidator<number>; age: IntValidator<number | null>; }\nconst sub2 = omit(UserModel, 'name');\n```\n","readmeFilename":"README.md"}