diff options
Diffstat (limited to 'school/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js.flow')
-rw-r--r-- | school/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js.flow | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/school/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js.flow b/school/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js.flow deleted file mode 100644 index e79cd7a..0000000 --- a/school/node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.js.flow +++ /dev/null @@ -1,44 +0,0 @@ -// @flow strict -import { GraphQLError } from '../../error/GraphQLError'; - -import type { ASTVisitor } from '../../language/visitor'; - -import type { ASTValidationContext } from '../ValidationContext'; - -/** - * Unique input field names - * - * A GraphQL input object value is only valid if all supplied fields are - * uniquely named. - */ -export function UniqueInputFieldNamesRule( - context: ASTValidationContext, -): ASTVisitor { - const knownNameStack = []; - let knownNames = Object.create(null); - - return { - ObjectValue: { - enter() { - knownNameStack.push(knownNames); - knownNames = Object.create(null); - }, - leave() { - knownNames = knownNameStack.pop(); - }, - }, - ObjectField(node) { - const fieldName = node.name.value; - if (knownNames[fieldName]) { - context.reportError( - new GraphQLError( - `There can be only one input field named "${fieldName}".`, - [knownNames[fieldName], node.name], - ), - ); - } else { - knownNames[fieldName] = node.name; - } - }, - }; -} |