From 3d1cd02f27518f1a04374c7c8320cd5d82ede6e9 Mon Sep 17 00:00:00 2001 From: Minteck Date: Thu, 23 Feb 2023 19:34:56 +0100 Subject: Updated 40 files, added 37 files, deleted 1103 files and renamed 3905 files (automated) --- .../rules/PossibleFragmentSpreadsRule.js.flow | 78 ---------------------- 1 file changed, 78 deletions(-) delete mode 100644 school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js.flow (limited to 'school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js.flow') diff --git a/school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js.flow b/school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js.flow deleted file mode 100644 index 9c275bb..0000000 --- a/school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.js.flow +++ /dev/null @@ -1,78 +0,0 @@ -// @flow strict -import inspect from '../../jsutils/inspect'; - -import { GraphQLError } from '../../error/GraphQLError'; - -import type { ASTVisitor } from '../../language/visitor'; - -import type { GraphQLCompositeType } from '../../type/definition'; -import { isCompositeType } from '../../type/definition'; - -import { typeFromAST } from '../../utilities/typeFromAST'; -import { doTypesOverlap } from '../../utilities/typeComparators'; - -import type { ValidationContext } from '../ValidationContext'; - -/** - * Possible fragment spread - * - * A fragment spread is only valid if the type condition could ever possibly - * be true: if there is a non-empty intersection of the possible parent types, - * and possible types which pass the type condition. - */ -export function PossibleFragmentSpreadsRule( - context: ValidationContext, -): ASTVisitor { - return { - InlineFragment(node) { - const fragType = context.getType(); - const parentType = context.getParentType(); - if ( - isCompositeType(fragType) && - isCompositeType(parentType) && - !doTypesOverlap(context.getSchema(), fragType, parentType) - ) { - const parentTypeStr = inspect(parentType); - const fragTypeStr = inspect(fragType); - context.reportError( - new GraphQLError( - `Fragment cannot be spread here as objects of type "${parentTypeStr}" can never be of type "${fragTypeStr}".`, - node, - ), - ); - } - }, - FragmentSpread(node) { - const fragName = node.name.value; - const fragType = getFragmentType(context, fragName); - const parentType = context.getParentType(); - if ( - fragType && - parentType && - !doTypesOverlap(context.getSchema(), fragType, parentType) - ) { - const parentTypeStr = inspect(parentType); - const fragTypeStr = inspect(fragType); - context.reportError( - new GraphQLError( - `Fragment "${fragName}" cannot be spread here as objects of type "${parentTypeStr}" can never be of type "${fragTypeStr}".`, - node, - ), - ); - } - }, - }; -} - -function getFragmentType( - context: ValidationContext, - name: string, -): ?GraphQLCompositeType { - const frag = context.getFragment(name); - if (frag) { - const type = typeFromAST(context.getSchema(), frag.typeCondition); - if (isCompositeType(type)) { - return type; - } - } -} -- cgit