From: Evan You Date: Wed, 5 Apr 2023 09:18:11 +0000 (+0800) Subject: fix(types): improve defineProps return type with generic arguments X-Git-Tag: v3.3.0-alpha.9~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=91a931ae8707b8d43f10216e1ce8e18b12158f99;p=thirdparty%2Fvuejs%2Fcore.git fix(types): improve defineProps return type with generic arguments --- diff --git a/packages/runtime-core/src/apiSetupHelpers.ts b/packages/runtime-core/src/apiSetupHelpers.ts index 1927d13bbd..1c60416c6e 100644 --- a/packages/runtime-core/src/apiSetupHelpers.ts +++ b/packages/runtime-core/src/apiSetupHelpers.ts @@ -76,7 +76,7 @@ export function defineProps< PP extends ComponentObjectPropsOptions = ComponentObjectPropsOptions >(props: PP): Prettify>> // overload 3: typed-based declaration -export function defineProps(): ResolveProps +export function defineProps(): DefineProps // implementation export function defineProps() { if (__DEV__) { @@ -85,13 +85,9 @@ export function defineProps() { return null as any } -type ResolveProps> = Prettify< - Readonly< - T & { - [K in BooleanKeys]-?: boolean - } - > -> +type DefineProps = Readonly & { + readonly [K in BooleanKey]-?: boolean +} type BooleanKey = K extends any ? [T[K]] extends [boolean | undefined]