postgrestx-monorepo / tanstack/src / createQueryFns
Function: createQueryFns()
createQueryFns(
client
):object
Defined in: packages/tanstack/src/index.ts:61
Factory producing basic query functions suitable for use with TanStack Query's queryFn
.
When / Why:
- Need to compose additional behaviors (retry, staleTime) without wrapping our provided hooks.
- Building domain-specific hooks (e.g.
useActiveUsers
) while centralizing selection & encoding. - Sharing a single
PostgrestClient
across many query functions without recreating closures each render.
Parameters
client
Returns
object
select()
select<
T
>(__namedParameters
): () =>Promise
<T
>
Type Parameters
T
T
= unknown
Parameters
__namedParameters
Returns
():
Promise
<T
>
Returns
Promise
<T
>
rpc()
rpc<
T
>(__namedParameters
): () =>Promise
<T
>
Type Parameters
T
T
= unknown
Parameters
__namedParameters
Returns
():
Promise
<T
>
Returns
Promise
<T
>
Examples
ts
const fns = createQueryFns(client)
const usersQuery = useQuery({
queryKey: pgKey.table('users', { select: 'id,name' }),
queryFn: fns.select<User>({ resource: 'users', select: 'id,name' })
})
ts
function useSearch(term: string) {
const fns = React.useMemo(() => createQueryFns(client), [client])
return useQuery({
queryKey: pgKey.rpc('search_users', { term }),
queryFn: fns.rpc<User[]>({ fnName: 'search_users', args: { term } })
})
}