diff --git a/packages/reflection/src/TsMorphMetadataProvider.ts b/packages/reflection/src/TsMorphMetadataProvider.ts index e6c932fef45a..71b8a796e604 100644 --- a/packages/reflection/src/TsMorphMetadataProvider.ts +++ b/packages/reflection/src/TsMorphMetadataProvider.ts @@ -120,6 +120,10 @@ export class TsMorphMetadataProvider extends MetadataProvider { .replace(/\[]$/, '') // remove array suffix .replace(/\((.*)\)/, '$1'); // unwrap union types + if (prop.array && !type.endsWith('[]') && !type.includes(' | ')) { + type += '[]'; + } + return { type, optional }; }