diff options
Diffstat (limited to 'school/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js.flow')
-rw-r--r-- | school/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js.flow | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/school/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js.flow b/school/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js.flow deleted file mode 100644 index 688a2bb..0000000 --- a/school/node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.js.flow +++ /dev/null @@ -1,46 +0,0 @@ -// @flow strict -import { GraphQLError } from '../../error/GraphQLError'; -import type { ASTVisitor } from '../../language/visitor'; - -import type { SDLValidationContext } from '../ValidationContext'; - -/** - * Unique directive names - * - * A GraphQL document is only valid if all defined directives have unique names. - */ -export function UniqueDirectiveNamesRule( - context: SDLValidationContext, -): ASTVisitor { - const knownDirectiveNames = Object.create(null); - const schema = context.getSchema(); - - return { - DirectiveDefinition(node) { - const directiveName = node.name.value; - - if (schema?.getDirective(directiveName)) { - context.reportError( - new GraphQLError( - `Directive "@${directiveName}" already exists in the schema. It cannot be redefined.`, - node.name, - ), - ); - return; - } - - if (knownDirectiveNames[directiveName]) { - context.reportError( - new GraphQLError( - `There can be only one directive named "@${directiveName}".`, - [knownDirectiveNames[directiveName], node.name], - ), - ); - } else { - knownDirectiveNames[directiveName] = node.name; - } - - return false; - }, - }; -} |