UNPKG

jotai

Version:

👻 Next gen state management that will spook you

20 lines (19 loc) • 1.27 kB
import type { AnyVariables, Client, OperationContext, OperationResult, TypedDocumentNode } from '@urql/core'; import type { Getter, WritableAtom } from 'jotai'; type AtomWithSubscriptionAction = { type: 'refetch'; }; type OperationResultWithData<Data, Variables extends AnyVariables> = Omit<OperationResult<Data, Variables>, 'data'> & { data: Data; }; type SubscriptionArgs<Data, Variables extends AnyVariables> = { query: TypedDocumentNode<Data, Variables> | string; variables: Variables; context?: Partial<OperationContext>; }; type SubscriptionArgsWithPause<Data, Variables extends AnyVariables> = SubscriptionArgs<Data, Variables> & { pause: boolean; }; export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgs<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables>, AtomWithSubscriptionAction>; export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgsWithPause<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables> | null, AtomWithSubscriptionAction>; export {};