UNPKG

2.71 kBTypeScriptView Raw
1import { DocumentNode, FieldNode, ASTNode } from 'graphql';
2import { ApolloCache } from 'apollo-cache';
3import { FragmentMap } from 'apollo-utilities';
4import { FetchResult } from 'apollo-link';
5import ApolloClient from '../ApolloClient';
6import { Resolvers, OperationVariables } from './types';
7export declare type Resolver = (rootValue?: any, args?: any, context?: any, info?: {
8 field: FieldNode;
9 fragmentMap: FragmentMap;
10}) => any;
11export declare type VariableMap = {
12 [name: string]: any;
13};
14export declare type FragmentMatcher = (rootValue: any, typeCondition: string, context: any) => boolean;
15export declare type ExecContext = {
16 fragmentMap: FragmentMap;
17 context: any;
18 variables: VariableMap;
19 fragmentMatcher: FragmentMatcher;
20 defaultOperationType: string;
21 exportedVariables: Record<string, any>;
22 onlyRunForcedResolvers: boolean;
23};
24export declare type LocalStateOptions<TCacheShape> = {
25 cache: ApolloCache<TCacheShape>;
26 client?: ApolloClient<TCacheShape>;
27 resolvers?: Resolvers | Resolvers[];
28 fragmentMatcher?: FragmentMatcher;
29};
30export declare class LocalState<TCacheShape> {
31 private cache;
32 private client;
33 private resolvers?;
34 private fragmentMatcher;
35 constructor({ cache, client, resolvers, fragmentMatcher, }: LocalStateOptions<TCacheShape>);
36 addResolvers(resolvers: Resolvers | Resolvers[]): void;
37 setResolvers(resolvers: Resolvers | Resolvers[]): void;
38 getResolvers(): Resolvers;
39 runResolvers<TData>({ document, remoteResult, context, variables, onlyRunForcedResolvers, }: {
40 document: DocumentNode | null;
41 remoteResult: FetchResult<TData>;
42 context?: Record<string, any>;
43 variables?: Record<string, any>;
44 onlyRunForcedResolvers?: boolean;
45 }): Promise<FetchResult<TData>>;
46 setFragmentMatcher(fragmentMatcher: FragmentMatcher): void;
47 getFragmentMatcher(): FragmentMatcher;
48 clientQuery(document: DocumentNode): DocumentNode | null;
49 serverQuery(document: DocumentNode): DocumentNode | null;
50 prepareContext(context?: {}): {
51 cache: ApolloCache<TCacheShape>;
52 getCacheKey: (obj: {
53 __typename: string;
54 id: string | number;
55 }) => any;
56 };
57 addExportedVariables(document: DocumentNode, variables?: OperationVariables, context?: {}): Promise<{
58 [x: string]: any;
59 }>;
60 shouldForceResolvers(document: ASTNode): boolean;
61 private buildRootValueFromCache;
62 private resolveDocument;
63 private resolveSelectionSet;
64 private resolveField;
65 private resolveSubSelectedArray;
66}
67//# sourceMappingURL=LocalState.d.ts.map
\No newline at end of file