@graphql-inspector/core
Version:
Tooling for GraphQL. Compare GraphQL Schemas, check documents, find breaking changes, find similar types.
23 lines (22 loc) • 1.18 kB
TypeScript
import { DepGraph } from 'dependency-graph';
import type { DocumentNode, FieldNode, FragmentDefinitionNode, FragmentSpreadNode, InlineFragmentNode, OperationDefinitionNode, Source } from 'graphql';
import { GraphQLError } from 'graphql';
export type CalculateOperationComplexityConfig = {
scalarCost: number;
objectCost: number;
depthCostFactor: number;
};
export type ValidateOperationComplexityConfig = {
maxComplexityScore: number;
complexityScalarCost: number;
complexityObjectCost: number;
complexityDepthCostFactor: number;
};
export declare function validateComplexity({ source, doc, maxComplexityScore, config, fragmentGraph, }: {
source: Source;
doc: DocumentNode;
maxComplexityScore: number;
config: CalculateOperationComplexityConfig;
fragmentGraph: DepGraph<FragmentDefinitionNode>;
}): GraphQLError | void;
export declare function calculateOperationComplexity(node: FieldNode | FragmentDefinitionNode | InlineFragmentNode | OperationDefinitionNode | FragmentSpreadNode, config: CalculateOperationComplexityConfig, getFragmentByName: (fragmentName: string) => FragmentDefinitionNode | undefined, depth?: number): number;