UnwrapRefSimple<T>: T extends Function | BaseTypes | Ref | RefUnwrapBailTypes[keyof RefUnwrapBailTypes] | {
        [RawSymbol]?: true;
    }
    ? T
    : T extends Map<infer K, infer V>
        ? Map<K, UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof Map<any, any>>>
        : T extends WeakMap<infer K, infer V>
            ? WeakMap<K, UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof WeakMap<any, any>>>
            : T extends Set<infer V>
                ? Set<UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof Set<any>>>
                : T extends WeakSet<infer V>
                    ? WeakSet<UnwrapRefSimple<V>> & UnwrapRef<Omit<T, keyof WeakSet<any>>>
                    : T extends ReadonlyArray<any>
                        ? {
                            [K in keyof T]: UnwrapRefSimple<T[K]>
                        }
                        : T extends object & {
                                [ShallowReactiveMarker]?: never;
                            }
                            ? {
                                [P in keyof T]: P extends symbol
                                    ? T[P]
                                    : UnwrapRef<(...)[(...)]>
                            }
                            : T

Type Parameters

  • T