diff --git a/packages/reactivity/src/ref.ts b/packages/reactivity/src/ref.ts index 2eef093e7..569e4e0d4 100644 --- a/packages/reactivity/src/ref.ts +++ b/packages/reactivity/src/ref.ts @@ -129,7 +129,7 @@ export function toRef( type BaseTypes = string | number | boolean | Node | Window // Super simple tuple checker -type Tupple> = T[0] extends T[1] +type IsTuple> = T[0] extends T[1] ? T[1] extends T[2] ? never : true : true @@ -145,10 +145,10 @@ type UnwrapRefSimple = T extends | Element ? T : T extends Array - ? Tupple extends never ? Array : UnwrapTupple + ? IsTuple extends true ? UnwrapTuple : Array : T extends object ? UnwrappedObject : T -export type UnwrapTupple = { [P in keyof T]: T[P] } & { +export type UnwrapTuple = { [P in keyof T]: T[P] } & { length: number [Symbol.iterator]: any [Symbol.unscopables]: any