From 52b29df347baae71e61c4f8210fdcc6e94ebcd23 Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 6 Oct 2025 08:02:39 +0000 Subject: [PATCH 1/2] fix: literal function arguments with `@default()` --- packages/sdk/src/ts-schema-generator.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/sdk/src/ts-schema-generator.ts b/packages/sdk/src/ts-schema-generator.ts index 75c0f44a..78ba40e0 100644 --- a/packages/sdk/src/ts-schema-generator.ts +++ b/packages/sdk/src/ts-schema-generator.ts @@ -507,7 +507,9 @@ export class TsSchemaGenerator { ...(defaultValue.args.length > 0 ? [ ts.factory.createArrayLiteralExpression( - defaultValue.args.map((arg) => this.createLiteralNode(arg)), + defaultValue.args.map((arg) => this.createExpressionUtilsCall('literal', [ + this.createLiteralNode(arg) + ])), ), ] : []), From 7aa8d56d57b0e9ace78cf155884aae3db94a72d3 Mon Sep 17 00:00:00 2001 From: = <=> Date: Mon, 6 Oct 2025 08:03:37 +0000 Subject: [PATCH 2/2] Add test. --- packages/cli/test/ts-schema-gen.test.ts | 62 +++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/packages/cli/test/ts-schema-gen.test.ts b/packages/cli/test/ts-schema-gen.test.ts index 18c1e7d9..d29a0c5c 100644 --- a/packages/cli/test/ts-schema-gen.test.ts +++ b/packages/cli/test/ts-schema-gen.test.ts @@ -360,4 +360,66 @@ model User extends Base { expect(schema.enums).toMatchObject({ Role: expect.any(Object) }); expect(schema.models).toMatchObject({ User: expect.any(Object) }); }); + + it('generates correct default literal function arguments', async () => { + const { schema } = await generateTsSchema(` +model User { + id String @id @default(uuid(7)) +} + `); + + expect(schema.models).toMatchObject({ + User: { + name: "User", + fields: { + id: { + name: "id", + type: "String", + id: true, + attributes: [ + { + name: "@id" + }, + { + name: "@default", + args: [ + { + name: "value", + value: { + kind: "call", + function: "uuid", + args: [ + { + kind: "literal", + value: 7 + } + ] + } + } + ] + } + ], + default: { + kind: "call", + function: "uuid", + args: [ + { + kind: "literal", + value: 7 + } + ] + } + } + }, + idFields: [ + "id" + ], + uniqueFields: { + id: { + type: "String" + } + } + } + }); + }); });