Skip to content

postgrestx-monorepo v0.0.1


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

PostgrestClient

Returns

object

select()

select<T>(__namedParameters): () => Promise<T>

Type Parameters

T

T = unknown

Parameters

__namedParameters

TableQueryParams

Returns

(): Promise<T>

Returns

Promise<T>

rpc()

rpc<T>(__namedParameters): () => Promise<T>

Type Parameters

T

T = unknown

Parameters

__namedParameters

RpcQueryParams

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 } })
  })
}