import { Ref } from 'vue'; import { AnyArray, AnyRecord } from '../types/any'; export type Getter = () => T; export type MaybeRef = Ref | T; export type MaybeGetter = Getter | T; export type MaybeReactive = T | { [P in keyof T]: [T[P]] extends [object | undefined] ? [T[P]] extends [AnyRecord | undefined] ? MaybeRef> | MaybeReactive> : [T[P]] extends [AnyArray | undefined] ? MaybeRef> : MaybeRef : MaybeRef; };