UNPKG

1.67 kBTypeScriptView Raw
1import { AnyVariables, Client, OperationContext, OperationResult, RequestPolicy, TypedDocumentNode } from '@urql/core';
2import { Getter, WritableAtom } from 'jotai';
3type DeprecatedAtomWithQueryAction = {
4 type: 'reexecute';
5 opts?: Partial<OperationContext>;
6} | {
7 type: 'refetch';
8 opts?: Partial<OperationContext>;
9};
10type AtomWithQueryAction = {
11 type: 'refetch';
12} | DeprecatedAtomWithQueryAction;
13type OperationResultWithData<Data, Variables extends AnyVariables> = Pick<OperationResult<Data, Variables>, Exclude<keyof OperationResult<Data, Variables>, 'data'>> & {
14 data: Data;
15};
16type QueryArgs<Data, Variables extends AnyVariables> = {
17 query: TypedDocumentNode<Data, Variables> | string;
18 variables: Variables;
19 requestPolicy?: RequestPolicy;
20 context?: Partial<OperationContext>;
21};
22type QueryArgsWithPause<Data, Variables extends AnyVariables> = QueryArgs<Data, Variables> & {
23 pause: boolean;
24};
25/**
26 * @deprecated use `jotai-urql` instead
27 */
28export declare function atomWithQuery<Data, Variables extends AnyVariables>(createQueryArgs: (get: Getter) => QueryArgs<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables>, AtomWithQueryAction>;
29/**
30 * @deprecated use `jotai-urql` instead
31 */
32export declare function atomWithQuery<Data, Variables extends AnyVariables>(createQueryArgs: (get: Getter) => QueryArgsWithPause<Data, Variables>, getClient?: (get: Getter) => Client): WritableAtom<OperationResultWithData<Data, Variables> | null, AtomWithQueryAction>;
33export {};
34declare type Awaited<T> = T extends Promise<infer V> ? V : T;
\No newline at end of file