UNPKG

graphql

Version:

A Query Language and Runtime which can target any service.

30 lines 1.07 kB
import { GraphQLError } from "../../error/GraphQLError.mjs"; export function NoUnusedFragmentsRule(context) { const fragmentNameUsed = new Set(); const fragmentDefs = []; return { OperationDefinition(operation) { for (const fragment of context.getRecursivelyReferencedFragments(operation)) { fragmentNameUsed.add(fragment.name.value); } return false; }, FragmentDefinition(node) { fragmentDefs.push(node); return false; }, Document: { leave() { for (const fragmentDef of fragmentDefs) { const fragName = fragmentDef.name.value; if (!fragmentNameUsed.has(fragName)) { context.reportError(new GraphQLError(`Fragment "${fragName}" is never used.`, { nodes: fragmentDef, })); } } }, }, }; } //# sourceMappingURL=NoUnusedFragmentsRule.js.map