Skip to content

Commit 127ed1b

Browse files
committed
fix(types): improve type of unref()
fix #3954
1 parent 69b74a8 commit 127ed1b

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

packages/reactivity/src/ref.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ export function triggerRef(ref: Ref) {
8585
trigger(toRaw(ref), TriggerOpTypes.SET, 'value', __DEV__ ? ref.value : void 0)
8686
}
8787

88-
export function unref<T>(ref: T): T extends Ref<infer V> ? V : T {
88+
export function unref<T>(ref: T | Ref<T>): T {
8989
return isRef(ref) ? (ref.value as any) : ref
9090
}
9191

test-dts/ref.test-d.ts

+7
Original file line numberDiff line numberDiff line change
@@ -203,3 +203,10 @@ switch (data.state.value) {
203203
data.state.value = 'state1'
204204
break
205205
}
206+
207+
// #3954
208+
function testUnrefGenerics<T>(p: T | Ref<T>) {
209+
expectType<T>(unref(p))
210+
}
211+
212+
testUnrefGenerics(1)

0 commit comments

Comments
 (0)