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 
The query options or a function that returns the query options.
Example 
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 
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. Must be passed to useQuery alongside a getter for the 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>;Parameters 
params 
Params
Returns 
DefineQueryOptionsTagged<TData, TError, TDataInitial>
Call Signature 
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>