UNPKG

1.45 kBTypeScriptView Raw
1import { SelectionSetNode, FragmentDefinitionNode } from 'graphql';
2import { Request, ExecutionResult } from '@graphql-tools/utils';
3import { Transform, DelegationContext } from '@graphql-tools/delegate';
4export declare type QueryTransformer = (selectionSet: SelectionSetNode, fragments: Record<string, FragmentDefinitionNode>) => SelectionSetNode;
5export declare type ResultTransformer = (result: any) => any;
6export declare type ErrorPathTransformer = (path: ReadonlyArray<string | number>) => Array<string | number>;
7export 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}