1 | import { SelectionSetNode, FragmentDefinitionNode } from 'graphql';
|
2 | import { Request, ExecutionResult } from '@graphql-tools/utils';
|
3 | import { Transform, DelegationContext } from '@graphql-tools/delegate';
|
4 | export declare type QueryTransformer = (selectionSet: SelectionSetNode, fragments: Record<string, FragmentDefinitionNode>, delegationContext: DelegationContext, transformationContext: Record<string, any>) => SelectionSetNode;
|
5 | export declare type ResultTransformer = (result: any, delegationContext: DelegationContext, transformationContext: Record<string, any>) => any;
|
6 | export declare type ErrorPathTransformer = (path: ReadonlyArray<string | number>) => Array<string | number>;
|
7 | export default class TransformQuery implements Transform {
|
8 | private readonly path;
|
9 | private readonly queryTransformer;
|
10 | private readonly resultTransformer;
|
11 | private readonly errorPathTransformer;
|
12 | private readonly fragments;
|
13 | constructor({ path, queryTransformer, resultTransformer, errorPathTransformer, fragments, }: {
|
14 | path: Array<string>;
|
15 | queryTransformer: QueryTransformer;
|
16 | resultTransformer?: ResultTransformer;
|
17 | errorPathTransformer?: ErrorPathTransformer;
|
18 | fragments?: Record<string, FragmentDefinitionNode>;
|
19 | });
|
20 | transformRequest(originalRequest: Request, delegationContext: DelegationContext, transformationContext: Record<string, any>): Request;
|
21 | transformResult(originalResult: ExecutionResult, delegationContext: DelegationContext, transformationContext: Record<string, any>): ExecutionResult;
|
22 | private transformData;
|
23 | private transformErrors;
|
24 | }
|