export type Ref = { current: T | null | undefined }; export type RefOrValue = T | Ref | null | undefined; function isRef(value: RefOrValue): value is Ref { return value != null && typeof value === 'object' && 'current' in value; } export function currentValue(value: RefOrValue): NonNullable | undefined { if (value == null) return undefined; if (isRef(value)) return value.current ?? undefined; return value as NonNullable; }