@@ -27,7 +27,7 @@ import type {
2727 EmitsToProps ,
2828 TypeEmitsToOptions ,
2929} from './componentEmits'
30- import { extend , isFunction } from '@vue/shared'
30+ import { type IsKeyValues , extend , isFunction } from '@vue/shared'
3131import type { VNodeProps } from './vnode'
3232import type {
3333 ComponentPublicInstanceConstructor ,
@@ -208,15 +208,13 @@ export function defineComponent<
208208 ResolvedEmits extends EmitsOptions = { } extends RuntimeEmitsOptions
209209 ? TypeEmitsToOptions < TypeEmits >
210210 : RuntimeEmitsOptions ,
211- InferredProps = unknown extends TypeProps
212- ? keyof TypeProps extends never
213- ? string extends RuntimePropsKeys
214- ? ComponentObjectPropsOptions extends RuntimePropsOptions
215- ? { }
216- : ExtractPropTypes < RuntimePropsOptions >
217- : { [ key in RuntimePropsKeys ] ?: any }
218- : TypeProps
219- : TypeProps ,
211+ InferredProps = IsKeyValues < TypeProps > extends true
212+ ? TypeProps
213+ : string extends RuntimePropsKeys
214+ ? ComponentObjectPropsOptions extends RuntimePropsOptions
215+ ? { }
216+ : ExtractPropTypes < RuntimePropsOptions >
217+ : { [ key in RuntimePropsKeys ] ?: any } ,
220218 TypeRefs extends Record < string , unknown > = { } ,
221219 TypeEl extends Element = any ,
222220> (
0 commit comments