? 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]> }
[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>