Просмотр исходного кода

fix(types): improve defineProps return type with generic arguments

Evan You 3 лет назад
Родитель
Сommit
91a931ae87
1 измененных файлов с 4 добавлено и 8 удалено
  1. 4 8
      packages/runtime-core/src/apiSetupHelpers.ts

+ 4 - 8
packages/runtime-core/src/apiSetupHelpers.ts

@@ -76,7 +76,7 @@ export function defineProps<
   PP extends ComponentObjectPropsOptions = ComponentObjectPropsOptions
 >(props: PP): Prettify<Readonly<ExtractPropTypes<PP>>>
 // overload 3: typed-based declaration
-export function defineProps<TypeProps>(): ResolveProps<TypeProps>
+export function defineProps<TypeProps>(): DefineProps<TypeProps>
 // implementation
 export function defineProps() {
   if (__DEV__) {
@@ -85,13 +85,9 @@ export function defineProps() {
   return null as any
 }
 
-type ResolveProps<T, BooleanKeys extends keyof T = BooleanKey<T>> = Prettify<
-  Readonly<
-    T & {
-      [K in BooleanKeys]-?: boolean
-    }
-  >
->
+type DefineProps<T> = Readonly<T> & {
+  readonly [K in BooleanKey<T>]-?: boolean
+}
 
 type BooleanKey<T, K extends keyof T = keyof T> = K extends any
   ? [T[K]] extends [boolean | undefined]