UNPKG

2.49 kBTypeScriptView Raw
1import { DocumentNode } from 'graphql';
2import { TypedDocumentNode } from '@graphql-typed-document-node/core';
3import { MissingFieldError } from './common';
4import { Reference } from '../../../utilities';
5export declare namespace DataProxy {
6 interface Query<TVariables, TData> {
7 query: DocumentNode | TypedDocumentNode<TData, TVariables>;
8 variables?: TVariables;
9 id?: string;
10 }
11 interface Fragment<TVariables, TData> {
12 id?: string;
13 fragment: DocumentNode | TypedDocumentNode<TData, TVariables>;
14 fragmentName?: string;
15 variables?: TVariables;
16 }
17 interface ReadQueryOptions<TData, TVariables> extends Query<TVariables, TData> {
18 returnPartialData?: boolean;
19 optimistic?: boolean;
20 canonizeResults?: boolean;
21 }
22 interface ReadFragmentOptions<TData, TVariables> extends Fragment<TVariables, TData> {
23 returnPartialData?: boolean;
24 optimistic?: boolean;
25 canonizeResults?: boolean;
26 }
27 interface WriteOptions<TData> {
28 data: TData;
29 broadcast?: boolean;
30 overwrite?: boolean;
31 }
32 interface WriteQueryOptions<TData, TVariables> extends Query<TVariables, TData>, WriteOptions<TData> {
33 }
34 interface WriteFragmentOptions<TData, TVariables> extends Fragment<TVariables, TData>, WriteOptions<TData> {
35 }
36 interface UpdateQueryOptions<TData, TVariables> extends Omit<(ReadQueryOptions<TData, TVariables> & WriteQueryOptions<TData, TVariables>), 'data'> {
37 }
38 interface UpdateFragmentOptions<TData, TVariables> extends Omit<(ReadFragmentOptions<TData, TVariables> & WriteFragmentOptions<TData, TVariables>), 'data'> {
39 }
40 type DiffResult<T> = {
41 result?: T;
42 complete?: boolean;
43 missing?: MissingFieldError[];
44 fromOptimisticTransaction?: boolean;
45 };
46}
47export interface DataProxy {
48 readQuery<QueryType, TVariables = any>(options: DataProxy.ReadQueryOptions<QueryType, TVariables>, optimistic?: boolean): QueryType | null;
49 readFragment<FragmentType, TVariables = any>(options: DataProxy.ReadFragmentOptions<FragmentType, TVariables>, optimistic?: boolean): FragmentType | null;
50 writeQuery<TData = any, TVariables = any>(options: DataProxy.WriteQueryOptions<TData, TVariables>): Reference | undefined;
51 writeFragment<TData = any, TVariables = any>(options: DataProxy.WriteFragmentOptions<TData, TVariables>): Reference | undefined;
52}
53//# sourceMappingURL=DataProxy.d.ts.map
\No newline at end of file