UNPKG

@connectrpc/connect-query

Version:

TypeScript-first expansion pack for TanStack Query that gives you Protobuf superpowers.

27 lines (26 loc) 2.65 kB
import type { DescMessage, DescMethodUnary, MessageInitShape, MessageShape } from "@bufbuild/protobuf"; import type { ConnectError, Transport } from "@connectrpc/connect"; import type { ConnectInfiniteQueryOptions, ConnectQueryKey } from "@connectrpc/connect-query-core"; import type { InfiniteData, SkipToken, UseInfiniteQueryOptions as TanStackUseInfiniteQueryOptions, UseInfiniteQueryResult, UseSuspenseInfiniteQueryOptions as TanStackUseSuspenseInfiniteQueryOptions, UseSuspenseInfiniteQueryResult } from "@tanstack/react-query"; /** * Options for useInfiniteQuery */ export type UseInfiniteQueryOptions<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>> = Omit<TanStackUseInfiniteQueryOptions<MessageShape<O>, ConnectError, InfiniteData<MessageShape<O>>, ConnectQueryKey<O>, MessageInitShape<I>[ParamKey]>, "getNextPageParam" | "initialPageParam" | "queryFn" | "queryKey"> & ConnectInfiniteQueryOptions<I, O, ParamKey> & { /** The transport to be used for the fetching. */ transport?: Transport; }; /** * Query the method provided. Maps to useInfiniteQuery on tanstack/react-query */ export declare function useInfiniteQuery<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>>(schema: DescMethodUnary<I, O>, input: SkipToken | (MessageInitShape<I> & Required<Pick<MessageInitShape<I>, ParamKey>>), { transport, pageParamKey, getNextPageParam, ...queryOptions }: UseInfiniteQueryOptions<I, O, ParamKey>): UseInfiniteQueryResult<InfiniteData<MessageShape<O>>, ConnectError>; /** * Options for useSuspenseInfiniteQuery */ export type UseSuspenseInfiniteQueryOptions<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>> = Omit<TanStackUseSuspenseInfiniteQueryOptions<MessageShape<O>, ConnectError, InfiniteData<MessageShape<O>>, ConnectQueryKey<O>, MessageInitShape<I>[ParamKey]>, "getNextPageParam" | "initialPageParam" | "queryFn" | "queryKey"> & ConnectInfiniteQueryOptions<I, O, ParamKey> & { /** The transport to be used for the fetching. */ transport?: Transport; }; /** * Query the method provided. Maps to useSuspenseInfiniteQuery on tanstack/react-query */ export declare function useSuspenseInfiniteQuery<I extends DescMessage, O extends DescMessage, ParamKey extends keyof MessageInitShape<I>>(schema: DescMethodUnary<I, O>, input: MessageInitShape<I> & Required<Pick<MessageInitShape<I>, ParamKey>>, { transport, pageParamKey, getNextPageParam, headers, ...queryOptions }: UseSuspenseInfiniteQueryOptions<I, O, ParamKey>): UseSuspenseInfiniteQueryResult<InfiniteData<MessageShape<O>>, ConnectError>;