UNPKG

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