Skip to content

Commit 0683a02

Browse files
committed
types(reactivity-transform): improve type readability for reactive variables
1 parent 292ce69 commit 0683a02

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

packages/vue/macros.d.ts

+11-7
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,21 @@ export declare const enum RefTypes {
1616
WritableComputedRef = 3
1717
}
1818

19-
type RefValue<T> = T extends null | undefined
20-
? T
21-
: T & { [RefType]?: RefTypes.Ref }
19+
type RefValue<T> = T extends null | undefined ? T : ReactiveVariable<T>
2220

23-
type ComputedRefValue<T> = T extends null | undefined
24-
? T
25-
: T & { [RefType]?: RefTypes.ComputedRef }
21+
type ReactiveVariable<T> = T & { [RefType]?: RefTypes.Ref }
22+
23+
type ComputedRefValue<T> = T extends null | undefined ? T : ComputedVariable<T>
24+
25+
type ComputedVariable<T> = T & { [RefType]?: RefTypes.ComputedRef }
2626

2727
type WritableComputedRefValue<T> = T extends null | undefined
2828
? T
29-
: T & { [RefType]?: RefTypes.WritableComputedRef }
29+
: WritableComputedVariable<T>
30+
31+
type WritableComputedVariable<T> = T & {
32+
[RefType]?: RefTypes.WritableComputedRef
33+
}
3034

3135
type NormalObject<T extends object> = T & { [RefType]?: never }
3236

0 commit comments

Comments
 (0)