@apollo/client
Version:
A fully-featured caching GraphQL client.
65 lines • 4.15 kB
TypeScript
import type { DocumentNode, FormattedExecutionResult } from "graphql";
import type { Cache, DiffIncrementalInfo } from "@apollo/client/cache";
import type { Incremental } from "@apollo/client/incremental";
import type { ApolloLink } from "@apollo/client/link";
import type { Unmasked } from "@apollo/client/masking";
import type { ExtensionsWithStreamInfo } from "@apollo/client/utilities/internal";
import type { ApolloClient } from "./ApolloClient.js";
import { NetworkStatus } from "./networkStatus.js";
import type { ObservableQuery } from "./ObservableQuery.js";
import type { QueryManager } from "./QueryManager.js";
import type { DataValue, DefaultContext, InternalRefetchQueriesInclude, MutationUpdaterFunction, NormalizedExecutionResult, OnQueryUpdated, OperationVariables, TypedDocumentNode } from "./types.js";
import type { ErrorPolicy, WatchQueryFetchPolicy } from "./watchQueryOptions.js";
type UpdateQueries<TData> = ApolloClient.MutateOptions<TData, any, any>["updateQueries"];
export declare const enum CacheWriteBehavior {
FORBID = 0,
OVERWRITE = 1,
MERGE = 2
}
interface OperationInfo<TData, TVariables extends OperationVariables, AllowedCacheWriteBehavior = CacheWriteBehavior> {
document: DocumentNode | TypedDocumentNode<TData, TVariables>;
variables: TVariables;
errorPolicy: ErrorPolicy;
cacheWriteBehavior: AllowedCacheWriteBehavior;
returnPartialData?: boolean | undefined;
}
interface MarkQueryResult<TData, TExtensions> extends FormattedExecutionResult<TData, TExtensions> {
dataState: "empty" | "partial" | "streaming" | "complete";
}
export declare class QueryInfo<TData, TVariables extends OperationVariables = OperationVariables, TCache extends Cache.Implementation = Cache.Implementation> {
private cache;
private queryManager;
readonly id: string;
private readonly observableQuery?;
private incremental?;
constructor(queryManager: QueryManager, observableQuery?: ObservableQuery<any, any>);
get hasNext(): boolean;
get incrementalHandler(): Incremental.Handler<Record<string, unknown>>;
private maybeHandleIncrementalResult;
markQueryResult(incoming: ApolloLink.Result<TData>, { document: query, variables, errorPolicy, cacheWriteBehavior, returnPartialData, fetchPolicy, networkStatus, prunePendingDeferFragments: prune, }: OperationInfo<TData, TVariables> & {
fetchPolicy: WatchQueryFetchPolicy;
networkStatus: NetworkStatus;
prunePendingDeferFragments: boolean;
}): MarkQueryResult<DataValue.Complete<TData> | DataValue.Streaming<TData>, ExtensionsWithStreamInfo>;
private getIncrementalInfo;
getDiff(options: Cache.DiffOptions<TData>, incrementalInfo?: DiffIncrementalInfo): Cache.InternalDiffResultWithDataState<TData>;
markMutationResult(incoming: ApolloLink.Result<TData>, mutation: OperationInfo<TData, TVariables, CacheWriteBehavior.FORBID | CacheWriteBehavior.MERGE> & {
context?: DefaultContext;
updateQueries: UpdateQueries<TData>;
update?: MutationUpdaterFunction<TData, TVariables, TCache>;
awaitRefetchQueries?: boolean;
refetchQueries?: ((result: NormalizedExecutionResult<Unmasked<TData>>) => InternalRefetchQueriesInclude) | InternalRefetchQueriesInclude;
removeOptimistic?: string;
onQueryUpdated?: OnQueryUpdated<any>;
keepRootFields?: boolean;
}, cache?: TCache): Promise<FormattedExecutionResult<DataValue.Complete<TData> | DataValue.Streaming<TData>, ExtensionsWithStreamInfo>>;
markMutationOptimistic(optimisticResponse: any, mutation: OperationInfo<TData, TVariables, CacheWriteBehavior.FORBID | CacheWriteBehavior.MERGE> & {
context?: DefaultContext;
updateQueries: UpdateQueries<TData>;
update?: MutationUpdaterFunction<TData, TVariables, TCache>;
keepRootFields?: boolean;
}): boolean;
markSubscriptionResult(result: FormattedExecutionResult<TData>, { document, variables, errorPolicy, cacheWriteBehavior, }: OperationInfo<TData, TVariables, CacheWriteBehavior.FORBID | CacheWriteBehavior.MERGE>): void;
}
export {};
//# sourceMappingURL=QueryInfo.d.ts.map