123456789101112131415161718192021222324252627282930 |
- // @flow strict
- import { GraphQLError } from '../../error/GraphQLError';
- import { type ASTVisitor } from '../../language/visitor';
- import { type ValidationContext } from '../ValidationContext';
- export function unknownFragmentMessage(fragName: string): string {
- return `Unknown fragment "${fragName}".`;
- }
- /**
- * Known fragment names
- *
- * A GraphQL document is only valid if all `...Fragment` fragment spreads refer
- * to fragments defined in the same document.
- */
- export function KnownFragmentNames(context: ValidationContext): ASTVisitor {
- return {
- FragmentSpread(node) {
- const fragmentName = node.name.value;
- const fragment = context.getFragment(fragmentName);
- if (!fragment) {
- context.reportError(
- new GraphQLError(unknownFragmentMessage(fragmentName), node.name),
- );
- }
- },
- };
- }
|