@connectrpc/connect-query
Version:
TypeScript-first expansion pack for TanStack Query that gives you Protobuf superpowers.
28 lines (27 loc) • 1.92 kB
TypeScript
import type { DescMessage, DescMethodUnary, MessageInitShape, MessageShape } from "@bufbuild/protobuf";
import type { ConnectError, Transport } from "@connectrpc/connect";
import type { ConnectQueryKey, SkipToken } from "@connectrpc/connect-query-core";
import type { UseQueryOptions as TanStackUseQueryOptions, UseQueryResult, UseSuspenseQueryOptions as TanStackUseSuspenseQueryOptions, UseSuspenseQueryResult } from "@tanstack/react-query";
/**
* Options for useQuery
*/
export type UseQueryOptions<O extends DescMessage, SelectOutData = MessageShape<O>> = Omit<TanStackUseQueryOptions<MessageShape<O>, ConnectError, SelectOutData, ConnectQueryKey<O>>, "queryFn" | "queryKey"> & {
/** The transport to be used for the fetching. */
transport?: Transport;
};
/**
* Query the method provided. Maps to useQuery on tanstack/react-query
*/
export declare function useQuery<I extends DescMessage, O extends DescMessage, SelectOutData = MessageShape<O>>(schema: DescMethodUnary<I, O>, input?: SkipToken | MessageInitShape<I>, { transport, ...queryOptions }?: UseQueryOptions<O, SelectOutData>): UseQueryResult<SelectOutData, ConnectError>;
/**
* Options for useSuspenseQuery
*/
export type UseSuspenseQueryOptions<O extends DescMessage, SelectOutData = 0> = Omit<TanStackUseSuspenseQueryOptions<MessageShape<O>, ConnectError, SelectOutData, ConnectQueryKey<O>>, "queryFn" | "queryKey"> & {
/** The transport to be used for the fetching. */
transport?: Transport;
headers?: HeadersInit;
};
/**
* Query the method provided. Maps to useSuspenseQuery on tanstack/react-query
*/
export declare function useSuspenseQuery<I extends DescMessage, O extends DescMessage, SelectOutData = MessageShape<O>>(schema: DescMethodUnary<I, O>, input?: MessageInitShape<I>, { transport, headers, ...queryOptions }?: UseSuspenseQueryOptions<O, SelectOutData>): UseSuspenseQueryResult<SelectOutData, ConnectError>;