graphql 17.0.0-beta.0 → 17.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__dev__/execution/buildResolveInfo.d.mts +1 -0
- package/__dev__/execution/buildResolveInfo.d.ts +1 -0
- package/__dev__/execution/buildResolveInfo.js +3 -0
- package/__dev__/execution/buildResolveInfo.mjs +3 -0
- package/devMode.js +2 -2
- package/devMode.js.map +1 -1
- package/devMode.mjs.map +1 -1
- package/error/GraphQLError.d.mts +4 -4
- package/error/GraphQLError.d.ts +4 -4
- package/error/GraphQLError.js +10 -11
- package/error/GraphQLError.js.map +1 -1
- package/error/GraphQLError.mjs +2 -3
- package/error/GraphQLError.mjs.map +1 -1
- package/error/ensureGraphQLError.d.mts +1 -1
- package/error/ensureGraphQLError.d.ts +1 -1
- package/error/ensureGraphQLError.js +5 -5
- package/error/ensureGraphQLError.js.map +1 -1
- package/error/ensureGraphQLError.mjs.map +1 -1
- package/error/index.d.mts +4 -4
- package/error/index.d.ts +4 -4
- package/error/index.js +6 -6
- package/error/index.js.map +1 -1
- package/error/index.mjs.map +1 -1
- package/error/locatedError.d.mts +3 -3
- package/error/locatedError.d.ts +3 -3
- package/error/locatedError.js +4 -4
- package/error/locatedError.js.map +1 -1
- package/error/locatedError.mjs.map +1 -1
- package/error/syntaxError.d.mts +2 -2
- package/error/syntaxError.d.ts +2 -2
- package/error/syntaxError.js +2 -2
- package/error/syntaxError.js.map +1 -1
- package/error/syntaxError.mjs.map +1 -1
- package/execution/AbortedGraphQLExecutionError.d.mts +1 -1
- package/execution/AbortedGraphQLExecutionError.d.ts +1 -1
- package/execution/AbortedGraphQLExecutionError.js.map +1 -1
- package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
- package/execution/AsyncWorkTracker.js +2 -2
- package/execution/AsyncWorkTracker.js.map +1 -1
- package/execution/AsyncWorkTracker.mjs.map +1 -1
- package/execution/Executor.d.mts +16 -17
- package/execution/Executor.d.ts +16 -17
- package/execution/Executor.js +83 -85
- package/execution/Executor.js.map +1 -1
- package/execution/Executor.mjs +3 -5
- package/execution/Executor.mjs.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
- package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
- package/execution/ExecutorThrowingOnIncremental.js +11 -11
- package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
- package/execution/buildResolveInfo.d.mts +14 -0
- package/execution/buildResolveInfo.d.ts +14 -0
- package/execution/buildResolveInfo.js +24 -0
- package/execution/buildResolveInfo.js.map +1 -0
- package/execution/buildResolveInfo.mjs +21 -0
- package/execution/buildResolveInfo.mjs.map +1 -0
- package/execution/cancellablePromise.js +2 -2
- package/execution/cancellablePromise.js.map +1 -1
- package/execution/cancellablePromise.mjs.map +1 -1
- package/execution/collectFields.d.mts +6 -6
- package/execution/collectFields.d.ts +6 -6
- package/execution/collectFields.js +19 -19
- package/execution/collectFields.js.map +1 -1
- package/execution/collectFields.mjs.map +1 -1
- package/execution/collectIteratorPromises.js +2 -2
- package/execution/collectIteratorPromises.js.map +1 -1
- package/execution/collectIteratorPromises.mjs.map +1 -1
- package/execution/createSharedExecutionContext.d.mts +2 -2
- package/execution/createSharedExecutionContext.d.ts +2 -2
- package/execution/createSharedExecutionContext.js +2 -2
- package/execution/createSharedExecutionContext.js.map +1 -1
- package/execution/createSharedExecutionContext.mjs.map +1 -1
- package/execution/execute.d.mts +14 -14
- package/execution/execute.d.ts +14 -14
- package/execution/execute.js +78 -98
- package/execution/execute.js.map +1 -1
- package/execution/execute.mjs +17 -37
- package/execution/execute.mjs.map +1 -1
- package/execution/getStreamUsage.d.mts +2 -2
- package/execution/getStreamUsage.d.ts +2 -2
- package/execution/getStreamUsage.js +9 -9
- package/execution/getStreamUsage.js.map +1 -1
- package/execution/getStreamUsage.mjs.map +1 -1
- package/execution/getVariableSignature.d.mts +3 -3
- package/execution/getVariableSignature.d.ts +3 -3
- package/execution/getVariableSignature.js +8 -8
- package/execution/getVariableSignature.js.map +1 -1
- package/execution/getVariableSignature.mjs.map +1 -1
- package/execution/hooks.d.mts +2 -2
- package/execution/hooks.d.ts +2 -2
- package/execution/hooks.js.map +1 -1
- package/execution/hooks.mjs.map +1 -1
- package/execution/incremental/Computation.d.mts +1 -1
- package/execution/incremental/Computation.d.ts +1 -1
- package/execution/incremental/Computation.js +2 -2
- package/execution/incremental/Computation.js.map +1 -1
- package/execution/incremental/Computation.mjs.map +1 -1
- package/execution/incremental/IncrementalExecutor.d.mts +14 -14
- package/execution/incremental/IncrementalExecutor.d.ts +14 -14
- package/execution/incremental/IncrementalExecutor.js +48 -48
- package/execution/incremental/IncrementalExecutor.js.map +1 -1
- package/execution/incremental/IncrementalExecutor.mjs +3 -3
- package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
- package/execution/incremental/IncrementalPublisher.d.mts +3 -3
- package/execution/incremental/IncrementalPublisher.d.ts +3 -3
- package/execution/incremental/IncrementalPublisher.js +13 -14
- package/execution/incremental/IncrementalPublisher.js.map +1 -1
- package/execution/incremental/IncrementalPublisher.mjs +1 -2
- package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
- package/execution/incremental/Queue.d.mts +1 -1
- package/execution/incremental/Queue.d.ts +1 -1
- package/execution/incremental/Queue.js +26 -22
- package/execution/incremental/Queue.js.map +1 -1
- package/execution/incremental/Queue.mjs +10 -6
- package/execution/incremental/Queue.mjs.map +1 -1
- package/execution/incremental/WorkQueue.d.mts +2 -2
- package/execution/incremental/WorkQueue.d.ts +2 -2
- package/execution/incremental/WorkQueue.js +7 -7
- package/execution/incremental/WorkQueue.js.map +1 -1
- package/execution/incremental/WorkQueue.mjs.map +1 -1
- package/execution/incremental/buildExecutionPlan.d.mts +1 -1
- package/execution/incremental/buildExecutionPlan.d.ts +1 -1
- package/execution/incremental/buildExecutionPlan.js +4 -4
- package/execution/incremental/buildExecutionPlan.js.map +1 -1
- package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
- package/execution/index.d.mts +8 -8
- package/execution/index.d.ts +8 -8
- package/execution/index.js +23 -22
- package/execution/index.js.map +1 -1
- package/execution/index.mjs +1 -1
- package/execution/index.mjs.map +1 -1
- package/execution/mapAsyncIterable.d.mts +1 -1
- package/execution/mapAsyncIterable.d.ts +1 -1
- package/execution/mapAsyncIterable.js +4 -4
- package/execution/mapAsyncIterable.js.map +1 -1
- package/execution/mapAsyncIterable.mjs.map +1 -1
- package/execution/returnIteratorCatchingErrors.js +1 -1
- package/execution/returnIteratorCatchingErrors.js.map +1 -1
- package/execution/returnIteratorCatchingErrors.mjs +1 -1
- package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
- package/execution/values.d.mts +9 -9
- package/execution/values.d.ts +9 -9
- package/execution/values.js +34 -34
- package/execution/values.js.map +1 -1
- package/execution/values.mjs +2 -2
- package/execution/values.mjs.map +1 -1
- package/execution/withConcurrentAbruptClose.d.mts +1 -1
- package/execution/withConcurrentAbruptClose.d.ts +1 -1
- package/execution/withConcurrentAbruptClose.js +4 -4
- package/execution/withConcurrentAbruptClose.js.map +1 -1
- package/execution/withConcurrentAbruptClose.mjs +2 -2
- package/execution/withConcurrentAbruptClose.mjs.map +1 -1
- package/graphql.d.mts +7 -7
- package/graphql.d.ts +7 -7
- package/graphql.js +11 -11
- package/graphql.js.map +1 -1
- package/graphql.mjs.map +1 -1
- package/harness.d.mts +4 -4
- package/harness.d.ts +4 -4
- package/harness.js +7 -7
- package/harness.js.map +1 -1
- package/harness.mjs.map +1 -1
- package/index.d.mts +20 -20
- package/index.d.ts +20 -20
- package/index.js +253 -252
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/jsutils/Path.d.mts +1 -1
- package/jsutils/Path.d.ts +1 -1
- package/jsutils/Path.js.map +1 -1
- package/jsutils/Path.mjs.map +1 -1
- package/jsutils/didYouMean.js +2 -2
- package/jsutils/didYouMean.js.map +1 -1
- package/jsutils/didYouMean.mjs.map +1 -1
- package/jsutils/formatList.js +2 -2
- package/jsutils/formatList.js.map +1 -1
- package/jsutils/formatList.mjs.map +1 -1
- package/jsutils/getBySet.js +2 -2
- package/jsutils/getBySet.js.map +1 -1
- package/jsutils/getBySet.mjs.map +1 -1
- package/jsutils/groupBy.js +2 -2
- package/jsutils/groupBy.js.map +1 -1
- package/jsutils/groupBy.mjs.map +1 -1
- package/jsutils/instanceOf.js +2 -2
- package/jsutils/instanceOf.js.map +1 -1
- package/jsutils/instanceOf.mjs.map +1 -1
- package/jsutils/keyMap.d.mts +1 -1
- package/jsutils/keyMap.d.ts +1 -1
- package/jsutils/keyMap.js.map +1 -1
- package/jsutils/keyMap.mjs.map +1 -1
- package/jsutils/keyValMap.d.mts +1 -1
- package/jsutils/keyValMap.d.ts +1 -1
- package/jsutils/keyValMap.js.map +1 -1
- package/jsutils/keyValMap.mjs.map +1 -1
- package/jsutils/mapValue.d.mts +1 -1
- package/jsutils/mapValue.d.ts +1 -1
- package/jsutils/mapValue.js.map +1 -1
- package/jsutils/mapValue.mjs.map +1 -1
- package/jsutils/promiseForObject.d.mts +2 -2
- package/jsutils/promiseForObject.d.ts +2 -2
- package/jsutils/promiseForObject.js.map +1 -1
- package/jsutils/promiseForObject.mjs.map +1 -1
- package/jsutils/promiseReduce.d.mts +1 -1
- package/jsutils/promiseReduce.d.ts +1 -1
- package/jsutils/promiseReduce.js +2 -2
- package/jsutils/promiseReduce.js.map +1 -1
- package/jsutils/promiseReduce.mjs.map +1 -1
- package/jsutils/promiseWithResolvers.d.mts +1 -1
- package/jsutils/promiseWithResolvers.d.ts +1 -1
- package/jsutils/promiseWithResolvers.js.map +1 -1
- package/jsutils/promiseWithResolvers.mjs.map +1 -1
- package/jsutils/suggestionList.js +2 -2
- package/jsutils/suggestionList.js.map +1 -1
- package/jsutils/suggestionList.mjs.map +1 -1
- package/jsutils/toError.js +2 -2
- package/jsutils/toError.js.map +1 -1
- package/jsutils/toError.mjs.map +1 -1
- package/jsutils/toObjMap.d.mts +2 -2
- package/jsutils/toObjMap.d.ts +2 -2
- package/jsutils/toObjMap.js.map +1 -1
- package/jsutils/toObjMap.mjs.map +1 -1
- package/language/KindTypeMap.d.mts +1 -1
- package/language/KindTypeMap.d.ts +1 -1
- package/language/KindTypeMap.js.map +1 -1
- package/language/KindTypeMap.mjs.map +1 -1
- package/language/ast.d.mts +12 -5
- package/language/ast.d.ts +12 -5
- package/language/ast.js +8 -1
- package/language/ast.js.map +1 -1
- package/language/ast.mjs +8 -1
- package/language/ast.mjs.map +1 -1
- package/language/blockString.js +4 -4
- package/language/blockString.js.map +1 -1
- package/language/blockString.mjs.map +1 -1
- package/language/directiveLocation.d.mts +2 -1
- package/language/directiveLocation.d.ts +2 -1
- package/language/directiveLocation.js +2 -1
- package/language/directiveLocation.js.map +1 -1
- package/language/directiveLocation.mjs +2 -1
- package/language/directiveLocation.mjs.map +1 -1
- package/language/index.d.mts +16 -16
- package/language/index.d.ts +16 -16
- package/language/index.js +45 -45
- package/language/index.js.map +1 -1
- package/language/index.mjs.map +1 -1
- package/language/kinds.d.mts +2 -2
- package/language/kinds.d.ts +2 -2
- package/language/kinds.js.map +1 -1
- package/language/kinds.mjs.map +1 -1
- package/language/kinds_.d.mts +2 -0
- package/language/kinds_.d.ts +2 -0
- package/language/kinds_.js +2 -1
- package/language/kinds_.js.map +1 -1
- package/language/kinds_.mjs +1 -0
- package/language/kinds_.mjs.map +1 -1
- package/language/lexer.d.mts +3 -3
- package/language/lexer.d.ts +3 -3
- package/language/lexer.js +67 -67
- package/language/lexer.js.map +1 -1
- package/language/lexer.mjs.map +1 -1
- package/language/location.d.mts +1 -1
- package/language/location.d.ts +1 -1
- package/language/location.js +2 -2
- package/language/location.js.map +1 -1
- package/language/location.mjs.map +1 -1
- package/language/parser.d.mts +20 -7
- package/language/parser.d.ts +20 -7
- package/language/parser.js +185 -155
- package/language/parser.js.map +1 -1
- package/language/parser.mjs +30 -0
- package/language/parser.mjs.map +1 -1
- package/language/predicates.d.mts +1 -1
- package/language/predicates.d.ts +1 -1
- package/language/predicates.js +45 -43
- package/language/predicates.js.map +1 -1
- package/language/predicates.mjs +3 -1
- package/language/predicates.mjs.map +1 -1
- package/language/printLocation.d.mts +3 -3
- package/language/printLocation.d.ts +3 -3
- package/language/printLocation.js +2 -2
- package/language/printLocation.js.map +1 -1
- package/language/printLocation.mjs.map +1 -1
- package/language/printer.d.mts +1 -1
- package/language/printer.d.ts +1 -1
- package/language/printer.js +10 -6
- package/language/printer.js.map +1 -1
- package/language/printer.mjs +5 -1
- package/language/printer.mjs.map +1 -1
- package/language/schemaCoordinateLexer.d.mts +3 -3
- package/language/schemaCoordinateLexer.d.ts +3 -3
- package/language/schemaCoordinateLexer.js +16 -16
- package/language/schemaCoordinateLexer.js.map +1 -1
- package/language/schemaCoordinateLexer.mjs.map +1 -1
- package/language/source.js +5 -5
- package/language/source.js.map +1 -1
- package/language/source.mjs.map +1 -1
- package/language/visitor.d.mts +2 -2
- package/language/visitor.d.ts +2 -2
- package/language/visitor.js +10 -10
- package/language/visitor.js.map +1 -1
- package/language/visitor.mjs.map +1 -1
- package/package.json +2 -2
- package/type/assertName.js +8 -8
- package/type/assertName.js.map +1 -1
- package/type/assertName.mjs.map +1 -1
- package/type/definition.d.mts +9 -9
- package/type/definition.d.ts +9 -9
- package/type/definition.js +94 -94
- package/type/definition.js.map +1 -1
- package/type/definition.mjs.map +1 -1
- package/type/directives.d.mts +11 -6
- package/type/directives.d.ts +11 -6
- package/type/directives.js +51 -46
- package/type/directives.js.map +1 -1
- package/type/directives.mjs +5 -0
- package/type/directives.mjs.map +1 -1
- package/type/index.d.mts +12 -12
- package/type/index.d.ts +12 -12
- package/type/index.js +106 -106
- package/type/index.js.map +1 -1
- package/type/index.mjs.map +1 -1
- package/type/introspection.d.mts +2 -2
- package/type/introspection.d.ts +2 -2
- package/type/introspection.js +123 -103
- package/type/introspection.js.map +1 -1
- package/type/introspection.mjs +25 -5
- package/type/introspection.mjs.map +1 -1
- package/type/scalars.d.mts +2 -2
- package/type/scalars.d.ts +2 -2
- package/type/scalars.js +61 -61
- package/type/scalars.js.map +1 -1
- package/type/scalars.mjs.map +1 -1
- package/type/schema.d.mts +7 -7
- package/type/schema.d.ts +7 -7
- package/type/schema.js +32 -32
- package/type/schema.js.map +1 -1
- package/type/schema.mjs.map +1 -1
- package/type/validate.d.mts +4 -4
- package/type/validate.d.ts +4 -4
- package/type/validate.js +83 -83
- package/type/validate.js.map +1 -1
- package/type/validate.mjs +1 -1
- package/type/validate.mjs.map +1 -1
- package/utilities/TypeInfo.d.mts +6 -6
- package/utilities/TypeInfo.d.ts +6 -6
- package/utilities/TypeInfo.js +61 -61
- package/utilities/TypeInfo.js.map +1 -1
- package/utilities/TypeInfo.mjs +1 -1
- package/utilities/TypeInfo.mjs.map +1 -1
- package/utilities/astFromValue.d.mts +3 -3
- package/utilities/astFromValue.d.ts +3 -3
- package/utilities/astFromValue.js +31 -33
- package/utilities/astFromValue.js.map +1 -1
- package/utilities/astFromValue.mjs +1 -3
- package/utilities/astFromValue.mjs.map +1 -1
- package/utilities/buildASTSchema.d.mts +5 -5
- package/utilities/buildASTSchema.d.ts +5 -5
- package/utilities/buildASTSchema.js +11 -10
- package/utilities/buildASTSchema.js.map +1 -1
- package/utilities/buildASTSchema.mjs +1 -0
- package/utilities/buildASTSchema.mjs.map +1 -1
- package/utilities/buildClientSchema.d.mts +3 -3
- package/utilities/buildClientSchema.d.ts +3 -3
- package/utilities/buildClientSchema.js +53 -52
- package/utilities/buildClientSchema.js.map +1 -1
- package/utilities/buildClientSchema.mjs +1 -0
- package/utilities/buildClientSchema.mjs.map +1 -1
- package/utilities/coerceInputValue.d.mts +5 -5
- package/utilities/coerceInputValue.d.ts +5 -5
- package/utilities/coerceInputValue.js +31 -31
- package/utilities/coerceInputValue.js.map +1 -1
- package/utilities/coerceInputValue.mjs.map +1 -1
- package/utilities/concatAST.d.mts +1 -1
- package/utilities/concatAST.d.ts +1 -1
- package/utilities/concatAST.js +2 -2
- package/utilities/concatAST.js.map +1 -1
- package/utilities/concatAST.mjs.map +1 -1
- package/utilities/extendSchema.d.mts +3 -3
- package/utilities/extendSchema.d.ts +3 -3
- package/utilities/extendSchema.js +92 -66
- package/utilities/extendSchema.js.map +1 -1
- package/utilities/extendSchema.mjs +27 -1
- package/utilities/extendSchema.mjs.map +1 -1
- package/utilities/findSchemaChanges.d.mts +1 -1
- package/utilities/findSchemaChanges.d.ts +1 -1
- package/utilities/findSchemaChanges.js +42 -44
- package/utilities/findSchemaChanges.js.map +1 -1
- package/utilities/findSchemaChanges.mjs +1 -3
- package/utilities/findSchemaChanges.mjs.map +1 -1
- package/utilities/getDefaultValueAST.d.mts +2 -2
- package/utilities/getDefaultValueAST.d.ts +2 -2
- package/utilities/getDefaultValueAST.js +9 -7
- package/utilities/getDefaultValueAST.js.map +1 -1
- package/utilities/getDefaultValueAST.mjs +2 -0
- package/utilities/getDefaultValueAST.mjs.map +1 -1
- package/utilities/getIntrospectionQuery.d.mts +19 -3
- package/utilities/getIntrospectionQuery.d.ts +19 -3
- package/utilities/getIntrospectionQuery.js +22 -38
- package/utilities/getIntrospectionQuery.js.map +1 -1
- package/utilities/getIntrospectionQuery.mjs +22 -38
- package/utilities/getIntrospectionQuery.mjs.map +1 -1
- package/utilities/getOperationAST.d.mts +2 -2
- package/utilities/getOperationAST.d.ts +2 -2
- package/utilities/getOperationAST.js +2 -2
- package/utilities/getOperationAST.js.map +1 -1
- package/utilities/getOperationAST.mjs.map +1 -1
- package/utilities/index.d.mts +28 -28
- package/utilities/index.d.ts +28 -28
- package/utilities/index.js +61 -61
- package/utilities/index.js.map +1 -1
- package/utilities/index.mjs.map +1 -1
- package/utilities/introspectionFromSchema.d.mts +2 -2
- package/utilities/introspectionFromSchema.d.ts +2 -2
- package/utilities/introspectionFromSchema.js +8 -7
- package/utilities/introspectionFromSchema.js.map +1 -1
- package/utilities/introspectionFromSchema.mjs +1 -0
- package/utilities/introspectionFromSchema.mjs.map +1 -1
- package/utilities/lexicographicSortSchema.d.mts +1 -1
- package/utilities/lexicographicSortSchema.d.ts +1 -1
- package/utilities/lexicographicSortSchema.js +14 -14
- package/utilities/lexicographicSortSchema.js.map +1 -1
- package/utilities/lexicographicSortSchema.mjs.map +1 -1
- package/utilities/mapSchemaConfig.d.mts +3 -3
- package/utilities/mapSchemaConfig.d.ts +3 -3
- package/utilities/mapSchemaConfig.js +29 -31
- package/utilities/mapSchemaConfig.js.map +1 -1
- package/utilities/mapSchemaConfig.mjs +1 -3
- package/utilities/mapSchemaConfig.mjs.map +1 -1
- package/utilities/printSchema.d.mts +3 -3
- package/utilities/printSchema.d.ts +3 -3
- package/utilities/printSchema.js +31 -32
- package/utilities/printSchema.js.map +1 -1
- package/utilities/printSchema.mjs +2 -3
- package/utilities/printSchema.mjs.map +1 -1
- package/utilities/replaceVariables.d.mts +4 -4
- package/utilities/replaceVariables.d.ts +4 -4
- package/utilities/replaceVariables.js +9 -9
- package/utilities/replaceVariables.js.map +1 -1
- package/utilities/replaceVariables.mjs.map +1 -1
- package/utilities/resolveSchemaCoordinate.d.mts +5 -5
- package/utilities/resolveSchemaCoordinate.d.ts +5 -5
- package/utilities/resolveSchemaCoordinate.js +23 -23
- package/utilities/resolveSchemaCoordinate.js.map +1 -1
- package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
- package/utilities/separateOperations.d.mts +2 -2
- package/utilities/separateOperations.d.ts +2 -2
- package/utilities/separateOperations.js +7 -7
- package/utilities/separateOperations.js.map +1 -1
- package/utilities/separateOperations.mjs.map +1 -1
- package/utilities/sortValueNode.d.mts +1 -1
- package/utilities/sortValueNode.d.ts +1 -1
- package/utilities/sortValueNode.js +12 -12
- package/utilities/sortValueNode.js.map +1 -1
- package/utilities/sortValueNode.mjs.map +1 -1
- package/utilities/stripIgnoredCharacters.d.mts +1 -1
- package/utilities/stripIgnoredCharacters.d.ts +1 -1
- package/utilities/stripIgnoredCharacters.js +11 -11
- package/utilities/stripIgnoredCharacters.js.map +1 -1
- package/utilities/stripIgnoredCharacters.mjs.map +1 -1
- package/utilities/typeComparators.d.mts +2 -2
- package/utilities/typeComparators.d.ts +2 -2
- package/utilities/typeComparators.js +14 -14
- package/utilities/typeComparators.js.map +1 -1
- package/utilities/typeComparators.mjs.map +1 -1
- package/utilities/typeFromAST.d.mts +4 -4
- package/utilities/typeFromAST.d.ts +4 -4
- package/utilities/typeFromAST.js +7 -7
- package/utilities/typeFromAST.js.map +1 -1
- package/utilities/typeFromAST.mjs.map +1 -1
- package/utilities/typedQueryDocumentNode.d.mts +1 -1
- package/utilities/typedQueryDocumentNode.d.ts +1 -1
- package/utilities/typedQueryDocumentNode.js.map +1 -1
- package/utilities/typedQueryDocumentNode.mjs.map +1 -1
- package/utilities/validateInputValue.d.mts +6 -6
- package/utilities/validateInputValue.d.ts +6 -6
- package/utilities/validateInputValue.js +60 -60
- package/utilities/validateInputValue.js.map +1 -1
- package/utilities/validateInputValue.mjs.map +1 -1
- package/utilities/valueFromAST.d.mts +4 -4
- package/utilities/valueFromAST.d.ts +4 -4
- package/utilities/valueFromAST.js +20 -22
- package/utilities/valueFromAST.js.map +1 -1
- package/utilities/valueFromAST.mjs +1 -3
- package/utilities/valueFromAST.mjs.map +1 -1
- package/utilities/valueFromASTUntyped.d.mts +3 -3
- package/utilities/valueFromASTUntyped.d.ts +3 -3
- package/utilities/valueFromASTUntyped.js +12 -12
- package/utilities/valueFromASTUntyped.js.map +1 -1
- package/utilities/valueFromASTUntyped.mjs.map +1 -1
- package/utilities/valueToLiteral.d.mts +2 -2
- package/utilities/valueToLiteral.d.ts +2 -2
- package/utilities/valueToLiteral.js +30 -30
- package/utilities/valueToLiteral.js.map +1 -1
- package/utilities/valueToLiteral.mjs.map +1 -1
- package/validation/ValidationContext.d.mts +9 -9
- package/validation/ValidationContext.d.ts +9 -9
- package/validation/ValidationContext.js +8 -8
- package/validation/ValidationContext.js.map +1 -1
- package/validation/ValidationContext.mjs.map +1 -1
- package/validation/index.d.mts +46 -46
- package/validation/index.d.ts +46 -46
- package/validation/index.js +91 -91
- package/validation/index.js.map +1 -1
- package/validation/index.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +2 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +2 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -9
- package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +2 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +2 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -8
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +2 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +2 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -14
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.d.mts +2 -2
- package/validation/rules/ExecutableDefinitionsRule.d.ts +2 -2
- package/validation/rules/ExecutableDefinitionsRule.js +7 -7
- package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.d.mts +2 -2
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +2 -2
- package/validation/rules/FieldsOnCorrectTypeRule.js +14 -14
- package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +2 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +2 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -12
- package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.d.mts +2 -2
- package/validation/rules/KnownArgumentNamesRule.d.ts +2 -2
- package/validation/rules/KnownArgumentNamesRule.js +16 -16
- package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownDirectivesRule.d.mts +2 -2
- package/validation/rules/KnownDirectivesRule.d.ts +2 -2
- package/validation/rules/KnownDirectivesRule.js +67 -64
- package/validation/rules/KnownDirectivesRule.js.map +1 -1
- package/validation/rules/KnownDirectivesRule.mjs +4 -1
- package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.d.mts +2 -2
- package/validation/rules/KnownFragmentNamesRule.d.ts +2 -2
- package/validation/rules/KnownFragmentNamesRule.js +2 -2
- package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownOperationTypesRule.d.mts +2 -2
- package/validation/rules/KnownOperationTypesRule.d.ts +2 -2
- package/validation/rules/KnownOperationTypesRule.js +2 -2
- package/validation/rules/KnownOperationTypesRule.js.map +1 -1
- package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
- package/validation/rules/KnownTypeNamesRule.d.mts +2 -2
- package/validation/rules/KnownTypeNamesRule.d.ts +2 -2
- package/validation/rules/KnownTypeNamesRule.js +11 -11
- package/validation/rules/KnownTypeNamesRule.js.map +1 -1
- package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.d.mts +2 -2
- package/validation/rules/LoneAnonymousOperationRule.d.ts +2 -2
- package/validation/rules/LoneAnonymousOperationRule.js +4 -4
- package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.d.mts +2 -2
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +2 -2
- package/validation/rules/LoneSchemaDefinitionRule.js +3 -3
- package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.d.mts +2 -2
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +2 -2
- package/validation/rules/MaxIntrospectionDepthRule.js +5 -5
- package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.d.mts +2 -2
- package/validation/rules/NoFragmentCyclesRule.d.ts +2 -2
- package/validation/rules/NoFragmentCyclesRule.js +2 -2
- package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.d.mts +2 -2
- package/validation/rules/NoUndefinedVariablesRule.d.ts +2 -2
- package/validation/rules/NoUndefinedVariablesRule.js +2 -2
- package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.d.mts +2 -2
- package/validation/rules/NoUnusedFragmentsRule.d.ts +2 -2
- package/validation/rules/NoUnusedFragmentsRule.js +2 -2
- package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.d.mts +2 -2
- package/validation/rules/NoUnusedVariablesRule.d.ts +2 -2
- package/validation/rules/NoUnusedVariablesRule.js +3 -3
- package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +2 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +2 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +31 -31
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.d.mts +2 -2
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +2 -2
- package/validation/rules/PossibleFragmentSpreadsRule.js +17 -17
- package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.d.mts +2 -2
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +2 -2
- package/validation/rules/PossibleTypeExtensionsRule.js +40 -42
- package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.mjs +2 -4
- package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +2 -2
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +2 -2
- package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -20
- package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
- package/validation/rules/ScalarLeafsRule.d.mts +2 -2
- package/validation/rules/ScalarLeafsRule.d.ts +2 -2
- package/validation/rules/ScalarLeafsRule.js +10 -10
- package/validation/rules/ScalarLeafsRule.js.map +1 -1
- package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.d.mts +2 -2
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +2 -2
- package/validation/rules/SingleFieldSubscriptionsRule.js +8 -8
- package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +2 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +2 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -7
- package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +2 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +2 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -4
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.d.mts +2 -2
- package/validation/rules/UniqueArgumentNamesRule.d.ts +2 -2
- package/validation/rules/UniqueArgumentNamesRule.js +4 -4
- package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.d.mts +2 -2
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +2 -2
- package/validation/rules/UniqueDirectiveNamesRule.js +3 -3
- package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +2 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +2 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -10
- package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.d.mts +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.js +5 -5
- package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +2 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +2 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -5
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.d.mts +2 -2
- package/validation/rules/UniqueFragmentNamesRule.d.ts +2 -2
- package/validation/rules/UniqueFragmentNamesRule.js +2 -2
- package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.d.mts +2 -2
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +2 -2
- package/validation/rules/UniqueInputFieldNamesRule.js +4 -4
- package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.d.mts +2 -2
- package/validation/rules/UniqueOperationNamesRule.d.ts +2 -2
- package/validation/rules/UniqueOperationNamesRule.js +2 -2
- package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.d.mts +2 -2
- package/validation/rules/UniqueOperationTypesRule.d.ts +2 -2
- package/validation/rules/UniqueOperationTypesRule.js +3 -3
- package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.d.mts +2 -2
- package/validation/rules/UniqueTypeNamesRule.d.ts +2 -2
- package/validation/rules/UniqueTypeNamesRule.js +3 -3
- package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.d.mts +2 -2
- package/validation/rules/UniqueVariableNamesRule.d.ts +2 -2
- package/validation/rules/UniqueVariableNamesRule.js +4 -4
- package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.d.mts +2 -2
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +2 -2
- package/validation/rules/ValuesOfCorrectTypeRule.js +2 -2
- package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.d.mts +2 -2
- package/validation/rules/VariablesAreInputTypesRule.d.ts +2 -2
- package/validation/rules/VariablesAreInputTypesRule.js +8 -8
- package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.d.mts +2 -2
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +2 -2
- package/validation/rules/VariablesInAllowedPositionRule.js +14 -14
- package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +2 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +2 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -8
- package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +2 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +2 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -6
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
- package/validation/specifiedRules.d.mts +1 -1
- package/validation/specifiedRules.d.ts +1 -1
- package/validation/specifiedRules.js +87 -87
- package/validation/specifiedRules.js.map +1 -1
- package/validation/specifiedRules.mjs.map +1 -1
- package/validation/validate.d.mts +5 -5
- package/validation/validate.d.ts +5 -5
- package/validation/validate.js +19 -19
- package/validation/validate.js.map +1 -1
- package/validation/validate.mjs.map +1 -1
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/version.mjs +2 -2
- package/version.mjs.map +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UniqueDirectivesPerLocationRule = UniqueDirectivesPerLocationRule;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
4
|
+
const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
|
|
5
|
+
const kinds_ts_1 = require("../../language/kinds.js");
|
|
6
|
+
const predicates_ts_1 = require("../../language/predicates.js");
|
|
7
|
+
const directives_ts_1 = require("../../type/directives.js");
|
|
8
8
|
/**
|
|
9
9
|
* Unique directive names per location
|
|
10
10
|
*
|
|
@@ -18,18 +18,19 @@ function UniqueDirectivesPerLocationRule(context) {
|
|
|
18
18
|
const schema = context.getSchema();
|
|
19
19
|
const definedDirectives = schema
|
|
20
20
|
? schema.getDirectives()
|
|
21
|
-
:
|
|
21
|
+
: directives_ts_1.specifiedDirectives;
|
|
22
22
|
for (const directive of definedDirectives) {
|
|
23
23
|
uniqueDirectiveMap.set(directive.name, !directive.isRepeatable);
|
|
24
24
|
}
|
|
25
25
|
const astDefinitions = context.getDocument().definitions;
|
|
26
26
|
for (const def of astDefinitions) {
|
|
27
|
-
if (def.kind ===
|
|
27
|
+
if (def.kind === kinds_ts_1.Kind.DIRECTIVE_DEFINITION) {
|
|
28
28
|
uniqueDirectiveMap.set(def.name.value, !def.repeatable);
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
const schemaDirectives = new Map();
|
|
32
32
|
const typeDirectivesMap = new Map();
|
|
33
|
+
const directiveDirectivesMap = new Map();
|
|
33
34
|
return {
|
|
34
35
|
// Many different AST nodes may contain directives. Rather than listing
|
|
35
36
|
// them all, just listen for entering any node, and check to see if it
|
|
@@ -39,11 +40,11 @@ function UniqueDirectivesPerLocationRule(context) {
|
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
41
42
|
let seenDirectives;
|
|
42
|
-
if (node.kind ===
|
|
43
|
-
node.kind ===
|
|
43
|
+
if (node.kind === kinds_ts_1.Kind.SCHEMA_DEFINITION ||
|
|
44
|
+
node.kind === kinds_ts_1.Kind.SCHEMA_EXTENSION) {
|
|
44
45
|
seenDirectives = schemaDirectives;
|
|
45
46
|
}
|
|
46
|
-
else if ((0,
|
|
47
|
+
else if ((0, predicates_ts_1.isTypeDefinitionNode)(node) || (0, predicates_ts_1.isTypeExtensionNode)(node)) {
|
|
47
48
|
const typeName = node.name.value;
|
|
48
49
|
seenDirectives = typeDirectivesMap.get(typeName);
|
|
49
50
|
if (seenDirectives === undefined) {
|
|
@@ -51,6 +52,15 @@ function UniqueDirectivesPerLocationRule(context) {
|
|
|
51
52
|
typeDirectivesMap.set(typeName, seenDirectives);
|
|
52
53
|
}
|
|
53
54
|
}
|
|
55
|
+
else if (node.kind === kinds_ts_1.Kind.DIRECTIVE_DEFINITION ||
|
|
56
|
+
node.kind === kinds_ts_1.Kind.DIRECTIVE_EXTENSION) {
|
|
57
|
+
const directiveName = node.name.value;
|
|
58
|
+
seenDirectives = directiveDirectivesMap.get(directiveName);
|
|
59
|
+
if (seenDirectives === undefined) {
|
|
60
|
+
seenDirectives = new Map();
|
|
61
|
+
directiveDirectivesMap.set(directiveName, seenDirectives);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
54
64
|
else {
|
|
55
65
|
seenDirectives = new Map();
|
|
56
66
|
}
|
|
@@ -59,7 +69,7 @@ function UniqueDirectivesPerLocationRule(context) {
|
|
|
59
69
|
if (uniqueDirectiveMap.get(directiveName) === true) {
|
|
60
70
|
const seenDirective = seenDirectives.get(directiveName);
|
|
61
71
|
if (seenDirective != null) {
|
|
62
|
-
context.reportError(new
|
|
72
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`The directive "@${directiveName}" can only be used once at this location.`, { nodes: [seenDirective, directive] }));
|
|
63
73
|
}
|
|
64
74
|
else {
|
|
65
75
|
seenDirectives.set(directiveName, directive);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueDirectivesPerLocationRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueDirectivesPerLocationRule.ts"],"names":[],"mappings":";;AAyBA,
|
|
1
|
+
{"version":3,"file":"UniqueDirectivesPerLocationRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueDirectivesPerLocationRule.ts"],"names":[],"mappings":"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","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { DirectiveNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport {\n isTypeDefinitionNode,\n isTypeExtensionNode,\n} from '../../language/predicates.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { specifiedDirectives } from '../../type/directives.ts';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.ts';\n\n/**\n * Unique directive names per location\n *\n * A GraphQL document is only valid if all non-repeatable directives at\n * a given location are uniquely named.\n *\n * See https://spec.graphql.org/draft/#sec-Directives-Are-Unique-Per-Location\n */\nexport function UniqueDirectivesPerLocationRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const uniqueDirectiveMap = new Map<string, boolean>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n uniqueDirectiveMap.set(directive.name, !directive.isRepeatable);\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n uniqueDirectiveMap.set(def.name.value, !def.repeatable);\n }\n }\n\n const schemaDirectives = new Map<string, DirectiveNode>();\n const typeDirectivesMap = new Map<string, Map<string, DirectiveNode>>();\n const directiveDirectivesMap = new Map<string, Map<string, DirectiveNode>>();\n\n return {\n // Many different AST nodes may contain directives. Rather than listing\n // them all, just listen for entering any node, and check to see if it\n // defines any directives.\n enter(node) {\n if (!('directives' in node) || !node.directives) {\n return;\n }\n\n let seenDirectives;\n if (\n node.kind === Kind.SCHEMA_DEFINITION ||\n node.kind === Kind.SCHEMA_EXTENSION\n ) {\n seenDirectives = schemaDirectives;\n } else if (isTypeDefinitionNode(node) || isTypeExtensionNode(node)) {\n const typeName = node.name.value;\n seenDirectives = typeDirectivesMap.get(typeName);\n if (seenDirectives === undefined) {\n seenDirectives = new Map();\n typeDirectivesMap.set(typeName, seenDirectives);\n }\n } else if (\n node.kind === Kind.DIRECTIVE_DEFINITION ||\n node.kind === Kind.DIRECTIVE_EXTENSION\n ) {\n const directiveName = node.name.value;\n seenDirectives = directiveDirectivesMap.get(directiveName);\n if (seenDirectives === undefined) {\n seenDirectives = new Map();\n directiveDirectivesMap.set(directiveName, seenDirectives);\n }\n } else {\n seenDirectives = new Map();\n }\n\n for (const directive of node.directives) {\n const directiveName = directive.name.value;\n\n if (uniqueDirectiveMap.get(directiveName) === true) {\n const seenDirective = seenDirectives.get(directiveName);\n if (seenDirective != null) {\n context.reportError(\n new GraphQLError(\n `The directive \"@${directiveName}\" can only be used once at this location.`,\n { nodes: [seenDirective, directive] },\n ),\n );\n } else {\n seenDirectives.set(directiveName, directive);\n }\n }\n }\n },\n };\n}\n"]}
|
|
@@ -27,6 +27,7 @@ export function UniqueDirectivesPerLocationRule(context) {
|
|
|
27
27
|
}
|
|
28
28
|
const schemaDirectives = new Map();
|
|
29
29
|
const typeDirectivesMap = new Map();
|
|
30
|
+
const directiveDirectivesMap = new Map();
|
|
30
31
|
return {
|
|
31
32
|
// Many different AST nodes may contain directives. Rather than listing
|
|
32
33
|
// them all, just listen for entering any node, and check to see if it
|
|
@@ -48,6 +49,15 @@ export function UniqueDirectivesPerLocationRule(context) {
|
|
|
48
49
|
typeDirectivesMap.set(typeName, seenDirectives);
|
|
49
50
|
}
|
|
50
51
|
}
|
|
52
|
+
else if (node.kind === Kind.DIRECTIVE_DEFINITION ||
|
|
53
|
+
node.kind === Kind.DIRECTIVE_EXTENSION) {
|
|
54
|
+
const directiveName = node.name.value;
|
|
55
|
+
seenDirectives = directiveDirectivesMap.get(directiveName);
|
|
56
|
+
if (seenDirectives === undefined) {
|
|
57
|
+
seenDirectives = new Map();
|
|
58
|
+
directiveDirectivesMap.set(directiveName, seenDirectives);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
51
61
|
else {
|
|
52
62
|
seenDirectives = new Map();
|
|
53
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueDirectivesPerLocationRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueDirectivesPerLocationRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAG3D,OAAO,EAAE,IAAI,EAAE,iCAAgC;AAC/C,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,sCAAqC;AAGtC,OAAO,EAAE,mBAAmB,EAAE,kCAAiC;AAO/D;;;;;;;GAOG;AACH,MAAM,UAAU,+BAA+B,CAC7C,OAAiD;IAEjD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAmB,CAAC;IAEtD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,iBAAiB,GAAG,MAAM;QAC9B,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE;QACxB,CAAC,CAAC,mBAAmB,CAAC;IACxB,KAAK,MAAM,SAAS,IAAI,iBAAiB,EAAE,CAAC;QAC1C,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,cAAc,EAAE,CAAC;QACjC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC3C,kBAAkB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1D,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"UniqueDirectivesPerLocationRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueDirectivesPerLocationRule.ts"],"names":[],"mappings":"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","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { DirectiveNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport {\n isTypeDefinitionNode,\n isTypeExtensionNode,\n} from '../../language/predicates.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { specifiedDirectives } from '../../type/directives.ts';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.ts';\n\n/**\n * Unique directive names per location\n *\n * A GraphQL document is only valid if all non-repeatable directives at\n * a given location are uniquely named.\n *\n * See https://spec.graphql.org/draft/#sec-Directives-Are-Unique-Per-Location\n */\nexport function UniqueDirectivesPerLocationRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const uniqueDirectiveMap = new Map<string, boolean>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n uniqueDirectiveMap.set(directive.name, !directive.isRepeatable);\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n uniqueDirectiveMap.set(def.name.value, !def.repeatable);\n }\n }\n\n const schemaDirectives = new Map<string, DirectiveNode>();\n const typeDirectivesMap = new Map<string, Map<string, DirectiveNode>>();\n const directiveDirectivesMap = new Map<string, Map<string, DirectiveNode>>();\n\n return {\n // Many different AST nodes may contain directives. Rather than listing\n // them all, just listen for entering any node, and check to see if it\n // defines any directives.\n enter(node) {\n if (!('directives' in node) || !node.directives) {\n return;\n }\n\n let seenDirectives;\n if (\n node.kind === Kind.SCHEMA_DEFINITION ||\n node.kind === Kind.SCHEMA_EXTENSION\n ) {\n seenDirectives = schemaDirectives;\n } else if (isTypeDefinitionNode(node) || isTypeExtensionNode(node)) {\n const typeName = node.name.value;\n seenDirectives = typeDirectivesMap.get(typeName);\n if (seenDirectives === undefined) {\n seenDirectives = new Map();\n typeDirectivesMap.set(typeName, seenDirectives);\n }\n } else if (\n node.kind === Kind.DIRECTIVE_DEFINITION ||\n node.kind === Kind.DIRECTIVE_EXTENSION\n ) {\n const directiveName = node.name.value;\n seenDirectives = directiveDirectivesMap.get(directiveName);\n if (seenDirectives === undefined) {\n seenDirectives = new Map();\n directiveDirectivesMap.set(directiveName, seenDirectives);\n }\n } else {\n seenDirectives = new Map();\n }\n\n for (const directive of node.directives) {\n const directiveName = directive.name.value;\n\n if (uniqueDirectiveMap.get(directiveName) === true) {\n const seenDirective = seenDirectives.get(directiveName);\n if (seenDirective != null) {\n context.reportError(\n new GraphQLError(\n `The directive \"@${directiveName}\" can only be used once at this location.`,\n { nodes: [seenDirective, directive] },\n ),\n );\n } else {\n seenDirectives.set(directiveName, directive);\n }\n }\n }\n },\n };\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { SDLValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
|
+
import type { SDLValidationContext } from "../ValidationContext.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* Unique enum value names
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { SDLValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
|
+
import type { SDLValidationContext } from "../ValidationContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* Unique enum value names
|
|
5
5
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UniqueEnumValueNamesRule = UniqueEnumValueNamesRule;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
|
|
5
|
+
const definition_ts_1 = require("../../type/definition.js");
|
|
6
6
|
/**
|
|
7
7
|
* Unique enum value names
|
|
8
8
|
*
|
|
@@ -27,13 +27,13 @@ function UniqueEnumValueNamesRule(context) {
|
|
|
27
27
|
for (const valueDef of valueNodes) {
|
|
28
28
|
const valueName = valueDef.name.value;
|
|
29
29
|
const existingType = existingTypeMap[typeName];
|
|
30
|
-
if ((0,
|
|
31
|
-
context.reportError(new
|
|
30
|
+
if ((0, definition_ts_1.isEnumType)(existingType) && existingType.getValue(valueName)) {
|
|
31
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`Enum value "${typeName}.${valueName}" already exists in the schema. It cannot also be defined in this type extension.`, { nodes: valueDef.name }));
|
|
32
32
|
continue;
|
|
33
33
|
}
|
|
34
34
|
const knownValueName = valueNames.get(valueName);
|
|
35
35
|
if (knownValueName != null) {
|
|
36
|
-
context.reportError(new
|
|
36
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`Enum value "${typeName}.${valueName}" can only be defined once.`, { nodes: [knownValueName, valueDef.name] }));
|
|
37
37
|
}
|
|
38
38
|
else {
|
|
39
39
|
valueNames.set(valueName, valueDef.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueEnumValueNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueEnumValueNamesRule.ts"],"names":[],"mappings":";;AAkBA,4DAsDC;AAxED,iEAA2D;AAS3D,4DAAsD;AAItD;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,kBAAkB,EAAE,oBAAoB;QACxC,iBAAiB,EAAE,oBAAoB;KACxC,CAAC;IAEF,SAAS,oBAAoB,CAC3B,IAAoD;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,IAAA,0BAAU,EAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,eAAe,QAAQ,IAAI,SAAS,mFAAmF,EACvH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,eAAe,QAAQ,IAAI,SAAS,6BAA6B,EACjE,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueEnumValueNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueEnumValueNamesRule.ts"],"names":[],"mappings":";;AAkBA,4DAsDC;AAxED,iEAA2D;AAS3D,4DAAsD;AAItD;;;;GAIG;AACH,SAAgB,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,kBAAkB,EAAE,oBAAoB;QACxC,iBAAiB,EAAE,oBAAoB;KACxC,CAAC;IAEF,SAAS,oBAAoB,CAC3B,IAAoD;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,IAAA,0BAAU,EAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,eAAe,QAAQ,IAAI,SAAS,mFAAmF,EACvH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,eAAe,QAAQ,IAAI,SAAS,6BAA6B,EACjE,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type {\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n NameNode,\n} from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { isEnumType } from '../../type/definition.ts';\n\nimport type { SDLValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique enum value names\n *\n * A GraphQL enum type is only valid if all its values are uniquely named.\n */\nexport function UniqueEnumValueNamesRule(\n context: SDLValidationContext,\n): ASTVisitor {\n const schema = context.getSchema();\n const existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\n const knownValueNames = new Map<string, Map<string, NameNode>>();\n\n return {\n EnumTypeDefinition: checkValueUniqueness,\n EnumTypeExtension: checkValueUniqueness,\n };\n\n function checkValueUniqueness(\n node: EnumTypeDefinitionNode | EnumTypeExtensionNode,\n ) {\n const typeName = node.name.value;\n\n let valueNames = knownValueNames.get(typeName);\n if (valueNames == null) {\n valueNames = new Map();\n knownValueNames.set(typeName, valueNames);\n }\n\n const valueNodes = node.values ?? [];\n\n for (const valueDef of valueNodes) {\n const valueName = valueDef.name.value;\n\n const existingType = existingTypeMap[typeName];\n if (isEnumType(existingType) && existingType.getValue(valueName)) {\n context.reportError(\n new GraphQLError(\n `Enum value \"${typeName}.${valueName}\" already exists in the schema. It cannot also be defined in this type extension.`,\n { nodes: valueDef.name },\n ),\n );\n continue;\n }\n\n const knownValueName = valueNames.get(valueName);\n if (knownValueName != null) {\n context.reportError(\n new GraphQLError(\n `Enum value \"${typeName}.${valueName}\" can only be defined once.`,\n { nodes: [knownValueName, valueDef.name] },\n ),\n );\n } else {\n valueNames.set(valueName, valueDef.name);\n }\n }\n\n return false;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueEnumValueNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueEnumValueNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAS3D,OAAO,EAAE,UAAU,EAAE,kCAAiC;AAItD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,kBAAkB,EAAE,oBAAoB;QACxC,iBAAiB,EAAE,oBAAoB;KACxC,CAAC;IAEF,SAAS,oBAAoB,CAC3B,IAAoD;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,eAAe,QAAQ,IAAI,SAAS,mFAAmF,EACvH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,eAAe,QAAQ,IAAI,SAAS,6BAA6B,EACjE,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueEnumValueNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueEnumValueNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAS3D,OAAO,EAAE,UAAU,EAAE,kCAAiC;AAItD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,kBAAkB,EAAE,oBAAoB;QACxC,iBAAiB,EAAE,oBAAoB;KACxC,CAAC;IAEF,SAAS,oBAAoB,CAC3B,IAAoD;QAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,MAAM,YAAY,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC/C,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjE,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,eAAe,QAAQ,IAAI,SAAS,mFAAmF,EACvH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,eAAe,QAAQ,IAAI,SAAS,6BAA6B,EACjE,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type {\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n NameNode,\n} from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { isEnumType } from '../../type/definition.ts';\n\nimport type { SDLValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique enum value names\n *\n * A GraphQL enum type is only valid if all its values are uniquely named.\n */\nexport function UniqueEnumValueNamesRule(\n context: SDLValidationContext,\n): ASTVisitor {\n const schema = context.getSchema();\n const existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\n const knownValueNames = new Map<string, Map<string, NameNode>>();\n\n return {\n EnumTypeDefinition: checkValueUniqueness,\n EnumTypeExtension: checkValueUniqueness,\n };\n\n function checkValueUniqueness(\n node: EnumTypeDefinitionNode | EnumTypeExtensionNode,\n ) {\n const typeName = node.name.value;\n\n let valueNames = knownValueNames.get(typeName);\n if (valueNames == null) {\n valueNames = new Map();\n knownValueNames.set(typeName, valueNames);\n }\n\n const valueNodes = node.values ?? [];\n\n for (const valueDef of valueNodes) {\n const valueName = valueDef.name.value;\n\n const existingType = existingTypeMap[typeName];\n if (isEnumType(existingType) && existingType.getValue(valueName)) {\n context.reportError(\n new GraphQLError(\n `Enum value \"${typeName}.${valueName}\" already exists in the schema. It cannot also be defined in this type extension.`,\n { nodes: valueDef.name },\n ),\n );\n continue;\n }\n\n const knownValueName = valueNames.get(valueName);\n if (knownValueName != null) {\n context.reportError(\n new GraphQLError(\n `Enum value \"${typeName}.${valueName}\" can only be defined once.`,\n { nodes: [knownValueName, valueDef.name] },\n ),\n );\n } else {\n valueNames.set(valueName, valueDef.name);\n }\n }\n\n return false;\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { SDLValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
|
+
import type { SDLValidationContext } from "../ValidationContext.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* Unique field definition names
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { SDLValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
|
+
import type { SDLValidationContext } from "../ValidationContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* Unique field definition names
|
|
5
5
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UniqueFieldDefinitionNamesRule = UniqueFieldDefinitionNamesRule;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
|
|
5
|
+
const definition_ts_1 = require("../../type/definition.js");
|
|
6
6
|
/**
|
|
7
7
|
* Unique field definition names
|
|
8
8
|
*
|
|
@@ -31,12 +31,12 @@ function UniqueFieldDefinitionNamesRule(context) {
|
|
|
31
31
|
for (const fieldDef of fieldNodes) {
|
|
32
32
|
const fieldName = fieldDef.name.value;
|
|
33
33
|
if (hasField(existingTypeMap[typeName], fieldName)) {
|
|
34
|
-
context.reportError(new
|
|
34
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`Field "${typeName}.${fieldName}" already exists in the schema. It cannot also be defined in this type extension.`, { nodes: fieldDef.name }));
|
|
35
35
|
continue;
|
|
36
36
|
}
|
|
37
37
|
const knownFieldName = fieldNames.get(fieldName);
|
|
38
38
|
if (knownFieldName != null) {
|
|
39
|
-
context.reportError(new
|
|
39
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`Field "${typeName}.${fieldName}" can only be defined once.`, { nodes: [knownFieldName, fieldDef.name] }));
|
|
40
40
|
}
|
|
41
41
|
else {
|
|
42
42
|
fieldNames.set(fieldName, fieldDef.name);
|
|
@@ -46,7 +46,7 @@ function UniqueFieldDefinitionNamesRule(context) {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
function hasField(type, fieldName) {
|
|
49
|
-
if ((0,
|
|
49
|
+
if ((0, definition_ts_1.isObjectType)(type) || (0, definition_ts_1.isInterfaceType)(type) || (0, definition_ts_1.isInputObjectType)(type)) {
|
|
50
50
|
return type.getFields()[fieldName] != null;
|
|
51
51
|
}
|
|
52
52
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueFieldDefinitionNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFieldDefinitionNamesRule.ts"],"names":[],"mappings":";;AAuBA,wEA4DC;AAnFD,iEAA2D;AAU3D,4DAIkC;AAIlC;;;;GAIG;AACH,SAAgB,8BAA8B,CAC5C,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,yBAAyB,EAAE,oBAAoB;QAC/C,wBAAwB,EAAE,oBAAoB;QAC9C,uBAAuB,EAAE,oBAAoB;QAC7C,sBAAsB,EAAE,oBAAoB;QAC5C,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,oBAAoB;KAC1C,CAAC;IAEF,SAAS,oBAAoB,CAAC,IAK7B;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,IAAI,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,UAAU,QAAQ,IAAI,SAAS,mFAAmF,EAClH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,UAAU,QAAQ,IAAI,SAAS,6BAA6B,EAC5D,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAsB,EAAE,SAAiB;IACzD,IAAI,IAAA,4BAAY,EAAC,IAAI,CAAC,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,IAAA,iCAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueFieldDefinitionNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFieldDefinitionNamesRule.ts"],"names":[],"mappings":";;AAuBA,wEA4DC;AAnFD,iEAA2D;AAU3D,4DAIkC;AAIlC;;;;GAIG;AACH,SAAgB,8BAA8B,CAC5C,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,yBAAyB,EAAE,oBAAoB;QAC/C,wBAAwB,EAAE,oBAAoB;QAC9C,uBAAuB,EAAE,oBAAoB;QAC7C,sBAAsB,EAAE,oBAAoB;QAC5C,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,oBAAoB;KAC1C,CAAC;IAEF,SAAS,oBAAoB,CAAC,IAK7B;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,IAAI,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,UAAU,QAAQ,IAAI,SAAS,mFAAmF,EAClH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,UAAU,QAAQ,IAAI,SAAS,6BAA6B,EAC5D,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAsB,EAAE,SAAiB;IACzD,IAAI,IAAA,4BAAY,EAAC,IAAI,CAAC,IAAI,IAAA,+BAAe,EAAC,IAAI,CAAC,IAAI,IAAA,iCAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type {\n FieldDefinitionNode,\n InputValueDefinitionNode,\n NameNode,\n} from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { GraphQLNamedType } from '../../type/definition.ts';\nimport {\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n} from '../../type/definition.ts';\n\nimport type { SDLValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique field definition names\n *\n * A GraphQL complex type is only valid if all its fields are uniquely named.\n */\nexport function UniqueFieldDefinitionNamesRule(\n context: SDLValidationContext,\n): ASTVisitor {\n const schema = context.getSchema();\n const existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\n const knownFieldNames = new Map<string, Map<string, NameNode>>();\n\n return {\n InputObjectTypeDefinition: checkFieldUniqueness,\n InputObjectTypeExtension: checkFieldUniqueness,\n InterfaceTypeDefinition: checkFieldUniqueness,\n InterfaceTypeExtension: checkFieldUniqueness,\n ObjectTypeDefinition: checkFieldUniqueness,\n ObjectTypeExtension: checkFieldUniqueness,\n };\n\n function checkFieldUniqueness(node: {\n readonly name: NameNode;\n readonly fields?:\n | ReadonlyArray<InputValueDefinitionNode | FieldDefinitionNode>\n | undefined;\n }) {\n const typeName = node.name.value;\n\n let fieldNames = knownFieldNames.get(typeName);\n if (fieldNames == null) {\n fieldNames = new Map();\n knownFieldNames.set(typeName, fieldNames);\n }\n\n const fieldNodes = node.fields ?? [];\n\n for (const fieldDef of fieldNodes) {\n const fieldName = fieldDef.name.value;\n\n if (hasField(existingTypeMap[typeName], fieldName)) {\n context.reportError(\n new GraphQLError(\n `Field \"${typeName}.${fieldName}\" already exists in the schema. It cannot also be defined in this type extension.`,\n { nodes: fieldDef.name },\n ),\n );\n continue;\n }\n\n const knownFieldName = fieldNames.get(fieldName);\n if (knownFieldName != null) {\n context.reportError(\n new GraphQLError(\n `Field \"${typeName}.${fieldName}\" can only be defined once.`,\n { nodes: [knownFieldName, fieldDef.name] },\n ),\n );\n } else {\n fieldNames.set(fieldName, fieldDef.name);\n }\n }\n\n return false;\n }\n}\n\nfunction hasField(type: GraphQLNamedType, fieldName: string): boolean {\n if (isObjectType(type) || isInterfaceType(type) || isInputObjectType(type)) {\n return type.getFields()[fieldName] != null;\n }\n return false;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueFieldDefinitionNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFieldDefinitionNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAU3D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,kCAAiC;AAIlC;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,yBAAyB,EAAE,oBAAoB;QAC/C,wBAAwB,EAAE,oBAAoB;QAC9C,uBAAuB,EAAE,oBAAoB;QAC7C,sBAAsB,EAAE,oBAAoB;QAC5C,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,oBAAoB;KAC1C,CAAC;IAEF,SAAS,oBAAoB,CAAC,IAK7B;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,IAAI,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,UAAU,QAAQ,IAAI,SAAS,mFAAmF,EAClH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,UAAU,QAAQ,IAAI,SAAS,6BAA6B,EAC5D,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAsB,EAAE,SAAiB;IACzD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueFieldDefinitionNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFieldDefinitionNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAU3D,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,YAAY,GACb,kCAAiC;AAIlC;;;;GAIG;AACH,MAAM,UAAU,8BAA8B,CAC5C,OAA6B;IAE7B,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEjE,OAAO;QACL,yBAAyB,EAAE,oBAAoB;QAC/C,wBAAwB,EAAE,oBAAoB;QAC9C,uBAAuB,EAAE,oBAAoB;QAC7C,sBAAsB,EAAE,oBAAoB;QAC5C,oBAAoB,EAAE,oBAAoB;QAC1C,mBAAmB,EAAE,oBAAoB;KAC1C,CAAC;IAEF,SAAS,oBAAoB,CAAC,IAK7B;QACC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAEjC,IAAI,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;YACvB,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;QAErC,KAAK,MAAM,QAAQ,IAAI,UAAU,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;YAEtC,IAAI,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,UAAU,QAAQ,IAAI,SAAS,mFAAmF,EAClH,EAAE,KAAK,EAAE,QAAQ,CAAC,IAAI,EAAE,CACzB,CACF,CAAC;gBACF,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACjD,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;gBAC3B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,UAAU,QAAQ,IAAI,SAAS,6BAA6B,EAC5D,EAAE,KAAK,EAAE,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAC3C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,QAAQ,CAAC,IAAsB,EAAE,SAAiB;IACzD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type {\n FieldDefinitionNode,\n InputValueDefinitionNode,\n NameNode,\n} from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { GraphQLNamedType } from '../../type/definition.ts';\nimport {\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n} from '../../type/definition.ts';\n\nimport type { SDLValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique field definition names\n *\n * A GraphQL complex type is only valid if all its fields are uniquely named.\n */\nexport function UniqueFieldDefinitionNamesRule(\n context: SDLValidationContext,\n): ASTVisitor {\n const schema = context.getSchema();\n const existingTypeMap = schema ? schema.getTypeMap() : Object.create(null);\n const knownFieldNames = new Map<string, Map<string, NameNode>>();\n\n return {\n InputObjectTypeDefinition: checkFieldUniqueness,\n InputObjectTypeExtension: checkFieldUniqueness,\n InterfaceTypeDefinition: checkFieldUniqueness,\n InterfaceTypeExtension: checkFieldUniqueness,\n ObjectTypeDefinition: checkFieldUniqueness,\n ObjectTypeExtension: checkFieldUniqueness,\n };\n\n function checkFieldUniqueness(node: {\n readonly name: NameNode;\n readonly fields?:\n | ReadonlyArray<InputValueDefinitionNode | FieldDefinitionNode>\n | undefined;\n }) {\n const typeName = node.name.value;\n\n let fieldNames = knownFieldNames.get(typeName);\n if (fieldNames == null) {\n fieldNames = new Map();\n knownFieldNames.set(typeName, fieldNames);\n }\n\n const fieldNodes = node.fields ?? [];\n\n for (const fieldDef of fieldNodes) {\n const fieldName = fieldDef.name.value;\n\n if (hasField(existingTypeMap[typeName], fieldName)) {\n context.reportError(\n new GraphQLError(\n `Field \"${typeName}.${fieldName}\" already exists in the schema. It cannot also be defined in this type extension.`,\n { nodes: fieldDef.name },\n ),\n );\n continue;\n }\n\n const knownFieldName = fieldNames.get(fieldName);\n if (knownFieldName != null) {\n context.reportError(\n new GraphQLError(\n `Field \"${typeName}.${fieldName}\" can only be defined once.`,\n { nodes: [knownFieldName, fieldDef.name] },\n ),\n );\n } else {\n fieldNames.set(fieldName, fieldDef.name);\n }\n }\n\n return false;\n }\n}\n\nfunction hasField(type: GraphQLNamedType, fieldName: string): boolean {\n if (isObjectType(type) || isInterfaceType(type) || isInputObjectType(type)) {\n return type.getFields()[fieldName] != null;\n }\n return false;\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { ASTValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
|
+
import type { ASTValidationContext } from "../ValidationContext.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* Unique fragment names
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { ASTValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
|
+
import type { ASTValidationContext } from "../ValidationContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* Unique fragment names
|
|
5
5
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UniqueFragmentNamesRule = UniqueFragmentNamesRule;
|
|
4
|
-
const
|
|
4
|
+
const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
|
|
5
5
|
/**
|
|
6
6
|
* Unique fragment names
|
|
7
7
|
*
|
|
@@ -17,7 +17,7 @@ function UniqueFragmentNamesRule(context) {
|
|
|
17
17
|
const fragmentName = node.name.value;
|
|
18
18
|
const knownFragmentName = knownFragmentNames.get(fragmentName);
|
|
19
19
|
if (knownFragmentName != null) {
|
|
20
|
-
context.reportError(new
|
|
20
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`There can be only one fragment named "${fragmentName}".`, { nodes: [knownFragmentName, node.name] }));
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
23
|
knownFragmentNames.set(fragmentName, node.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueFragmentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFragmentNamesRule.ts"],"names":[],"mappings":";;AAcA,0DAsBC;AApCD,iEAA2D;AAO3D;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,OAA6B;IAE7B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,OAAO;QACL,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK;QAChC,kBAAkB,CAAC,IAAI;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,yCAAyC,YAAY,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueFragmentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFragmentNamesRule.ts"],"names":[],"mappings":";;AAcA,0DAsBC;AApCD,iEAA2D;AAO3D;;;;;;GAMG;AACH,SAAgB,uBAAuB,CACrC,OAA6B;IAE7B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,OAAO;QACL,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK;QAChC,kBAAkB,CAAC,IAAI;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,yCAAyC,YAAY,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { NameNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { ASTValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique fragment names\n *\n * A GraphQL document is only valid if all defined fragments have unique names.\n *\n * See https://spec.graphql.org/draft/#sec-Fragment-Name-Uniqueness\n */\nexport function UniqueFragmentNamesRule(\n context: ASTValidationContext,\n): ASTVisitor {\n const knownFragmentNames = new Map<string, NameNode>();\n return {\n OperationDefinition: () => false,\n FragmentDefinition(node) {\n const fragmentName = node.name.value;\n const knownFragmentName = knownFragmentNames.get(fragmentName);\n if (knownFragmentName != null) {\n context.reportError(\n new GraphQLError(\n `There can be only one fragment named \"${fragmentName}\".`,\n { nodes: [knownFragmentName, node.name] },\n ),\n );\n } else {\n knownFragmentNames.set(fragmentName, node.name);\n }\n return false;\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueFragmentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFragmentNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAO3D;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA6B;IAE7B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,OAAO;QACL,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK;QAChC,kBAAkB,CAAC,IAAI;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,yCAAyC,YAAY,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueFragmentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueFragmentNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAO3D;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAA6B;IAE7B,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACvD,OAAO;QACL,mBAAmB,EAAE,GAAG,EAAE,CAAC,KAAK;QAChC,kBAAkB,CAAC,IAAI;YACrB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YACrC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/D,IAAI,iBAAiB,IAAI,IAAI,EAAE,CAAC;gBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,yCAAyC,YAAY,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1C,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,kBAAkB,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { NameNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { ASTValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique fragment names\n *\n * A GraphQL document is only valid if all defined fragments have unique names.\n *\n * See https://spec.graphql.org/draft/#sec-Fragment-Name-Uniqueness\n */\nexport function UniqueFragmentNamesRule(\n context: ASTValidationContext,\n): ASTVisitor {\n const knownFragmentNames = new Map<string, NameNode>();\n return {\n OperationDefinition: () => false,\n FragmentDefinition(node) {\n const fragmentName = node.name.value;\n const knownFragmentName = knownFragmentNames.get(fragmentName);\n if (knownFragmentName != null) {\n context.reportError(\n new GraphQLError(\n `There can be only one fragment named \"${fragmentName}\".`,\n { nodes: [knownFragmentName, node.name] },\n ),\n );\n } else {\n knownFragmentNames.set(fragmentName, node.name);\n }\n return false;\n },\n };\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { ASTValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
|
+
import type { ASTValidationContext } from "../ValidationContext.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* Unique input field names
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { ASTValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
|
+
import type { ASTValidationContext } from "../ValidationContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* Unique input field names
|
|
5
5
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UniqueInputFieldNamesRule = UniqueInputFieldNamesRule;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const invariant_ts_1 = require("../../jsutils/invariant.js");
|
|
5
|
+
const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
|
|
6
6
|
/**
|
|
7
7
|
* Unique input field names
|
|
8
8
|
*
|
|
@@ -23,7 +23,7 @@ function UniqueInputFieldNamesRule(context) {
|
|
|
23
23
|
leave() {
|
|
24
24
|
const prevKnownNames = knownNameStack.pop();
|
|
25
25
|
if (!(prevKnownNames != null))
|
|
26
|
-
(0,
|
|
26
|
+
(0, invariant_ts_1.invariant)(false);
|
|
27
27
|
knownNames = prevKnownNames;
|
|
28
28
|
},
|
|
29
29
|
},
|
|
@@ -31,7 +31,7 @@ function UniqueInputFieldNamesRule(context) {
|
|
|
31
31
|
const fieldName = node.name.value;
|
|
32
32
|
const knownName = knownNames.get(fieldName);
|
|
33
33
|
if (knownName != null) {
|
|
34
|
-
context.reportError(new
|
|
34
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`There can be only one input field named "${fieldName}".`, { nodes: [knownName, node.name] }));
|
|
35
35
|
}
|
|
36
36
|
else {
|
|
37
37
|
knownNames.set(fieldName, node.name);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueInputFieldNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueInputFieldNamesRule.ts"],"names":[],"mappings":";;AAiBA,8DAiCC;AAlDD,6DAAuD;AAEvD,iEAA2D;AAO3D;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACvC,OAA6B;IAE7B,MAAM,cAAc,GAAiC,EAAE,CAAC;IACxD,IAAI,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,OAAO;QACL,WAAW,EAAE;YACX,KAAK;gBACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,KAAK;gBACH,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;sBAClC,cAAc,IAAI,IAAI;wBAAhC,wBAAS;gBACT,UAAU,GAAG,cAAc,CAAC;YAC9B,CAAC;SACF;QACD,WAAW,CAAC,IAAI;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,4CAA4C,SAAS,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAClC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { invariant } from '../../jsutils/invariant.
|
|
1
|
+
{"version":3,"file":"UniqueInputFieldNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueInputFieldNamesRule.ts"],"names":[],"mappings":";;AAiBA,8DAiCC;AAlDD,6DAAuD;AAEvD,iEAA2D;AAO3D;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACvC,OAA6B;IAE7B,MAAM,cAAc,GAAiC,EAAE,CAAC;IACxD,IAAI,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,OAAO;QACL,WAAW,EAAE;YACX,KAAK;gBACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,KAAK;gBACH,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;sBAClC,cAAc,IAAI,IAAI;wBAAhC,wBAAS;gBACT,UAAU,GAAG,cAAc,CAAC;YAC9B,CAAC;SACF;QACD,WAAW,CAAC,IAAI;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,4CAA4C,SAAS,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAClC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { invariant } from '../../jsutils/invariant.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { NameNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { ASTValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique input field names\n *\n * A GraphQL input object value is only valid if all supplied fields are\n * uniquely named.\n *\n * See https://spec.graphql.org/draft/#sec-Input-Object-Field-Uniqueness\n */\nexport function UniqueInputFieldNamesRule(\n context: ASTValidationContext,\n): ASTVisitor {\n const knownNameStack: Array<Map<string, NameNode>> = [];\n let knownNames = new Map<string, NameNode>();\n\n return {\n ObjectValue: {\n enter() {\n knownNameStack.push(knownNames);\n knownNames = new Map();\n },\n leave() {\n const prevKnownNames = knownNameStack.pop();\n invariant(prevKnownNames != null);\n knownNames = prevKnownNames;\n },\n },\n ObjectField(node) {\n const fieldName = node.name.value;\n const knownName = knownNames.get(fieldName);\n if (knownName != null) {\n context.reportError(\n new GraphQLError(\n `There can be only one input field named \"${fieldName}\".`,\n { nodes: [knownName, node.name] },\n ),\n );\n } else {\n knownNames.set(fieldName, node.name);\n }\n },\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueInputFieldNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueInputFieldNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oCAAmC;AAEvD,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAO3D;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA6B;IAE7B,MAAM,cAAc,GAAiC,EAAE,CAAC;IACxD,IAAI,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,OAAO;QACL,WAAW,EAAE;YACX,KAAK;gBACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,KAAK;gBACH,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;sBAClC,cAAc,IAAI,IAAI;oBAAhC,SAAS;gBACT,UAAU,GAAG,cAAc,CAAC;YAC9B,CAAC;SACF;QACD,WAAW,CAAC,IAAI;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,4CAA4C,SAAS,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAClC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { invariant } from '../../jsutils/invariant.
|
|
1
|
+
{"version":3,"file":"UniqueInputFieldNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueInputFieldNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oCAAmC;AAEvD,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAO3D;;;;;;;GAOG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAA6B;IAE7B,MAAM,cAAc,GAAiC,EAAE,CAAC;IACxD,IAAI,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAE7C,OAAO;QACL,WAAW,EAAE;YACX,KAAK;gBACH,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAChC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,KAAK;gBACH,MAAM,cAAc,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;sBAClC,cAAc,IAAI,IAAI;oBAAhC,SAAS;gBACT,UAAU,GAAG,cAAc,CAAC;YAC9B,CAAC;SACF;QACD,WAAW,CAAC,IAAI;YACd,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAClC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC5C,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACtB,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,4CAA4C,SAAS,IAAI,EACzD,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAClC,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { invariant } from '../../jsutils/invariant.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { NameNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { ASTValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique input field names\n *\n * A GraphQL input object value is only valid if all supplied fields are\n * uniquely named.\n *\n * See https://spec.graphql.org/draft/#sec-Input-Object-Field-Uniqueness\n */\nexport function UniqueInputFieldNamesRule(\n context: ASTValidationContext,\n): ASTVisitor {\n const knownNameStack: Array<Map<string, NameNode>> = [];\n let knownNames = new Map<string, NameNode>();\n\n return {\n ObjectValue: {\n enter() {\n knownNameStack.push(knownNames);\n knownNames = new Map();\n },\n leave() {\n const prevKnownNames = knownNameStack.pop();\n invariant(prevKnownNames != null);\n knownNames = prevKnownNames;\n },\n },\n ObjectField(node) {\n const fieldName = node.name.value;\n const knownName = knownNames.get(fieldName);\n if (knownName != null) {\n context.reportError(\n new GraphQLError(\n `There can be only one input field named \"${fieldName}\".`,\n { nodes: [knownName, node.name] },\n ),\n );\n } else {\n knownNames.set(fieldName, node.name);\n }\n },\n };\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { ASTValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
|
+
import type { ASTValidationContext } from "../ValidationContext.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* Unique operation names
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { ASTValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
|
+
import type { ASTValidationContext } from "../ValidationContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* Unique operation names
|
|
5
5
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UniqueOperationNamesRule = UniqueOperationNamesRule;
|
|
4
|
-
const
|
|
4
|
+
const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
|
|
5
5
|
/**
|
|
6
6
|
* Unique operation names
|
|
7
7
|
*
|
|
@@ -17,7 +17,7 @@ function UniqueOperationNamesRule(context) {
|
|
|
17
17
|
if (operationName != null) {
|
|
18
18
|
const knownOperationName = knownOperationNames.get(operationName.value);
|
|
19
19
|
if (knownOperationName != null) {
|
|
20
|
-
context.reportError(new
|
|
20
|
+
context.reportError(new GraphQLError_ts_1.GraphQLError(`There can be only one operation named "${operationName.value}".`, { nodes: [knownOperationName, operationName] }));
|
|
21
21
|
}
|
|
22
22
|
else {
|
|
23
23
|
knownOperationNames.set(operationName.value, operationName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueOperationNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueOperationNamesRule.ts"],"names":[],"mappings":";;AAcA,4DAwBC;AAtCD,iEAA2D;AAO3D;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxD,OAAO;QACL,mBAAmB,CAAC,IAAI;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxE,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,0CAA0C,aAAa,CAAC,KAAK,IAAI,EACjE,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,CAC/C,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;KAChC,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueOperationNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueOperationNamesRule.ts"],"names":[],"mappings":";;AAcA,4DAwBC;AAtCD,iEAA2D;AAO3D;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxD,OAAO;QACL,mBAAmB,CAAC,IAAI;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxE,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,0CAA0C,aAAa,CAAC,KAAK,IAAI,EACjE,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,CAC/C,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;KAChC,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { NameNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { ASTValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique operation names\n *\n * A GraphQL document is only valid if all defined operations have unique names.\n *\n * See https://spec.graphql.org/draft/#sec-Operation-Name-Uniqueness\n */\nexport function UniqueOperationNamesRule(\n context: ASTValidationContext,\n): ASTVisitor {\n const knownOperationNames = new Map<string, NameNode>();\n return {\n OperationDefinition(node) {\n const operationName = node.name;\n if (operationName != null) {\n const knownOperationName = knownOperationNames.get(operationName.value);\n if (knownOperationName != null) {\n context.reportError(\n new GraphQLError(\n `There can be only one operation named \"${operationName.value}\".`,\n { nodes: [knownOperationName, operationName] },\n ),\n );\n } else {\n knownOperationNames.set(operationName.value, operationName);\n }\n }\n return false;\n },\n FragmentDefinition: () => false,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UniqueOperationNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueOperationNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAO3D;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxD,OAAO;QACL,mBAAmB,CAAC,IAAI;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxE,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,0CAA0C,aAAa,CAAC,KAAK,IAAI,EACjE,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,CAC/C,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;KAChC,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.
|
|
1
|
+
{"version":3,"file":"UniqueOperationNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/UniqueOperationNamesRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAO3D;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA6B;IAE7B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACxD,OAAO;QACL,mBAAmB,CAAC,IAAI;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC;YAChC,IAAI,aAAa,IAAI,IAAI,EAAE,CAAC;gBAC1B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACxE,IAAI,kBAAkB,IAAI,IAAI,EAAE,CAAC;oBAC/B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,0CAA0C,aAAa,CAAC,KAAK,IAAI,EACjE,EAAE,KAAK,EAAE,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAAE,CAC/C,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,mBAAmB,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,kBAAkB,EAAE,GAAG,EAAE,CAAC,KAAK;KAChC,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { NameNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { ASTValidationContext } from '../ValidationContext.ts';\n\n/**\n * Unique operation names\n *\n * A GraphQL document is only valid if all defined operations have unique names.\n *\n * See https://spec.graphql.org/draft/#sec-Operation-Name-Uniqueness\n */\nexport function UniqueOperationNamesRule(\n context: ASTValidationContext,\n): ASTVisitor {\n const knownOperationNames = new Map<string, NameNode>();\n return {\n OperationDefinition(node) {\n const operationName = node.name;\n if (operationName != null) {\n const knownOperationName = knownOperationNames.get(operationName.value);\n if (knownOperationName != null) {\n context.reportError(\n new GraphQLError(\n `There can be only one operation named \"${operationName.value}\".`,\n { nodes: [knownOperationName, operationName] },\n ),\n );\n } else {\n knownOperationNames.set(operationName.value, operationName);\n }\n }\n return false;\n },\n FragmentDefinition: () => false,\n };\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { SDLValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
|
+
import type { SDLValidationContext } from "../ValidationContext.mjs";
|
|
3
3
|
/**
|
|
4
4
|
* Unique operation types
|
|
5
5
|
*
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ASTVisitor } from
|
|
2
|
-
import type { SDLValidationContext } from
|
|
1
|
+
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
|
+
import type { SDLValidationContext } from "../ValidationContext.js";
|
|
3
3
|
/**
|
|
4
4
|
* Unique operation types
|
|
5
5
|
*
|