Skip to content

API Documentation / @pinia/colada / defineQueryOptions

Function: defineQueryOptions() ​

Define type-safe query options. Can be static or dynamic. Define the arguments based on what's needed on the query and the key. Use an object if you need multiple properties.

Param ​

setupOrOptions

The query options or a function that returns the query options.

Example ​

ts
import { defineQueryOptions } from '@pinia/colada'

const documentDetailsQuery = defineQueryOptions((id: number ) => ({
  key: ['documents', id],
  query: () => fetchDocument(id),
}))

queryCache.getQueryData(documentDetailsQuery(4).key) // typed

@NO_SIDE_EFFECTS

Call Signature ​

ts
function defineQueryOptions<Params, TData, TError, TDataInitial>(setupOptions): (params?) => DefineQueryOptionsTagged<TData, TError, TDataInitial>;

Define dynamic query options by passing a function that accepts an optional arbitrary parameter and returns the query options. Enables type-safe query keys. Pass to useQuery as a single function: useQuery(() => setupOptions(params)).

Type Parameters ​

Params ​

Params

TData ​

TData

TError ​

TError = { custom: Error; }

TDataInitial ​

TDataInitial = undefined

Parameters ​

setupOptions ​

(params?) => DefineQueryOptions<TData, TError, TDataInitial>

A function that returns the query options.

Returns ​

(params?) => DefineQueryOptionsTagged<TData, TError, TDataInitial>

Call Signature ​

ts
function defineQueryOptions<Params, TData, TError, TDataInitial>(setupOptions): (params) => DefineQueryOptionsTagged<TData, TError, TDataInitial>;

Define dynamic query options by passing a function that accepts an arbitrary parameter and returns the query options. Enables type-safe query keys. Pass to useQuery as a single function: useQuery(() => setupOptions(params)).

Type Parameters ​

Params ​

Params

TData ​

TData

TError ​

TError = { custom: Error; }

TDataInitial ​

TDataInitial = undefined

Parameters ​

setupOptions ​

(params) => DefineQueryOptions<TData, TError, TDataInitial>

A function that returns the query options.

Returns ​

(params) => DefineQueryOptionsTagged<TData, TError, TDataInitial>

Call Signature ​

ts
function defineQueryOptions<TData, TError, TDataInitial>(options): DefineQueryOptionsTagged<TData, TError, TDataInitial>;

Define static query options that are type safe with queryCache.getQueryData(). Can be passed directly to useQuery.

Type Parameters ​

TData ​

TData

TError ​

TError = { custom: Error; }

TDataInitial ​

TDataInitial = undefined

Parameters ​

options ​

DefineQueryOptions<TData, TError, TDataInitial>

The query options.

Returns ​

DefineQueryOptionsTagged<TData, TError, TDataInitial>

Released under the MIT License.