UNPKG

@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
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;