UNPKG

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