UNPKG

1.39 kBTypeScriptView Raw
1import { AnyVariables, Client, OperationContext, OperationResult, TypedDocumentNode } from '@urql/core';
2import { Getter, WritableAtom } from 'jotai';
3type AtomWithSubscriptionAction = {
4 type: 'refetch';
5};
6type OperationResultWithData<Data, Variables extends AnyVariables> = Pick<OperationResult<Data, Variables>, Exclude<keyof OperationResult<Data, Variables>, 'data'>> & {
7 data: Data;
8};
9type SubscriptionArgs<Data, Variables extends AnyVariables> = {
10 query: TypedDocumentNode<Data, Variables> | string;
11 variables: Variables;
12 context?: Partial<OperationContext>;
13};
14type SubscriptionArgsWithPause<Data, Variables extends AnyVariables> = SubscriptionArgs<Data, Variables> & {
15 pause: boolean;
16};
17export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgs<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables>, AtomWithSubscriptionAction>;
18export declare function atomWithSubscription<Data, Variables extends AnyVariables>(createSubscriptionArgs: (get: Getter) => SubscriptionArgsWithPause<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables> | null, AtomWithSubscriptionAction>;
19export {};
20declare type Awaited<T> = T extends Promise<infer V> ? V : T;
\No newline at end of file