]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
fix(types): infer the first generic type of `Ref` correctly (#12094)
author山吹色御守 <85992002+KazariEX@users.noreply.github.com>
Thu, 3 Oct 2024 15:22:57 +0000 (23:22 +0800)
committerGitHub <noreply@github.com>
Thu, 3 Oct 2024 15:22:57 +0000 (23:22 +0800)
packages/reactivity/src/reactive.ts
packages/reactivity/src/ref.ts

index 7d9c33aa4d059f74e064c185504c36517df98bdf..729c854965e45cc6a0b126cae25e3451adf3dea3 100644 (file)
@@ -167,7 +167,7 @@ export type DeepReadonly<T> = T extends Builtin
               ? WeakSet<DeepReadonly<U>>
               : T extends Promise<infer U>
                 ? Promise<DeepReadonly<U>>
-                : T extends Ref<infer U>
+                : T extends Ref<infer U, unknown>
                   ? Readonly<Ref<DeepReadonly<U>>>
                   : T extends {}
                     ? { readonly [K in keyof T]: DeepReadonly<T[K]> }
index 43b26b78f9d9fc78f0175f379a1b56e061de1414..6b8d541819d3701f0e4d0ca502346d1e40ae3248 100644 (file)
@@ -489,12 +489,12 @@ export type ShallowUnwrapRef<T> = {
   [K in keyof T]: DistributeRef<T[K]>
 }
 
-type DistributeRef<T> = T extends Ref<infer V> ? V : T
+type DistributeRef<T> = T extends Ref<infer V, unknown> ? V : T
 
 export type UnwrapRef<T> =
-  T extends ShallowRef<infer V, infer _>
+  T extends ShallowRef<infer V, unknown>
     ? V
-    : T extends Ref<infer V, infer _>
+    : T extends Ref<infer V, unknown>
       ? UnwrapRefSimple<V>
       : UnwrapRefSimple<T>