diff options
Diffstat (limited to 'school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs')
-rw-r--r-- | school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs b/school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs deleted file mode 100644 index da45925..0000000 --- a/school/node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.mjs +++ /dev/null @@ -1,50 +0,0 @@ -import inspect from "../../jsutils/inspect.mjs"; -import { GraphQLError } from "../../error/GraphQLError.mjs"; -import { isCompositeType } from "../../type/definition.mjs"; -import { typeFromAST } from "../../utilities/typeFromAST.mjs"; -import { doTypesOverlap } from "../../utilities/typeComparators.mjs"; - -/** - * 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) { - return { - InlineFragment: function InlineFragment(node) { - var fragType = context.getType(); - var parentType = context.getParentType(); - - if (isCompositeType(fragType) && isCompositeType(parentType) && !doTypesOverlap(context.getSchema(), fragType, parentType)) { - var parentTypeStr = inspect(parentType); - var fragTypeStr = inspect(fragType); - context.reportError(new GraphQLError("Fragment cannot be spread here as objects of type \"".concat(parentTypeStr, "\" can never be of type \"").concat(fragTypeStr, "\"."), node)); - } - }, - FragmentSpread: function FragmentSpread(node) { - var fragName = node.name.value; - var fragType = getFragmentType(context, fragName); - var parentType = context.getParentType(); - - if (fragType && parentType && !doTypesOverlap(context.getSchema(), fragType, parentType)) { - var parentTypeStr = inspect(parentType); - var fragTypeStr = inspect(fragType); - context.reportError(new GraphQLError("Fragment \"".concat(fragName, "\" cannot be spread here as objects of type \"").concat(parentTypeStr, "\" can never be of type \"").concat(fragTypeStr, "\"."), node)); - } - } - }; -} - -function getFragmentType(context, name) { - var frag = context.getFragment(name); - - if (frag) { - var type = typeFromAST(context.getSchema(), frag.typeCondition); - - if (isCompositeType(type)) { - return type; - } - } -} |