You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.6 KiB
48 lines
1.6 KiB
4 months ago
|
import type { DocumentNode, ExecutionResult, GraphQLError } from "graphql";
|
||
|
import type { Operation } from "../core/index.js";
|
||
|
import { ApolloLink } from "../core/index.js";
|
||
|
import type { NetworkError } from "../../errors/index.js";
|
||
|
export declare const VERSION = 1;
|
||
|
export interface ErrorResponse {
|
||
|
graphQLErrors?: readonly GraphQLError[];
|
||
|
networkError?: NetworkError;
|
||
|
response?: ExecutionResult;
|
||
|
operation: Operation;
|
||
|
meta: ErrorMeta;
|
||
|
}
|
||
|
type ErrorMeta = {
|
||
|
persistedQueryNotSupported: boolean;
|
||
|
persistedQueryNotFound: boolean;
|
||
|
};
|
||
|
type SHA256Function = (...args: any[]) => string | PromiseLike<string>;
|
||
|
type GenerateHashFunction = (document: DocumentNode) => string | PromiseLike<string>;
|
||
|
interface BaseOptions {
|
||
|
disable?: (error: ErrorResponse) => boolean;
|
||
|
retry?: (error: ErrorResponse) => boolean;
|
||
|
useGETForHashedQueries?: boolean;
|
||
|
}
|
||
|
export declare namespace PersistedQueryLink {
|
||
|
interface SHA256Options extends BaseOptions {
|
||
|
sha256: SHA256Function;
|
||
|
generateHash?: never;
|
||
|
}
|
||
|
interface GenerateHashOptions extends BaseOptions {
|
||
|
sha256?: never;
|
||
|
generateHash: GenerateHashFunction;
|
||
|
}
|
||
|
export type Options = SHA256Options | GenerateHashOptions;
|
||
|
export {};
|
||
|
}
|
||
|
export declare const createPersistedQueryLink: (options: PersistedQueryLink.Options) => ApolloLink & {
|
||
|
resetHashCache: () => void;
|
||
|
} & ({
|
||
|
getMemoryInternals(): {
|
||
|
PersistedQueryLink: {
|
||
|
persistedQueryHashes: number;
|
||
|
};
|
||
|
};
|
||
|
} | {
|
||
|
getMemoryInternals?: undefined;
|
||
|
});
|
||
|
export {};
|
||
|
//# sourceMappingURL=index.d.ts.map
|