@@ -27,7 +27,7 @@ import type {
27
27
EmitsToProps ,
28
28
TypeEmitsToOptions ,
29
29
} from './componentEmits'
30
- import { extend , isFunction } from '@vue/shared'
30
+ import { type IsKeyValues , extend , isFunction } from '@vue/shared'
31
31
import type { VNodeProps } from './vnode'
32
32
import type {
33
33
ComponentPublicInstanceConstructor ,
@@ -208,15 +208,13 @@ export function defineComponent<
208
208
ResolvedEmits extends EmitsOptions = { } extends RuntimeEmitsOptions
209
209
? TypeEmitsToOptions < TypeEmits >
210
210
: 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 } ,
220
218
TypeRefs extends Record < string , unknown > = { } ,
221
219
TypeEl extends Element = any ,
222
220
> (
0 commit comments