Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,14 @@ const { data, isError, error, fetchNextPage } = useInfiniteQuery(projectsOptions
function infiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>(options: DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>): DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam> & QueryKeyWithDataTag<TQueryKey, InfiniteData<TQueryFnData, unknown>, TError>;
```

Defined in: [packages/vue-query/src/infiniteQueryOptions.ts:153](https://github.com/TanStack/query/blob/main/packages/vue-query/src/infiniteQueryOptions.ts#L153)
Defined in: [packages/vue-query/src/infiniteQueryOptions.ts:154](https://github.com/TanStack/query/blob/main/packages/vue-query/src/infiniteQueryOptions.ts#L154)

You can generally pass everything to `infiniteQueryOptions` that you can also pass to `useInfiniteQuery`.
These options can be shared across hooks and imperative APIs such as `queryClient.infiniteQuery`.
`options.queryKey` is required and is the query key to generate options for.

This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
a `select` changes `TData` to include `undefined`).

### Type Parameters

Expand Down
11 changes: 6 additions & 5 deletions docs/framework/vue/reference/functions/queryOptions.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,14 @@ title: queryOptions
function queryOptions<TQueryFnData, TError, TData, TQueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>): DefinedInitialQueryOptionsWithDataTag<TQueryFnData, TError, TData, TQueryKey>;
```

Defined in: [packages/vue-query/src/queryOptions.ts:244](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L244)
Defined in: [packages/vue-query/src/queryOptions.ts:245](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L245)

You can generally pass everything to `queryOptions` that you can also pass to `useQuery`. These options can
be shared across hooks and imperative APIs such as `queryClient.query`. `options.queryKey` is required and
is the query key to generate options for.

This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
a `select` changes `TData` to include `undefined`).

### Type Parameters

Expand Down Expand Up @@ -78,7 +79,7 @@ const { data, isError, error } = useQuery(postsOptions)
function queryOptions<TQueryFnData, TError, TData, TQueryKey>(options: () => DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>): () => DefinedInitialQueryOptionsWithDataTag<TQueryFnData, TError, TData, TQueryKey>;
```

Defined in: [packages/vue-query/src/queryOptions.ts:281](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L281)
Defined in: [packages/vue-query/src/queryOptions.ts:282](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L282)

Same as the plain-object overload, but for options that close over reactive state (`ref`s read inside the
function body). Wrap them in a getter so `queryClient` methods like `invalidateQueries`/`fetchQuery` always
Expand Down Expand Up @@ -152,7 +153,7 @@ const { data } = useQuery(postOptions)
function queryOptions<TQueryFnData, TError, TData, TQueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>): UndefinedInitialQueryOptionsWithDataTag<TQueryFnData, TError, TData, TQueryKey>;
```

Defined in: [packages/vue-query/src/queryOptions.ts:326](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L326)
Defined in: [packages/vue-query/src/queryOptions.ts:327](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L327)

You can generally pass everything to `queryOptions` that you can also pass to `useQuery`. These options can
be shared across hooks and imperative APIs such as `queryClient.query`. `options.queryKey` is required and
Expand Down Expand Up @@ -218,7 +219,7 @@ const { data, isPending, isError, error } = useQuery(postOptions('1'))
function queryOptions<TQueryFnData, TError, TData, TQueryKey>(options: () => UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>): () => UndefinedInitialQueryOptionsWithDataTag<TQueryFnData, TError, TData, TQueryKey>;
```

Defined in: [packages/vue-query/src/queryOptions.ts:392](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L392)
Defined in: [packages/vue-query/src/queryOptions.ts:393](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L393)

Same as the plain-object overload, but for options that close over reactive state (`ref`s read inside the
function body). Wrap them in a getter so the `queryKey` — and anything else derived from a `ref` — reacts
Expand Down
9 changes: 5 additions & 4 deletions docs/framework/vue/reference/functions/useInfiniteQuery.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,13 @@ title: useInfiniteQuery
function useInfiniteQuery<TQueryFnData, TError, TData, TQueryKey, TPageParam>(options: MaybeRefOrGetter<DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
```

