diff --git a/packages/vue-urql/src/useQuery.ts b/packages/vue-urql/src/useQuery.ts index 59a333c0dd..5d68fe17e9 100644 --- a/packages/vue-urql/src/useQuery.ts +++ b/packages/vue-urql/src/useQuery.ts @@ -75,7 +75,7 @@ export type UseQueryArgs< * documentation on the `pause` option. */ pause?: MaybeRef; -} & MaybeRefObj>; +} & MaybeRefObj>>; /** State of the current query, your {@link useQuery} function is executing. * diff --git a/packages/vue-urql/src/useSubscription.ts b/packages/vue-urql/src/useSubscription.ts index 5c24755bd9..83f17174ba 100644 --- a/packages/vue-urql/src/useSubscription.ts +++ b/packages/vue-urql/src/useSubscription.ts @@ -58,7 +58,7 @@ export type UseSubscriptionArgs< * ``` */ context?: MaybeRef>; -} & MaybeRefObj>; +} & MaybeRefObj>>; /** Combines previous data with an incoming subscription result’s data. * diff --git a/packages/vue-urql/src/utils.ts b/packages/vue-urql/src/utils.ts index 42d8227945..a9a83cdac9 100644 --- a/packages/vue-urql/src/utils.ts +++ b/packages/vue-urql/src/utils.ts @@ -3,7 +3,9 @@ import type { Ref, ShallowRef } from 'vue'; import { isRef } from 'vue'; export type MaybeRef = T | (() => T) | Ref; -export type MaybeRefObj = { [K in keyof T]: MaybeRef }; +export type MaybeRefObj = T extends {} + ? { [K in keyof T]: MaybeRef } + : T; export const unref = (maybeRef: MaybeRef): T => typeof maybeRef === 'function'