diff --git a/packages/dts-test/setupHelpers.test-d.ts b/packages/dts-test/setupHelpers.test-d.ts index 77342590dc6..882e5f2ef0c 100644 --- a/packages/dts-test/setupHelpers.test-d.ts +++ b/packages/dts-test/setupHelpers.test-d.ts @@ -107,6 +107,7 @@ describe('defineProps w/ generic type declaration + withDefaults', (res.generic1) expectType<{ x: T }>(res.generic2) diff --git a/packages/runtime-core/src/apiSetupHelpers.ts b/packages/runtime-core/src/apiSetupHelpers.ts index c00937981d9..308b27ef8f1 100644 --- a/packages/runtime-core/src/apiSetupHelpers.ts +++ b/packages/runtime-core/src/apiSetupHelpers.ts @@ -297,8 +297,8 @@ type PropsWithDefaults< T, Defaults extends InferDefaults, BKeys extends keyof T -> = Omit & { - [K in keyof Defaults]-?: K extends keyof T +> = Readonly> & { + readonly [K in keyof Defaults]-?: K extends keyof T ? Defaults[K] extends undefined ? T[K] : NotUndefined