graphql 17.0.0-beta.1 → 17.0.0-beta.2
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__/devMode.d.ts +1 -1
- package/__dev__/error/GraphQLError.d.ts +1 -1
- package/__dev__/error/ensureGraphQLError.d.ts +1 -1
- package/__dev__/error/index.d.ts +1 -1
- package/__dev__/error/locatedError.d.ts +1 -1
- package/__dev__/error/syntaxError.d.ts +1 -1
- package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -1
- package/__dev__/execution/AsyncWorkTracker.d.ts +1 -1
- package/__dev__/execution/ExecutionArgs.d.mts +1 -0
- package/__dev__/execution/ExecutionArgs.d.ts +1 -0
- package/__dev__/execution/ExecutionArgs.js +3 -0
- package/__dev__/execution/ExecutionArgs.mjs +3 -0
- package/__dev__/execution/Executor.d.ts +1 -1
- package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -1
- package/__dev__/execution/buildResolveInfo.d.ts +1 -1
- package/__dev__/execution/cancellablePromise.d.ts +1 -1
- package/__dev__/execution/collectFields.d.ts +1 -1
- package/__dev__/execution/collectIteratorPromises.d.ts +1 -1
- package/__dev__/execution/createSharedExecutionContext.d.ts +1 -1
- package/__dev__/execution/execute.d.ts +1 -1
- package/__dev__/execution/getStreamUsage.d.ts +1 -1
- package/__dev__/execution/getVariableSignature.d.ts +1 -1
- package/__dev__/execution/hooks.d.ts +1 -1
- package/__dev__/execution/incremental/Computation.d.ts +1 -1
- package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -1
- package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -1
- package/__dev__/execution/incremental/Queue.d.ts +1 -1
- package/__dev__/execution/incremental/WorkQueue.d.ts +1 -1
- package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -1
- package/__dev__/execution/index.d.ts +1 -1
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.js +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.js +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +3 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.js +3 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.mjs +3 -0
- package/__dev__/execution/mapAsyncIterable.d.ts +1 -1
- package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -1
- package/__dev__/execution/values.d.ts +1 -1
- package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -1
- package/__dev__/graphql.d.ts +1 -1
- package/__dev__/harness.d.ts +1 -1
- package/__dev__/index.d.ts +1 -1
- package/__dev__/jsutils/AccumulatorMap.d.ts +1 -1
- package/__dev__/jsutils/Maybe.d.ts +1 -1
- package/__dev__/jsutils/ObjMap.d.ts +1 -1
- package/__dev__/jsutils/Path.d.ts +1 -1
- package/__dev__/jsutils/PromiseOrValue.d.ts +1 -1
- package/__dev__/jsutils/capitalize.d.ts +1 -1
- package/__dev__/jsutils/devAssert.d.ts +1 -1
- package/__dev__/jsutils/didYouMean.d.ts +1 -1
- package/__dev__/jsutils/formatList.d.ts +1 -1
- package/__dev__/jsutils/getBySet.d.ts +1 -1
- package/__dev__/jsutils/groupBy.d.ts +1 -1
- package/__dev__/jsutils/identityFunc.d.ts +1 -1
- package/__dev__/jsutils/inspect.d.ts +1 -1
- package/__dev__/jsutils/instanceOf.d.ts +1 -1
- package/__dev__/jsutils/invariant.d.ts +1 -1
- package/__dev__/jsutils/isAsyncIterable.d.ts +1 -1
- package/__dev__/jsutils/isIterableObject.d.ts +1 -1
- package/__dev__/jsutils/isObjectLike.d.ts +1 -1
- package/__dev__/jsutils/isPromise.d.ts +1 -1
- package/__dev__/jsutils/isSameSet.d.ts +1 -1
- package/__dev__/jsutils/keyMap.d.ts +1 -1
- package/__dev__/jsutils/keyValMap.d.ts +1 -1
- package/__dev__/jsutils/mapValue.d.ts +1 -1
- package/__dev__/jsutils/memoize1.d.ts +1 -1
- package/__dev__/jsutils/memoize2.d.ts +1 -1
- package/__dev__/jsutils/memoize3.d.ts +1 -1
- package/__dev__/jsutils/naturalCompare.d.ts +1 -1
- package/__dev__/jsutils/printPathArray.d.ts +1 -1
- package/__dev__/jsutils/promiseForObject.d.ts +1 -1
- package/__dev__/jsutils/promiseReduce.d.ts +1 -1
- package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -1
- package/__dev__/jsutils/suggestionList.d.ts +1 -1
- package/__dev__/jsutils/toError.d.ts +1 -1
- package/__dev__/jsutils/toObjMap.d.ts +1 -1
- package/__dev__/language/KindTypeMap.d.ts +1 -1
- package/__dev__/language/ast.d.ts +1 -1
- package/__dev__/language/blockString.d.ts +1 -1
- package/__dev__/language/characterClasses.d.ts +1 -1
- package/__dev__/language/directiveLocation.d.ts +1 -1
- package/__dev__/language/index.d.ts +1 -1
- package/__dev__/language/kinds.d.ts +1 -1
- package/__dev__/language/kinds_.d.ts +1 -1
- package/__dev__/language/lexer.d.ts +1 -1
- package/__dev__/language/location.d.ts +1 -1
- package/__dev__/language/parser.d.ts +1 -1
- package/__dev__/language/predicates.d.ts +1 -1
- package/__dev__/language/printLocation.d.ts +1 -1
- package/__dev__/language/printString.d.ts +1 -1
- package/__dev__/language/printer.d.ts +1 -1
- package/__dev__/language/schemaCoordinateLexer.d.ts +1 -1
- package/__dev__/language/source.d.ts +1 -1
- package/__dev__/language/tokenKind.d.ts +1 -1
- package/__dev__/language/visitor.d.ts +1 -1
- package/__dev__/type/assertName.d.ts +1 -1
- package/__dev__/type/definition.d.ts +1 -1
- package/__dev__/type/directives.d.ts +1 -1
- package/__dev__/type/index.d.ts +1 -1
- package/__dev__/type/introspection.d.ts +1 -1
- package/__dev__/type/scalars.d.ts +1 -1
- package/__dev__/type/schema.d.ts +1 -1
- package/__dev__/type/validate.d.ts +1 -1
- package/__dev__/utilities/TypeInfo.d.ts +1 -1
- package/__dev__/utilities/astFromValue.d.ts +1 -1
- package/__dev__/utilities/buildASTSchema.d.ts +1 -1
- package/__dev__/utilities/buildClientSchema.d.ts +1 -1
- package/__dev__/utilities/coerceInputValue.d.ts +1 -1
- package/__dev__/utilities/concatAST.d.ts +1 -1
- package/__dev__/utilities/extendSchema.d.ts +1 -1
- package/__dev__/utilities/findSchemaChanges.d.ts +1 -1
- package/__dev__/utilities/getDefaultValueAST.d.ts +1 -1
- package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -1
- package/__dev__/utilities/getOperationAST.d.ts +1 -1
- package/__dev__/utilities/index.d.ts +1 -1
- package/__dev__/utilities/introspectionFromSchema.d.ts +1 -1
- package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -1
- package/__dev__/utilities/mapSchemaConfig.d.ts +1 -1
- package/__dev__/utilities/printSchema.d.ts +1 -1
- package/__dev__/utilities/replaceVariables.d.ts +1 -1
- package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -1
- package/__dev__/utilities/separateOperations.d.ts +1 -1
- package/__dev__/utilities/sortValueNode.d.ts +1 -1
- package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -1
- package/__dev__/utilities/typeComparators.d.ts +1 -1
- package/__dev__/utilities/typeFromAST.d.ts +1 -1
- package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -1
- package/__dev__/utilities/validateInputValue.d.ts +1 -1
- package/__dev__/utilities/valueFromAST.d.ts +1 -1
- package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -1
- package/__dev__/utilities/valueToLiteral.d.ts +1 -1
- package/__dev__/validation/ValidationContext.d.ts +1 -1
- package/__dev__/validation/index.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -1
- package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -1
- package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -1
- package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -1
- package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -1
- package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -1
- package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -1
- package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -1
- package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -1
- package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -1
- package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -1
- package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -1
- package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -1
- package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -1
- package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -1
- package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -1
- package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -1
- package/__dev__/validation/specifiedRules.d.ts +1 -1
- package/__dev__/validation/validate.d.ts +1 -1
- package/__dev__/version.d.ts +1 -1
- package/devMode.d.mts +29 -0
- package/devMode.d.ts +29 -0
- package/devMode.js.map +1 -1
- package/devMode.mjs.map +1 -1
- package/error/GraphQLError.d.mts +94 -10
- package/error/GraphQLError.d.ts +94 -10
- package/error/GraphQLError.js +11 -20
- package/error/GraphQLError.js.map +1 -1
- package/error/GraphQLError.mjs +11 -20
- package/error/GraphQLError.mjs.map +1 -1
- package/error/ensureGraphQLError.d.mts +2 -0
- package/error/ensureGraphQLError.d.ts +2 -0
- package/error/ensureGraphQLError.js +0 -3
- package/error/ensureGraphQLError.js.map +1 -1
- package/error/ensureGraphQLError.mjs +0 -3
- package/error/ensureGraphQLError.mjs.map +1 -1
- package/error/index.d.mts +6 -0
- package/error/index.d.ts +6 -0
- package/error/index.js.map +1 -1
- package/error/index.mjs.map +1 -1
- package/error/locatedError.d.mts +20 -0
- package/error/locatedError.d.ts +20 -0
- package/error/locatedError.js +0 -6
- package/error/locatedError.js.map +1 -1
- package/error/locatedError.mjs +0 -6
- package/error/locatedError.mjs.map +1 -1
- package/error/syntaxError.d.mts +15 -0
- package/error/syntaxError.d.ts +15 -0
- package/error/syntaxError.js +0 -4
- package/error/syntaxError.js.map +1 -1
- package/error/syntaxError.mjs +0 -4
- package/error/syntaxError.mjs.map +1 -1
- package/execution/AbortedGraphQLExecutionError.d.mts +27 -0
- package/execution/AbortedGraphQLExecutionError.d.ts +27 -0
- package/execution/AbortedGraphQLExecutionError.js.map +1 -1
- package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
- package/execution/AsyncWorkTracker.d.mts +1 -1
- package/execution/AsyncWorkTracker.d.ts +1 -1
- package/execution/AsyncWorkTracker.js +1 -5
- package/execution/AsyncWorkTracker.js.map +1 -1
- package/execution/AsyncWorkTracker.mjs +1 -5
- package/execution/AsyncWorkTracker.mjs.map +1 -1
- package/execution/ExecutionArgs.d.mts +101 -0
- package/execution/ExecutionArgs.d.ts +101 -0
- package/execution/ExecutionArgs.js +3 -0
- package/execution/ExecutionArgs.js.map +1 -0
- package/execution/ExecutionArgs.mjs +2 -0
- package/execution/ExecutionArgs.mjs.map +1 -0
- package/execution/Executor.d.mts +44 -40
- package/execution/Executor.d.ts +44 -40
- package/execution/Executor.js +2 -122
- package/execution/Executor.js.map +1 -1
- package/execution/Executor.mjs +2 -122
- package/execution/Executor.mjs.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.js +0 -2
- package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.mjs +0 -2
- package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
- package/execution/buildResolveInfo.d.mts +2 -0
- package/execution/buildResolveInfo.d.ts +2 -0
- package/execution/buildResolveInfo.js +0 -3
- package/execution/buildResolveInfo.js.map +1 -1
- package/execution/buildResolveInfo.mjs +0 -3
- package/execution/buildResolveInfo.mjs.map +1 -1
- package/execution/cancellablePromise.d.mts +3 -0
- package/execution/cancellablePromise.d.ts +3 -0
- package/execution/cancellablePromise.js.map +1 -1
- package/execution/cancellablePromise.mjs.map +1 -1
- package/execution/collectFields.d.mts +10 -4
- package/execution/collectFields.d.ts +10 -4
- package/execution/collectFields.js +0 -41
- package/execution/collectFields.js.map +1 -1
- package/execution/collectFields.mjs +0 -41
- package/execution/collectFields.mjs.map +1 -1
- package/execution/collectIteratorPromises.d.mts +2 -0
- package/execution/collectIteratorPromises.d.ts +2 -0
- package/execution/collectIteratorPromises.js +0 -5
- package/execution/collectIteratorPromises.js.map +1 -1
- package/execution/collectIteratorPromises.mjs +0 -5
- package/execution/collectIteratorPromises.mjs.map +1 -1
- package/execution/createSharedExecutionContext.d.mts +1 -0
- package/execution/createSharedExecutionContext.d.ts +1 -0
- package/execution/createSharedExecutionContext.js.map +1 -1
- package/execution/createSharedExecutionContext.mjs.map +1 -1
- package/execution/execute.d.mts +403 -38
- package/execution/execute.d.ts +403 -38
- package/execution/execute.js +0 -161
- package/execution/execute.js.map +1 -1
- package/execution/execute.mjs +0 -161
- package/execution/execute.mjs.map +1 -1
- package/execution/getStreamUsage.d.mts +4 -1
- package/execution/getStreamUsage.d.ts +4 -1
- package/execution/getStreamUsage.js +0 -7
- package/execution/getStreamUsage.js.map +1 -1
- package/execution/getStreamUsage.mjs +0 -7
- package/execution/getStreamUsage.mjs.map +1 -1
- package/execution/getVariableSignature.d.mts +4 -1
- package/execution/getVariableSignature.d.ts +4 -1
- package/execution/getVariableSignature.js +0 -2
- package/execution/getVariableSignature.js.map +1 -1
- package/execution/getVariableSignature.mjs +0 -2
- package/execution/getVariableSignature.mjs.map +1 -1
- package/execution/hooks.d.mts +3 -7
- package/execution/hooks.d.ts +3 -7
- package/execution/hooks.js +0 -1
- package/execution/hooks.js.map +1 -1
- package/execution/hooks.mjs +0 -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 +0 -1
- package/execution/incremental/Computation.js.map +1 -1
- package/execution/incremental/Computation.mjs +0 -1
- package/execution/incremental/Computation.mjs.map +1 -1
- package/execution/incremental/IncrementalExecutor.d.mts +124 -9
- package/execution/incremental/IncrementalExecutor.d.ts +124 -9
- package/execution/incremental/IncrementalExecutor.js +1 -31
- package/execution/incremental/IncrementalExecutor.js.map +1 -1
- package/execution/incremental/IncrementalExecutor.mjs +1 -31
- package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
- package/execution/incremental/IncrementalPublisher.d.mts +1 -3
- package/execution/incremental/IncrementalPublisher.d.ts +1 -3
- package/execution/incremental/IncrementalPublisher.js +0 -5
- package/execution/incremental/IncrementalPublisher.js.map +1 -1
- package/execution/incremental/IncrementalPublisher.mjs +0 -5
- package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
- package/execution/incremental/Queue.js +3 -64
- package/execution/incremental/Queue.js.map +1 -1
- package/execution/incremental/Queue.mjs +2 -62
- package/execution/incremental/Queue.mjs.map +1 -1
- package/execution/incremental/WorkQueue.d.mts +8 -0
- package/execution/incremental/WorkQueue.d.ts +8 -0
- package/execution/incremental/WorkQueue.js +0 -15
- package/execution/incremental/WorkQueue.js.map +1 -1
- package/execution/incremental/WorkQueue.mjs +0 -15
- package/execution/incremental/WorkQueue.mjs.map +1 -1
- package/execution/incremental/buildExecutionPlan.d.mts +3 -0
- package/execution/incremental/buildExecutionPlan.d.ts +3 -0
- package/execution/incremental/buildExecutionPlan.js.map +1 -1
- package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
- package/execution/index.d.mts +12 -3
- package/execution/index.d.ts +12 -3
- package/execution/index.js +4 -1
- package/execution/index.js.map +1 -1
- package/execution/index.mjs +1 -0
- package/execution/index.mjs.map +1 -1
- package/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +175 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +175 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.js +69 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.js.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +65 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +12 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +12 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.js +131 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.js.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +127 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs.map +1 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +165 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +165 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.js +17 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.js.map +1 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.mjs +13 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.mjs.map +1 -0
- package/execution/mapAsyncIterable.d.mts +2 -0
- package/execution/mapAsyncIterable.d.ts +2 -0
- package/execution/mapAsyncIterable.js +0 -5
- package/execution/mapAsyncIterable.js.map +1 -1
- package/execution/mapAsyncIterable.mjs +0 -5
- package/execution/mapAsyncIterable.mjs.map +1 -1
- package/execution/returnIteratorCatchingErrors.d.mts +1 -0
- package/execution/returnIteratorCatchingErrors.d.ts +1 -0
- package/execution/returnIteratorCatchingErrors.js +0 -1
- package/execution/returnIteratorCatchingErrors.js.map +1 -1
- package/execution/returnIteratorCatchingErrors.mjs +0 -1
- package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
- package/execution/values.d.mts +187 -5
- package/execution/values.d.ts +187 -5
- package/execution/values.js +14 -55
- package/execution/values.js.map +1 -1
- package/execution/values.mjs +14 -55
- package/execution/values.mjs.map +1 -1
- package/execution/withConcurrentAbruptClose.d.mts +2 -0
- package/execution/withConcurrentAbruptClose.d.ts +2 -0
- package/execution/withConcurrentAbruptClose.js +0 -14
- package/execution/withConcurrentAbruptClose.js.map +1 -1
- package/execution/withConcurrentAbruptClose.mjs +0 -14
- package/execution/withConcurrentAbruptClose.mjs.map +1 -1
- package/graphql.d.mts +192 -44
- package/graphql.d.ts +192 -44
- package/graphql.js +0 -12
- package/graphql.js.map +1 -1
- package/graphql.mjs +0 -12
- package/graphql.mjs.map +1 -1
- package/harness.d.mts +17 -0
- package/harness.d.ts +17 -0
- package/harness.js.map +1 -1
- package/harness.mjs.map +1 -1
- package/index.d.mts +26 -24
- package/index.d.ts +26 -24
- package/index.js +9 -96
- package/index.js.map +1 -1
- package/index.mjs +5 -149
- package/index.mjs.map +1 -1
- package/jsutils/AccumulatorMap.d.mts +2 -0
- package/jsutils/AccumulatorMap.d.ts +2 -0
- package/jsutils/AccumulatorMap.js +0 -4
- package/jsutils/AccumulatorMap.js.map +1 -1
- package/jsutils/AccumulatorMap.mjs +0 -4
- package/jsutils/AccumulatorMap.mjs.map +1 -1
- package/jsutils/Maybe.d.mts +5 -1
- package/jsutils/Maybe.d.ts +5 -1
- package/jsutils/Maybe.js.map +1 -1
- package/jsutils/Maybe.mjs.map +1 -1
- package/jsutils/ObjMap.d.mts +6 -0
- package/jsutils/ObjMap.d.ts +6 -0
- package/jsutils/ObjMap.js.map +1 -1
- package/jsutils/ObjMap.mjs.map +1 -1
- package/jsutils/Path.d.mts +30 -0
- package/jsutils/Path.d.ts +30 -0
- package/jsutils/Path.js +0 -6
- package/jsutils/Path.js.map +1 -1
- package/jsutils/Path.mjs +0 -6
- package/jsutils/Path.mjs.map +1 -1
- package/jsutils/PromiseOrValue.d.mts +1 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/PromiseOrValue.js.map +1 -1
- package/jsutils/PromiseOrValue.mjs.map +1 -1
- package/jsutils/capitalize.d.mts +2 -0
- package/jsutils/capitalize.d.ts +2 -0
- package/jsutils/capitalize.js +0 -3
- package/jsutils/capitalize.js.map +1 -1
- package/jsutils/capitalize.mjs +0 -3
- package/jsutils/capitalize.mjs.map +1 -1
- package/jsutils/devAssert.d.mts +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js.map +1 -1
- package/jsutils/devAssert.mjs.map +1 -1
- package/jsutils/didYouMean.d.mts +4 -1
- package/jsutils/didYouMean.d.ts +4 -1
- package/jsutils/didYouMean.js.map +1 -1
- package/jsutils/didYouMean.mjs.map +1 -1
- package/jsutils/formatList.d.mts +6 -2
- package/jsutils/formatList.d.ts +6 -2
- package/jsutils/formatList.js +0 -6
- package/jsutils/formatList.js.map +1 -1
- package/jsutils/formatList.mjs +0 -6
- package/jsutils/formatList.mjs.map +1 -1
- package/jsutils/getBySet.d.mts +1 -0
- package/jsutils/getBySet.d.ts +1 -0
- package/jsutils/getBySet.js.map +1 -1
- package/jsutils/getBySet.mjs.map +1 -1
- package/jsutils/groupBy.d.mts +2 -0
- package/jsutils/groupBy.d.ts +2 -0
- package/jsutils/groupBy.js +0 -3
- package/jsutils/groupBy.js.map +1 -1
- package/jsutils/groupBy.mjs +0 -3
- package/jsutils/groupBy.mjs.map +1 -1
- package/jsutils/identityFunc.d.mts +2 -0
- package/jsutils/identityFunc.d.ts +2 -0
- package/jsutils/identityFunc.js +0 -3
- package/jsutils/identityFunc.js.map +1 -1
- package/jsutils/identityFunc.mjs +0 -3
- package/jsutils/identityFunc.mjs.map +1 -1
- package/jsutils/inspect.d.mts +2 -0
- package/jsutils/inspect.d.ts +2 -0
- package/jsutils/inspect.js +0 -4
- package/jsutils/inspect.js.map +1 -1
- package/jsutils/inspect.mjs +0 -4
- package/jsutils/inspect.mjs.map +1 -1
- package/jsutils/instanceOf.d.mts +2 -0
- package/jsutils/instanceOf.d.ts +2 -0
- package/jsutils/instanceOf.js +1 -12
- package/jsutils/instanceOf.js.map +1 -1
- package/jsutils/instanceOf.mjs +1 -12
- package/jsutils/instanceOf.mjs.map +1 -1
- package/jsutils/invariant.d.mts +1 -0
- package/jsutils/invariant.d.ts +1 -0
- package/jsutils/invariant.js.map +1 -1
- package/jsutils/invariant.mjs.map +1 -1
- package/jsutils/isAsyncIterable.d.mts +2 -0
- package/jsutils/isAsyncIterable.d.ts +2 -0
- package/jsutils/isAsyncIterable.js +0 -4
- package/jsutils/isAsyncIterable.js.map +1 -1
- package/jsutils/isAsyncIterable.mjs +0 -4
- package/jsutils/isAsyncIterable.mjs.map +1 -1
- package/jsutils/isIterableObject.d.mts +6 -5
- package/jsutils/isIterableObject.d.ts +6 -5
- package/jsutils/isIterableObject.js +0 -17
- package/jsutils/isIterableObject.js.map +1 -1
- package/jsutils/isIterableObject.mjs +0 -17
- package/jsutils/isIterableObject.mjs.map +1 -1
- package/jsutils/isObjectLike.d.mts +2 -0
- package/jsutils/isObjectLike.d.ts +2 -0
- package/jsutils/isObjectLike.js +0 -4
- package/jsutils/isObjectLike.js.map +1 -1
- package/jsutils/isObjectLike.mjs +0 -4
- package/jsutils/isObjectLike.mjs.map +1 -1
- package/jsutils/isPromise.d.mts +3 -0
- package/jsutils/isPromise.d.ts +3 -0
- package/jsutils/isPromise.js +0 -4
- package/jsutils/isPromise.js.map +1 -1
- package/jsutils/isPromise.mjs +0 -4
- package/jsutils/isPromise.mjs.map +1 -1
- package/jsutils/isSameSet.d.mts +1 -0
- package/jsutils/isSameSet.d.ts +1 -0
- package/jsutils/isSameSet.js.map +1 -1
- package/jsutils/isSameSet.mjs.map +1 -1
- package/jsutils/keyMap.d.mts +7 -14
- package/jsutils/keyMap.d.ts +7 -14
- package/jsutils/keyMap.js +0 -27
- package/jsutils/keyMap.js.map +1 -1
- package/jsutils/keyMap.mjs +0 -27
- package/jsutils/keyMap.mjs.map +1 -1
- package/jsutils/keyValMap.d.mts +9 -6
- package/jsutils/keyValMap.d.ts +9 -6
- package/jsutils/keyValMap.js +0 -17
- package/jsutils/keyValMap.js.map +1 -1
- package/jsutils/keyValMap.mjs +0 -17
- package/jsutils/keyValMap.mjs.map +1 -1
- package/jsutils/mapValue.d.mts +2 -0
- package/jsutils/mapValue.d.ts +2 -0
- package/jsutils/mapValue.js +0 -4
- package/jsutils/mapValue.js.map +1 -1
- package/jsutils/mapValue.mjs +0 -4
- package/jsutils/mapValue.mjs.map +1 -1
- package/jsutils/memoize1.d.mts +2 -0
- package/jsutils/memoize1.d.ts +2 -0
- package/jsutils/memoize1.js +0 -3
- package/jsutils/memoize1.js.map +1 -1
- package/jsutils/memoize1.mjs +0 -3
- package/jsutils/memoize1.mjs.map +1 -1
- package/jsutils/memoize2.d.mts +2 -0
- package/jsutils/memoize2.d.ts +2 -0
- package/jsutils/memoize2.js +0 -3
- package/jsutils/memoize2.js.map +1 -1
- package/jsutils/memoize2.mjs +0 -3
- package/jsutils/memoize2.mjs.map +1 -1
- package/jsutils/memoize3.d.mts +2 -0
- package/jsutils/memoize3.d.ts +2 -0
- package/jsutils/memoize3.js +0 -3
- package/jsutils/memoize3.js.map +1 -1
- package/jsutils/memoize3.mjs +0 -3
- package/jsutils/memoize3.mjs.map +1 -1
- package/jsutils/naturalCompare.d.mts +1 -0
- package/jsutils/naturalCompare.d.ts +1 -0
- package/jsutils/naturalCompare.js +0 -7
- package/jsutils/naturalCompare.js.map +1 -1
- package/jsutils/naturalCompare.mjs +0 -7
- package/jsutils/naturalCompare.mjs.map +1 -1
- package/jsutils/printPathArray.d.mts +2 -0
- package/jsutils/printPathArray.d.ts +2 -0
- package/jsutils/printPathArray.js +0 -3
- package/jsutils/printPathArray.js.map +1 -1
- package/jsutils/printPathArray.mjs +0 -3
- package/jsutils/printPathArray.mjs.map +1 -1
- package/jsutils/promiseForObject.d.mts +2 -0
- package/jsutils/promiseForObject.d.ts +2 -0
- package/jsutils/promiseForObject.js +0 -7
- package/jsutils/promiseForObject.js.map +1 -1
- package/jsutils/promiseForObject.mjs +0 -7
- package/jsutils/promiseForObject.mjs.map +1 -1
- package/jsutils/promiseReduce.d.mts +2 -0
- package/jsutils/promiseReduce.d.ts +2 -0
- package/jsutils/promiseReduce.js +0 -7
- package/jsutils/promiseReduce.js.map +1 -1
- package/jsutils/promiseReduce.mjs +0 -7
- package/jsutils/promiseReduce.mjs.map +1 -1
- package/jsutils/promiseWithResolvers.d.mts +2 -0
- package/jsutils/promiseWithResolvers.d.ts +2 -0
- package/jsutils/promiseWithResolvers.js +0 -5
- package/jsutils/promiseWithResolvers.js.map +1 -1
- package/jsutils/promiseWithResolvers.mjs +0 -5
- package/jsutils/promiseWithResolvers.mjs.map +1 -1
- package/jsutils/suggestionList.d.mts +2 -0
- package/jsutils/suggestionList.d.ts +2 -0
- package/jsutils/suggestionList.js +1 -24
- package/jsutils/suggestionList.js.map +1 -1
- package/jsutils/suggestionList.mjs +1 -24
- package/jsutils/suggestionList.mjs.map +1 -1
- package/jsutils/toError.d.mts +2 -0
- package/jsutils/toError.d.ts +2 -0
- package/jsutils/toError.js +0 -3
- package/jsutils/toError.js.map +1 -1
- package/jsutils/toError.mjs +0 -3
- package/jsutils/toError.mjs.map +1 -1
- package/jsutils/toObjMap.d.mts +2 -0
- package/jsutils/toObjMap.d.ts +2 -0
- package/jsutils/toObjMap.js.map +1 -1
- package/jsutils/toObjMap.mjs.map +1 -1
- package/language/KindTypeMap.d.mts +1 -0
- package/language/KindTypeMap.d.ts +1 -0
- package/language/KindTypeMap.js.map +1 -1
- package/language/KindTypeMap.mjs.map +1 -1
- package/language/ast.d.mts +413 -53
- package/language/ast.d.ts +413 -53
- package/language/ast.js +0 -20
- package/language/ast.js.map +1 -1
- package/language/ast.mjs +0 -20
- package/language/ast.mjs.map +1 -1
- package/language/blockString.d.mts +1 -3
- package/language/blockString.d.ts +1 -3
- package/language/blockString.js +11 -37
- package/language/blockString.js.map +1 -1
- package/language/blockString.mjs +11 -37
- package/language/blockString.mjs.map +1 -1
- package/language/characterClasses.js +2 -45
- package/language/characterClasses.js.map +1 -1
- package/language/characterClasses.mjs +2 -45
- package/language/characterClasses.mjs.map +1 -1
- package/language/directiveLocation.d.mts +24 -5
- package/language/directiveLocation.d.ts +24 -5
- package/language/directiveLocation.js +0 -5
- package/language/directiveLocation.js.map +1 -1
- package/language/directiveLocation.mjs +0 -5
- package/language/directiveLocation.mjs.map +1 -1
- package/language/index.d.mts +6 -0
- package/language/index.d.ts +6 -0
- package/language/index.js +0 -4
- package/language/index.js.map +1 -1
- package/language/index.mjs +0 -4
- package/language/index.mjs.map +1 -1
- package/language/kinds.d.mts +3 -0
- package/language/kinds.d.ts +3 -0
- package/language/kinds.js.map +1 -1
- package/language/kinds.mjs.map +1 -1
- package/language/kinds_.d.mts +100 -12
- package/language/kinds_.d.ts +100 -12
- package/language/kinds_.js +0 -13
- package/language/kinds_.js.map +1 -1
- package/language/kinds_.mjs +0 -13
- package/language/kinds_.mjs.map +1 -1
- package/language/lexer.d.mts +48 -15
- package/language/lexer.d.ts +48 -15
- package/language/lexer.js +37 -278
- package/language/lexer.js.map +1 -1
- package/language/lexer.mjs +37 -278
- package/language/lexer.mjs.map +1 -1
- package/language/location.d.mts +16 -3
- package/language/location.d.ts +16 -3
- package/language/location.js +0 -4
- package/language/location.js.map +1 -1
- package/language/location.mjs +0 -4
- package/language/location.mjs.map +1 -1
- package/language/parser.d.mts +224 -9
- package/language/parser.d.ts +224 -9
- package/language/parser.js +0 -375
- package/language/parser.js.map +1 -1
- package/language/parser.mjs +0 -375
- package/language/parser.mjs.map +1 -1
- package/language/predicates.d.mts +181 -0
- package/language/predicates.d.ts +181 -0
- package/language/predicates.js +0 -6
- package/language/predicates.js.map +1 -1
- package/language/predicates.mjs +0 -6
- package/language/predicates.mjs.map +1 -1
- package/language/printLocation.d.mts +28 -0
- package/language/printLocation.d.ts +28 -0
- package/language/printLocation.js +0 -8
- package/language/printLocation.js.map +1 -1
- package/language/printLocation.mjs +0 -8
- package/language/printLocation.mjs.map +1 -1
- package/language/printString.d.mts +2 -0
- package/language/printString.d.ts +2 -0
- package/language/printString.js +5 -11
- package/language/printString.js.map +1 -1
- package/language/printString.mjs +5 -11
- package/language/printString.mjs.map +1 -1
- package/language/printer.d.mts +12 -0
- package/language/printer.d.ts +12 -0
- package/language/printer.js +0 -25
- package/language/printer.js.map +1 -1
- package/language/printer.mjs +0 -25
- package/language/printer.mjs.map +1 -1
- package/language/schemaCoordinateLexer.d.mts +14 -0
- package/language/schemaCoordinateLexer.d.ts +14 -0
- package/language/schemaCoordinateLexer.js +5 -35
- package/language/schemaCoordinateLexer.js.map +1 -1
- package/language/schemaCoordinateLexer.mjs +5 -35
- package/language/schemaCoordinateLexer.mjs.map +1 -1
- package/language/source.d.mts +28 -1
- package/language/source.d.ts +28 -1
- package/language/source.js +0 -12
- package/language/source.js.map +1 -1
- package/language/source.mjs +0 -12
- package/language/source.mjs.map +1 -1
- package/language/tokenKind.d.mts +5 -0
- package/language/tokenKind.d.ts +5 -0
- package/language/tokenKind.js +0 -4
- package/language/tokenKind.js.map +1 -1
- package/language/tokenKind.mjs +0 -4
- package/language/tokenKind.mjs.map +1 -1
- package/language/visitor.d.mts +182 -72
- package/language/visitor.d.ts +182 -72
- package/language/visitor.js +0 -15
- package/language/visitor.js.map +1 -1
- package/language/visitor.mjs +0 -15
- package/language/visitor.mjs.map +1 -1
- package/package.json +1 -1
- package/type/assertName.d.mts +18 -1
- package/type/assertName.d.ts +18 -1
- package/type/assertName.js +0 -8
- package/type/assertName.js.map +1 -1
- package/type/assertName.mjs +0 -8
- package/type/assertName.mjs.map +1 -1
- package/type/definition.d.mts +3258 -128
- package/type/definition.d.ts +3258 -128
- package/type/definition.js +5 -252
- package/type/definition.js.map +1 -1
- package/type/definition.mjs +5 -252
- package/type/definition.mjs.map +1 -1
- package/type/directives.d.mts +209 -20
- package/type/directives.d.ts +209 -20
- package/type/directives.js +0 -37
- package/type/directives.js.map +1 -1
- package/type/directives.mjs +0 -37
- package/type/directives.mjs.map +1 -1
- package/type/index.d.mts +6 -0
- package/type/index.d.ts +6 -0
- package/type/index.js +0 -23
- package/type/index.js.map +1 -1
- package/type/index.mjs +5 -48
- package/type/index.mjs.map +1 -1
- package/type/introspection.d.mts +36 -0
- package/type/introspection.d.ts +36 -0
- package/type/introspection.js +1 -6
- package/type/introspection.js.map +1 -1
- package/type/introspection.mjs +1 -6
- package/type/introspection.mjs.map +1 -1
- package/type/scalars.d.mts +29 -2
- package/type/scalars.d.ts +29 -2
- package/type/scalars.js +0 -15
- package/type/scalars.js.map +1 -1
- package/type/scalars.mjs +0 -15
- package/type/scalars.mjs.map +1 -1
- package/type/schema.d.mts +507 -31
- package/type/schema.d.ts +507 -31
- package/type/schema.js +0 -97
- package/type/schema.js.map +1 -1
- package/type/schema.mjs +0 -97
- package/type/schema.mjs.map +1 -1
- package/type/validate.d.mts +32 -3
- package/type/validate.d.ts +32 -3
- package/type/validate.js +0 -112
- package/type/validate.js.map +1 -1
- package/type/validate.mjs +0 -112
- package/type/validate.mjs.map +1 -1
- package/utilities/TypeInfo.d.mts +564 -1
- package/utilities/TypeInfo.d.ts +564 -1
- package/utilities/TypeInfo.js +1 -24
- package/utilities/TypeInfo.js.map +1 -1
- package/utilities/TypeInfo.mjs +1 -24
- package/utilities/TypeInfo.mjs.map +1 -1
- package/utilities/astFromValue.d.mts +36 -3
- package/utilities/astFromValue.d.ts +36 -3
- package/utilities/astFromValue.js +0 -42
- package/utilities/astFromValue.js.map +1 -1
- package/utilities/astFromValue.mjs +0 -42
- package/utilities/astFromValue.mjs.map +1 -1
- package/utilities/buildASTSchema.d.mts +66 -6
- package/utilities/buildASTSchema.d.ts +66 -6
- package/utilities/buildASTSchema.js +0 -21
- package/utilities/buildASTSchema.js.map +1 -1
- package/utilities/buildASTSchema.mjs +0 -21
- package/utilities/buildASTSchema.mjs.map +1 -1
- package/utilities/buildClientSchema.d.mts +17 -2
- package/utilities/buildClientSchema.d.ts +17 -2
- package/utilities/buildClientSchema.js +1 -32
- package/utilities/buildClientSchema.js.map +1 -1
- package/utilities/buildClientSchema.mjs +0 -30
- package/utilities/buildClientSchema.mjs.map +1 -1
- package/utilities/coerceInputValue.d.mts +83 -1
- package/utilities/coerceInputValue.d.ts +83 -1
- package/utilities/coerceInputValue.js +21 -50
- package/utilities/coerceInputValue.js.map +1 -1
- package/utilities/coerceInputValue.mjs +21 -50
- package/utilities/coerceInputValue.mjs.map +1 -1
- package/utilities/concatAST.d.mts +12 -0
- package/utilities/concatAST.d.ts +12 -0
- package/utilities/concatAST.js +0 -5
- package/utilities/concatAST.js.map +1 -1
- package/utilities/concatAST.mjs +0 -5
- package/utilities/concatAST.mjs.map +1 -1
- package/utilities/extendSchema.d.mts +58 -3
- package/utilities/extendSchema.d.ts +58 -3
- package/utilities/extendSchema.js +0 -60
- package/utilities/extendSchema.js.map +1 -1
- package/utilities/extendSchema.mjs +0 -60
- package/utilities/extendSchema.mjs.map +1 -1
- package/utilities/findSchemaChanges.d.mts +99 -1
- package/utilities/findSchemaChanges.d.ts +99 -1
- package/utilities/findSchemaChanges.js +3 -35
- package/utilities/findSchemaChanges.js.map +1 -1
- package/utilities/findSchemaChanges.mjs +3 -35
- package/utilities/findSchemaChanges.mjs.map +1 -1
- package/utilities/getDefaultValueAST.d.mts +1 -0
- package/utilities/getDefaultValueAST.d.ts +1 -0
- package/utilities/getDefaultValueAST.js +0 -2
- package/utilities/getDefaultValueAST.js.map +1 -1
- package/utilities/getDefaultValueAST.mjs +0 -2
- package/utilities/getDefaultValueAST.mjs.map +1 -1
- package/utilities/getIntrospectionQuery.d.mts +132 -0
- package/utilities/getIntrospectionQuery.d.ts +132 -0
- package/utilities/getIntrospectionQuery.js +0 -4
- package/utilities/getIntrospectionQuery.js.map +1 -1
- package/utilities/getIntrospectionQuery.mjs +0 -4
- package/utilities/getIntrospectionQuery.mjs.map +1 -1
- package/utilities/getOperationAST.d.mts +15 -0
- package/utilities/getOperationAST.d.ts +15 -0
- package/utilities/getOperationAST.js +0 -8
- package/utilities/getOperationAST.js.map +1 -1
- package/utilities/getOperationAST.mjs +0 -8
- package/utilities/getOperationAST.mjs.map +1 -1
- package/utilities/index.d.mts +18 -3
- package/utilities/index.d.ts +18 -3
- package/utilities/index.js +0 -27
- package/utilities/index.js.map +1 -1
- package/utilities/index.mjs +4 -37
- package/utilities/index.mjs.map +1 -1
- package/utilities/introspectionFromSchema.d.mts +54 -0
- package/utilities/introspectionFromSchema.d.ts +54 -0
- package/utilities/introspectionFromSchema.js +0 -9
- package/utilities/introspectionFromSchema.js.map +1 -1
- package/utilities/introspectionFromSchema.mjs +0 -9
- package/utilities/introspectionFromSchema.mjs.map +1 -1
- package/utilities/lexicographicSortSchema.d.mts +35 -0
- package/utilities/lexicographicSortSchema.d.ts +35 -0
- package/utilities/lexicographicSortSchema.js +0 -5
- package/utilities/lexicographicSortSchema.js.map +1 -1
- package/utilities/lexicographicSortSchema.mjs +0 -5
- package/utilities/lexicographicSortSchema.mjs.map +1 -1
- package/utilities/mapSchemaConfig.d.mts +6 -3
- package/utilities/mapSchemaConfig.d.ts +6 -3
- package/utilities/mapSchemaConfig.js +0 -10
- package/utilities/mapSchemaConfig.js.map +1 -1
- package/utilities/mapSchemaConfig.mjs +0 -10
- package/utilities/mapSchemaConfig.mjs.map +1 -1
- package/utilities/printSchema.d.mts +84 -0
- package/utilities/printSchema.d.ts +84 -0
- package/utilities/printSchema.js +0 -28
- package/utilities/printSchema.js.map +1 -1
- package/utilities/printSchema.mjs +0 -28
- package/utilities/printSchema.mjs.map +1 -1
- package/utilities/replaceVariables.d.mts +36 -0
- package/utilities/replaceVariables.d.ts +36 -0
- package/utilities/replaceVariables.js +0 -8
- package/utilities/replaceVariables.js.map +1 -1
- package/utilities/replaceVariables.mjs +0 -8
- package/utilities/replaceVariables.mjs.map +1 -1
- package/utilities/resolveSchemaCoordinate.d.mts +62 -0
- package/utilities/resolveSchemaCoordinate.d.ts +62 -0
- package/utilities/resolveSchemaCoordinate.js +0 -56
- package/utilities/resolveSchemaCoordinate.js.map +1 -1
- package/utilities/resolveSchemaCoordinate.mjs +0 -56
- package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
- package/utilities/separateOperations.d.mts +30 -0
- package/utilities/separateOperations.d.ts +30 -0
- package/utilities/separateOperations.js +0 -15
- package/utilities/separateOperations.js.map +1 -1
- package/utilities/separateOperations.mjs +0 -15
- package/utilities/separateOperations.mjs.map +1 -1
- package/utilities/sortValueNode.js +0 -7
- package/utilities/sortValueNode.js.map +1 -1
- package/utilities/sortValueNode.mjs +0 -7
- package/utilities/sortValueNode.mjs.map +1 -1
- package/utilities/stripIgnoredCharacters.d.mts +13 -6
- package/utilities/stripIgnoredCharacters.d.ts +13 -6
- package/utilities/stripIgnoredCharacters.js +0 -65
- package/utilities/stripIgnoredCharacters.js.map +1 -1
- package/utilities/stripIgnoredCharacters.mjs +0 -65
- package/utilities/stripIgnoredCharacters.mjs.map +1 -1
- package/utilities/typeComparators.d.mts +84 -0
- package/utilities/typeComparators.d.ts +84 -0
- package/utilities/typeComparators.js +0 -33
- package/utilities/typeComparators.js.map +1 -1
- package/utilities/typeComparators.mjs +0 -33
- package/utilities/typeComparators.mjs.map +1 -1
- package/utilities/typeFromAST.d.mts +86 -0
- package/utilities/typeFromAST.d.ts +86 -0
- package/utilities/typeFromAST.js.map +1 -1
- package/utilities/typeFromAST.mjs.map +1 -1
- package/utilities/typedQueryDocumentNode.d.mts +4 -0
- package/utilities/typedQueryDocumentNode.d.ts +4 -0
- package/utilities/typedQueryDocumentNode.js.map +1 -1
- package/utilities/typedQueryDocumentNode.mjs.map +1 -1
- package/utilities/validateInputValue.d.mts +123 -0
- package/utilities/validateInputValue.d.ts +123 -0
- package/utilities/validateInputValue.js +0 -20
- package/utilities/validateInputValue.js.map +1 -1
- package/utilities/validateInputValue.mjs +0 -20
- package/utilities/validateInputValue.mjs.map +1 -1
- package/utilities/valueFromAST.d.mts +41 -0
- package/utilities/valueFromAST.d.ts +41 -0
- package/utilities/valueFromAST.js +13 -51
- package/utilities/valueFromAST.js.map +1 -1
- package/utilities/valueFromAST.mjs +13 -51
- package/utilities/valueFromAST.mjs.map +1 -1
- package/utilities/valueFromASTUntyped.d.mts +15 -2
- package/utilities/valueFromASTUntyped.d.ts +15 -2
- package/utilities/valueFromASTUntyped.js +0 -16
- package/utilities/valueFromASTUntyped.js.map +1 -1
- package/utilities/valueFromASTUntyped.mjs +0 -16
- package/utilities/valueFromASTUntyped.mjs.map +1 -1
- package/utilities/valueToLiteral.d.mts +30 -1
- package/utilities/valueToLiteral.d.ts +30 -1
- package/utilities/valueToLiteral.js +7 -40
- package/utilities/valueToLiteral.js.map +1 -1
- package/utilities/valueToLiteral.mjs +7 -40
- package/utilities/valueToLiteral.mjs.map +1 -1
- package/validation/ValidationContext.d.mts +490 -0
- package/validation/ValidationContext.d.ts +490 -0
- package/validation/ValidationContext.js +1 -8
- package/validation/ValidationContext.js.map +1 -1
- package/validation/ValidationContext.mjs +1 -8
- package/validation/ValidationContext.mjs.map +1 -1
- package/validation/index.d.mts +7 -0
- package/validation/index.d.ts +7 -0
- package/validation/index.js +0 -34
- package/validation/index.js.map +1 -1
- package/validation/index.mjs +0 -34
- package/validation/index.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +30 -0
- package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +30 -0
- package/validation/rules/DeferStreamDirectiveLabelRule.js +0 -5
- package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +28 -0
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +28 -0
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +0 -5
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +52 -0
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +52 -0
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +0 -5
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.d.mts +28 -0
- package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
- package/validation/rules/ExecutableDefinitionsRule.js +0 -8
- package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.mjs +0 -8
- package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.d.mts +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.js +0 -27
- package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +0 -27
- package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +28 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.js +0 -9
- package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +0 -9
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.d.mts +29 -3
- package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
- package/validation/rules/KnownArgumentNamesRule.js +0 -13
- package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.mjs +0 -13
- package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownDirectivesRule.d.mts +28 -0
- package/validation/rules/KnownDirectivesRule.d.ts +28 -0
- package/validation/rules/KnownDirectivesRule.js +0 -10
- package/validation/rules/KnownDirectivesRule.js.map +1 -1
- package/validation/rules/KnownDirectivesRule.mjs +0 -10
- package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.d.mts +28 -0
- package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
- package/validation/rules/KnownFragmentNamesRule.js +0 -8
- package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.mjs +0 -8
- package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownOperationTypesRule.d.mts +20 -0
- package/validation/rules/KnownOperationTypesRule.d.ts +20 -0
- package/validation/rules/KnownOperationTypesRule.js +0 -8
- package/validation/rules/KnownOperationTypesRule.js.map +1 -1
- package/validation/rules/KnownOperationTypesRule.mjs +0 -8
- package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
- package/validation/rules/KnownTypeNamesRule.d.mts +28 -0
- package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
- package/validation/rules/KnownTypeNamesRule.js +0 -8
- package/validation/rules/KnownTypeNamesRule.js.map +1 -1
- package/validation/rules/KnownTypeNamesRule.mjs +0 -8
- package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.d.mts +28 -0
- package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
- package/validation/rules/LoneAnonymousOperationRule.js +0 -8
- package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.mjs +0 -8
- package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.d.mts +21 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
- package/validation/rules/LoneSchemaDefinitionRule.js +0 -5
- package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.mjs +0 -5
- package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.d.mts +31 -0
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
- package/validation/rules/MaxIntrospectionDepthRule.js +0 -14
- package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.mjs +0 -14
- package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.d.mts +28 -0
- package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
- package/validation/rules/NoFragmentCyclesRule.js +0 -15
- package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.mjs +0 -15
- package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.d.mts +28 -0
- package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
- package/validation/rules/NoUndefinedVariablesRule.js +0 -8
- package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.mjs +0 -8
- package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.d.mts +28 -0
- package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
- package/validation/rules/NoUnusedFragmentsRule.js +0 -8
- package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.mjs +0 -8
- package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.d.mts +29 -0
- package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
- package/validation/rules/NoUnusedVariablesRule.js +0 -8
- package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.mjs +0 -8
- package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +33 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -175
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +1 -175
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.d.mts +36 -0
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
- package/validation/rules/PossibleFragmentSpreadsRule.js +0 -7
- package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +0 -7
- package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.d.mts +21 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +0 -9
- package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -9
- package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +29 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.js +0 -13
- package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +0 -13
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
- package/validation/rules/ScalarLeafsRule.d.mts +28 -0
- package/validation/rules/ScalarLeafsRule.d.ts +28 -0
- package/validation/rules/ScalarLeafsRule.js +0 -6
- package/validation/rules/ScalarLeafsRule.js.map +1 -1
- package/validation/rules/ScalarLeafsRule.mjs +0 -6
- package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.d.mts +34 -2
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +34 -2
- package/validation/rules/SingleFieldSubscriptionsRule.js +0 -9
- package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +0 -9
- package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +21 -0
- package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +21 -0
- package/validation/rules/StreamDirectiveOnListFieldRule.js +0 -5
- package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs +0 -5
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +21 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +0 -6
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +0 -6
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.d.mts +28 -0
- package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueArgumentNamesRule.js +0 -8
- package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.mjs +0 -8
- package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.d.mts +21 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
- package/validation/rules/UniqueDirectiveNamesRule.js +0 -5
- package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs +0 -5
- package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +28 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.js +0 -11
- package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +0 -11
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.d.mts +21 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
- package/validation/rules/UniqueEnumValueNamesRule.js +0 -5
- package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.mjs +0 -5
- package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +0 -5
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +0 -5
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.d.mts +28 -0
- package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueFragmentNamesRule.js +0 -7
- package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.mjs +0 -7
- package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.d.mts +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +0 -8
- package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.mjs +0 -8
- package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.d.mts +28 -0
- package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
- package/validation/rules/UniqueOperationNamesRule.js +0 -7
- package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.mjs +0 -7
- package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.d.mts +21 -0
- package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
- package/validation/rules/UniqueOperationTypesRule.js +0 -5
- package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.mjs +0 -5
- package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.d.mts +21 -0
- package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
- package/validation/rules/UniqueTypeNamesRule.js +0 -5
- package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.mjs +0 -5
- package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.d.mts +28 -0
- package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
- package/validation/rules/UniqueVariableNamesRule.js +0 -5
- package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.mjs +0 -5
- package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.d.mts +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +1 -21
- package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +1 -21
- package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.d.mts +32 -0
- package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
- package/validation/rules/VariablesAreInputTypesRule.js +0 -8
- package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.mjs +0 -8
- package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.d.mts +28 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +0 -20
- package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs +0 -20
- package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +41 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +0 -10
- package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +0 -10
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +28 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +0 -10
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +0 -10
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
- package/validation/specifiedRules.d.mts +2 -3
- package/validation/specifiedRules.d.ts +2 -3
- package/validation/specifiedRules.js +0 -46
- package/validation/specifiedRules.js.map +1 -1
- package/validation/specifiedRules.mjs +0 -46
- package/validation/specifiedRules.mjs.map +1 -1
- package/validation/validate.d.mts +65 -7
- package/validation/validate.d.ts +65 -7
- package/validation/validate.js +0 -41
- package/validation/validate.js.map +1 -1
- package/validation/validate.mjs +0 -41
- package/validation/validate.mjs.map +1 -1
- package/version.d.mts +3 -6
- package/version.d.ts +3 -6
- package/version.js +2 -10
- package/version.js.map +1 -1
- package/version.mjs +2 -10
- package/version.mjs.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extendSchema.js","sourceRoot":"","sources":["../../src/utilities/extendSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { AccumulatorMap } from '../jsutils/AccumulatorMap.ts';\nimport { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type {\n DirectiveDefinitionNode,\n DirectiveExtensionNode,\n DocumentNode,\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputObjectTypeExtensionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n InterfaceTypeExtensionNode,\n NamedTypeNode,\n ObjectTypeDefinitionNode,\n ObjectTypeExtensionNode,\n ScalarTypeDefinitionNode,\n ScalarTypeExtensionNode,\n SchemaDefinitionNode,\n SchemaExtensionNode,\n TypeDefinitionNode,\n TypeNode,\n UnionTypeDefinitionNode,\n UnionTypeExtensionNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type {\n GraphQLEnumValueNormalizedConfigMap,\n GraphQLFieldConfigArgumentMap,\n GraphQLFieldNormalizedConfigMap,\n GraphQLInputFieldNormalizedConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.ts';\nimport {\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.ts';\nimport {\n GraphQLDeprecatedDirective,\n GraphQLDirective,\n GraphQLOneOfDirective,\n GraphQLSpecifiedByDirective,\n} from '../type/directives.ts';\nimport { introspectionTypes } from '../type/introspection.ts';\nimport { specifiedScalarTypes } from '../type/scalars.ts';\nimport type {\n GraphQLSchemaNormalizedConfig,\n GraphQLSchemaValidationOptions,\n} from '../type/schema.ts';\nimport { assertSchema, GraphQLSchema } from '../type/schema.ts';\n\nimport { assertValidSDLExtension } from '../validation/validate.ts';\n\nimport { getDirectiveValues } from '../execution/values.ts';\n\nimport { mapSchemaConfig, SchemaElementKind } from './mapSchemaConfig.ts';\n\ninterface Options extends GraphQLSchemaValidationOptions {\n /**\n * Set to true to assume the SDL is valid.\n *\n * Default: false\n */\n assumeValidSDL?: boolean | undefined;\n}\n\n/**\n * Produces a new schema given an existing schema and a document which may\n * contain GraphQL type extensions and definitions. The original schema will\n * remain unaltered.\n *\n * Because a schema represents a graph of references, a schema cannot be\n * extended without effectively making an entire copy. We do not know until it's\n * too late if subgraphs remain unchanged.\n *\n * This algorithm copies the provided schema, applying extensions while\n * producing the copy. The original schema remains unaltered.\n */\nexport function extendSchema(\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchema {\n assertSchema(schema);\n\n if (options?.assumeValid !== true && options?.assumeValidSDL !== true) {\n assertValidSDLExtension(documentAST, schema);\n }\n\n const schemaConfig = schema.toConfig();\n const extendedConfig = extendSchemaImpl(schemaConfig, documentAST, options);\n return schemaConfig === extendedConfig\n ? schema\n : new GraphQLSchema(extendedConfig);\n}\n\n/**\n * @internal\n */\nexport function extendSchemaImpl(\n schemaConfig: GraphQLSchemaNormalizedConfig,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchemaNormalizedConfig {\n // Collect the type definitions and extensions found in the document.\n const typeDefs: Array<TypeDefinitionNode> = [];\n\n const scalarExtensions = new AccumulatorMap<\n string,\n ScalarTypeExtensionNode\n >();\n const objectExtensions = new AccumulatorMap<\n string,\n ObjectTypeExtensionNode\n >();\n const interfaceExtensions = new AccumulatorMap<\n string,\n InterfaceTypeExtensionNode\n >();\n const unionExtensions = new AccumulatorMap<string, UnionTypeExtensionNode>();\n const enumExtensions = new AccumulatorMap<string, EnumTypeExtensionNode>();\n const inputObjectExtensions = new AccumulatorMap<\n string,\n InputObjectTypeExtensionNode\n >();\n const directiveExtensions = new AccumulatorMap<\n string,\n DirectiveExtensionNode\n >();\n\n // New directives and types are separate because a directives and types can\n // have the same name. For example, a type named \"skip\".\n const directiveDefs: Array<DirectiveDefinitionNode> = [];\n\n let schemaDef: Maybe<SchemaDefinitionNode>;\n // Schema extensions are collected which may add additional operation types.\n const schemaExtensions: Array<SchemaExtensionNode> = [];\n\n let isSchemaChanged = false;\n for (const def of documentAST.definitions) {\n switch (def.kind) {\n case Kind.SCHEMA_DEFINITION:\n schemaDef = def;\n break;\n case Kind.SCHEMA_EXTENSION:\n schemaExtensions.push(def);\n break;\n case Kind.DIRECTIVE_DEFINITION:\n directiveDefs.push(def);\n break;\n case Kind.DIRECTIVE_EXTENSION:\n directiveExtensions.add(def.name.value, def);\n break;\n\n // Type Definitions\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n typeDefs.push(def);\n break;\n\n // Type System Extensions\n case Kind.SCALAR_TYPE_EXTENSION:\n scalarExtensions.add(def.name.value, def);\n break;\n case Kind.OBJECT_TYPE_EXTENSION:\n objectExtensions.add(def.name.value, def);\n break;\n case Kind.INTERFACE_TYPE_EXTENSION:\n interfaceExtensions.add(def.name.value, def);\n break;\n case Kind.UNION_TYPE_EXTENSION:\n unionExtensions.add(def.name.value, def);\n break;\n case Kind.ENUM_TYPE_EXTENSION:\n enumExtensions.add(def.name.value, def);\n break;\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n inputObjectExtensions.add(def.name.value, def);\n break;\n default:\n continue;\n }\n isSchemaChanged = true;\n }\n\n // If this document contains no new types, extensions, or directives then\n // return the same unmodified GraphQLSchema instance.\n if (!isSchemaChanged) {\n return schemaConfig;\n }\n\n return mapSchemaConfig(schemaConfig, (context) => {\n const { getNamedType, setNamedType, getNamedTypes } = context;\n return {\n [SchemaElementKind.SCHEMA]: (config) => {\n for (const typeNode of typeDefs) {\n const type =\n stdTypeMap.get(typeNode.name.value) ?? buildNamedType(typeNode);\n setNamedType(type);\n }\n\n const operationTypes = {\n // Get the extended root operation types.\n query:\n config.query &&\n (getNamedType(config.query.name) as GraphQLObjectType),\n mutation:\n config.mutation &&\n (getNamedType(config.mutation.name) as GraphQLObjectType),\n subscription:\n config.subscription &&\n (getNamedType(config.subscription.name) as GraphQLObjectType),\n // Then, incorporate schema definition and all schema extensions.\n ...(schemaDef && getOperationTypes([schemaDef])),\n ...getOperationTypes(schemaExtensions),\n };\n\n // Then produce and return a Schema config with these types.\n return {\n description: schemaDef?.description?.value ?? config.description,\n ...operationTypes,\n types: getNamedTypes(),\n directives: [\n ...config.directives.map(extendDirective),\n ...directiveDefs.map(buildDirective),\n ],\n extensions: config.extensions,\n astNode: schemaDef ?? config.astNode,\n extensionASTNodes: config.extensionASTNodes.concat(schemaExtensions),\n assumeValid: options?.assumeValid ?? false,\n };\n },\n [SchemaElementKind.INPUT_OBJECT]: (config) => {\n const extensions = inputObjectExtensions.get(config.name) ?? [];\n return {\n ...config,\n fields: () => ({\n ...config.fields(),\n ...buildInputFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.ENUM]: (config) => {\n const extensions = enumExtensions.get(config.name) ?? [];\n return {\n ...config,\n values: () => ({\n ...config.values(),\n ...buildEnumValueMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.SCALAR]: (config) => {\n const extensions = scalarExtensions.get(config.name) ?? [];\n let specifiedByURL = config.specifiedByURL;\n for (const extensionNode of extensions) {\n specifiedByURL = getSpecifiedByURL(extensionNode) ?? specifiedByURL;\n }\n return {\n ...config,\n specifiedByURL,\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.OBJECT]: (config) => {\n const extensions = objectExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.INTERFACE]: (config) => {\n const extensions = interfaceExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.UNION]: (config) => {\n const extensions = unionExtensions.get(config.name) ?? [];\n return {\n ...config,\n types: () => [...config.types(), ...buildUnionTypes(extensions)],\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n };\n\n function getOperationTypes(\n nodes: ReadonlyArray<SchemaDefinitionNode | SchemaExtensionNode>,\n ): {\n query?: Maybe<GraphQLObjectType>;\n mutation?: Maybe<GraphQLObjectType>;\n subscription?: Maybe<GraphQLObjectType>;\n } {\n const opTypes = {};\n for (const node of nodes) {\n const operationTypesNodes = node.operationTypes ?? [];\n\n for (const operationType of operationTypesNodes) {\n // Note: While this could make early assertions to get the correctly\n // typed values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n opTypes[operationType.operation] = namedTypeFromAST(\n operationType.type,\n );\n }\n }\n\n return opTypes;\n }\n\n function namedTypeFromAST(node: NamedTypeNode): GraphQLNamedType {\n const name = node.name.value;\n const type = getNamedType(name);\n invariant(type !== undefined, `Unknown type: \"${name}\".`);\n return type;\n }\n\n function typeFromAST(node: TypeNode): GraphQLType {\n if (node.kind === Kind.LIST_TYPE) {\n return new GraphQLList(typeFromAST(node.type));\n }\n if (node.kind === Kind.NON_NULL_TYPE) {\n return new GraphQLNonNull(typeFromAST(node.type));\n }\n return namedTypeFromAST(node);\n }\n\n function buildDirective(node: DirectiveDefinitionNode): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(node.name.value) ?? [];\n const deprecationReason =\n getDeprecationReason(node) ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n name: node.name.value,\n description: node.description?.value,\n // @ts-expect-error\n locations: node.locations.map(({ value }) => value),\n isRepeatable: node.repeatable,\n args: buildArgumentMap(node.arguments),\n deprecationReason,\n astNode: node,\n extensionASTNodes,\n });\n }\n\n function extendDirective(directive: GraphQLDirective): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(directive.name) ?? [];\n if (extensionASTNodes.length === 0) {\n return directive;\n }\n const deprecationReason =\n directive.deprecationReason ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n ...directive.toConfig(),\n deprecationReason,\n extensionASTNodes:\n directive.extensionASTNodes.concat(extensionASTNodes),\n });\n }\n\n function buildFieldMap(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): GraphQLFieldNormalizedConfigMap<unknown, unknown> {\n const fieldConfigMap = Object.create(null);\n for (const node of nodes) {\n const nodeFields = node.fields ?? [];\n\n for (const field of nodeFields) {\n fieldConfigMap[field.name.value] = {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n type: typeFromAST(field.type),\n description: field.description?.value,\n args: buildArgumentMap(field.arguments),\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return fieldConfigMap;\n }\n\n function buildArgumentMap(\n args: Maybe<ReadonlyArray<InputValueDefinitionNode>>,\n ): GraphQLFieldConfigArgumentMap {\n const argsNodes = args ?? [];\n\n const argConfigMap = Object.create(null);\n for (const arg of argsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(arg.type);\n\n argConfigMap[arg.name.value] = {\n type,\n description: arg.description?.value,\n default: arg.defaultValue && { literal: arg.defaultValue },\n deprecationReason: getDeprecationReason(arg),\n astNode: arg,\n };\n }\n return argConfigMap;\n }\n\n function buildInputFieldMap(\n nodes: ReadonlyArray<\n InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode\n >,\n ): GraphQLInputFieldNormalizedConfigMap {\n const inputFieldMap = Object.create(null);\n for (const node of nodes) {\n const fieldsNodes = node.fields ?? [];\n\n for (const field of fieldsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(field.type);\n\n inputFieldMap[field.name.value] = {\n type,\n description: field.description?.value,\n default: field.defaultValue && { literal: field.defaultValue },\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return inputFieldMap;\n }\n\n function buildEnumValueMap(\n nodes: ReadonlyArray<EnumTypeDefinitionNode | EnumTypeExtensionNode>,\n ): GraphQLEnumValueNormalizedConfigMap {\n const enumValueMap = Object.create(null);\n for (const node of nodes) {\n const valuesNodes = node.values ?? [];\n\n for (const value of valuesNodes) {\n enumValueMap[value.name.value] = {\n description: value.description?.value,\n deprecationReason: getDeprecationReason(value),\n astNode: value,\n };\n }\n }\n return enumValueMap;\n }\n\n function buildInterfaces(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): Array<GraphQLInterfaceType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap(\n (node) => node.interfaces?.map(namedTypeFromAST) ?? [],\n );\n }\n\n function buildUnionTypes(\n nodes: ReadonlyArray<UnionTypeDefinitionNode | UnionTypeExtensionNode>,\n ): Array<GraphQLObjectType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap((node) => node.types?.map(namedTypeFromAST) ?? []);\n }\n\n function buildNamedType(astNode: TypeDefinitionNode): GraphQLNamedType {\n const name = astNode.name.value;\n\n switch (astNode.kind) {\n case Kind.OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = objectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLObjectType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INTERFACE_TYPE_DEFINITION: {\n const extensionASTNodes = interfaceExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInterfaceType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.ENUM_TYPE_DEFINITION: {\n const extensionASTNodes = enumExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLEnumType({\n name,\n description: astNode.description?.value,\n values: () => buildEnumValueMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.UNION_TYPE_DEFINITION: {\n const extensionASTNodes = unionExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLUnionType({\n name,\n description: astNode.description?.value,\n types: () => buildUnionTypes(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.SCALAR_TYPE_DEFINITION: {\n const extensionASTNodes = scalarExtensions.get(name) ?? [];\n return new GraphQLScalarType({\n name,\n description: astNode.description?.value,\n specifiedByURL: getSpecifiedByURL(astNode),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INPUT_OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = inputObjectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInputObjectType({\n name,\n description: astNode.description?.value,\n fields: () => buildInputFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n isOneOf: isOneOf(astNode),\n });\n }\n }\n }\n });\n}\n\nconst stdTypeMap = new Map(\n [...specifiedScalarTypes, ...introspectionTypes].map((type) => [\n type.name,\n type,\n ]),\n);\n\n/**\n * Given a field or enum value node, returns the string value for the\n * deprecation reason.\n */\nfunction getDeprecationReason(\n node:\n | EnumValueDefinitionNode\n | FieldDefinitionNode\n | InputValueDefinitionNode\n | DirectiveDefinitionNode\n | DirectiveExtensionNode,\n): Maybe<string> {\n const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return deprecated?.reason;\n}\n\n/**\n * Given a scalar node, returns the string value for the specifiedByURL.\n */\nfunction getSpecifiedByURL(\n node: ScalarTypeDefinitionNode | ScalarTypeExtensionNode,\n): Maybe<string> {\n const specifiedBy = getDirectiveValues(GraphQLSpecifiedByDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return specifiedBy?.url;\n}\n\n/**\n * Given an input object node, returns if the node should be OneOf.\n */\nfunction isOneOf(node: InputObjectTypeDefinitionNode): boolean {\n return Boolean(getDirectiveValues(GraphQLOneOfDirective, node));\n}\n"]}
|
|
1
|
+
{"version":3,"file":"extendSchema.js","sourceRoot":"","sources":["../../src/utilities/extendSchema.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Schema Construction */\n\nimport { AccumulatorMap } from '../jsutils/AccumulatorMap.ts';\nimport { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type {\n DirectiveDefinitionNode,\n DirectiveExtensionNode,\n DocumentNode,\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputObjectTypeExtensionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n InterfaceTypeExtensionNode,\n NamedTypeNode,\n ObjectTypeDefinitionNode,\n ObjectTypeExtensionNode,\n ScalarTypeDefinitionNode,\n ScalarTypeExtensionNode,\n SchemaDefinitionNode,\n SchemaExtensionNode,\n TypeDefinitionNode,\n TypeNode,\n UnionTypeDefinitionNode,\n UnionTypeExtensionNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type {\n GraphQLEnumValueNormalizedConfigMap,\n GraphQLFieldConfigArgumentMap,\n GraphQLFieldNormalizedConfigMap,\n GraphQLInputFieldNormalizedConfigMap,\n GraphQLNamedType,\n GraphQLNullableType,\n GraphQLType,\n} from '../type/definition.ts';\nimport {\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.ts';\nimport {\n GraphQLDeprecatedDirective,\n GraphQLDirective,\n GraphQLOneOfDirective,\n GraphQLSpecifiedByDirective,\n} from '../type/directives.ts';\nimport { introspectionTypes } from '../type/introspection.ts';\nimport { specifiedScalarTypes } from '../type/scalars.ts';\nimport type {\n GraphQLSchemaNormalizedConfig,\n GraphQLSchemaValidationOptions,\n} from '../type/schema.ts';\nimport { assertSchema, GraphQLSchema } from '../type/schema.ts';\n\nimport { assertValidSDLExtension } from '../validation/validate.ts';\n\nimport { getDirectiveValues } from '../execution/values.ts';\n\nimport { mapSchemaConfig, SchemaElementKind } from './mapSchemaConfig.ts';\n\ninterface Options extends GraphQLSchemaValidationOptions {\n /**\n * Set to true to assume the SDL is valid.\n *\n * Default: false\n *\n * @internal\n */\n assumeValidSDL?: boolean | undefined;\n}\n\n/**\n * Produces a new schema given an existing schema and a document which may\n * contain GraphQL type extensions and definitions. The original schema will\n * remain unaltered.\n *\n * Because a schema represents a graph of references, a schema cannot be\n * extended without effectively making an entire copy. We do not know until it's\n * too late if subgraphs remain unchanged.\n *\n * This algorithm copies the provided schema, applying extensions while\n * producing the copy. The original schema remains unaltered.\n * @param schema - GraphQL schema to use.\n * @param documentAST - The parsed GraphQL document AST.\n * @param options - Optional configuration for this operation.\n * @returns A new schema with the extensions and definitions applied.\n * @example\n * ```ts\n * // Extend a schema with new fields and types.\n * import { parse } from 'graphql/language';\n * import { buildSchema, extendSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const extensionAST = parse(`\n * extend type Query {\n * farewell: String\n * }\n *\n * type Review {\n * body: String\n * }\n * `);\n *\n * const extendedSchema = extendSchema(schema, extensionAST);\n *\n * schema.getType('Review'); // => undefined\n * extendedSchema.getType('Review')?.name; // => 'Review'\n * Object.keys(extendedSchema.getQueryType().getFields()); // => ['greeting', 'farewell']\n * ```\n * @example\n * ```ts\n * // This variant bypasses validation for an otherwise invalid extension.\n * import { parse } from 'graphql/language';\n * import { buildSchema, extendSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const invalidExtension = parse(`\n * extend type Missing {\n * field: String\n * }\n * `);\n *\n * extendSchema(schema, invalidExtension); // throws an error\n * extendSchema(schema, invalidExtension, {\n * assumeValid: true,\n * assumeValidSDL: true,\n * }); // does not throw\n * ```\n */\nexport function extendSchema(\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchema {\n assertSchema(schema);\n\n if (options?.assumeValid !== true && options?.assumeValidSDL !== true) {\n assertValidSDLExtension(documentAST, schema);\n }\n\n const schemaConfig = schema.toConfig();\n const extendedConfig = extendSchemaImpl(schemaConfig, documentAST, options);\n return schemaConfig === extendedConfig\n ? schema\n : new GraphQLSchema(extendedConfig);\n}\n\n/** @internal */\nexport function extendSchemaImpl(\n schemaConfig: GraphQLSchemaNormalizedConfig,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchemaNormalizedConfig {\n // Collect the type definitions and extensions found in the document.\n const typeDefs: Array<TypeDefinitionNode> = [];\n\n const scalarExtensions = new AccumulatorMap<\n string,\n ScalarTypeExtensionNode\n >();\n const objectExtensions = new AccumulatorMap<\n string,\n ObjectTypeExtensionNode\n >();\n const interfaceExtensions = new AccumulatorMap<\n string,\n InterfaceTypeExtensionNode\n >();\n const unionExtensions = new AccumulatorMap<string, UnionTypeExtensionNode>();\n const enumExtensions = new AccumulatorMap<string, EnumTypeExtensionNode>();\n const inputObjectExtensions = new AccumulatorMap<\n string,\n InputObjectTypeExtensionNode\n >();\n const directiveExtensions = new AccumulatorMap<\n string,\n DirectiveExtensionNode\n >();\n\n // New directives and types are separate because a directives and types can\n // have the same name. For example, a type named \"skip\".\n const directiveDefs: Array<DirectiveDefinitionNode> = [];\n\n let schemaDef: Maybe<SchemaDefinitionNode>;\n // Schema extensions are collected which may add additional operation types.\n const schemaExtensions: Array<SchemaExtensionNode> = [];\n\n let isSchemaChanged = false;\n for (const def of documentAST.definitions) {\n switch (def.kind) {\n case Kind.SCHEMA_DEFINITION:\n schemaDef = def;\n break;\n case Kind.SCHEMA_EXTENSION:\n schemaExtensions.push(def);\n break;\n case Kind.DIRECTIVE_DEFINITION:\n directiveDefs.push(def);\n break;\n case Kind.DIRECTIVE_EXTENSION:\n directiveExtensions.add(def.name.value, def);\n break;\n\n // Type Definitions\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n typeDefs.push(def);\n break;\n\n // Type System Extensions\n case Kind.SCALAR_TYPE_EXTENSION:\n scalarExtensions.add(def.name.value, def);\n break;\n case Kind.OBJECT_TYPE_EXTENSION:\n objectExtensions.add(def.name.value, def);\n break;\n case Kind.INTERFACE_TYPE_EXTENSION:\n interfaceExtensions.add(def.name.value, def);\n break;\n case Kind.UNION_TYPE_EXTENSION:\n unionExtensions.add(def.name.value, def);\n break;\n case Kind.ENUM_TYPE_EXTENSION:\n enumExtensions.add(def.name.value, def);\n break;\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n inputObjectExtensions.add(def.name.value, def);\n break;\n default:\n continue;\n }\n isSchemaChanged = true;\n }\n\n // If this document contains no new types, extensions, or directives then\n // return the same unmodified GraphQLSchema instance.\n if (!isSchemaChanged) {\n return schemaConfig;\n }\n\n return mapSchemaConfig(schemaConfig, (context) => {\n const { getNamedType, setNamedType, getNamedTypes } = context;\n return {\n [SchemaElementKind.SCHEMA]: (config) => {\n for (const typeNode of typeDefs) {\n const type =\n stdTypeMap.get(typeNode.name.value) ?? buildNamedType(typeNode);\n setNamedType(type);\n }\n\n const operationTypes = {\n // Get the extended root operation types.\n query:\n config.query &&\n (getNamedType(config.query.name) as GraphQLObjectType),\n mutation:\n config.mutation &&\n (getNamedType(config.mutation.name) as GraphQLObjectType),\n subscription:\n config.subscription &&\n (getNamedType(config.subscription.name) as GraphQLObjectType),\n // Then, incorporate schema definition and all schema extensions.\n ...(schemaDef && getOperationTypes([schemaDef])),\n ...getOperationTypes(schemaExtensions),\n };\n\n // Then produce and return a Schema config with these types.\n return {\n description: schemaDef?.description?.value ?? config.description,\n ...operationTypes,\n types: getNamedTypes(),\n directives: [\n ...config.directives.map(extendDirective),\n ...directiveDefs.map(buildDirective),\n ],\n extensions: config.extensions,\n astNode: schemaDef ?? config.astNode,\n extensionASTNodes: config.extensionASTNodes.concat(schemaExtensions),\n assumeValid: options?.assumeValid ?? false,\n };\n },\n [SchemaElementKind.INPUT_OBJECT]: (config) => {\n const extensions = inputObjectExtensions.get(config.name) ?? [];\n return {\n ...config,\n fields: () => ({\n ...config.fields(),\n ...buildInputFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.ENUM]: (config) => {\n const extensions = enumExtensions.get(config.name) ?? [];\n return {\n ...config,\n values: () => ({\n ...config.values(),\n ...buildEnumValueMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.SCALAR]: (config) => {\n const extensions = scalarExtensions.get(config.name) ?? [];\n let specifiedByURL = config.specifiedByURL;\n for (const extensionNode of extensions) {\n specifiedByURL = getSpecifiedByURL(extensionNode) ?? specifiedByURL;\n }\n return {\n ...config,\n specifiedByURL,\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.OBJECT]: (config) => {\n const extensions = objectExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.INTERFACE]: (config) => {\n const extensions = interfaceExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.UNION]: (config) => {\n const extensions = unionExtensions.get(config.name) ?? [];\n return {\n ...config,\n types: () => [...config.types(), ...buildUnionTypes(extensions)],\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n };\n\n function getOperationTypes(\n nodes: ReadonlyArray<SchemaDefinitionNode | SchemaExtensionNode>,\n ): {\n query?: Maybe<GraphQLObjectType>;\n mutation?: Maybe<GraphQLObjectType>;\n subscription?: Maybe<GraphQLObjectType>;\n } {\n const opTypes = {};\n for (const node of nodes) {\n const operationTypesNodes = node.operationTypes ?? [];\n\n for (const operationType of operationTypesNodes) {\n // Note: While this could make early assertions to get the correctly\n // typed values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n opTypes[operationType.operation] = namedTypeFromAST(\n operationType.type,\n );\n }\n }\n\n return opTypes;\n }\n\n function namedTypeFromAST(node: NamedTypeNode): GraphQLNamedType {\n const name = node.name.value;\n const type = getNamedType(name);\n invariant(type !== undefined, `Unknown type: \"${name}\".`);\n return type;\n }\n\n function typeFromAST(node: TypeNode): GraphQLType {\n if (node.kind === Kind.LIST_TYPE) {\n return new GraphQLList(typeFromAST(node.type));\n }\n if (node.kind === Kind.NON_NULL_TYPE) {\n return new GraphQLNonNull(\n typeFromAST(node.type) as GraphQLNullableType,\n );\n }\n return namedTypeFromAST(node);\n }\n\n function buildDirective(node: DirectiveDefinitionNode): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(node.name.value) ?? [];\n const deprecationReason =\n getDeprecationReason(node) ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n name: node.name.value,\n description: node.description?.value,\n // @ts-expect-error\n locations: node.locations.map(({ value }) => value),\n isRepeatable: node.repeatable,\n args: buildArgumentMap(node.arguments),\n deprecationReason,\n astNode: node,\n extensionASTNodes,\n });\n }\n\n function extendDirective(directive: GraphQLDirective): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(directive.name) ?? [];\n if (extensionASTNodes.length === 0) {\n return directive;\n }\n const deprecationReason =\n directive.deprecationReason ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n ...directive.toConfig(),\n deprecationReason,\n extensionASTNodes:\n directive.extensionASTNodes.concat(extensionASTNodes),\n });\n }\n\n function buildFieldMap(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): GraphQLFieldNormalizedConfigMap<unknown, unknown> {\n const fieldConfigMap = Object.create(null);\n for (const node of nodes) {\n const nodeFields = node.fields ?? [];\n\n for (const field of nodeFields) {\n fieldConfigMap[field.name.value] = {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n type: typeFromAST(field.type),\n description: field.description?.value,\n args: buildArgumentMap(field.arguments),\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return fieldConfigMap;\n }\n\n function buildArgumentMap(\n args: Maybe<ReadonlyArray<InputValueDefinitionNode>>,\n ): GraphQLFieldConfigArgumentMap {\n const argsNodes = args ?? [];\n\n const argConfigMap = Object.create(null);\n for (const arg of argsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(arg.type);\n\n argConfigMap[arg.name.value] = {\n type,\n description: arg.description?.value,\n default: arg.defaultValue && { literal: arg.defaultValue },\n deprecationReason: getDeprecationReason(arg),\n astNode: arg,\n };\n }\n return argConfigMap;\n }\n\n function buildInputFieldMap(\n nodes: ReadonlyArray<\n InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode\n >,\n ): GraphQLInputFieldNormalizedConfigMap {\n const inputFieldMap = Object.create(null);\n for (const node of nodes) {\n const fieldsNodes = node.fields ?? [];\n\n for (const field of fieldsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(field.type);\n\n inputFieldMap[field.name.value] = {\n type,\n description: field.description?.value,\n default: field.defaultValue && { literal: field.defaultValue },\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return inputFieldMap;\n }\n\n function buildEnumValueMap(\n nodes: ReadonlyArray<EnumTypeDefinitionNode | EnumTypeExtensionNode>,\n ): GraphQLEnumValueNormalizedConfigMap {\n const enumValueMap = Object.create(null);\n for (const node of nodes) {\n const valuesNodes = node.values ?? [];\n\n for (const value of valuesNodes) {\n enumValueMap[value.name.value] = {\n description: value.description?.value,\n deprecationReason: getDeprecationReason(value),\n astNode: value,\n };\n }\n }\n return enumValueMap;\n }\n\n function buildInterfaces(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): Array<GraphQLInterfaceType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap(\n (node) => node.interfaces?.map(namedTypeFromAST) ?? [],\n );\n }\n\n function buildUnionTypes(\n nodes: ReadonlyArray<UnionTypeDefinitionNode | UnionTypeExtensionNode>,\n ): Array<GraphQLObjectType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap((node) => node.types?.map(namedTypeFromAST) ?? []);\n }\n\n function buildNamedType(astNode: TypeDefinitionNode): GraphQLNamedType {\n const name = astNode.name.value;\n\n switch (astNode.kind) {\n case Kind.OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = objectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLObjectType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INTERFACE_TYPE_DEFINITION: {\n const extensionASTNodes = interfaceExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInterfaceType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.ENUM_TYPE_DEFINITION: {\n const extensionASTNodes = enumExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLEnumType({\n name,\n description: astNode.description?.value,\n values: () => buildEnumValueMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.UNION_TYPE_DEFINITION: {\n const extensionASTNodes = unionExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLUnionType({\n name,\n description: astNode.description?.value,\n types: () => buildUnionTypes(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.SCALAR_TYPE_DEFINITION: {\n const extensionASTNodes = scalarExtensions.get(name) ?? [];\n return new GraphQLScalarType({\n name,\n description: astNode.description?.value,\n specifiedByURL: getSpecifiedByURL(astNode),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INPUT_OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = inputObjectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInputObjectType({\n name,\n description: astNode.description?.value,\n fields: () => buildInputFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n isOneOf: isOneOf(astNode),\n });\n }\n }\n }\n });\n}\n\nconst stdTypeMap = new Map(\n [...specifiedScalarTypes, ...introspectionTypes].map((type) => [\n type.name,\n type,\n ]),\n);\n\n/**\n * Given a field or enum value node, returns the string value for the\n * deprecation reason.\n *\n * @internal\n */\nfunction getDeprecationReason(\n node:\n | EnumValueDefinitionNode\n | FieldDefinitionNode\n | InputValueDefinitionNode\n | DirectiveDefinitionNode\n | DirectiveExtensionNode,\n): Maybe<string> {\n const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return deprecated?.reason;\n}\n\n/**\n * Given a scalar node, returns the string value for the specifiedByURL.\n *\n * @internal\n */\nfunction getSpecifiedByURL(\n node: ScalarTypeDefinitionNode | ScalarTypeExtensionNode,\n): Maybe<string> {\n const specifiedBy = getDirectiveValues(GraphQLSpecifiedByDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return specifiedBy?.url;\n}\n\n/**\n * Given an input object node, returns if the node should be OneOf.\n *\n * @internal\n */\nfunction isOneOf(node: InputObjectTypeDefinitionNode): boolean {\n return Boolean(getDirectiveValues(GraphQLOneOfDirective, node));\n}\n"]}
|
|
@@ -9,18 +9,6 @@ import { assertSchema, GraphQLSchema } from "../type/schema.mjs";
|
|
|
9
9
|
import { assertValidSDLExtension } from "../validation/validate.mjs";
|
|
10
10
|
import { getDirectiveValues } from "../execution/values.mjs";
|
|
11
11
|
import { mapSchemaConfig, SchemaElementKind } from "./mapSchemaConfig.mjs";
|
|
12
|
-
/**
|
|
13
|
-
* Produces a new schema given an existing schema and a document which may
|
|
14
|
-
* contain GraphQL type extensions and definitions. The original schema will
|
|
15
|
-
* remain unaltered.
|
|
16
|
-
*
|
|
17
|
-
* Because a schema represents a graph of references, a schema cannot be
|
|
18
|
-
* extended without effectively making an entire copy. We do not know until it's
|
|
19
|
-
* too late if subgraphs remain unchanged.
|
|
20
|
-
*
|
|
21
|
-
* This algorithm copies the provided schema, applying extensions while
|
|
22
|
-
* producing the copy. The original schema remains unaltered.
|
|
23
|
-
*/
|
|
24
12
|
export function extendSchema(schema, documentAST, options) {
|
|
25
13
|
assertSchema(schema);
|
|
26
14
|
if (options?.assumeValid !== true && options?.assumeValidSDL !== true) {
|
|
@@ -32,11 +20,7 @@ export function extendSchema(schema, documentAST, options) {
|
|
|
32
20
|
? schema
|
|
33
21
|
: new GraphQLSchema(extendedConfig);
|
|
34
22
|
}
|
|
35
|
-
/**
|
|
36
|
-
* @internal
|
|
37
|
-
*/
|
|
38
23
|
export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
39
|
-
// Collect the type definitions and extensions found in the document.
|
|
40
24
|
const typeDefs = [];
|
|
41
25
|
const scalarExtensions = new AccumulatorMap();
|
|
42
26
|
const objectExtensions = new AccumulatorMap();
|
|
@@ -45,11 +29,8 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
45
29
|
const enumExtensions = new AccumulatorMap();
|
|
46
30
|
const inputObjectExtensions = new AccumulatorMap();
|
|
47
31
|
const directiveExtensions = new AccumulatorMap();
|
|
48
|
-
// New directives and types are separate because a directives and types can
|
|
49
|
-
// have the same name. For example, a type named "skip".
|
|
50
32
|
const directiveDefs = [];
|
|
51
33
|
let schemaDef;
|
|
52
|
-
// Schema extensions are collected which may add additional operation types.
|
|
53
34
|
const schemaExtensions = [];
|
|
54
35
|
let isSchemaChanged = false;
|
|
55
36
|
for (const def of documentAST.definitions) {
|
|
@@ -66,7 +47,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
66
47
|
case Kind.DIRECTIVE_EXTENSION:
|
|
67
48
|
directiveExtensions.add(def.name.value, def);
|
|
68
49
|
break;
|
|
69
|
-
// Type Definitions
|
|
70
50
|
case Kind.SCALAR_TYPE_DEFINITION:
|
|
71
51
|
case Kind.OBJECT_TYPE_DEFINITION:
|
|
72
52
|
case Kind.INTERFACE_TYPE_DEFINITION:
|
|
@@ -75,7 +55,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
75
55
|
case Kind.INPUT_OBJECT_TYPE_DEFINITION:
|
|
76
56
|
typeDefs.push(def);
|
|
77
57
|
break;
|
|
78
|
-
// Type System Extensions
|
|
79
58
|
case Kind.SCALAR_TYPE_EXTENSION:
|
|
80
59
|
scalarExtensions.add(def.name.value, def);
|
|
81
60
|
break;
|
|
@@ -99,8 +78,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
99
78
|
}
|
|
100
79
|
isSchemaChanged = true;
|
|
101
80
|
}
|
|
102
|
-
// If this document contains no new types, extensions, or directives then
|
|
103
|
-
// return the same unmodified GraphQLSchema instance.
|
|
104
81
|
if (!isSchemaChanged) {
|
|
105
82
|
return schemaConfig;
|
|
106
83
|
}
|
|
@@ -113,18 +90,15 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
113
90
|
setNamedType(type);
|
|
114
91
|
}
|
|
115
92
|
const operationTypes = {
|
|
116
|
-
// Get the extended root operation types.
|
|
117
93
|
query: config.query &&
|
|
118
94
|
getNamedType(config.query.name),
|
|
119
95
|
mutation: config.mutation &&
|
|
120
96
|
getNamedType(config.mutation.name),
|
|
121
97
|
subscription: config.subscription &&
|
|
122
98
|
getNamedType(config.subscription.name),
|
|
123
|
-
// Then, incorporate schema definition and all schema extensions.
|
|
124
99
|
...(schemaDef && getOperationTypes([schemaDef])),
|
|
125
100
|
...getOperationTypes(schemaExtensions),
|
|
126
101
|
};
|
|
127
|
-
// Then produce and return a Schema config with these types.
|
|
128
102
|
return {
|
|
129
103
|
description: schemaDef?.description?.value ?? config.description,
|
|
130
104
|
...operationTypes,
|
|
@@ -217,10 +191,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
217
191
|
for (const node of nodes) {
|
|
218
192
|
const operationTypesNodes = node.operationTypes ?? [];
|
|
219
193
|
for (const operationType of operationTypesNodes) {
|
|
220
|
-
// Note: While this could make early assertions to get the correctly
|
|
221
|
-
// typed values below, that would throw immediately while type system
|
|
222
|
-
// validation with validateSchema() will produce more actionable results.
|
|
223
|
-
// @ts-expect-error
|
|
224
194
|
opTypes[operationType.operation] = namedTypeFromAST(operationType.type);
|
|
225
195
|
}
|
|
226
196
|
}
|
|
@@ -251,7 +221,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
251
221
|
return new GraphQLDirective({
|
|
252
222
|
name: node.name.value,
|
|
253
223
|
description: node.description?.value,
|
|
254
|
-
// @ts-expect-error
|
|
255
224
|
locations: node.locations.map(({ value }) => value),
|
|
256
225
|
isRepeatable: node.repeatable,
|
|
257
226
|
args: buildArgumentMap(node.arguments),
|
|
@@ -281,9 +250,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
281
250
|
const nodeFields = node.fields ?? [];
|
|
282
251
|
for (const field of nodeFields) {
|
|
283
252
|
fieldConfigMap[field.name.value] = {
|
|
284
|
-
// Note: While this could make assertions to get the correctly typed
|
|
285
|
-
// value, that would throw immediately while type system validation
|
|
286
|
-
// with validateSchema() will produce more actionable results.
|
|
287
253
|
type: typeFromAST(field.type),
|
|
288
254
|
description: field.description?.value,
|
|
289
255
|
args: buildArgumentMap(field.arguments),
|
|
@@ -298,9 +264,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
298
264
|
const argsNodes = args ?? [];
|
|
299
265
|
const argConfigMap = Object.create(null);
|
|
300
266
|
for (const arg of argsNodes) {
|
|
301
|
-
// Note: While this could make assertions to get the correctly typed
|
|
302
|
-
// value, that would throw immediately while type system validation
|
|
303
|
-
// with validateSchema() will produce more actionable results.
|
|
304
267
|
const type = typeFromAST(arg.type);
|
|
305
268
|
argConfigMap[arg.name.value] = {
|
|
306
269
|
type,
|
|
@@ -317,9 +280,6 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
317
280
|
for (const node of nodes) {
|
|
318
281
|
const fieldsNodes = node.fields ?? [];
|
|
319
282
|
for (const field of fieldsNodes) {
|
|
320
|
-
// Note: While this could make assertions to get the correctly typed
|
|
321
|
-
// value, that would throw immediately while type system validation
|
|
322
|
-
// with validateSchema() will produce more actionable results.
|
|
323
283
|
const type = typeFromAST(field.type);
|
|
324
284
|
inputFieldMap[field.name.value] = {
|
|
325
285
|
type,
|
|
@@ -347,17 +307,9 @@ export function extendSchemaImpl(schemaConfig, documentAST, options) {
|
|
|
347
307
|
return enumValueMap;
|
|
348
308
|
}
|
|
349
309
|
function buildInterfaces(nodes) {
|
|
350
|
-
// Note: While this could make assertions to get the correctly typed
|
|
351
|
-
// values below, that would throw immediately while type system
|
|
352
|
-
// validation with validateSchema() will produce more actionable results.
|
|
353
|
-
// @ts-expect-error
|
|
354
310
|
return nodes.flatMap((node) => node.interfaces?.map(namedTypeFromAST) ?? []);
|
|
355
311
|
}
|
|
356
312
|
function buildUnionTypes(nodes) {
|
|
357
|
-
// Note: While this could make assertions to get the correctly typed
|
|
358
|
-
// values below, that would throw immediately while type system
|
|
359
|
-
// validation with validateSchema() will produce more actionable results.
|
|
360
|
-
// @ts-expect-error
|
|
361
313
|
return nodes.flatMap((node) => node.types?.map(namedTypeFromAST) ?? []);
|
|
362
314
|
}
|
|
363
315
|
function buildNamedType(astNode) {
|
|
@@ -439,26 +391,14 @@ const stdTypeMap = new Map([...specifiedScalarTypes, ...introspectionTypes].map(
|
|
|
439
391
|
type.name,
|
|
440
392
|
type,
|
|
441
393
|
]));
|
|
442
|
-
/**
|
|
443
|
-
* Given a field or enum value node, returns the string value for the
|
|
444
|
-
* deprecation reason.
|
|
445
|
-
*/
|
|
446
394
|
function getDeprecationReason(node) {
|
|
447
395
|
const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);
|
|
448
|
-
// @ts-expect-error validated by `getDirectiveValues`
|
|
449
396
|
return deprecated?.reason;
|
|
450
397
|
}
|
|
451
|
-
/**
|
|
452
|
-
* Given a scalar node, returns the string value for the specifiedByURL.
|
|
453
|
-
*/
|
|
454
398
|
function getSpecifiedByURL(node) {
|
|
455
399
|
const specifiedBy = getDirectiveValues(GraphQLSpecifiedByDirective, node);
|
|
456
|
-
// @ts-expect-error validated by `getDirectiveValues`
|
|
457
400
|
return specifiedBy?.url;
|
|
458
401
|
}
|
|
459
|
-
/**
|
|
460
|
-
* Given an input object node, returns if the node should be OneOf.
|
|
461
|
-
*/
|
|
462
402
|
function isOneOf(node) {
|
|
463
403
|
return Boolean(getDirectiveValues(GraphQLOneOfDirective, node));
|
|
464
404
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extendSchema.js","sourceRoot":"","sources":["../../src/utilities/extendSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { AccumulatorMap } from '../jsutils/AccumulatorMap.ts';\nimport { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type {\n DirectiveDefinitionNode,\n DirectiveExtensionNode,\n DocumentNode,\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputObjectTypeExtensionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n InterfaceTypeExtensionNode,\n NamedTypeNode,\n ObjectTypeDefinitionNode,\n ObjectTypeExtensionNode,\n ScalarTypeDefinitionNode,\n ScalarTypeExtensionNode,\n SchemaDefinitionNode,\n SchemaExtensionNode,\n TypeDefinitionNode,\n TypeNode,\n UnionTypeDefinitionNode,\n UnionTypeExtensionNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type {\n GraphQLEnumValueNormalizedConfigMap,\n GraphQLFieldConfigArgumentMap,\n GraphQLFieldNormalizedConfigMap,\n GraphQLInputFieldNormalizedConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.ts';\nimport {\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.ts';\nimport {\n GraphQLDeprecatedDirective,\n GraphQLDirective,\n GraphQLOneOfDirective,\n GraphQLSpecifiedByDirective,\n} from '../type/directives.ts';\nimport { introspectionTypes } from '../type/introspection.ts';\nimport { specifiedScalarTypes } from '../type/scalars.ts';\nimport type {\n GraphQLSchemaNormalizedConfig,\n GraphQLSchemaValidationOptions,\n} from '../type/schema.ts';\nimport { assertSchema, GraphQLSchema } from '../type/schema.ts';\n\nimport { assertValidSDLExtension } from '../validation/validate.ts';\n\nimport { getDirectiveValues } from '../execution/values.ts';\n\nimport { mapSchemaConfig, SchemaElementKind } from './mapSchemaConfig.ts';\n\ninterface Options extends GraphQLSchemaValidationOptions {\n /**\n * Set to true to assume the SDL is valid.\n *\n * Default: false\n */\n assumeValidSDL?: boolean | undefined;\n}\n\n/**\n * Produces a new schema given an existing schema and a document which may\n * contain GraphQL type extensions and definitions. The original schema will\n * remain unaltered.\n *\n * Because a schema represents a graph of references, a schema cannot be\n * extended without effectively making an entire copy. We do not know until it's\n * too late if subgraphs remain unchanged.\n *\n * This algorithm copies the provided schema, applying extensions while\n * producing the copy. The original schema remains unaltered.\n */\nexport function extendSchema(\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchema {\n assertSchema(schema);\n\n if (options?.assumeValid !== true && options?.assumeValidSDL !== true) {\n assertValidSDLExtension(documentAST, schema);\n }\n\n const schemaConfig = schema.toConfig();\n const extendedConfig = extendSchemaImpl(schemaConfig, documentAST, options);\n return schemaConfig === extendedConfig\n ? schema\n : new GraphQLSchema(extendedConfig);\n}\n\n/**\n * @internal\n */\nexport function extendSchemaImpl(\n schemaConfig: GraphQLSchemaNormalizedConfig,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchemaNormalizedConfig {\n // Collect the type definitions and extensions found in the document.\n const typeDefs: Array<TypeDefinitionNode> = [];\n\n const scalarExtensions = new AccumulatorMap<\n string,\n ScalarTypeExtensionNode\n >();\n const objectExtensions = new AccumulatorMap<\n string,\n ObjectTypeExtensionNode\n >();\n const interfaceExtensions = new AccumulatorMap<\n string,\n InterfaceTypeExtensionNode\n >();\n const unionExtensions = new AccumulatorMap<string, UnionTypeExtensionNode>();\n const enumExtensions = new AccumulatorMap<string, EnumTypeExtensionNode>();\n const inputObjectExtensions = new AccumulatorMap<\n string,\n InputObjectTypeExtensionNode\n >();\n const directiveExtensions = new AccumulatorMap<\n string,\n DirectiveExtensionNode\n >();\n\n // New directives and types are separate because a directives and types can\n // have the same name. For example, a type named \"skip\".\n const directiveDefs: Array<DirectiveDefinitionNode> = [];\n\n let schemaDef: Maybe<SchemaDefinitionNode>;\n // Schema extensions are collected which may add additional operation types.\n const schemaExtensions: Array<SchemaExtensionNode> = [];\n\n let isSchemaChanged = false;\n for (const def of documentAST.definitions) {\n switch (def.kind) {\n case Kind.SCHEMA_DEFINITION:\n schemaDef = def;\n break;\n case Kind.SCHEMA_EXTENSION:\n schemaExtensions.push(def);\n break;\n case Kind.DIRECTIVE_DEFINITION:\n directiveDefs.push(def);\n break;\n case Kind.DIRECTIVE_EXTENSION:\n directiveExtensions.add(def.name.value, def);\n break;\n\n // Type Definitions\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n typeDefs.push(def);\n break;\n\n // Type System Extensions\n case Kind.SCALAR_TYPE_EXTENSION:\n scalarExtensions.add(def.name.value, def);\n break;\n case Kind.OBJECT_TYPE_EXTENSION:\n objectExtensions.add(def.name.value, def);\n break;\n case Kind.INTERFACE_TYPE_EXTENSION:\n interfaceExtensions.add(def.name.value, def);\n break;\n case Kind.UNION_TYPE_EXTENSION:\n unionExtensions.add(def.name.value, def);\n break;\n case Kind.ENUM_TYPE_EXTENSION:\n enumExtensions.add(def.name.value, def);\n break;\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n inputObjectExtensions.add(def.name.value, def);\n break;\n default:\n continue;\n }\n isSchemaChanged = true;\n }\n\n // If this document contains no new types, extensions, or directives then\n // return the same unmodified GraphQLSchema instance.\n if (!isSchemaChanged) {\n return schemaConfig;\n }\n\n return mapSchemaConfig(schemaConfig, (context) => {\n const { getNamedType, setNamedType, getNamedTypes } = context;\n return {\n [SchemaElementKind.SCHEMA]: (config) => {\n for (const typeNode of typeDefs) {\n const type =\n stdTypeMap.get(typeNode.name.value) ?? buildNamedType(typeNode);\n setNamedType(type);\n }\n\n const operationTypes = {\n // Get the extended root operation types.\n query:\n config.query &&\n (getNamedType(config.query.name) as GraphQLObjectType),\n mutation:\n config.mutation &&\n (getNamedType(config.mutation.name) as GraphQLObjectType),\n subscription:\n config.subscription &&\n (getNamedType(config.subscription.name) as GraphQLObjectType),\n // Then, incorporate schema definition and all schema extensions.\n ...(schemaDef && getOperationTypes([schemaDef])),\n ...getOperationTypes(schemaExtensions),\n };\n\n // Then produce and return a Schema config with these types.\n return {\n description: schemaDef?.description?.value ?? config.description,\n ...operationTypes,\n types: getNamedTypes(),\n directives: [\n ...config.directives.map(extendDirective),\n ...directiveDefs.map(buildDirective),\n ],\n extensions: config.extensions,\n astNode: schemaDef ?? config.astNode,\n extensionASTNodes: config.extensionASTNodes.concat(schemaExtensions),\n assumeValid: options?.assumeValid ?? false,\n };\n },\n [SchemaElementKind.INPUT_OBJECT]: (config) => {\n const extensions = inputObjectExtensions.get(config.name) ?? [];\n return {\n ...config,\n fields: () => ({\n ...config.fields(),\n ...buildInputFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.ENUM]: (config) => {\n const extensions = enumExtensions.get(config.name) ?? [];\n return {\n ...config,\n values: () => ({\n ...config.values(),\n ...buildEnumValueMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.SCALAR]: (config) => {\n const extensions = scalarExtensions.get(config.name) ?? [];\n let specifiedByURL = config.specifiedByURL;\n for (const extensionNode of extensions) {\n specifiedByURL = getSpecifiedByURL(extensionNode) ?? specifiedByURL;\n }\n return {\n ...config,\n specifiedByURL,\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.OBJECT]: (config) => {\n const extensions = objectExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.INTERFACE]: (config) => {\n const extensions = interfaceExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.UNION]: (config) => {\n const extensions = unionExtensions.get(config.name) ?? [];\n return {\n ...config,\n types: () => [...config.types(), ...buildUnionTypes(extensions)],\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n };\n\n function getOperationTypes(\n nodes: ReadonlyArray<SchemaDefinitionNode | SchemaExtensionNode>,\n ): {\n query?: Maybe<GraphQLObjectType>;\n mutation?: Maybe<GraphQLObjectType>;\n subscription?: Maybe<GraphQLObjectType>;\n } {\n const opTypes = {};\n for (const node of nodes) {\n const operationTypesNodes = node.operationTypes ?? [];\n\n for (const operationType of operationTypesNodes) {\n // Note: While this could make early assertions to get the correctly\n // typed values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n opTypes[operationType.operation] = namedTypeFromAST(\n operationType.type,\n );\n }\n }\n\n return opTypes;\n }\n\n function namedTypeFromAST(node: NamedTypeNode): GraphQLNamedType {\n const name = node.name.value;\n const type = getNamedType(name);\n invariant(type !== undefined, `Unknown type: \"${name}\".`);\n return type;\n }\n\n function typeFromAST(node: TypeNode): GraphQLType {\n if (node.kind === Kind.LIST_TYPE) {\n return new GraphQLList(typeFromAST(node.type));\n }\n if (node.kind === Kind.NON_NULL_TYPE) {\n return new GraphQLNonNull(typeFromAST(node.type));\n }\n return namedTypeFromAST(node);\n }\n\n function buildDirective(node: DirectiveDefinitionNode): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(node.name.value) ?? [];\n const deprecationReason =\n getDeprecationReason(node) ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n name: node.name.value,\n description: node.description?.value,\n // @ts-expect-error\n locations: node.locations.map(({ value }) => value),\n isRepeatable: node.repeatable,\n args: buildArgumentMap(node.arguments),\n deprecationReason,\n astNode: node,\n extensionASTNodes,\n });\n }\n\n function extendDirective(directive: GraphQLDirective): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(directive.name) ?? [];\n if (extensionASTNodes.length === 0) {\n return directive;\n }\n const deprecationReason =\n directive.deprecationReason ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n ...directive.toConfig(),\n deprecationReason,\n extensionASTNodes:\n directive.extensionASTNodes.concat(extensionASTNodes),\n });\n }\n\n function buildFieldMap(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): GraphQLFieldNormalizedConfigMap<unknown, unknown> {\n const fieldConfigMap = Object.create(null);\n for (const node of nodes) {\n const nodeFields = node.fields ?? [];\n\n for (const field of nodeFields) {\n fieldConfigMap[field.name.value] = {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n type: typeFromAST(field.type),\n description: field.description?.value,\n args: buildArgumentMap(field.arguments),\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return fieldConfigMap;\n }\n\n function buildArgumentMap(\n args: Maybe<ReadonlyArray<InputValueDefinitionNode>>,\n ): GraphQLFieldConfigArgumentMap {\n const argsNodes = args ?? [];\n\n const argConfigMap = Object.create(null);\n for (const arg of argsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(arg.type);\n\n argConfigMap[arg.name.value] = {\n type,\n description: arg.description?.value,\n default: arg.defaultValue && { literal: arg.defaultValue },\n deprecationReason: getDeprecationReason(arg),\n astNode: arg,\n };\n }\n return argConfigMap;\n }\n\n function buildInputFieldMap(\n nodes: ReadonlyArray<\n InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode\n >,\n ): GraphQLInputFieldNormalizedConfigMap {\n const inputFieldMap = Object.create(null);\n for (const node of nodes) {\n const fieldsNodes = node.fields ?? [];\n\n for (const field of fieldsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(field.type);\n\n inputFieldMap[field.name.value] = {\n type,\n description: field.description?.value,\n default: field.defaultValue && { literal: field.defaultValue },\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return inputFieldMap;\n }\n\n function buildEnumValueMap(\n nodes: ReadonlyArray<EnumTypeDefinitionNode | EnumTypeExtensionNode>,\n ): GraphQLEnumValueNormalizedConfigMap {\n const enumValueMap = Object.create(null);\n for (const node of nodes) {\n const valuesNodes = node.values ?? [];\n\n for (const value of valuesNodes) {\n enumValueMap[value.name.value] = {\n description: value.description?.value,\n deprecationReason: getDeprecationReason(value),\n astNode: value,\n };\n }\n }\n return enumValueMap;\n }\n\n function buildInterfaces(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): Array<GraphQLInterfaceType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap(\n (node) => node.interfaces?.map(namedTypeFromAST) ?? [],\n );\n }\n\n function buildUnionTypes(\n nodes: ReadonlyArray<UnionTypeDefinitionNode | UnionTypeExtensionNode>,\n ): Array<GraphQLObjectType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap((node) => node.types?.map(namedTypeFromAST) ?? []);\n }\n\n function buildNamedType(astNode: TypeDefinitionNode): GraphQLNamedType {\n const name = astNode.name.value;\n\n switch (astNode.kind) {\n case Kind.OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = objectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLObjectType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INTERFACE_TYPE_DEFINITION: {\n const extensionASTNodes = interfaceExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInterfaceType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.ENUM_TYPE_DEFINITION: {\n const extensionASTNodes = enumExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLEnumType({\n name,\n description: astNode.description?.value,\n values: () => buildEnumValueMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.UNION_TYPE_DEFINITION: {\n const extensionASTNodes = unionExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLUnionType({\n name,\n description: astNode.description?.value,\n types: () => buildUnionTypes(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.SCALAR_TYPE_DEFINITION: {\n const extensionASTNodes = scalarExtensions.get(name) ?? [];\n return new GraphQLScalarType({\n name,\n description: astNode.description?.value,\n specifiedByURL: getSpecifiedByURL(astNode),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INPUT_OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = inputObjectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInputObjectType({\n name,\n description: astNode.description?.value,\n fields: () => buildInputFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n isOneOf: isOneOf(astNode),\n });\n }\n }\n }\n });\n}\n\nconst stdTypeMap = new Map(\n [...specifiedScalarTypes, ...introspectionTypes].map((type) => [\n type.name,\n type,\n ]),\n);\n\n/**\n * Given a field or enum value node, returns the string value for the\n * deprecation reason.\n */\nfunction getDeprecationReason(\n node:\n | EnumValueDefinitionNode\n | FieldDefinitionNode\n | InputValueDefinitionNode\n | DirectiveDefinitionNode\n | DirectiveExtensionNode,\n): Maybe<string> {\n const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return deprecated?.reason;\n}\n\n/**\n * Given a scalar node, returns the string value for the specifiedByURL.\n */\nfunction getSpecifiedByURL(\n node: ScalarTypeDefinitionNode | ScalarTypeExtensionNode,\n): Maybe<string> {\n const specifiedBy = getDirectiveValues(GraphQLSpecifiedByDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return specifiedBy?.url;\n}\n\n/**\n * Given an input object node, returns if the node should be OneOf.\n */\nfunction isOneOf(node: InputObjectTypeDefinitionNode): boolean {\n return Boolean(getDirectiveValues(GraphQLOneOfDirective, node));\n}\n"]}
|
|
1
|
+
{"version":3,"file":"extendSchema.js","sourceRoot":"","sources":["../../src/utilities/extendSchema.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Schema Construction */\n\nimport { AccumulatorMap } from '../jsutils/AccumulatorMap.ts';\nimport { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type {\n DirectiveDefinitionNode,\n DirectiveExtensionNode,\n DocumentNode,\n EnumTypeDefinitionNode,\n EnumTypeExtensionNode,\n EnumValueDefinitionNode,\n FieldDefinitionNode,\n InputObjectTypeDefinitionNode,\n InputObjectTypeExtensionNode,\n InputValueDefinitionNode,\n InterfaceTypeDefinitionNode,\n InterfaceTypeExtensionNode,\n NamedTypeNode,\n ObjectTypeDefinitionNode,\n ObjectTypeExtensionNode,\n ScalarTypeDefinitionNode,\n ScalarTypeExtensionNode,\n SchemaDefinitionNode,\n SchemaExtensionNode,\n TypeDefinitionNode,\n TypeNode,\n UnionTypeDefinitionNode,\n UnionTypeExtensionNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type {\n GraphQLEnumValueNormalizedConfigMap,\n GraphQLFieldConfigArgumentMap,\n GraphQLFieldNormalizedConfigMap,\n GraphQLInputFieldNormalizedConfigMap,\n GraphQLNamedType,\n GraphQLNullableType,\n GraphQLType,\n} from '../type/definition.ts';\nimport {\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.ts';\nimport {\n GraphQLDeprecatedDirective,\n GraphQLDirective,\n GraphQLOneOfDirective,\n GraphQLSpecifiedByDirective,\n} from '../type/directives.ts';\nimport { introspectionTypes } from '../type/introspection.ts';\nimport { specifiedScalarTypes } from '../type/scalars.ts';\nimport type {\n GraphQLSchemaNormalizedConfig,\n GraphQLSchemaValidationOptions,\n} from '../type/schema.ts';\nimport { assertSchema, GraphQLSchema } from '../type/schema.ts';\n\nimport { assertValidSDLExtension } from '../validation/validate.ts';\n\nimport { getDirectiveValues } from '../execution/values.ts';\n\nimport { mapSchemaConfig, SchemaElementKind } from './mapSchemaConfig.ts';\n\ninterface Options extends GraphQLSchemaValidationOptions {\n /**\n * Set to true to assume the SDL is valid.\n *\n * Default: false\n *\n * @internal\n */\n assumeValidSDL?: boolean | undefined;\n}\n\n/**\n * Produces a new schema given an existing schema and a document which may\n * contain GraphQL type extensions and definitions. The original schema will\n * remain unaltered.\n *\n * Because a schema represents a graph of references, a schema cannot be\n * extended without effectively making an entire copy. We do not know until it's\n * too late if subgraphs remain unchanged.\n *\n * This algorithm copies the provided schema, applying extensions while\n * producing the copy. The original schema remains unaltered.\n * @param schema - GraphQL schema to use.\n * @param documentAST - The parsed GraphQL document AST.\n * @param options - Optional configuration for this operation.\n * @returns A new schema with the extensions and definitions applied.\n * @example\n * ```ts\n * // Extend a schema with new fields and types.\n * import { parse } from 'graphql/language';\n * import { buildSchema, extendSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const extensionAST = parse(`\n * extend type Query {\n * farewell: String\n * }\n *\n * type Review {\n * body: String\n * }\n * `);\n *\n * const extendedSchema = extendSchema(schema, extensionAST);\n *\n * schema.getType('Review'); // => undefined\n * extendedSchema.getType('Review')?.name; // => 'Review'\n * Object.keys(extendedSchema.getQueryType().getFields()); // => ['greeting', 'farewell']\n * ```\n * @example\n * ```ts\n * // This variant bypasses validation for an otherwise invalid extension.\n * import { parse } from 'graphql/language';\n * import { buildSchema, extendSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const invalidExtension = parse(`\n * extend type Missing {\n * field: String\n * }\n * `);\n *\n * extendSchema(schema, invalidExtension); // throws an error\n * extendSchema(schema, invalidExtension, {\n * assumeValid: true,\n * assumeValidSDL: true,\n * }); // does not throw\n * ```\n */\nexport function extendSchema(\n schema: GraphQLSchema,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchema {\n assertSchema(schema);\n\n if (options?.assumeValid !== true && options?.assumeValidSDL !== true) {\n assertValidSDLExtension(documentAST, schema);\n }\n\n const schemaConfig = schema.toConfig();\n const extendedConfig = extendSchemaImpl(schemaConfig, documentAST, options);\n return schemaConfig === extendedConfig\n ? schema\n : new GraphQLSchema(extendedConfig);\n}\n\n/** @internal */\nexport function extendSchemaImpl(\n schemaConfig: GraphQLSchemaNormalizedConfig,\n documentAST: DocumentNode,\n options?: Options,\n): GraphQLSchemaNormalizedConfig {\n // Collect the type definitions and extensions found in the document.\n const typeDefs: Array<TypeDefinitionNode> = [];\n\n const scalarExtensions = new AccumulatorMap<\n string,\n ScalarTypeExtensionNode\n >();\n const objectExtensions = new AccumulatorMap<\n string,\n ObjectTypeExtensionNode\n >();\n const interfaceExtensions = new AccumulatorMap<\n string,\n InterfaceTypeExtensionNode\n >();\n const unionExtensions = new AccumulatorMap<string, UnionTypeExtensionNode>();\n const enumExtensions = new AccumulatorMap<string, EnumTypeExtensionNode>();\n const inputObjectExtensions = new AccumulatorMap<\n string,\n InputObjectTypeExtensionNode\n >();\n const directiveExtensions = new AccumulatorMap<\n string,\n DirectiveExtensionNode\n >();\n\n // New directives and types are separate because a directives and types can\n // have the same name. For example, a type named \"skip\".\n const directiveDefs: Array<DirectiveDefinitionNode> = [];\n\n let schemaDef: Maybe<SchemaDefinitionNode>;\n // Schema extensions are collected which may add additional operation types.\n const schemaExtensions: Array<SchemaExtensionNode> = [];\n\n let isSchemaChanged = false;\n for (const def of documentAST.definitions) {\n switch (def.kind) {\n case Kind.SCHEMA_DEFINITION:\n schemaDef = def;\n break;\n case Kind.SCHEMA_EXTENSION:\n schemaExtensions.push(def);\n break;\n case Kind.DIRECTIVE_DEFINITION:\n directiveDefs.push(def);\n break;\n case Kind.DIRECTIVE_EXTENSION:\n directiveExtensions.add(def.name.value, def);\n break;\n\n // Type Definitions\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n typeDefs.push(def);\n break;\n\n // Type System Extensions\n case Kind.SCALAR_TYPE_EXTENSION:\n scalarExtensions.add(def.name.value, def);\n break;\n case Kind.OBJECT_TYPE_EXTENSION:\n objectExtensions.add(def.name.value, def);\n break;\n case Kind.INTERFACE_TYPE_EXTENSION:\n interfaceExtensions.add(def.name.value, def);\n break;\n case Kind.UNION_TYPE_EXTENSION:\n unionExtensions.add(def.name.value, def);\n break;\n case Kind.ENUM_TYPE_EXTENSION:\n enumExtensions.add(def.name.value, def);\n break;\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n inputObjectExtensions.add(def.name.value, def);\n break;\n default:\n continue;\n }\n isSchemaChanged = true;\n }\n\n // If this document contains no new types, extensions, or directives then\n // return the same unmodified GraphQLSchema instance.\n if (!isSchemaChanged) {\n return schemaConfig;\n }\n\n return mapSchemaConfig(schemaConfig, (context) => {\n const { getNamedType, setNamedType, getNamedTypes } = context;\n return {\n [SchemaElementKind.SCHEMA]: (config) => {\n for (const typeNode of typeDefs) {\n const type =\n stdTypeMap.get(typeNode.name.value) ?? buildNamedType(typeNode);\n setNamedType(type);\n }\n\n const operationTypes = {\n // Get the extended root operation types.\n query:\n config.query &&\n (getNamedType(config.query.name) as GraphQLObjectType),\n mutation:\n config.mutation &&\n (getNamedType(config.mutation.name) as GraphQLObjectType),\n subscription:\n config.subscription &&\n (getNamedType(config.subscription.name) as GraphQLObjectType),\n // Then, incorporate schema definition and all schema extensions.\n ...(schemaDef && getOperationTypes([schemaDef])),\n ...getOperationTypes(schemaExtensions),\n };\n\n // Then produce and return a Schema config with these types.\n return {\n description: schemaDef?.description?.value ?? config.description,\n ...operationTypes,\n types: getNamedTypes(),\n directives: [\n ...config.directives.map(extendDirective),\n ...directiveDefs.map(buildDirective),\n ],\n extensions: config.extensions,\n astNode: schemaDef ?? config.astNode,\n extensionASTNodes: config.extensionASTNodes.concat(schemaExtensions),\n assumeValid: options?.assumeValid ?? false,\n };\n },\n [SchemaElementKind.INPUT_OBJECT]: (config) => {\n const extensions = inputObjectExtensions.get(config.name) ?? [];\n return {\n ...config,\n fields: () => ({\n ...config.fields(),\n ...buildInputFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.ENUM]: (config) => {\n const extensions = enumExtensions.get(config.name) ?? [];\n return {\n ...config,\n values: () => ({\n ...config.values(),\n ...buildEnumValueMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.SCALAR]: (config) => {\n const extensions = scalarExtensions.get(config.name) ?? [];\n let specifiedByURL = config.specifiedByURL;\n for (const extensionNode of extensions) {\n specifiedByURL = getSpecifiedByURL(extensionNode) ?? specifiedByURL;\n }\n return {\n ...config,\n specifiedByURL,\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.OBJECT]: (config) => {\n const extensions = objectExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.INTERFACE]: (config) => {\n const extensions = interfaceExtensions.get(config.name) ?? [];\n return {\n ...config,\n interfaces: () => [\n ...config.interfaces(),\n ...buildInterfaces(extensions),\n ],\n fields: () => ({\n ...config.fields(),\n ...buildFieldMap(extensions),\n }),\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n [SchemaElementKind.UNION]: (config) => {\n const extensions = unionExtensions.get(config.name) ?? [];\n return {\n ...config,\n types: () => [...config.types(), ...buildUnionTypes(extensions)],\n extensionASTNodes: config.extensionASTNodes.concat(extensions),\n };\n },\n };\n\n function getOperationTypes(\n nodes: ReadonlyArray<SchemaDefinitionNode | SchemaExtensionNode>,\n ): {\n query?: Maybe<GraphQLObjectType>;\n mutation?: Maybe<GraphQLObjectType>;\n subscription?: Maybe<GraphQLObjectType>;\n } {\n const opTypes = {};\n for (const node of nodes) {\n const operationTypesNodes = node.operationTypes ?? [];\n\n for (const operationType of operationTypesNodes) {\n // Note: While this could make early assertions to get the correctly\n // typed values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n opTypes[operationType.operation] = namedTypeFromAST(\n operationType.type,\n );\n }\n }\n\n return opTypes;\n }\n\n function namedTypeFromAST(node: NamedTypeNode): GraphQLNamedType {\n const name = node.name.value;\n const type = getNamedType(name);\n invariant(type !== undefined, `Unknown type: \"${name}\".`);\n return type;\n }\n\n function typeFromAST(node: TypeNode): GraphQLType {\n if (node.kind === Kind.LIST_TYPE) {\n return new GraphQLList(typeFromAST(node.type));\n }\n if (node.kind === Kind.NON_NULL_TYPE) {\n return new GraphQLNonNull(\n typeFromAST(node.type) as GraphQLNullableType,\n );\n }\n return namedTypeFromAST(node);\n }\n\n function buildDirective(node: DirectiveDefinitionNode): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(node.name.value) ?? [];\n const deprecationReason =\n getDeprecationReason(node) ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n name: node.name.value,\n description: node.description?.value,\n // @ts-expect-error\n locations: node.locations.map(({ value }) => value),\n isRepeatable: node.repeatable,\n args: buildArgumentMap(node.arguments),\n deprecationReason,\n astNode: node,\n extensionASTNodes,\n });\n }\n\n function extendDirective(directive: GraphQLDirective): GraphQLDirective {\n const extensionASTNodes = directiveExtensions.get(directive.name) ?? [];\n if (extensionASTNodes.length === 0) {\n return directive;\n }\n const deprecationReason =\n directive.deprecationReason ??\n extensionASTNodes\n .map((extensionNode) => getDeprecationReason(extensionNode))\n .find((reason) => reason != null);\n\n return new GraphQLDirective({\n ...directive.toConfig(),\n deprecationReason,\n extensionASTNodes:\n directive.extensionASTNodes.concat(extensionASTNodes),\n });\n }\n\n function buildFieldMap(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): GraphQLFieldNormalizedConfigMap<unknown, unknown> {\n const fieldConfigMap = Object.create(null);\n for (const node of nodes) {\n const nodeFields = node.fields ?? [];\n\n for (const field of nodeFields) {\n fieldConfigMap[field.name.value] = {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n type: typeFromAST(field.type),\n description: field.description?.value,\n args: buildArgumentMap(field.arguments),\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return fieldConfigMap;\n }\n\n function buildArgumentMap(\n args: Maybe<ReadonlyArray<InputValueDefinitionNode>>,\n ): GraphQLFieldConfigArgumentMap {\n const argsNodes = args ?? [];\n\n const argConfigMap = Object.create(null);\n for (const arg of argsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(arg.type);\n\n argConfigMap[arg.name.value] = {\n type,\n description: arg.description?.value,\n default: arg.defaultValue && { literal: arg.defaultValue },\n deprecationReason: getDeprecationReason(arg),\n astNode: arg,\n };\n }\n return argConfigMap;\n }\n\n function buildInputFieldMap(\n nodes: ReadonlyArray<\n InputObjectTypeDefinitionNode | InputObjectTypeExtensionNode\n >,\n ): GraphQLInputFieldNormalizedConfigMap {\n const inputFieldMap = Object.create(null);\n for (const node of nodes) {\n const fieldsNodes = node.fields ?? [];\n\n for (const field of fieldsNodes) {\n // Note: While this could make assertions to get the correctly typed\n // value, that would throw immediately while type system validation\n // with validateSchema() will produce more actionable results.\n const type: any = typeFromAST(field.type);\n\n inputFieldMap[field.name.value] = {\n type,\n description: field.description?.value,\n default: field.defaultValue && { literal: field.defaultValue },\n deprecationReason: getDeprecationReason(field),\n astNode: field,\n };\n }\n }\n return inputFieldMap;\n }\n\n function buildEnumValueMap(\n nodes: ReadonlyArray<EnumTypeDefinitionNode | EnumTypeExtensionNode>,\n ): GraphQLEnumValueNormalizedConfigMap {\n const enumValueMap = Object.create(null);\n for (const node of nodes) {\n const valuesNodes = node.values ?? [];\n\n for (const value of valuesNodes) {\n enumValueMap[value.name.value] = {\n description: value.description?.value,\n deprecationReason: getDeprecationReason(value),\n astNode: value,\n };\n }\n }\n return enumValueMap;\n }\n\n function buildInterfaces(\n nodes: ReadonlyArray<\n | InterfaceTypeDefinitionNode\n | InterfaceTypeExtensionNode\n | ObjectTypeDefinitionNode\n | ObjectTypeExtensionNode\n >,\n ): Array<GraphQLInterfaceType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap(\n (node) => node.interfaces?.map(namedTypeFromAST) ?? [],\n );\n }\n\n function buildUnionTypes(\n nodes: ReadonlyArray<UnionTypeDefinitionNode | UnionTypeExtensionNode>,\n ): Array<GraphQLObjectType> {\n // Note: While this could make assertions to get the correctly typed\n // values below, that would throw immediately while type system\n // validation with validateSchema() will produce more actionable results.\n // @ts-expect-error\n return nodes.flatMap((node) => node.types?.map(namedTypeFromAST) ?? []);\n }\n\n function buildNamedType(astNode: TypeDefinitionNode): GraphQLNamedType {\n const name = astNode.name.value;\n\n switch (astNode.kind) {\n case Kind.OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = objectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLObjectType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INTERFACE_TYPE_DEFINITION: {\n const extensionASTNodes = interfaceExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInterfaceType({\n name,\n description: astNode.description?.value,\n interfaces: () => buildInterfaces(allNodes),\n fields: () => buildFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.ENUM_TYPE_DEFINITION: {\n const extensionASTNodes = enumExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLEnumType({\n name,\n description: astNode.description?.value,\n values: () => buildEnumValueMap(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.UNION_TYPE_DEFINITION: {\n const extensionASTNodes = unionExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLUnionType({\n name,\n description: astNode.description?.value,\n types: () => buildUnionTypes(allNodes),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.SCALAR_TYPE_DEFINITION: {\n const extensionASTNodes = scalarExtensions.get(name) ?? [];\n return new GraphQLScalarType({\n name,\n description: astNode.description?.value,\n specifiedByURL: getSpecifiedByURL(astNode),\n astNode,\n extensionASTNodes,\n });\n }\n case Kind.INPUT_OBJECT_TYPE_DEFINITION: {\n const extensionASTNodes = inputObjectExtensions.get(name) ?? [];\n const allNodes = [astNode, ...extensionASTNodes];\n\n return new GraphQLInputObjectType({\n name,\n description: astNode.description?.value,\n fields: () => buildInputFieldMap(allNodes),\n astNode,\n extensionASTNodes,\n isOneOf: isOneOf(astNode),\n });\n }\n }\n }\n });\n}\n\nconst stdTypeMap = new Map(\n [...specifiedScalarTypes, ...introspectionTypes].map((type) => [\n type.name,\n type,\n ]),\n);\n\n/**\n * Given a field or enum value node, returns the string value for the\n * deprecation reason.\n *\n * @internal\n */\nfunction getDeprecationReason(\n node:\n | EnumValueDefinitionNode\n | FieldDefinitionNode\n | InputValueDefinitionNode\n | DirectiveDefinitionNode\n | DirectiveExtensionNode,\n): Maybe<string> {\n const deprecated = getDirectiveValues(GraphQLDeprecatedDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return deprecated?.reason;\n}\n\n/**\n * Given a scalar node, returns the string value for the specifiedByURL.\n *\n * @internal\n */\nfunction getSpecifiedByURL(\n node: ScalarTypeDefinitionNode | ScalarTypeExtensionNode,\n): Maybe<string> {\n const specifiedBy = getDirectiveValues(GraphQLSpecifiedByDirective, node);\n // @ts-expect-error validated by `getDirectiveValues`\n return specifiedBy?.url;\n}\n\n/**\n * Given an input object node, returns if the node should be OneOf.\n *\n * @internal\n */\nfunction isOneOf(node: InputObjectTypeDefinitionNode): boolean {\n return Boolean(getDirectiveValues(GraphQLOneOfDirective, node));\n}\n"]}
|