@epfl-si/react-graphql-paginated
Version:
Like @epfl-si/react-graphql-simple, but with pagination / infinite queries
25 lines (24 loc) • 1.26 kB
TypeScript
import { FC } from "react";
import { gql as gqlConstructor, Variables } from 'graphql-request';
import { QueryClient } from "@tanstack/react-query";
import { UseInfiniteQueryOptions, UseInfiniteQueryResult } from "@tanstack/react-query";
import { ContextProps as GraphQLProviderContextProps } from "@epfl-si/react-graphql-simple";
type GQL = ReturnType<typeof gqlConstructor>;
export interface ContextProps extends GraphQLProviderContextProps {
queryClient?: QueryClient;
}
/**
* A convenient nesting of `<QueryClientProvider>...</QueryClientProvider>` and
* `<GraphQLProvider>`...`</GraphQLProvider>`
*/
export declare const QueryClientGraphQLProvider: FC<ContextProps>;
/**
* A convenient mix of `useGraphQLClient` and `useInfiniteQuery`.
*/
export declare function useInfiniteGraphQLQuery<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData>(gql: GQL, variables?: Variables, opts?: UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryFnData>): UseInfiniteQueryResult<TData, TError>;
interface RelayStylePaginationOptions {
direction?: 'forward' | 'backward' | 'bidirectional';
cursorVariableName?: string;
}
export declare function relayStylePagination(opts?: RelayStylePaginationOptions): UseInfiniteQueryOptions;
export {};