From 7cecb34bf3e9bd07ed4f52e11dd1ddd15797d08d Mon Sep 17 00:00:00 2001 From: johnsoncodehk Date: Fri, 9 Dec 2022 02:55:25 +0800 Subject: [PATCH] fix: more acurrate props type infer #2176 --- .../vue-language-core/src/utils/localTypes.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vue-language-tools/vue-language-core/src/utils/localTypes.ts b/vue-language-tools/vue-language-core/src/utils/localTypes.ts index 259f298f3..fa2294759 100644 --- a/vue-language-tools/vue-language-core/src/utils/localTypes.ts +++ b/vue-language-tools/vue-language-core/src/utils/localTypes.ts @@ -110,8 +110,10 @@ export type GetComponents = export type ComponentProps = ${vueCompilerOptions.strictTemplates ? '' : 'Record &'} ( - T extends new (...args: any) => any ? (T extends new (...args: any) => { $props: infer Props } ? Props : {}) - : T extends (...args: any) => any ? (T extends (...args: any) => { props: infer Props } ? Props : {}) + T extends new (...args: any) => { $props: infer Props } ? Props + : T extends (...args: any) => { props: infer Props } ? Props + : T extends new (...args: any) => any ? {} + : T extends (...args: any) => any ? {} : T // IntrinsicElement ); export type InstanceProps = I extends { $props: infer Props } ? Props & Record : C & Record;