From 82e0d4ecb7c6ce0730edb6c1fe9dede85fc89522 Mon Sep 17 00:00:00 2001 From: Luis Rudge Date: Thu, 25 Jan 2024 12:39:26 -0700 Subject: [PATCH] fix: fix decimal import, fix BigInt generation, fix example folder --- .gitignore | 3 +- LICENSE.md | 2 +- bun.lockb | Bin 274669 -> 239984 bytes example/package.json | 3 +- example/prisma/fake-data.ts | 12 +- example/prisma/schema.prisma | 4 +- example/yarn.lock | 110 +++++++++++++++++ .../__snapshots__/createMethods.test.ts.snap | 112 ++++++++++-------- src/__tests__/createMethods.test.ts | 16 ++- src/__tests__/sample.prisma | 3 +- src/helpers/createMethods.ts | 34 +++--- src/utils/generatorUtils.ts | 6 +- 12 files changed, 227 insertions(+), 78 deletions(-) diff --git a/.gitignore b/.gitignore index 88edcf7..83bbcb7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ node_modules yarn-error.log build pnpm-debug.log -.env* \ No newline at end of file +.env* +example/prisma/fake-data.ts \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index a5d7f10..75bb06a 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -17,4 +17,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/bun.lockb b/bun.lockb index bcbb6466c7524856de2a5e787b73463883fb6106..ec5246e9fd449a4913a8d5b2eb2ce1688097b549 100755 GIT binary patch delta 50927 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 delta 71102 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 seW5Kmew6N`sY_$@k1D(r6~m { test('createMethods with default clientImportPath', async () => { const sampleDMMF = await getSampleDMMF(); expect( - await createMethods(sampleDMMF.datamodel, undefined, undefined, 'null', undefined), + await createMethods( + sampleDMMF.datamodel, + undefined, + undefined, + 'null', + undefined, + ), ).toMatchSnapshot(); }); test('createMethods with custom clientImportPath', async () => { const sampleDMMF = await getSampleDMMF(); expect( - await createMethods(sampleDMMF.datamodel, undefined, undefined, 'null', './src/generated/client'), + await createMethods( + sampleDMMF.datamodel, + undefined, + undefined, + 'null', + './src/generated/client', + ), ).toMatchSnapshot(); }); diff --git a/src/__tests__/sample.prisma b/src/__tests__/sample.prisma index 942e65d..3368d53 100644 --- a/src/__tests__/sample.prisma +++ b/src/__tests__/sample.prisma @@ -49,7 +49,8 @@ model User { nullableEnum Enum? relation UserRelation? @relation(name: "UserRelationToUser1") relation2 UserRelation? @relation(name: "UserRelationToUser2") - enums Enum[] @default([A, B]) + enums Enum[] + enumsWithDefault Enum[] @default([A, B]) } model User2 { diff --git a/src/helpers/createMethods.ts b/src/helpers/createMethods.ts index a9bac38..0c87298 100644 --- a/src/helpers/createMethods.ts +++ b/src/helpers/createMethods.ts @@ -14,9 +14,7 @@ function getFieldDefinition( if (field.isId) { return `${field.name}: ${ - field.type === 'String' - ? 'faker.string.uuid()' - : 'faker.number.int()' + field.type === 'String' ? 'faker.string.uuid()' : 'faker.number.int()' }`; } if (field.hasDefaultValue) { @@ -27,10 +25,11 @@ function getFieldDefinition( logger.warn( `Enum ${enumName} has no enum values. Field ${field.name} won't be generated.`, ); - } - else { - const defaults = field.default.map((d) => `${enumName}.${d}`).join(', '); - return `${field.name}: [${defaults}]`; + } else { + const defaults = (field.default as DMMF.FieldDefaultScalar[]) + ?.map((d) => `${enumName}.${d}`) + .join(', '); + return `${field.name}: [${defaults}]`; } } if (field.isList) { @@ -42,13 +41,16 @@ function getFieldDefinition( if (field.kind === 'enum') { return `${field.name}: ${field.type}.${field.default}`; } - - if (['Int', 'BigInt', 'Float', 'Boolean'].includes(field.type)) { + + if (['Int', 'Float', 'Boolean'].includes(field.type)) { return `${field.name}: ${field.default}`; } if (['Decimal'].includes(field.type)) { return `${field.name}: new Decimal(${field.default})`; } + if (['BigInt'].includes(field.type)) { + return `${field.name}: BigInt(${field.default})`; + } if (['String'].includes(field.type)) { return `${field.name}: '${field.default}'`; } @@ -75,9 +77,7 @@ function getFieldDefinition( } if (model.fields.some((it) => it.relationFromFields?.includes(field.name))) { return `${field.name}: ${ - field.type === 'String' - ? 'faker.string.uuid()' - : 'faker.number.int()' + field.type === 'String' ? 'faker.string.uuid()' : 'faker.number.int()' }`; } if (field.type === 'String') { @@ -104,7 +104,7 @@ function getFieldDefinition( } return `${field.name}: faker.lorem.words(5)`; } - if (field.type === 'Int' || field.type === 'BigInt') { + if (field.type === 'Int') { if (field.isList) { return `${field.name}: [faker.number.int(),faker.number.int(),faker.number.int(),faker.number.int(),faker.number.int()]`; } @@ -113,6 +113,12 @@ function getFieldDefinition( } return `${field.name}: faker.number.int()`; } + if (field.type === 'BigInt') { + if (field.isList) { + return `${field.name}: [BigInt(faker.number.int()),BigInt(faker.number.int()),BigInt(faker.number.int()),BigInt(faker.number.int()),BigInt(faker.number.int())]`; + } + return `${field.name}: BigInt(faker.number.int())`; + } if (field.type === 'Float') { if (field.isList) { return `${field.name}: [faker.number.float(),faker.number.float(),faker.number.float(),faker.number.float(),faker.number.float()]`; @@ -176,7 +182,7 @@ export async function createMethods( const enumNames = enums.map((it) => it.name).join(', '); return await `import { ${enumNames} } from '${clientImportPath}'; import { faker } from '@faker-js/faker'; -import Decimal from 'decimal.js; +import Decimal from 'decimal.js'; ${extraImport || ''} ${extraExport || ''} diff --git a/src/utils/generatorUtils.ts b/src/utils/generatorUtils.ts index 9e92618..3c6de4c 100644 --- a/src/utils/generatorUtils.ts +++ b/src/utils/generatorUtils.ts @@ -1,5 +1,9 @@ import { GeneratorOptions } from '@prisma/generator-helper'; export function extractClientPath(options: GeneratorOptions) { - return options.otherGenerators.find((g) => g?.provider?.value === 'prisma-client-js')?.output?.value || undefined; + return ( + options.otherGenerators.find( + (g) => g?.provider?.value === 'prisma-client-js', + )?.output?.value || undefined + ); }