diff --git a/packages/zod-nestjs/src/lib/create-zod-dto.spec.ts b/packages/zod-nestjs/src/lib/create-zod-dto.spec.ts index 03deaf5..9eb4961 100644 --- a/packages/zod-nestjs/src/lib/create-zod-dto.spec.ts +++ b/packages/zod-nestjs/src/lib/create-zod-dto.spec.ts @@ -85,7 +85,7 @@ describe('zod-nesjs create-zod-dto', () => { const generatedSchema = metadataFactory(); expect(generatedSchema).toBeDefined(); - expect(generatedSchema?.name.type).toEqual(['string']); + expect(generatedSchema?.name.type).toEqual('string'); expect(generatedSchema?.name.nullable).toBe(true); }); diff --git a/packages/zod-nestjs/src/lib/create-zod-dto.ts b/packages/zod-nestjs/src/lib/create-zod-dto.ts index 77152cd..9ef0f89 100644 --- a/packages/zod-nestjs/src/lib/create-zod-dto.ts +++ b/packages/zod-nestjs/src/lib/create-zod-dto.ts @@ -104,14 +104,12 @@ export const createZodDto = ( // @nestjs/swagger expects OpenAPI 3.0-style schema objects // Nullable - if (Array.isArray(convertedSchemaObject.type)) { - const nullTypeIndex = convertedSchemaObject.type.findIndex( - (type) => type === 'null' + if (Array.isArray(schemaObject.type)) { + convertedSchemaObject.type = schemaObject.type.find( + (t) => t !== 'null' ); - if (nullTypeIndex > -1) { - convertedSchemaObject.type.splice(nullTypeIndex, 1); - convertedSchemaObject.nullable = true; - } + convertedSchemaObject.nullable = + schemaObject.type.includes('null') || undefined; } // Exclusive minimum and maximum const { exclusiveMinimum, exclusiveMaximum } = schemaObject;