types(reactivity-transform): improve type readability for reactive variables

This commit is contained in:
Evan You 2022-05-07 10:37:07 +08:00
parent 292ce69439
commit 0683a022ec

View File

@ -16,17 +16,21 @@ export declare const enum RefTypes {
WritableComputedRef = 3
}
type RefValue<T> = T extends null | undefined
? T
: T & { [RefType]?: RefTypes.Ref }
type RefValue<T> = T extends null | undefined ? T : ReactiveVariable<T>
type ComputedRefValue<T> = T extends null | undefined
? T
: T & { [RefType]?: RefTypes.ComputedRef }
type ReactiveVariable<T> = T & { [RefType]?: RefTypes.Ref }
type ComputedRefValue<T> = T extends null | undefined ? T : ComputedVariable<T>
type ComputedVariable<T> = T & { [RefType]?: RefTypes.ComputedRef }
type WritableComputedRefValue<T> = T extends null | undefined
? T
: T & { [RefType]?: RefTypes.WritableComputedRef }
: WritableComputedVariable<T>
type WritableComputedVariable<T> = T & {
[RefType]?: RefTypes.WritableComputedRef
}
type NormalObject<T extends object> = T & { [RefType]?: never }