File tree 1 file changed +4
-2
lines changed
packages/vscode-vue-languageservice/src/utils
1 file changed +4
-2
lines changed Original file line number Diff line number Diff line change @@ -12,8 +12,10 @@ import type * as vue_2 from 'vue';
12
12
import type * as vue_3 from '@vue/runtime-core';
13
13
14
14
type IsAny<T> = boolean extends (T extends never ? true : false) ? true : false;
15
- type IsComponent<T> = T extends (new (...args: any) => any) | FunctionalComponent<infer _> ? true : false;
16
- type ComponentKeys<T> = keyof { [K in keyof T as IsComponent<T[K]> extends false ? never : K]: any };
15
+ type IsFunctionalComponent<T> = T extends FunctionalComponent<infer _> ? true : false;
16
+ type IsConstructorComponent<T> = T extends new (...args: any) => any ? true : false;
17
+ type IsComponent<T> = IsConstructorComponent<T> extends true ? true : IsFunctionalComponent<T> extends true ? true : false;
18
+ type ComponentKeys<T> = keyof { [K in keyof T as IsComponent<T[K]> extends true ? K : never]: any };
17
19
export type PickNotAny<A, B> = IsAny<A> extends true ? B : A;
18
20
type AnyArray<T = any> = T[] | readonly T[];
19
21
type NonUndefinedable<T> = T extends undefined ? never : T;
You can’t perform that action at this time.
0 commit comments