UNPKG

1.61 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>, delegationContext: DelegationContext, transformationContext: Record<string, any>) => SelectionSetNode;
5export declare type ResultTransformer = (result: any, delegationContext: DelegationContext, transformationContext: Record<string, 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}