UNPKG

jotai

Version:

👻 Next gen state management that will spook you

22 lines (21 loc) • 1.24 kB
import type { Client, OperationContext, OperationResult, RequestPolicy, TypedDocumentNode } from '@urql/core'; import type { Getter, WritableAtom } from 'jotai'; declare type AtomWithQueryAction = { type: 'reexecute'; opts?: Partial<OperationContext>; }; declare type OperationResultWithData<Data, Variables> = OperationResult<Data, Variables> & { data: Data; }; declare type QueryArgs<Data, Variables extends object> = { query: TypedDocumentNode<Data, Variables> | string; variables?: Variables; requestPolicy?: RequestPolicy; context?: Partial<OperationContext>; }; declare type QueryArgsWithPause<Data, Variables extends object> = QueryArgs<Data, Variables> & { pause: boolean; }; export declare function atomWithQuery<Data, Variables extends object>(createQueryArgs: (get: Getter) => QueryArgs<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables>, AtomWithQueryAction>; export declare function atomWithQuery<Data, Variables extends object>(createQueryArgs: (get: Getter) => QueryArgsWithPause<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables> | null, AtomWithQueryAction>; export {};