refactor: remove NonPartial

This commit is contained in:
三咲智子 Kevin Deng 2023-08-13 20:42:22 +08:00
parent f703a11a43
commit d6af3254e9
No known key found for this signature in database
GPG Key ID: 69992F2250DFD93E
1 changed files with 3 additions and 6 deletions

View File

@ -4,7 +4,8 @@ import {
isFunction,
Prettify,
UnionToIntersection,
extend
extend,
LooseRequired
} from '@vue/shared'
import {
getCurrentInstance,
@ -293,10 +294,6 @@ type InferDefault<P, T> =
| ((props: P) => T & {})
| (T extends NativeType ? T : never)
type NonPartial<T> = {
[K in keyof Required<T>]: T[K]
}
type UndefinedDefault<T, Default> = Default extends undefined
? T
: NotUndefined<T>
@ -306,7 +303,7 @@ type PropsWithDefaults<
Defaults extends InferDefaults<T>,
BKeys extends keyof T
> = Readonly<
NonPartial<Omit<T, keyof (Defaults | BKeys)>> & {
LooseRequired<Omit<T, keyof (Defaults | BKeys)>> & {
[K in keyof Defaults]-?: K extends keyof T
? UndefinedDefault<T[K], Defaults[K]>
: never