Defined in: [packages/vue-query/src/useInfiniteQuery.ts:117](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useInfiniteQuery.ts#L117)
Defined in: [packages/vue-query/src/useInfiniteQuery.ts:118](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useInfiniteQuery.ts#L118)

The options for `useInfiniteQuery` are identical to `useQuery`, with the addition of
`initialPageParam`, `getNextPageParam`, `getPreviousPageParam`, and `maxPages`.

This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
a `select` changes `TData` to include `undefined`).

`enabled` tracks reactive dependencies automatically as a `ref`, a plain value, or a reactive getter
(`() => ...`). `queryKey` reacts through a `ref` for the array itself, or `ref`s and reactive getters as
Expand Down Expand Up @@ -106,7 +107,7 @@ const { data, isError, error } = useInfiniteQuery({
function useInfiniteQuery<TQueryFnData, TError, TData, TQueryKey, TPageParam>(options: MaybeRefOrGetter<UndefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
```

Defined in: [packages/vue-query/src/useInfiniteQuery.ts:251](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useInfiniteQuery.ts#L251)
Defined in: [packages/vue-query/src/useInfiniteQuery.ts:252](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useInfiniteQuery.ts#L252)

The options for `useInfiniteQuery` are identical to `useQuery`, with the addition of
`initialPageParam`, `getNextPageParam`, `getPreviousPageParam`, and `maxPages`.
Expand Down Expand Up @@ -269,7 +270,7 @@ onUnmounted(() => observer?.disconnect())
function useInfiniteQuery<TQueryFnData, TError, TData, TQueryKey, TPageParam>(options: MaybeRefOrGetter<UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>>, queryClient?: QueryClient): UseInfiniteQueryReturnType<TData, TError>;
```

Defined in: [packages/vue-query/src/useInfiniteQuery.ts:347](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useInfiniteQuery.ts#L347)
Defined in: [packages/vue-query/src/useInfiniteQuery.ts:348](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useInfiniteQuery.ts#L348)

Fallback overload for options whose `initialData` presence isn't statically known — for example, a
`ref`/reactive object built up conditionally, rather than a plain object literal. Prefer one of the other
Expand Down
14 changes: 8 additions & 6 deletions docs/framework/vue/reference/functions/useQuery.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,10 @@ title: useQuery
function useQuery<TQueryFnData, TError, TData, TQueryKey>(options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryDefinedReturnType<TData, TError>;
```

Defined in: [packages/vue-query/src/useQuery.ts:65](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useQuery.ts#L65)
Defined in: [packages/vue-query/src/useQuery.ts:67](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useQuery.ts#L67)

This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
a `select` changes `TData` to include `undefined`).

`enabled` tracks reactive dependencies automatically as a `ref`, a plain value, or a reactive getter
(`() => ...`). `queryKey` reacts through a `ref` or a reactive getter for the array itself, or `ref`s and
Expand Down Expand Up @@ -56,8 +57,9 @@ will be used.

[`UseQueryDefinedReturnType`](../type-aliases/UseQueryDefinedReturnType.md)\<`TData`, `TError`\>

The current query result, typed so that `data` is never `undefined` (`status` never resolves to
`pending` in this overload's type, since `initialData` guarantees data upfront).
The current query result, typed so that `data` is never `undefined` (unless a `select` changes
`TData` to include `undefined`). `status` never resolves to `pending` in this overload's type, since
`initialData` guarantees data upfront.

### Example

Expand Down Expand Up @@ -88,7 +90,7 @@ const { data, isError, error } = useQuery({
function useQuery<TQueryFnData, TError, TData, TQueryKey>(options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
```

Defined in: [packages/vue-query/src/useQuery.ts:206](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useQuery.ts#L206)
Defined in: [packages/vue-query/src/useQuery.ts:208](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useQuery.ts#L208)

`enabled` tracks reactive dependencies automatically as a `ref`, a plain value, or a reactive getter
(`() => ...`). `queryKey` reacts through a `ref` or a reactive getter for the array itself, or `ref`s and
Expand Down Expand Up @@ -257,7 +259,7 @@ const { data, isPlaceholderData, isError, error } = useQuery({
function useQuery<TQueryFnData, TError, TData, TQueryKey>(options: MaybeRefOrGetter<UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>>, queryClient?: QueryClient): UseQueryReturnType<TData, TError>;
```

Defined in: [packages/vue-query/src/useQuery.ts:282](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useQuery.ts#L282)
Defined in: [packages/vue-query/src/useQuery.ts:284](https://github.com/TanStack/query/blob/main/packages/vue-query/src/useQuery.ts#L284)

Fallback overload for options whose `initialData` presence isn't statically known — for example, a
`ref`/reactive object built up conditionally, rather than a plain object literal. Prefer one of the other
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ type DefinedInitialDataInfiniteOptions<TQueryFnData, TError, TData, TQueryKey, T
Defined in: [packages/vue-query/src/infiniteQueryOptions.ts:48](https://github.com/TanStack/query/blob/main/packages/vue-query/src/infiniteQueryOptions.ts#L48)

The options accepted by the `infiniteQueryOptions` overload selected when `initialData` is set — `data` is
never `undefined`.
never `undefined` (unless a `select` changes `TData` to include `undefined`).

## Type Declaration

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ type DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey> = UseQue
Defined in: [packages/vue-query/src/queryOptions.ts:189](https://github.com/TanStack/query/blob/main/packages/vue-query/src/queryOptions.ts#L189)

The options accepted by the `queryOptions` overload selected when `initialData` is set — `data` is never
`undefined`.
`undefined` (unless a `select` changes `TData` to include `undefined`).

## Type Parameters

Expand Down
5 changes: 3 additions & 2 deletions packages/vue-query/src/infiniteQueryOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ export type UndefinedInitialDataInfiniteOptions<

/**
* The options accepted by the `infiniteQueryOptions` overload selected when `initialData` is set — `data` is
* never `undefined`.
* never `undefined` (unless a `select` changes `TData` to include `undefined`).
*
* @template TQueryFnData - The type of a single page, as your `queryFn` resolves it.
* @template TError - The type of errors your `queryFn` may throw.
Expand Down Expand Up @@ -124,7 +124,8 @@ export function infiniteQueryOptions<
* These options can be shared across hooks and imperative APIs such as `queryClient.infiniteQuery`.
* `options.queryKey` is required and is the query key to generate options for.
*
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
* a `select` changes `TData` to include `undefined`).
*
* @see {@link useInfiniteQuery} to run an infinite query with these options.
* @param options - The {@link DefinedInitialDataInfiniteOptions} to use — everything you can pass to
Expand Down
5 changes: 3 additions & 2 deletions packages/vue-query/src/queryOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ export type UndefinedInitialQueryOptions<

/**
* The options accepted by the `queryOptions` overload selected when `initialData` is set — `data` is never
* `undefined`.
* `undefined` (unless a `select` changes `TData` to include `undefined`).
*
* @template TQueryFnData - The type your `queryFn` resolves to.
* @template TError - The type of errors your `queryFn` may throw.
Expand Down Expand Up @@ -217,7 +217,8 @@ export type DefinedInitialQueryOptionsWithDataTag<
* be shared across hooks and imperative APIs such as `queryClient.query`. `options.queryKey` is required and
* is the query key to generate options for.
*
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
* a `select` changes `TData` to include `undefined`).
*
* @see {@link useQuery} to run a query with these options.
* @param options - The {@link DefinedInitialQueryOptions} to use — everything you can pass to `useQuery`, with
Expand Down
3 changes: 2 additions & 1 deletion packages/vue-query/src/useInfiniteQuery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,8 @@ export type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<
* The options for `useInfiniteQuery` are identical to `useQuery`, with the addition of
* `initialPageParam`, `getNextPageParam`, `getPreviousPageParam`, and `maxPages`.
*
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
* a `select` changes `TData` to include `undefined`).
*
* `enabled` tracks reactive dependencies automatically as a `ref`, a plain value, or a reactive getter
* (`() => ...`). `queryKey` reacts through a `ref` for the array itself, or `ref`s and reactive getters as
Expand Down
8 changes: 5 additions & 3 deletions packages/vue-query/src/useQuery.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ export type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<
>

/**
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined`.
* This overload is selected when `initialData` is set, so the resulting `data` is never `undefined` (unless
* a `select` changes `TData` to include `undefined`).
*
* `enabled` tracks reactive dependencies automatically as a `ref`, a plain value, or a reactive getter
* (`() => ...`). `queryKey` reacts through a `ref` or a reactive getter for the array itself, or `ref`s and
Expand All @@ -37,8 +38,9 @@ export type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<
* `initialData` set.
* @param queryClient - Use this to use a custom `QueryClient`. Otherwise, the one provided by `VueQueryPlugin`
* will be used.
* @returns The current query result, typed so that `data` is never `undefined` (`status` never resolves to
* `pending` in this overload's type, since `initialData` guarantees data upfront).
* @returns The current query result, typed so that `data` is never `undefined` (unless a `select` changes
* `TData` to include `undefined`). `status` never resolves to `pending` in this overload's type, since
* `initialData` guarantees data upfront.
*
* @example
* ```vue
Expand Down
Loading