@graphql-mesh/utils
Version:
13 lines (12 loc) • 788 B
text/typescript
import type { Logger, MeshFetch, OnFetchHook, OnFetchHookPayload } from '@graphql-mesh/types';
import type { MaybePromise } from '@graphql-tools/utils';
type ExecutionRequest = NonNullable<OnFetchHookPayload<any>['executionRequest']>;
export declare const requestIdByRequest: WeakMap<Request<unknown, CfProperties<unknown>>, string>;
export declare const loggerForExecutionRequest: WeakMap<ExecutionRequest, Logger>;
export type FetchInstrumentation = {
fetch?: (payload: {
executionRequest?: ExecutionRequest;
}, wrapped: () => MaybePromise<void>) => MaybePromise<void>;
};
export declare function wrapFetchWithHooks<TContext>(onFetchHooks: OnFetchHook<TContext>[], instrumentation?: () => FetchInstrumentation | undefined, defaultLogger?: Logger): MeshFetch;
export {};