UNPKG

use-query-rd

Version:

A drop in replacement for apollo client's `useQuery` hook with a return type that mimics Elm's RemoteData ADT

15 lines 1.18 kB
import { type OperationVariables, useQuery } from '@apollo/client'; import { type RemoteData } from './rd'; export type QueryResultWithRemoteData<TData, TVariables extends OperationVariables = OperationVariables> = ReturnType<typeof useQueryRd<TData, TVariables>>; /** * @description Maps a `useQuery` QueryResult status (called | loading | data | error) to the RemoteData union * @param query GQL query document * @param options useQuery opts * @see https://www.apollographql.com/docs/react/data/queries/ * @note RemoteData is tagged with `tag`. There is no generic for Error as it will always be an ApolloError. * @returns Everything from `QueryResult` with an accompanying `_rd` property wth the RemoteData object */ export declare const useQueryRd: <TData, TVariables extends OperationVariables = OperationVariables>(query: import("@apollo/client").DocumentNode | import("@graphql-typed-document-node/core").TypedDocumentNode<TData, TVariables>, options?: import("@apollo/client").QueryHookOptions<TData, TVariables> | undefined) => import("@apollo/client").QueryResult<TData, TVariables> & { _rd: RemoteData<TData>; }; //# sourceMappingURL=useQueryRd.d.ts.map