graphql 17.0.0-beta.0 → 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.mts +1 -0
- package/__dev__/execution/buildResolveInfo.d.ts +1 -0
- package/__dev__/execution/buildResolveInfo.js +3 -0
- package/__dev__/execution/buildResolveInfo.mjs +3 -0
- package/__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 +2 -2
- package/devMode.js.map +1 -1
- package/devMode.mjs.map +1 -1
- package/error/GraphQLError.d.mts +98 -14
- package/error/GraphQLError.d.ts +98 -14
- package/error/GraphQLError.js +18 -28
- package/error/GraphQLError.js.map +1 -1
- package/error/GraphQLError.mjs +11 -21
- package/error/GraphQLError.mjs.map +1 -1
- package/error/ensureGraphQLError.d.mts +3 -1
- package/error/ensureGraphQLError.d.ts +3 -1
- package/error/ensureGraphQLError.js +5 -8
- 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 +10 -4
- package/error/index.d.ts +10 -4
- package/error/index.js +6 -6
- package/error/index.js.map +1 -1
- package/error/index.mjs.map +1 -1
- package/error/locatedError.d.mts +23 -3
- package/error/locatedError.d.ts +23 -3
- package/error/locatedError.js +4 -10
- 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 +17 -2
- package/error/syntaxError.d.ts +17 -2
- package/error/syntaxError.js +2 -6
- 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 +28 -1
- package/execution/AbortedGraphQLExecutionError.d.ts +28 -1
- 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 +3 -7
- 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 +55 -52
- package/execution/Executor.d.ts +55 -52
- package/execution/Executor.js +84 -206
- package/execution/Executor.js.map +1 -1
- package/execution/Executor.mjs +3 -125
- package/execution/Executor.mjs.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
- package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
- package/execution/ExecutorThrowingOnIncremental.js +11 -13
- 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 +16 -0
- package/execution/buildResolveInfo.d.ts +16 -0
- package/execution/buildResolveInfo.js +21 -0
- package/execution/buildResolveInfo.js.map +1 -0
- package/execution/buildResolveInfo.mjs +18 -0
- package/execution/buildResolveInfo.mjs.map +1 -0
- package/execution/cancellablePromise.d.mts +3 -0
- package/execution/cancellablePromise.d.ts +3 -0
- package/execution/cancellablePromise.js +2 -2
- package/execution/cancellablePromise.js.map +1 -1
- package/execution/cancellablePromise.mjs.map +1 -1
- package/execution/collectFields.d.mts +15 -9
- package/execution/collectFields.d.ts +15 -9
- package/execution/collectFields.js +19 -60
- 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 +2 -7
- 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 +3 -2
- package/execution/createSharedExecutionContext.d.ts +3 -2
- package/execution/createSharedExecutionContext.js +2 -2
- package/execution/createSharedExecutionContext.js.map +1 -1
- package/execution/createSharedExecutionContext.mjs.map +1 -1
- package/execution/execute.d.mts +412 -47
- package/execution/execute.d.ts +412 -47
- package/execution/execute.js +73 -254
- package/execution/execute.js.map +1 -1
- package/execution/execute.mjs +12 -193
- package/execution/execute.mjs.map +1 -1
- package/execution/getStreamUsage.d.mts +5 -2
- package/execution/getStreamUsage.d.ts +5 -2
- package/execution/getStreamUsage.js +9 -16
- 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 +7 -4
- package/execution/getVariableSignature.d.ts +7 -4
- package/execution/getVariableSignature.js +8 -10
- 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 +4 -8
- package/execution/hooks.d.ts +4 -8
- 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 +2 -2
- package/execution/incremental/Computation.d.ts +2 -2
- package/execution/incremental/Computation.js +2 -3
- 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 +137 -22
- package/execution/incremental/IncrementalExecutor.d.ts +137 -22
- package/execution/incremental/IncrementalExecutor.js +47 -77
- package/execution/incremental/IncrementalExecutor.js.map +1 -1
- package/execution/incremental/IncrementalExecutor.mjs +2 -32
- package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
- package/execution/incremental/IncrementalPublisher.d.mts +4 -6
- package/execution/incremental/IncrementalPublisher.d.ts +4 -6
- package/execution/incremental/IncrementalPublisher.js +12 -18
- package/execution/incremental/IncrementalPublisher.js.map +1 -1
- package/execution/incremental/IncrementalPublisher.mjs +0 -6
- package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
- package/execution/incremental/Queue.d.mts +1 -1
- package/execution/incremental/Queue.d.ts +1 -1
- package/execution/incremental/Queue.js +22 -79
- package/execution/incremental/Queue.js.map +1 -1
- package/execution/incremental/Queue.mjs +8 -64
- package/execution/incremental/Queue.mjs.map +1 -1
- package/execution/incremental/WorkQueue.d.mts +10 -2
- package/execution/incremental/WorkQueue.d.ts +10 -2
- package/execution/incremental/WorkQueue.js +7 -22
- 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 +4 -1
- package/execution/incremental/buildExecutionPlan.d.ts +4 -1
- package/execution/incremental/buildExecutionPlan.js +4 -4
- package/execution/incremental/buildExecutionPlan.js.map +1 -1
- package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
- package/execution/index.d.mts +17 -8
- package/execution/index.d.ts +17 -8
- package/execution/index.js +26 -22
- package/execution/index.js.map +1 -1
- package/execution/index.mjs +2 -1
- 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 +3 -1
- package/execution/mapAsyncIterable.d.ts +3 -1
- package/execution/mapAsyncIterable.js +4 -9
- 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 +1 -2
- package/execution/returnIteratorCatchingErrors.js.map +1 -1
- package/execution/returnIteratorCatchingErrors.mjs +1 -2
- package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
- package/execution/values.d.mts +196 -14
- package/execution/values.d.ts +196 -14
- package/execution/values.js +45 -86
- 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 +3 -1
- package/execution/withConcurrentAbruptClose.d.ts +3 -1
- package/execution/withConcurrentAbruptClose.js +3 -17
- package/execution/withConcurrentAbruptClose.js.map +1 -1
- package/execution/withConcurrentAbruptClose.mjs +1 -15
- package/execution/withConcurrentAbruptClose.mjs.map +1 -1
- package/graphql.d.mts +198 -50
- package/graphql.d.ts +198 -50
- package/graphql.js +11 -23
- package/graphql.js.map +1 -1
- package/graphql.mjs +0 -12
- package/graphql.mjs.map +1 -1
- package/harness.d.mts +21 -4
- package/harness.d.ts +21 -4
- package/harness.js +7 -7
- package/harness.js.map +1 -1
- package/harness.mjs.map +1 -1
- package/index.d.mts +41 -39
- package/index.d.ts +41 -39
- package/index.js +260 -346
- 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 +31 -1
- package/jsutils/Path.d.ts +31 -1
- 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 +2 -2
- 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 +2 -8
- 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 +2 -2
- 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 +2 -5
- 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 +3 -14
- 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 +8 -15
- package/jsutils/keyMap.d.ts +8 -15
- 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 +10 -7
- package/jsutils/keyValMap.d.ts +10 -7
- 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 +3 -1
- package/jsutils/mapValue.d.ts +3 -1
- 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 +4 -2
- package/jsutils/promiseForObject.d.ts +4 -2
- 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 +3 -1
- package/jsutils/promiseReduce.d.ts +3 -1
- package/jsutils/promiseReduce.js +2 -9
- 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 +3 -1
- package/jsutils/promiseWithResolvers.d.ts +3 -1
- 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 +3 -26
- 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 +2 -5
- 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 +4 -2
- package/jsutils/toObjMap.d.ts +4 -2
- package/jsutils/toObjMap.js.map +1 -1
- package/jsutils/toObjMap.mjs.map +1 -1
- package/language/KindTypeMap.d.mts +2 -1
- package/language/KindTypeMap.d.ts +2 -1
- package/language/KindTypeMap.js.map +1 -1
- package/language/KindTypeMap.mjs.map +1 -1
- package/language/ast.d.mts +425 -58
- package/language/ast.d.ts +425 -58
- package/language/ast.js +8 -21
- package/language/ast.js.map +1 -1
- package/language/ast.mjs +8 -21
- 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 +15 -41
- 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 +26 -6
- package/language/directiveLocation.d.ts +26 -6
- package/language/directiveLocation.js +2 -6
- package/language/directiveLocation.js.map +1 -1
- package/language/directiveLocation.mjs +2 -6
- package/language/directiveLocation.mjs.map +1 -1
- package/language/index.d.mts +22 -16
- package/language/index.d.ts +22 -16
- package/language/index.js +45 -49
- 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 +5 -2
- package/language/kinds.d.ts +5 -2
- package/language/kinds.js.map +1 -1
- package/language/kinds.mjs.map +1 -1
- package/language/kinds_.d.mts +102 -12
- package/language/kinds_.d.ts +102 -12
- package/language/kinds_.js +2 -14
- package/language/kinds_.js.map +1 -1
- package/language/kinds_.mjs +1 -13
- package/language/kinds_.mjs.map +1 -1
- package/language/lexer.d.mts +51 -18
- package/language/lexer.d.ts +51 -18
- package/language/lexer.js +102 -343
- 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 +17 -4
- package/language/location.d.ts +17 -4
- package/language/location.js +2 -6
- 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 +243 -15
- package/language/parser.d.ts +243 -15
- package/language/parser.js +183 -528
- package/language/parser.js.map +1 -1
- package/language/parser.mjs +26 -371
- package/language/parser.mjs.map +1 -1
- package/language/predicates.d.mts +182 -1
- package/language/predicates.d.ts +182 -1
- package/language/predicates.js +45 -49
- package/language/predicates.js.map +1 -1
- package/language/predicates.mjs +3 -7
- package/language/predicates.mjs.map +1 -1
- package/language/printLocation.d.mts +31 -3
- package/language/printLocation.d.ts +31 -3
- package/language/printLocation.js +2 -10
- 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 +13 -1
- package/language/printer.d.ts +13 -1
- package/language/printer.js +10 -31
- package/language/printer.js.map +1 -1
- package/language/printer.mjs +5 -26
- package/language/printer.mjs.map +1 -1
- package/language/schemaCoordinateLexer.d.mts +17 -3
- package/language/schemaCoordinateLexer.d.ts +17 -3
- package/language/schemaCoordinateLexer.js +21 -51
- 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 +5 -17
- 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 +184 -74
- package/language/visitor.d.ts +184 -74
- package/language/visitor.js +10 -25
- package/language/visitor.js.map +1 -1
- package/language/visitor.mjs +0 -15
- package/language/visitor.mjs.map +1 -1
- package/package.json +2 -2
- package/type/assertName.d.mts +18 -1
- package/type/assertName.d.ts +18 -1
- package/type/assertName.js +8 -16
- 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 +3268 -138
- package/type/definition.d.ts +3268 -138
- package/type/definition.js +99 -346
- 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 +220 -26
- package/type/directives.d.ts +220 -26
- package/type/directives.js +51 -83
- package/type/directives.js.map +1 -1
- package/type/directives.mjs +5 -37
- package/type/directives.mjs.map +1 -1
- package/type/index.d.mts +18 -12
- package/type/index.d.ts +18 -12
- package/type/index.js +106 -129
- 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 +38 -2
- package/type/introspection.d.ts +38 -2
- package/type/introspection.js +122 -107
- package/type/introspection.js.map +1 -1
- package/type/introspection.mjs +24 -9
- package/type/introspection.mjs.map +1 -1
- package/type/scalars.d.mts +31 -4
- package/type/scalars.d.ts +31 -4
- package/type/scalars.js +61 -76
- 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 +514 -38
- package/type/schema.d.ts +514 -38
- package/type/schema.js +32 -129
- 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 +36 -7
- package/type/validate.d.ts +36 -7
- package/type/validate.js +83 -195
- package/type/validate.js.map +1 -1
- package/type/validate.mjs +1 -113
- package/type/validate.mjs.map +1 -1
- package/utilities/TypeInfo.d.mts +570 -7
- package/utilities/TypeInfo.d.ts +570 -7
- package/utilities/TypeInfo.js +62 -85
- package/utilities/TypeInfo.js.map +1 -1
- package/utilities/TypeInfo.mjs +2 -25
- package/utilities/TypeInfo.mjs.map +1 -1
- package/utilities/astFromValue.d.mts +39 -6
- package/utilities/astFromValue.d.ts +39 -6
- package/utilities/astFromValue.js +30 -74
- package/utilities/astFromValue.js.map +1 -1
- package/utilities/astFromValue.mjs +0 -44
- package/utilities/astFromValue.mjs.map +1 -1
- package/utilities/buildASTSchema.d.mts +71 -11
- package/utilities/buildASTSchema.d.ts +71 -11
- package/utilities/buildASTSchema.js +11 -31
- package/utilities/buildASTSchema.js.map +1 -1
- package/utilities/buildASTSchema.mjs +1 -21
- package/utilities/buildASTSchema.mjs.map +1 -1
- package/utilities/buildClientSchema.d.mts +20 -5
- package/utilities/buildClientSchema.d.ts +20 -5
- package/utilities/buildClientSchema.js +53 -83
- package/utilities/buildClientSchema.js.map +1 -1
- package/utilities/buildClientSchema.mjs +1 -30
- package/utilities/buildClientSchema.mjs.map +1 -1
- package/utilities/coerceInputValue.d.mts +88 -6
- package/utilities/coerceInputValue.d.ts +88 -6
- package/utilities/coerceInputValue.js +52 -81
- 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 +13 -1
- package/utilities/concatAST.d.ts +13 -1
- package/utilities/concatAST.js +2 -7
- 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 +61 -6
- package/utilities/extendSchema.d.ts +61 -6
- package/utilities/extendSchema.js +92 -126
- package/utilities/extendSchema.js.map +1 -1
- package/utilities/extendSchema.mjs +27 -61
- package/utilities/extendSchema.mjs.map +1 -1
- package/utilities/findSchemaChanges.d.mts +100 -2
- package/utilities/findSchemaChanges.d.ts +100 -2
- package/utilities/findSchemaChanges.js +41 -75
- package/utilities/findSchemaChanges.js.map +1 -1
- package/utilities/findSchemaChanges.mjs +3 -37
- package/utilities/findSchemaChanges.mjs.map +1 -1
- package/utilities/getDefaultValueAST.d.mts +3 -2
- package/utilities/getDefaultValueAST.d.ts +3 -2
- package/utilities/getDefaultValueAST.js +7 -7
- package/utilities/getDefaultValueAST.js.map +1 -1
- package/utilities/getDefaultValueAST.mjs.map +1 -1
- package/utilities/getIntrospectionQuery.d.mts +151 -3
- package/utilities/getIntrospectionQuery.d.ts +151 -3
- package/utilities/getIntrospectionQuery.js +22 -42
- package/utilities/getIntrospectionQuery.js.map +1 -1
- package/utilities/getIntrospectionQuery.mjs +22 -42
- package/utilities/getIntrospectionQuery.mjs.map +1 -1
- package/utilities/getOperationAST.d.mts +17 -2
- package/utilities/getOperationAST.d.ts +17 -2
- package/utilities/getOperationAST.js +2 -10
- 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 +45 -30
- package/utilities/index.d.ts +45 -30
- package/utilities/index.js +61 -88
- 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 +56 -2
- package/utilities/introspectionFromSchema.d.ts +56 -2
- package/utilities/introspectionFromSchema.js +8 -16
- package/utilities/introspectionFromSchema.js.map +1 -1
- package/utilities/introspectionFromSchema.mjs +1 -9
- package/utilities/introspectionFromSchema.mjs.map +1 -1
- package/utilities/lexicographicSortSchema.d.mts +36 -1
- package/utilities/lexicographicSortSchema.d.ts +36 -1
- package/utilities/lexicographicSortSchema.js +14 -19
- 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 +9 -6
- package/utilities/mapSchemaConfig.d.ts +9 -6
- package/utilities/mapSchemaConfig.js +28 -40
- package/utilities/mapSchemaConfig.js.map +1 -1
- package/utilities/mapSchemaConfig.mjs +0 -12
- package/utilities/mapSchemaConfig.mjs.map +1 -1
- package/utilities/printSchema.d.mts +87 -3
- package/utilities/printSchema.d.ts +87 -3
- package/utilities/printSchema.js +30 -59
- package/utilities/printSchema.js.map +1 -1
- package/utilities/printSchema.mjs +1 -30
- package/utilities/printSchema.mjs.map +1 -1
- package/utilities/replaceVariables.d.mts +40 -4
- package/utilities/replaceVariables.d.ts +40 -4
- package/utilities/replaceVariables.js +9 -17
- 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 +67 -5
- package/utilities/resolveSchemaCoordinate.d.ts +67 -5
- package/utilities/resolveSchemaCoordinate.js +23 -79
- 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 +32 -2
- package/utilities/separateOperations.d.ts +32 -2
- package/utilities/separateOperations.js +7 -22
- package/utilities/separateOperations.js.map +1 -1
- package/utilities/separateOperations.mjs +0 -15
- package/utilities/separateOperations.mjs.map +1 -1
- package/utilities/sortValueNode.d.mts +1 -1
- package/utilities/sortValueNode.d.ts +1 -1
- package/utilities/sortValueNode.js +12 -19
- 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 +14 -7
- package/utilities/stripIgnoredCharacters.d.ts +14 -7
- package/utilities/stripIgnoredCharacters.js +11 -76
- 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 +86 -2
- package/utilities/typeComparators.d.ts +86 -2
- package/utilities/typeComparators.js +14 -47
- 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 +90 -4
- package/utilities/typeFromAST.d.ts +90 -4
- package/utilities/typeFromAST.js +7 -7
- package/utilities/typeFromAST.js.map +1 -1
- package/utilities/typeFromAST.mjs.map +1 -1
- package/utilities/typedQueryDocumentNode.d.mts +5 -1
- package/utilities/typedQueryDocumentNode.d.ts +5 -1
- package/utilities/typedQueryDocumentNode.js.map +1 -1
- package/utilities/typedQueryDocumentNode.mjs.map +1 -1
- package/utilities/validateInputValue.d.mts +129 -6
- package/utilities/validateInputValue.d.ts +129 -6
- package/utilities/validateInputValue.js +60 -80
- 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 +45 -4
- package/utilities/valueFromAST.d.ts +45 -4
- package/utilities/valueFromAST.js +32 -72
- package/utilities/valueFromAST.js.map +1 -1
- package/utilities/valueFromAST.mjs +13 -53
- package/utilities/valueFromAST.mjs.map +1 -1
- package/utilities/valueFromASTUntyped.d.mts +18 -5
- package/utilities/valueFromASTUntyped.d.ts +18 -5
- package/utilities/valueFromASTUntyped.js +12 -28
- 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 +32 -3
- package/utilities/valueToLiteral.d.ts +32 -3
- package/utilities/valueToLiteral.js +37 -70
- 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 +499 -9
- package/validation/ValidationContext.d.ts +499 -9
- package/validation/ValidationContext.js +9 -16
- 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 +53 -46
- package/validation/index.d.ts +53 -46
- package/validation/index.js +91 -125
- 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 +32 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +32 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -14
- 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 +30 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +30 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -13
- 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 +54 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +54 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -19
- 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 +30 -2
- package/validation/rules/ExecutableDefinitionsRule.d.ts +30 -2
- package/validation/rules/ExecutableDefinitionsRule.js +7 -15
- 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 +30 -2
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +30 -2
- package/validation/rules/FieldsOnCorrectTypeRule.js +14 -41
- 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 +30 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +30 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -21
- 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 +31 -5
- package/validation/rules/KnownArgumentNamesRule.d.ts +31 -5
- package/validation/rules/KnownArgumentNamesRule.js +16 -29
- 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 +30 -2
- package/validation/rules/KnownDirectivesRule.d.ts +30 -2
- package/validation/rules/KnownDirectivesRule.js +66 -73
- package/validation/rules/KnownDirectivesRule.js.map +1 -1
- package/validation/rules/KnownDirectivesRule.mjs +3 -10
- package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.d.mts +30 -2
- package/validation/rules/KnownFragmentNamesRule.d.ts +30 -2
- package/validation/rules/KnownFragmentNamesRule.js +2 -10
- 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 +22 -2
- package/validation/rules/KnownOperationTypesRule.d.ts +22 -2
- package/validation/rules/KnownOperationTypesRule.js +2 -10
- 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 +30 -2
- package/validation/rules/KnownTypeNamesRule.d.ts +30 -2
- package/validation/rules/KnownTypeNamesRule.js +11 -19
- 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 +30 -2
- package/validation/rules/LoneAnonymousOperationRule.d.ts +30 -2
- package/validation/rules/LoneAnonymousOperationRule.js +4 -12
- 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 +23 -2
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +23 -2
- package/validation/rules/LoneSchemaDefinitionRule.js +3 -8
- 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 +33 -2
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +33 -2
- package/validation/rules/MaxIntrospectionDepthRule.js +5 -19
- 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 +30 -2
- package/validation/rules/NoFragmentCyclesRule.d.ts +30 -2
- package/validation/rules/NoFragmentCyclesRule.js +2 -17
- 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 +30 -2
- package/validation/rules/NoUndefinedVariablesRule.d.ts +30 -2
- package/validation/rules/NoUndefinedVariablesRule.js +2 -10
- 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 +30 -2
- package/validation/rules/NoUnusedFragmentsRule.d.ts +30 -2
- package/validation/rules/NoUnusedFragmentsRule.js +2 -10
- 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 +31 -2
- package/validation/rules/NoUnusedVariablesRule.d.ts +31 -2
- package/validation/rules/NoUnusedVariablesRule.js +3 -11
- 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 +35 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +35 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +32 -206
- 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 +38 -2
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +38 -2
- package/validation/rules/PossibleFragmentSpreadsRule.js +17 -24
- 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 +23 -2
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +23 -2
- package/validation/rules/PossibleTypeExtensionsRule.js +38 -49
- package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -11
- package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +31 -5
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +31 -5
- package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -33
- 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 +30 -2
- package/validation/rules/ScalarLeafsRule.d.ts +30 -2
- package/validation/rules/ScalarLeafsRule.js +10 -16
- 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 +36 -4
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +36 -4
- package/validation/rules/SingleFieldSubscriptionsRule.js +8 -17
- 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 +23 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +23 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -12
- 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 +23 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +23 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -10
- 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 +30 -2
- package/validation/rules/UniqueArgumentNamesRule.d.ts +30 -2
- package/validation/rules/UniqueArgumentNamesRule.js +4 -12
- 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 +23 -2
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +23 -2
- package/validation/rules/UniqueDirectiveNamesRule.js +3 -8
- 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 +30 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +30 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -21
- package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -11
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.d.mts +23 -2
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +23 -2
- package/validation/rules/UniqueEnumValueNamesRule.js +5 -10
- 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 +23 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +23 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -10
- 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 +30 -2
- package/validation/rules/UniqueFragmentNamesRule.d.ts +30 -2
- package/validation/rules/UniqueFragmentNamesRule.js +2 -9
- 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 +34 -2
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +34 -2
- package/validation/rules/UniqueInputFieldNamesRule.js +4 -12
- 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 +30 -2
- package/validation/rules/UniqueOperationNamesRule.d.ts +30 -2
- package/validation/rules/UniqueOperationNamesRule.js +2 -9
- 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 +23 -2
- package/validation/rules/UniqueOperationTypesRule.d.ts +23 -2
- package/validation/rules/UniqueOperationTypesRule.js +3 -8
- 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 +23 -2
- package/validation/rules/UniqueTypeNamesRule.d.ts +23 -2
- package/validation/rules/UniqueTypeNamesRule.js +3 -8
- 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 +30 -2
- package/validation/rules/UniqueVariableNamesRule.d.ts +30 -2
- package/validation/rules/UniqueVariableNamesRule.js +4 -9
- 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 +30 -2
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +30 -2
- package/validation/rules/ValuesOfCorrectTypeRule.js +3 -23
- 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 +34 -2
- package/validation/rules/VariablesAreInputTypesRule.d.ts +34 -2
- package/validation/rules/VariablesAreInputTypesRule.js +8 -16
- 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 +30 -2
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +30 -2
- package/validation/rules/VariablesInAllowedPositionRule.js +14 -34
- 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 +43 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +43 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -18
- 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 +30 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +30 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -16
- 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 +3 -4
- package/validation/specifiedRules.d.ts +3 -4
- package/validation/specifiedRules.js +87 -133
- 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 +70 -12
- package/validation/validate.d.ts +70 -12
- package/validation/validate.js +19 -60
- 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
package/type/schema.js
CHANGED
|
@@ -3,118 +3,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.GraphQLSchema = void 0;
|
|
4
4
|
exports.isSchema = isSchema;
|
|
5
5
|
exports.assertSchema = assertSchema;
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
/**
|
|
14
|
-
* Test if the given value is a GraphQL schema.
|
|
15
|
-
*/
|
|
6
|
+
const inspect_ts_1 = require("../jsutils/inspect.js");
|
|
7
|
+
const instanceOf_ts_1 = require("../jsutils/instanceOf.js");
|
|
8
|
+
const toObjMap_ts_1 = require("../jsutils/toObjMap.js");
|
|
9
|
+
const ast_ts_1 = require("../language/ast.js");
|
|
10
|
+
const definition_ts_1 = require("./definition.js");
|
|
11
|
+
const directives_ts_1 = require("./directives.js");
|
|
12
|
+
const introspection_ts_1 = require("./introspection.js");
|
|
16
13
|
function isSchema(schema) {
|
|
17
|
-
return (0,
|
|
14
|
+
return (0, instanceOf_ts_1.instanceOf)(schema, schemaSymbol, GraphQLSchema);
|
|
18
15
|
}
|
|
19
16
|
function assertSchema(schema) {
|
|
20
17
|
if (!isSchema(schema)) {
|
|
21
|
-
throw new Error(`Expected ${(0,
|
|
18
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(schema)} to be a GraphQL schema.`);
|
|
22
19
|
}
|
|
23
20
|
return schema;
|
|
24
21
|
}
|
|
25
22
|
const schemaSymbol = Symbol('Schema');
|
|
26
|
-
/**
|
|
27
|
-
* Schema Definition
|
|
28
|
-
*
|
|
29
|
-
* A Schema is created by supplying the root types of each type of operation,
|
|
30
|
-
* query and mutation (optional). A schema definition is then supplied to the
|
|
31
|
-
* validator and executor.
|
|
32
|
-
*
|
|
33
|
-
* Example:
|
|
34
|
-
*
|
|
35
|
-
* ```ts
|
|
36
|
-
* const MyAppSchema = new GraphQLSchema({
|
|
37
|
-
* query: MyAppQueryRootType,
|
|
38
|
-
* mutation: MyAppMutationRootType,
|
|
39
|
-
* })
|
|
40
|
-
* ```
|
|
41
|
-
*
|
|
42
|
-
* Note: When the schema is constructed, by default only the types that are
|
|
43
|
-
* reachable by traversing the root types are included, other types must be
|
|
44
|
-
* explicitly referenced.
|
|
45
|
-
*
|
|
46
|
-
* Example:
|
|
47
|
-
*
|
|
48
|
-
* ```ts
|
|
49
|
-
* const characterInterface = new GraphQLInterfaceType({
|
|
50
|
-
* name: 'Character',
|
|
51
|
-
* ...
|
|
52
|
-
* });
|
|
53
|
-
*
|
|
54
|
-
* const humanType = new GraphQLObjectType({
|
|
55
|
-
* name: 'Human',
|
|
56
|
-
* interfaces: [characterInterface],
|
|
57
|
-
* ...
|
|
58
|
-
* });
|
|
59
|
-
*
|
|
60
|
-
* const droidType = new GraphQLObjectType({
|
|
61
|
-
* name: 'Droid',
|
|
62
|
-
* interfaces: [characterInterface],
|
|
63
|
-
* ...
|
|
64
|
-
* });
|
|
65
|
-
*
|
|
66
|
-
* const schema = new GraphQLSchema({
|
|
67
|
-
* query: new GraphQLObjectType({
|
|
68
|
-
* name: 'Query',
|
|
69
|
-
* fields: {
|
|
70
|
-
* hero: { type: characterInterface, ... },
|
|
71
|
-
* }
|
|
72
|
-
* }),
|
|
73
|
-
* ...
|
|
74
|
-
* // Since this schema references only the `Character` interface it's
|
|
75
|
-
* // necessary to explicitly list the types that implement it if
|
|
76
|
-
* // you want them to be included in the final schema.
|
|
77
|
-
* types: [humanType, droidType],
|
|
78
|
-
* })
|
|
79
|
-
* ```
|
|
80
|
-
*
|
|
81
|
-
* Note: If an array of `directives` are provided to GraphQLSchema, that will be
|
|
82
|
-
* the exact list of directives represented and allowed. If `directives` is not
|
|
83
|
-
* provided then a default set of the specified directives (e.g. `@include` and
|
|
84
|
-
* `@skip`) will be used. If you wish to provide *additional* directives to these
|
|
85
|
-
* specified directives, you must explicitly declare them. Example:
|
|
86
|
-
*
|
|
87
|
-
* ```ts
|
|
88
|
-
* const MyAppSchema = new GraphQLSchema({
|
|
89
|
-
* ...
|
|
90
|
-
* directives: specifiedDirectives.concat([ myCustomDirective ]),
|
|
91
|
-
* })
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
23
|
class GraphQLSchema {
|
|
95
24
|
constructor(config) {
|
|
96
25
|
this.__kind = schemaSymbol;
|
|
97
|
-
// If this schema was built from a source known to be valid, then it may be
|
|
98
|
-
// marked with assumeValid to avoid an additional type system validation.
|
|
99
26
|
this.assumeValid = config.assumeValid ?? false;
|
|
100
|
-
// Used as a cache for validateSchema().
|
|
101
27
|
this.__validationErrors = config.assumeValid === true ? [] : undefined;
|
|
102
28
|
this.description = config.description;
|
|
103
|
-
this.extensions = (0,
|
|
29
|
+
this.extensions = (0, toObjMap_ts_1.toObjMapWithSymbols)(config.extensions);
|
|
104
30
|
this.astNode = config.astNode;
|
|
105
31
|
this.extensionASTNodes = config.extensionASTNodes ?? [];
|
|
106
32
|
this._queryType = config.query;
|
|
107
33
|
this._mutationType = config.mutation;
|
|
108
34
|
this._subscriptionType = config.subscription;
|
|
109
|
-
|
|
110
|
-
this._directives = config.directives ?? directives_js_1.specifiedDirectives;
|
|
111
|
-
// To preserve order of user-provided types, we add first to add them to
|
|
112
|
-
// the set of "collected" types, so `collectReferencedTypes` ignore them.
|
|
35
|
+
this._directives = config.directives ?? directives_ts_1.specifiedDirectives;
|
|
113
36
|
const allReferencedTypes = new Set(config.types);
|
|
114
37
|
if (config.types != null) {
|
|
115
38
|
for (const type of config.types) {
|
|
116
|
-
// When we ready to process this type, we remove it from "collected" types
|
|
117
|
-
// and then add it together with all dependent types in the correct position.
|
|
118
39
|
allReferencedTypes.delete(type);
|
|
119
40
|
collectReferencedTypes(type, allReferencedTypes);
|
|
120
41
|
}
|
|
@@ -129,18 +50,15 @@ class GraphQLSchema {
|
|
|
129
50
|
collectReferencedTypes(this._subscriptionType, allReferencedTypes);
|
|
130
51
|
}
|
|
131
52
|
for (const directive of this._directives) {
|
|
132
|
-
|
|
133
|
-
if ((0, directives_js_1.isDirective)(directive)) {
|
|
53
|
+
if ((0, directives_ts_1.isDirective)(directive)) {
|
|
134
54
|
for (const arg of directive.args) {
|
|
135
55
|
collectReferencedTypes(arg.type, allReferencedTypes);
|
|
136
56
|
}
|
|
137
57
|
}
|
|
138
58
|
}
|
|
139
|
-
collectReferencedTypes(
|
|
140
|
-
// Storing the resulting map for reference by the schema.
|
|
59
|
+
collectReferencedTypes(introspection_ts_1.__Schema, allReferencedTypes);
|
|
141
60
|
this._typeMap = Object.create(null);
|
|
142
61
|
this._subTypeMap = new Map();
|
|
143
|
-
// Keep track of all implementations by interface name.
|
|
144
62
|
this._implementationsMap = Object.create(null);
|
|
145
63
|
for (const namedType of allReferencedTypes) {
|
|
146
64
|
if (namedType == null) {
|
|
@@ -151,10 +69,9 @@ class GraphQLSchema {
|
|
|
151
69
|
throw new Error(`Schema must contain uniquely named types but contains multiple types named "${typeName}".`);
|
|
152
70
|
}
|
|
153
71
|
this._typeMap[typeName] = namedType;
|
|
154
|
-
if ((0,
|
|
155
|
-
// Store implementations by interface.
|
|
72
|
+
if ((0, definition_ts_1.isInterfaceType)(namedType)) {
|
|
156
73
|
for (const iface of namedType.getInterfaces()) {
|
|
157
|
-
if ((0,
|
|
74
|
+
if ((0, definition_ts_1.isInterfaceType)(iface)) {
|
|
158
75
|
let implementations = this._implementationsMap[iface.name];
|
|
159
76
|
implementations ??= this._implementationsMap[iface.name] = {
|
|
160
77
|
objects: [],
|
|
@@ -164,10 +81,9 @@ class GraphQLSchema {
|
|
|
164
81
|
}
|
|
165
82
|
}
|
|
166
83
|
}
|
|
167
|
-
else if ((0,
|
|
168
|
-
// Store implementations by objects.
|
|
84
|
+
else if ((0, definition_ts_1.isObjectType)(namedType)) {
|
|
169
85
|
for (const iface of namedType.getInterfaces()) {
|
|
170
|
-
if ((0,
|
|
86
|
+
if ((0, definition_ts_1.isInterfaceType)(iface)) {
|
|
171
87
|
let implementations = this._implementationsMap[iface.name];
|
|
172
88
|
implementations ??= this._implementationsMap[iface.name] = {
|
|
173
89
|
objects: [],
|
|
@@ -193,11 +109,11 @@ class GraphQLSchema {
|
|
|
193
109
|
}
|
|
194
110
|
getRootType(operation) {
|
|
195
111
|
switch (operation) {
|
|
196
|
-
case
|
|
112
|
+
case ast_ts_1.OperationTypeNode.QUERY:
|
|
197
113
|
return this.getQueryType();
|
|
198
|
-
case
|
|
114
|
+
case ast_ts_1.OperationTypeNode.MUTATION:
|
|
199
115
|
return this.getMutationType();
|
|
200
|
-
case
|
|
116
|
+
case ast_ts_1.OperationTypeNode.SUBSCRIPTION:
|
|
201
117
|
return this.getSubscriptionType();
|
|
202
118
|
}
|
|
203
119
|
}
|
|
@@ -208,7 +124,7 @@ class GraphQLSchema {
|
|
|
208
124
|
return this.getTypeMap()[name];
|
|
209
125
|
}
|
|
210
126
|
getPossibleTypes(abstractType) {
|
|
211
|
-
return (0,
|
|
127
|
+
return (0, definition_ts_1.isUnionType)(abstractType)
|
|
212
128
|
? abstractType.getTypes()
|
|
213
129
|
: this.getImplementations(abstractType).objects;
|
|
214
130
|
}
|
|
@@ -219,7 +135,7 @@ class GraphQLSchema {
|
|
|
219
135
|
isSubType(abstractType, maybeSubType) {
|
|
220
136
|
let set = this._subTypeMap.get(abstractType);
|
|
221
137
|
if (set === undefined) {
|
|
222
|
-
if ((0,
|
|
138
|
+
if ((0, definition_ts_1.isUnionType)(abstractType)) {
|
|
223
139
|
set = new Set(abstractType.getTypes());
|
|
224
140
|
}
|
|
225
141
|
else {
|
|
@@ -239,32 +155,19 @@ class GraphQLSchema {
|
|
|
239
155
|
getDirective(name) {
|
|
240
156
|
return this.getDirectives().find((directive) => directive.name === name);
|
|
241
157
|
}
|
|
242
|
-
/**
|
|
243
|
-
* This method looks up the field on the given type definition.
|
|
244
|
-
* It has special casing for the three introspection fields, `__schema`,
|
|
245
|
-
* `__type` and `__typename`.
|
|
246
|
-
*
|
|
247
|
-
* `__typename` is special because it can always be queried as a field, even
|
|
248
|
-
* in situations where no other fields are allowed, like on a Union.
|
|
249
|
-
*
|
|
250
|
-
* `__schema` and `__type` could get automatically added to the query type,
|
|
251
|
-
* but that would require mutating type definitions, which would cause issues.
|
|
252
|
-
*/
|
|
253
158
|
getField(parentType, fieldName) {
|
|
254
159
|
switch (fieldName) {
|
|
255
|
-
case
|
|
160
|
+
case introspection_ts_1.SchemaMetaFieldDef.name:
|
|
256
161
|
return this.getQueryType() === parentType
|
|
257
|
-
?
|
|
162
|
+
? introspection_ts_1.SchemaMetaFieldDef
|
|
258
163
|
: undefined;
|
|
259
|
-
case
|
|
164
|
+
case introspection_ts_1.TypeMetaFieldDef.name:
|
|
260
165
|
return this.getQueryType() === parentType
|
|
261
|
-
?
|
|
166
|
+
? introspection_ts_1.TypeMetaFieldDef
|
|
262
167
|
: undefined;
|
|
263
|
-
case
|
|
264
|
-
return
|
|
168
|
+
case introspection_ts_1.TypeNameMetaFieldDef.name:
|
|
169
|
+
return introspection_ts_1.TypeNameMetaFieldDef;
|
|
265
170
|
}
|
|
266
|
-
// this function is part "hot" path inside executor and check presence
|
|
267
|
-
// of 'getFields' is faster than to use `!isUnionType`
|
|
268
171
|
if ('getFields' in parentType) {
|
|
269
172
|
return parentType.getFields()[fieldName];
|
|
270
173
|
}
|
|
@@ -287,15 +190,15 @@ class GraphQLSchema {
|
|
|
287
190
|
}
|
|
288
191
|
exports.GraphQLSchema = GraphQLSchema;
|
|
289
192
|
function collectReferencedTypes(type, typeSet) {
|
|
290
|
-
const namedType = (0,
|
|
193
|
+
const namedType = (0, definition_ts_1.getNamedType)(type);
|
|
291
194
|
if (!typeSet.has(namedType)) {
|
|
292
195
|
typeSet.add(namedType);
|
|
293
|
-
if ((0,
|
|
196
|
+
if ((0, definition_ts_1.isUnionType)(namedType)) {
|
|
294
197
|
for (const memberType of namedType.getTypes()) {
|
|
295
198
|
collectReferencedTypes(memberType, typeSet);
|
|
296
199
|
}
|
|
297
200
|
}
|
|
298
|
-
else if ((0,
|
|
201
|
+
else if ((0, definition_ts_1.isObjectType)(namedType) || (0, definition_ts_1.isInterfaceType)(namedType)) {
|
|
299
202
|
for (const interfaceType of namedType.getInterfaces()) {
|
|
300
203
|
collectReferencedTypes(interfaceType, typeSet);
|
|
301
204
|
}
|
|
@@ -306,7 +209,7 @@ function collectReferencedTypes(type, typeSet) {
|
|
|
306
209
|
}
|
|
307
210
|
}
|
|
308
211
|
}
|
|
309
|
-
else if ((0,
|
|
212
|
+
else if ((0, definition_ts_1.isInputObjectType)(namedType)) {
|
|
310
213
|
for (const field of Object.values(namedType.getFields())) {
|
|
311
214
|
collectReferencedTypes(field.type, typeSet);
|
|
312
215
|
}
|
package/type/schema.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/type/schema.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { instanceOf } from '../jsutils/instanceOf.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.js';\n\nimport type { GraphQLError } from '../error/GraphQLError.js';\n\nimport type {\n SchemaDefinitionNode,\n SchemaExtensionNode,\n} from '../language/ast.js';\nimport { OperationTypeNode } from '../language/ast.js';\n\nimport type {\n GraphQLAbstractType,\n GraphQLCompositeType,\n GraphQLField,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n GraphQLType,\n} from './definition.js';\nimport {\n getNamedType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n isUnionType,\n} from './definition.js';\nimport type { GraphQLDirective } from './directives.js';\nimport { isDirective, specifiedDirectives } from './directives.js';\nimport {\n __Schema,\n SchemaMetaFieldDef,\n TypeMetaFieldDef,\n TypeNameMetaFieldDef,\n} from './introspection.js';\n\n/**\n * Test if the given value is a GraphQL schema.\n */\nexport function isSchema(schema: unknown): schema is GraphQLSchema {\n return instanceOf(schema, schemaSymbol, GraphQLSchema);\n}\n\nexport function assertSchema(schema: unknown): GraphQLSchema {\n if (!isSchema(schema)) {\n throw new Error(`Expected ${inspect(schema)} to be a GraphQL schema.`);\n }\n return schema;\n}\n\n/**\n * Custom extensions\n *\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLSchemaExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\nconst schemaSymbol: unique symbol = Symbol('Schema');\n\n/**\n * Schema Definition\n *\n * A Schema is created by supplying the root types of each type of operation,\n * query and mutation (optional). A schema definition is then supplied to the\n * validator and executor.\n *\n * Example:\n *\n * ```ts\n * const MyAppSchema = new GraphQLSchema({\n * query: MyAppQueryRootType,\n * mutation: MyAppMutationRootType,\n * })\n * ```\n *\n * Note: When the schema is constructed, by default only the types that are\n * reachable by traversing the root types are included, other types must be\n * explicitly referenced.\n *\n * Example:\n *\n * ```ts\n * const characterInterface = new GraphQLInterfaceType({\n * name: 'Character',\n * ...\n * });\n *\n * const humanType = new GraphQLObjectType({\n * name: 'Human',\n * interfaces: [characterInterface],\n * ...\n * });\n *\n * const droidType = new GraphQLObjectType({\n * name: 'Droid',\n * interfaces: [characterInterface],\n * ...\n * });\n *\n * const schema = new GraphQLSchema({\n * query: new GraphQLObjectType({\n * name: 'Query',\n * fields: {\n * hero: { type: characterInterface, ... },\n * }\n * }),\n * ...\n * // Since this schema references only the `Character` interface it's\n * // necessary to explicitly list the types that implement it if\n * // you want them to be included in the final schema.\n * types: [humanType, droidType],\n * })\n * ```\n *\n * Note: If an array of `directives` are provided to GraphQLSchema, that will be\n * the exact list of directives represented and allowed. If `directives` is not\n * provided then a default set of the specified directives (e.g. `@include` and\n * `@skip`) will be used. If you wish to provide *additional* directives to these\n * specified directives, you must explicitly declare them. Example:\n *\n * ```ts\n * const MyAppSchema = new GraphQLSchema({\n * ...\n * directives: specifiedDirectives.concat([ myCustomDirective ]),\n * })\n * ```\n */\nexport class GraphQLSchema {\n readonly __kind: typeof schemaSymbol = schemaSymbol;\n description: Maybe<string>;\n extensions: Readonly<GraphQLSchemaExtensions>;\n astNode: Maybe<SchemaDefinitionNode>;\n extensionASTNodes: ReadonlyArray<SchemaExtensionNode>;\n\n assumeValid: boolean;\n __validationErrors: Maybe<ReadonlyArray<GraphQLError>>;\n\n private _queryType: Maybe<GraphQLObjectType>;\n private _mutationType: Maybe<GraphQLObjectType>;\n private _subscriptionType: Maybe<GraphQLObjectType>;\n private _directives: ReadonlyArray<GraphQLDirective>;\n private _typeMap: TypeMap;\n private _subTypeMap: Map<\n GraphQLAbstractType,\n Set<GraphQLObjectType | GraphQLInterfaceType>\n >;\n\n private _implementationsMap: ObjMap<{\n objects: Array<GraphQLObjectType>;\n interfaces: Array<GraphQLInterfaceType>;\n }>;\n\n constructor(config: Readonly<GraphQLSchemaConfig>) {\n // If this schema was built from a source known to be valid, then it may be\n // marked with assumeValid to avoid an additional type system validation.\n this.assumeValid = config.assumeValid ?? false;\n // Used as a cache for validateSchema().\n this.__validationErrors = config.assumeValid === true ? [] : undefined;\n\n this.description = config.description;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n this._queryType = config.query;\n this._mutationType = config.mutation;\n this._subscriptionType = config.subscription;\n // Provide specified directives (e.g. @include and @skip) by default.\n this._directives = config.directives ?? specifiedDirectives;\n\n // To preserve order of user-provided types, we add first to add them to\n // the set of \"collected\" types, so `collectReferencedTypes` ignore them.\n const allReferencedTypes = new Set<GraphQLNamedType>(config.types);\n if (config.types != null) {\n for (const type of config.types) {\n // When we ready to process this type, we remove it from \"collected\" types\n // and then add it together with all dependent types in the correct position.\n allReferencedTypes.delete(type);\n collectReferencedTypes(type, allReferencedTypes);\n }\n }\n\n if (this._queryType != null) {\n collectReferencedTypes(this._queryType, allReferencedTypes);\n }\n if (this._mutationType != null) {\n collectReferencedTypes(this._mutationType, allReferencedTypes);\n }\n if (this._subscriptionType != null) {\n collectReferencedTypes(this._subscriptionType, allReferencedTypes);\n }\n\n for (const directive of this._directives) {\n // Directives are not validated until validateSchema() is called.\n if (isDirective(directive)) {\n for (const arg of directive.args) {\n collectReferencedTypes(arg.type, allReferencedTypes);\n }\n }\n }\n collectReferencedTypes(__Schema, allReferencedTypes);\n\n // Storing the resulting map for reference by the schema.\n this._typeMap = Object.create(null);\n this._subTypeMap = new Map();\n // Keep track of all implementations by interface name.\n this._implementationsMap = Object.create(null);\n\n for (const namedType of allReferencedTypes) {\n if (namedType == null) {\n continue;\n }\n\n const typeName = namedType.name;\n if (this._typeMap[typeName] !== undefined) {\n throw new Error(\n `Schema must contain uniquely named types but contains multiple types named \"${typeName}\".`,\n );\n }\n this._typeMap[typeName] = namedType;\n\n if (isInterfaceType(namedType)) {\n // Store implementations by interface.\n for (const iface of namedType.getInterfaces()) {\n if (isInterfaceType(iface)) {\n let implementations = this._implementationsMap[iface.name];\n implementations ??= this._implementationsMap[iface.name] = {\n objects: [],\n interfaces: [],\n };\n\n implementations.interfaces.push(namedType);\n }\n }\n } else if (isObjectType(namedType)) {\n // Store implementations by objects.\n for (const iface of namedType.getInterfaces()) {\n if (isInterfaceType(iface)) {\n let implementations = this._implementationsMap[iface.name];\n implementations ??= this._implementationsMap[iface.name] = {\n objects: [],\n interfaces: [],\n };\n\n implementations.objects.push(namedType);\n }\n }\n }\n }\n }\n\n get [Symbol.toStringTag](): string {\n return 'GraphQLSchema';\n }\n\n getQueryType(): Maybe<GraphQLObjectType> {\n return this._queryType;\n }\n\n getMutationType(): Maybe<GraphQLObjectType> {\n return this._mutationType;\n }\n\n getSubscriptionType(): Maybe<GraphQLObjectType> {\n return this._subscriptionType;\n }\n\n getRootType(operation: OperationTypeNode): Maybe<GraphQLObjectType> {\n switch (operation) {\n case OperationTypeNode.QUERY:\n return this.getQueryType();\n case OperationTypeNode.MUTATION:\n return this.getMutationType();\n case OperationTypeNode.SUBSCRIPTION:\n return this.getSubscriptionType();\n }\n }\n\n getTypeMap(): TypeMap {\n return this._typeMap;\n }\n\n getType(name: string): GraphQLNamedType | undefined {\n return this.getTypeMap()[name];\n }\n\n getPossibleTypes(\n abstractType: GraphQLAbstractType,\n ): ReadonlyArray<GraphQLObjectType> {\n return isUnionType(abstractType)\n ? abstractType.getTypes()\n : this.getImplementations(abstractType).objects;\n }\n\n getImplementations(interfaceType: GraphQLInterfaceType): {\n objects: ReadonlyArray<GraphQLObjectType>;\n interfaces: ReadonlyArray<GraphQLInterfaceType>;\n } {\n const implementations = this._implementationsMap[interfaceType.name];\n return implementations ?? { objects: [], interfaces: [] };\n }\n\n isSubType(\n abstractType: GraphQLAbstractType,\n maybeSubType: GraphQLObjectType | GraphQLInterfaceType,\n ): boolean {\n let set = this._subTypeMap.get(abstractType);\n if (set === undefined) {\n if (isUnionType(abstractType)) {\n set = new Set<GraphQLObjectType>(abstractType.getTypes());\n } else {\n const implementations = this.getImplementations(abstractType);\n set = new Set<GraphQLObjectType | GraphQLInterfaceType>([\n ...implementations.objects,\n ...implementations.interfaces,\n ]);\n }\n\n this._subTypeMap.set(abstractType, set);\n }\n return set.has(maybeSubType);\n }\n\n getDirectives(): ReadonlyArray<GraphQLDirective> {\n return this._directives;\n }\n\n getDirective(name: string): Maybe<GraphQLDirective> {\n return this.getDirectives().find((directive) => directive.name === name);\n }\n\n /**\n * This method looks up the field on the given type definition.\n * It has special casing for the three introspection fields, `__schema`,\n * `__type` and `__typename`.\n *\n * `__typename` is special because it can always be queried as a field, even\n * in situations where no other fields are allowed, like on a Union.\n *\n * `__schema` and `__type` could get automatically added to the query type,\n * but that would require mutating type definitions, which would cause issues.\n */\n getField(\n parentType: GraphQLCompositeType,\n fieldName: string,\n ): GraphQLField<unknown, unknown> | undefined {\n switch (fieldName) {\n case SchemaMetaFieldDef.name:\n return this.getQueryType() === parentType\n ? SchemaMetaFieldDef\n : undefined;\n case TypeMetaFieldDef.name:\n return this.getQueryType() === parentType\n ? TypeMetaFieldDef\n : undefined;\n case TypeNameMetaFieldDef.name:\n return TypeNameMetaFieldDef;\n }\n\n // this function is part \"hot\" path inside executor and check presence\n // of 'getFields' is faster than to use `!isUnionType`\n if ('getFields' in parentType) {\n return parentType.getFields()[fieldName];\n }\n return undefined;\n }\n\n toConfig(): GraphQLSchemaNormalizedConfig {\n return {\n description: this.description,\n query: this.getQueryType(),\n mutation: this.getMutationType(),\n subscription: this.getSubscriptionType(),\n types: Object.values(this.getTypeMap()),\n directives: this.getDirectives(),\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n assumeValid: this.assumeValid,\n };\n }\n}\n\ntype TypeMap = ObjMap<GraphQLNamedType>;\n\nexport interface GraphQLSchemaValidationOptions {\n /**\n * When building a schema from a GraphQL service's introspection result, it\n * might be safe to assume the schema is valid. Set to true to assume the\n * produced schema is valid.\n *\n * Default: false\n */\n assumeValid?: boolean | undefined;\n}\n\nexport interface GraphQLSchemaConfig extends GraphQLSchemaValidationOptions {\n description?: Maybe<string>;\n query?: Maybe<GraphQLObjectType>;\n mutation?: Maybe<GraphQLObjectType>;\n subscription?: Maybe<GraphQLObjectType>;\n types?: Maybe<ReadonlyArray<GraphQLNamedType>>;\n directives?: Maybe<ReadonlyArray<GraphQLDirective>>;\n extensions?: Maybe<Readonly<GraphQLSchemaExtensions>>;\n astNode?: Maybe<SchemaDefinitionNode>;\n extensionASTNodes?: Maybe<ReadonlyArray<SchemaExtensionNode>>;\n}\n\n/**\n * @internal\n */\nexport interface GraphQLSchemaNormalizedConfig extends GraphQLSchemaConfig {\n description: Maybe<string>;\n types: ReadonlyArray<GraphQLNamedType>;\n directives: ReadonlyArray<GraphQLDirective>;\n extensions: Readonly<GraphQLSchemaExtensions>;\n extensionASTNodes: ReadonlyArray<SchemaExtensionNode>;\n assumeValid: boolean;\n}\n\nfunction collectReferencedTypes(\n type: GraphQLType,\n typeSet: Set<GraphQLNamedType>,\n): Set<GraphQLNamedType> {\n const namedType = getNamedType(type);\n\n if (!typeSet.has(namedType)) {\n typeSet.add(namedType);\n if (isUnionType(namedType)) {\n for (const memberType of namedType.getTypes()) {\n collectReferencedTypes(memberType, typeSet);\n }\n } else if (isObjectType(namedType) || isInterfaceType(namedType)) {\n for (const interfaceType of namedType.getInterfaces()) {\n collectReferencedTypes(interfaceType, typeSet);\n }\n\n for (const field of Object.values(namedType.getFields())) {\n collectReferencedTypes(field.type, typeSet);\n for (const arg of field.args) {\n collectReferencedTypes(arg.type, typeSet);\n }\n }\n } else if (isInputObjectType(namedType)) {\n for (const field of Object.values(namedType.getFields())) {\n collectReferencedTypes(field.type, typeSet);\n }\n }\n }\n\n return typeSet;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/type/schema.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Schema */\n\nimport { inspect } from '../jsutils/inspect.ts';\nimport { instanceOf } from '../jsutils/instanceOf.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap } from '../jsutils/ObjMap.ts';\nimport { toObjMapWithSymbols } from '../jsutils/toObjMap.ts';\n\nimport type { GraphQLError } from '../error/GraphQLError.ts';\n\nimport type {\n SchemaDefinitionNode,\n SchemaExtensionNode,\n} from '../language/ast.ts';\nimport { OperationTypeNode } from '../language/ast.ts';\n\nimport type {\n GraphQLAbstractType,\n GraphQLCompositeType,\n GraphQLField,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n GraphQLType,\n} from './definition.ts';\nimport {\n getNamedType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n isUnionType,\n} from './definition.ts';\nimport type { GraphQLDirective } from './directives.ts';\nimport { isDirective, specifiedDirectives } from './directives.ts';\nimport {\n __Schema,\n SchemaMetaFieldDef,\n TypeMetaFieldDef,\n TypeNameMetaFieldDef,\n} from './introspection.ts';\n\n/**\n * Test if the given value is a GraphQL schema.\n * @param schema - Value to inspect.\n * @returns True when the value is a GraphQLSchema.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n * import { GraphQLString, isSchema } from 'graphql/type';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n *\n * isSchema(schema); // => true\n * isSchema(GraphQLString); // => false\n * ```\n */\nexport function isSchema(schema: unknown): schema is GraphQLSchema {\n return instanceOf(schema, schemaSymbol, GraphQLSchema);\n}\n\n/**\n * Returns the value as a GraphQLSchema, or throws if it is not a schema.\n * @param schema - GraphQL schema to use.\n * @returns The value typed as a GraphQLSchema.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n * import { assertSchema, GraphQLString } from 'graphql/type';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n *\n * assertSchema(schema); // => schema\n * assertSchema(GraphQLString); // throws an error\n * ```\n */\nexport function assertSchema(schema: unknown): GraphQLSchema {\n if (!isSchema(schema)) {\n throw new Error(`Expected ${inspect(schema)} to be a GraphQL schema.`);\n }\n return schema;\n}\n\n/**\n * Custom extensions\n * @remarks\n * Use a unique identifier name for your extension, for example the name of\n * your library or project. Do not use a shortened identifier as this increases\n * the risk of conflicts. We recommend you add at most one extension field,\n * an object which can contain all the values you need.\n */\nexport interface GraphQLSchemaExtensions {\n [attributeName: string | symbol]: unknown;\n}\n\n/** @private */\nconst schemaSymbol: unique symbol = Symbol('Schema');\n\n/**\n * Schema Definition\n *\n * A Schema is created by supplying the root types of each type of operation,\n * query and mutation (optional). A schema definition is then supplied to the\n * validator and executor.\n * @example\n * ```ts\n * const MyAppQueryRootType = new GraphQLObjectType({\n * name: 'Query',\n * fields: {\n * greeting: { type: GraphQLString },\n * },\n * });\n *\n * const MyAppMutationRootType = new GraphQLObjectType({\n * name: 'Mutation',\n * fields: {\n * setGreeting: { type: GraphQLString },\n * },\n * });\n *\n * const MyAppSchema = new GraphQLSchema({\n * query: MyAppQueryRootType,\n * mutation: MyAppMutationRootType,\n * });\n * ```\n * @example\n * When the schema is constructed, by default only the types that are reachable\n * by traversing the root types are included, other types must be explicitly\n * referenced.\n *\n * ```ts\n * const characterInterface = new GraphQLInterfaceType({\n * name: 'Character',\n * fields: {\n * name: { type: GraphQLString },\n * },\n * });\n *\n * const humanType = new GraphQLObjectType({\n * name: 'Human',\n * interfaces: [characterInterface],\n * fields: {\n * name: { type: GraphQLString },\n * },\n * });\n *\n * const droidType = new GraphQLObjectType({\n * name: 'Droid',\n * interfaces: [characterInterface],\n * fields: {\n * name: { type: GraphQLString },\n * },\n * });\n *\n * const schema = new GraphQLSchema({\n * query: new GraphQLObjectType({\n * name: 'Query',\n * fields: {\n * hero: { type: characterInterface },\n * },\n * }),\n * // Since this schema references only the `Character` interface it's\n * // necessary to explicitly list the types that implement it if\n * // you want them to be included in the final schema.\n * types: [humanType, droidType],\n * });\n * ```\n * @example\n * If an array of `directives` are provided to GraphQLSchema, that will be the\n * exact list of directives represented and allowed. If `directives` is not\n * provided then a default set of the specified directives (e.g. `@include` and\n * `@skip`) will be used. If you wish to provide *additional* directives to\n * these specified directives, you must explicitly declare them.\n *\n * ```ts\n * const MyAppSchema = new GraphQLSchema({\n * query: MyAppQueryRootType,\n * directives: specifiedDirectives.concat([myCustomDirective]),\n * });\n * ```\n */\nexport class GraphQLSchema {\n /**\n * Internal runtime marker used to identify GraphQLSchema instances.\n * @private\n */\n readonly __kind: typeof schemaSymbol = schemaSymbol;\n /** Human-readable description for this schema element, if provided. */\n description: Maybe<string>;\n /** Extension fields to include in the formatted result. */\n extensions: Readonly<GraphQLSchemaExtensions>;\n /** AST node from which this schema element was built, if available. */\n astNode: Maybe<SchemaDefinitionNode>;\n /** AST extension nodes applied to this schema element. */\n extensionASTNodes: ReadonlyArray<SchemaExtensionNode>;\n\n /** Whether this schema instance skips validation checks. */\n assumeValid: boolean;\n /**\n * Cached schema validation errors, if validation has already run.\n * @private\n */\n __validationErrors: Maybe<ReadonlyArray<GraphQLError>>;\n\n private _queryType: Maybe<GraphQLObjectType>;\n private _mutationType: Maybe<GraphQLObjectType>;\n private _subscriptionType: Maybe<GraphQLObjectType>;\n private _directives: ReadonlyArray<GraphQLDirective>;\n private _typeMap: TypeMap;\n private _subTypeMap: Map<\n GraphQLAbstractType,\n Set<GraphQLObjectType | GraphQLInterfaceType>\n >;\n\n private _implementationsMap: ObjMap<{\n objects: Array<GraphQLObjectType>;\n interfaces: Array<GraphQLInterfaceType>;\n }>;\n\n /**\n * Creates a GraphQLSchema instance.\n * @param config - Configuration describing this object.\n * @example\n * ```ts\n * // Create a schema with the required query root.\n * import {\n * GraphQLObjectType,\n * GraphQLSchema,\n * GraphQLString,\n * } from 'graphql/type';\n *\n * const Query = new GraphQLObjectType({\n * name: 'Query',\n * fields: {\n * greeting: {\n * type: GraphQLString,\n * resolve: () => 'Hello',\n * },\n * },\n * });\n *\n * const schema = new GraphQLSchema({\n * description: 'The application schema.',\n * query: Query,\n * });\n *\n * schema.getQueryType(); // => Query\n * schema.description; // => 'The application schema.'\n * ```\n * @example\n * ```ts\n * // This variant configures every schema option, including directives and extensions.\n * import { DirectiveLocation, parse } from 'graphql/language';\n * import {\n * GraphQLBoolean,\n * GraphQLDirective,\n * GraphQLObjectType,\n * GraphQLSchema,\n * GraphQLString,\n * } from 'graphql/type';\n *\n * const Query = new GraphQLObjectType({\n * name: 'Query',\n * fields: { greeting: { type: GraphQLString } },\n * });\n * const Mutation = new GraphQLObjectType({\n * name: 'Mutation',\n * fields: { setGreeting: { type: GraphQLString } },\n * });\n * const Subscription = new GraphQLObjectType({\n * name: 'Subscription',\n * fields: { greetingChanged: { type: GraphQLString } },\n * });\n * const AuditEvent = new GraphQLObjectType({\n * name: 'AuditEvent',\n * fields: { message: { type: GraphQLString } },\n * });\n * const authDirective = new GraphQLDirective({\n * name: 'auth',\n * locations: [DirectiveLocation.FIELD_DEFINITION],\n * args: { required: { type: GraphQLBoolean } },\n * });\n * const schemaDocument = parse(`\n * schema {\n * query: Query\n * mutation: Mutation\n * subscription: Subscription\n * }\n *\n * extend schema @auth\n * `);\n *\n * const schema = new GraphQLSchema({\n * description: 'Operations exposed by the application.',\n * query: Query,\n * mutation: Mutation,\n * subscription: Subscription,\n * types: [AuditEvent],\n * directives: [authDirective],\n * extensions: { owner: 'platform' },\n * astNode: schemaDocument.definitions[0],\n * extensionASTNodes: [ schemaDocument.definitions[1] ],\n * assumeValid: true,\n * });\n *\n * schema.getMutationType(); // => Mutation\n * schema.getSubscriptionType(); // => Subscription\n * schema.getType('AuditEvent'); // => AuditEvent\n * schema.getDirective('auth'); // => authDirective\n * schema.extensions; // => { owner: 'platform' }\n * ```\n */\n constructor(config: Readonly<GraphQLSchemaConfig>) {\n // If this schema was built from a source known to be valid, then it may be\n // marked with assumeValid to avoid an additional type system validation.\n this.assumeValid = config.assumeValid ?? false;\n // Used as a cache for validateSchema().\n this.__validationErrors = config.assumeValid === true ? [] : undefined;\n\n this.description = config.description;\n this.extensions = toObjMapWithSymbols(config.extensions);\n this.astNode = config.astNode;\n this.extensionASTNodes = config.extensionASTNodes ?? [];\n\n this._queryType = config.query;\n this._mutationType = config.mutation;\n this._subscriptionType = config.subscription;\n // Provide specified directives (e.g. @include and @skip) by default.\n this._directives = config.directives ?? specifiedDirectives;\n\n // To preserve order of user-provided types, we add first to add them to\n // the set of \"collected\" types, so `collectReferencedTypes` ignore them.\n const allReferencedTypes = new Set<GraphQLNamedType>(config.types);\n if (config.types != null) {\n for (const type of config.types) {\n // When we ready to process this type, we remove it from \"collected\" types\n // and then add it together with all dependent types in the correct position.\n allReferencedTypes.delete(type);\n collectReferencedTypes(type, allReferencedTypes);\n }\n }\n\n if (this._queryType != null) {\n collectReferencedTypes(this._queryType, allReferencedTypes);\n }\n if (this._mutationType != null) {\n collectReferencedTypes(this._mutationType, allReferencedTypes);\n }\n if (this._subscriptionType != null) {\n collectReferencedTypes(this._subscriptionType, allReferencedTypes);\n }\n\n for (const directive of this._directives) {\n // Directives are not validated until validateSchema() is called.\n if (isDirective(directive)) {\n for (const arg of directive.args) {\n collectReferencedTypes(arg.type, allReferencedTypes);\n }\n }\n }\n collectReferencedTypes(__Schema, allReferencedTypes);\n\n // Storing the resulting map for reference by the schema.\n this._typeMap = Object.create(null);\n this._subTypeMap = new Map();\n // Keep track of all implementations by interface name.\n this._implementationsMap = Object.create(null);\n\n for (const namedType of allReferencedTypes) {\n if (namedType == null) {\n continue;\n }\n\n const typeName = namedType.name;\n if (this._typeMap[typeName] !== undefined) {\n throw new Error(\n `Schema must contain uniquely named types but contains multiple types named \"${typeName}\".`,\n );\n }\n this._typeMap[typeName] = namedType;\n\n if (isInterfaceType(namedType)) {\n // Store implementations by interface.\n for (const iface of namedType.getInterfaces()) {\n if (isInterfaceType(iface)) {\n let implementations = this._implementationsMap[iface.name];\n implementations ??= this._implementationsMap[iface.name] = {\n objects: [],\n interfaces: [],\n };\n\n implementations.interfaces.push(namedType);\n }\n }\n } else if (isObjectType(namedType)) {\n // Store implementations by objects.\n for (const iface of namedType.getInterfaces()) {\n if (isInterfaceType(iface)) {\n let implementations = this._implementationsMap[iface.name];\n implementations ??= this._implementationsMap[iface.name] = {\n objects: [],\n interfaces: [],\n };\n\n implementations.objects.push(namedType);\n }\n }\n }\n }\n }\n\n /**\n * Returns the value used by `Object.prototype.toString`.\n * @returns The built-in string tag for this object.\n */\n get [Symbol.toStringTag](): string {\n return 'GraphQLSchema';\n }\n\n /**\n * Returns the root object type for query operations.\n * @returns The query root type, if this schema defines one.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n *\n * schema.getQueryType()?.name; // => 'Query'\n * ```\n */\n getQueryType(): Maybe<GraphQLObjectType> {\n return this._queryType;\n }\n\n /**\n * Returns the root object type for mutation operations.\n * @returns The mutation root type, if this schema defines one.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n *\n * type Mutation {\n * setGreeting(value: String!): String\n * }\n * `);\n *\n * schema.getMutationType()?.name; // => 'Mutation'\n * ```\n */\n getMutationType(): Maybe<GraphQLObjectType> {\n return this._mutationType;\n }\n\n /**\n * Returns the root object type for subscription operations.\n * @returns The subscription root type, if this schema defines one.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n *\n * type Subscription {\n * greetings: String\n * }\n * `);\n *\n * schema.getSubscriptionType()?.name; // => 'Subscription'\n * ```\n */\n getSubscriptionType(): Maybe<GraphQLObjectType> {\n return this._subscriptionType;\n }\n\n /**\n * Returns the root object type for the requested operation kind.\n * @param operation - Operation kind to resolve.\n * @returns The root object type for the operation kind, if this schema defines one.\n * @example\n * ```ts\n * import { OperationTypeNode } from 'graphql/language';\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n *\n * type Mutation {\n * setGreeting(value: String!): String\n * }\n * `);\n *\n * schema.getRootType(OperationTypeNode.QUERY)?.name; // => 'Query'\n * schema.getRootType(OperationTypeNode.MUTATION)?.name; // => 'Mutation'\n * schema.getRootType(OperationTypeNode.SUBSCRIPTION); // => undefined\n * ```\n */\n getRootType(operation: OperationTypeNode): Maybe<GraphQLObjectType> {\n switch (operation) {\n case OperationTypeNode.QUERY:\n return this.getQueryType();\n case OperationTypeNode.MUTATION:\n return this.getMutationType();\n case OperationTypeNode.SUBSCRIPTION:\n return this.getSubscriptionType();\n }\n }\n\n /**\n * Returns all named types known to this schema.\n * @returns A map of schema types keyed by type name.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type User {\n * name: String\n * }\n *\n * type Query {\n * viewer: User\n * }\n * `);\n *\n * const typeMap = schema.getTypeMap();\n *\n * typeMap.User.name; // => 'User'\n * typeMap.Query.name; // => 'Query'\n * typeMap.String.name; // => 'String'\n * ```\n */\n getTypeMap(): TypeMap {\n return this._typeMap;\n }\n\n /**\n * Returns the named type with the provided name.\n * @param name - The GraphQL name to look up.\n * @returns The named schema type, if one exists.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type User {\n * name: String\n * }\n *\n * type Query {\n * viewer: User\n * }\n * `);\n *\n * schema.getType('User')?.toString(); // => 'User'\n * schema.getType('Missing'); // => undefined\n * ```\n */\n getType(name: string): GraphQLNamedType | undefined {\n return this.getTypeMap()[name];\n }\n\n /**\n * Returns object types that may be returned for an abstract type.\n * @param abstractType - Interface or union type to inspect.\n * @returns Object types that may satisfy the abstract type.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n * import { assertInterfaceType, assertUnionType } from 'graphql/type';\n *\n * const schema = buildSchema(`\n * interface Node {\n * id: ID!\n * }\n *\n * type User implements Node {\n * id: ID!\n * }\n *\n * type Organization implements Node {\n * id: ID!\n * }\n *\n * union SearchResult = User | Organization\n *\n * type Query {\n * node: Node\n * search: [SearchResult]\n * }\n * `);\n *\n * const Node = assertInterfaceType(schema.getType('Node'));\n * const SearchResult = assertUnionType(schema.getType('SearchResult'));\n *\n * schema.getPossibleTypes(Node).map((type) => type.name); // => ['User', 'Organization']\n * schema.getPossibleTypes(SearchResult).map((type) => type.name); // => ['User', 'Organization']\n * ```\n */\n getPossibleTypes(\n abstractType: GraphQLAbstractType,\n ): ReadonlyArray<GraphQLObjectType> {\n return isUnionType(abstractType)\n ? abstractType.getTypes()\n : this.getImplementations(abstractType).objects;\n }\n\n /**\n * Returns objects and interfaces that implement an interface type.\n * @param interfaceType - Interface type to inspect.\n * @returns Object and interface implementations of the interface.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n * import { assertInterfaceType } from 'graphql/type';\n *\n * const schema = buildSchema(`\n * interface Resource {\n * url: String!\n * }\n *\n * interface Image implements Resource {\n * url: String!\n * width: Int\n * }\n *\n * type Photo implements Resource & Image {\n * url: String!\n * width: Int\n * }\n *\n * type Query {\n * resource: Resource\n * }\n * `);\n *\n * const Resource = assertInterfaceType(schema.getType('Resource'));\n * const implementations = schema.getImplementations(Resource);\n *\n * implementations.interfaces.map((type) => type.name); // => ['Image']\n * implementations.objects.map((type) => type.name); // => ['Photo']\n * ```\n */\n getImplementations(interfaceType: GraphQLInterfaceType): {\n objects: ReadonlyArray<GraphQLObjectType>;\n interfaces: ReadonlyArray<GraphQLInterfaceType>;\n } {\n const implementations = this._implementationsMap[interfaceType.name];\n return implementations ?? { objects: [], interfaces: [] };\n }\n\n /**\n * Returns whether one type is a possible runtime subtype of an abstract type.\n * @param abstractType - Interface or union type to inspect.\n * @param maybeSubType - Object or interface type to test as a possible subtype.\n * @returns True when the subtype may satisfy the abstract type.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n * import { assertInterfaceType, assertObjectType } from 'graphql/type';\n *\n * const schema = buildSchema(`\n * interface Node {\n * id: ID!\n * }\n *\n * type User implements Node {\n * id: ID!\n * }\n *\n * type Review {\n * body: String\n * }\n *\n * type Query {\n * node: Node\n * review: Review\n * }\n * `);\n *\n * const Node = assertInterfaceType(schema.getType('Node'));\n * const User = assertObjectType(schema.getType('User'));\n * const Review = assertObjectType(schema.getType('Review'));\n *\n * schema.isSubType(Node, User); // => true\n * schema.isSubType(Node, Review); // => false\n * ```\n */\n isSubType(\n abstractType: GraphQLAbstractType,\n maybeSubType: GraphQLObjectType | GraphQLInterfaceType,\n ): boolean {\n let set = this._subTypeMap.get(abstractType);\n if (set === undefined) {\n if (isUnionType(abstractType)) {\n set = new Set<GraphQLObjectType>(abstractType.getTypes());\n } else {\n const implementations = this.getImplementations(abstractType);\n set = new Set<GraphQLObjectType | GraphQLInterfaceType>([\n ...implementations.objects,\n ...implementations.interfaces,\n ]);\n }\n\n this._subTypeMap.set(abstractType, set);\n }\n return set.has(maybeSubType);\n }\n\n /**\n * Returns directives available in this schema.\n * @returns Directives available in this schema.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * directive @upper on FIELD_DEFINITION\n *\n * type Query {\n * greeting: String @upper\n * }\n * `);\n *\n * schema.getDirectives().map((directive) => directive.name); // => ['include', 'skip', 'deprecated', 'specifiedBy', 'oneOf', 'upper']\n * ```\n */\n getDirectives(): ReadonlyArray<GraphQLDirective> {\n return this._directives;\n }\n\n /**\n * Returns the current directive definition.\n * @param name - The GraphQL name to look up.\n * @returns The current directive definition, if known.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * directive @upper on FIELD_DEFINITION\n *\n * type Query {\n * greeting: String @upper\n * }\n * `);\n *\n * schema.getDirective('upper')?.name; // => 'upper'\n * schema.getDirective('missing'); // => undefined\n * ```\n */\n getDirective(name: string): Maybe<GraphQLDirective> {\n return this.getDirectives().find((directive) => directive.name === name);\n }\n\n /**\n * This method looks up the field on the given type definition.\n * It has special casing for the three introspection fields, `__schema`,\n * `__type` and `__typename`.\n *\n * `__typename` is special because it can always be queried as a field, even\n * in situations where no other fields are allowed, like on a Union.\n *\n * `__schema` and `__type` could get automatically added to the query type,\n * but that would require mutating type definitions, which would cause issues.\n * @param parentType - Composite type to look up the field on.\n * @param fieldName - Field name to look up.\n * @returns The field definition, including supported introspection fields.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const queryType = schema.getQueryType();\n *\n * schema.getField(queryType, 'greeting')?.name; // => 'greeting'\n * schema.getField(queryType, '__typename')?.name; // => '__typename'\n * schema.getField(queryType, 'missing'); // => undefined\n * ```\n */\n getField(\n parentType: GraphQLCompositeType,\n fieldName: string,\n ): GraphQLField<unknown, unknown> | undefined {\n switch (fieldName) {\n case SchemaMetaFieldDef.name:\n return this.getQueryType() === parentType\n ? SchemaMetaFieldDef\n : undefined;\n case TypeMetaFieldDef.name:\n return this.getQueryType() === parentType\n ? TypeMetaFieldDef\n : undefined;\n case TypeNameMetaFieldDef.name:\n return TypeNameMetaFieldDef;\n }\n\n // this function is part \"hot\" path inside executor and check presence\n // of 'getFields' is faster than to use `!isUnionType`\n if ('getFields' in parentType) {\n return parentType.getFields()[fieldName];\n }\n return undefined;\n }\n\n /**\n * Returns a normalized configuration object for this object.\n *\n * The returned config preserves the original `assumeValid` flag so the schema\n * can be recreated with the same validation behavior.\n * @returns A configuration object that can be used to recreate this object.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql/utilities';\n * import { GraphQLSchema } from 'graphql/type';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n *\n * const config = schema.toConfig();\n * const schemaCopy = new GraphQLSchema(config);\n *\n * config.query?.name; // => 'Query'\n * schemaCopy.getQueryType()?.name; // => 'Query'\n * ```\n */\n toConfig(): GraphQLSchemaNormalizedConfig {\n return {\n description: this.description,\n query: this.getQueryType(),\n mutation: this.getMutationType(),\n subscription: this.getSubscriptionType(),\n types: Object.values(this.getTypeMap()),\n directives: this.getDirectives(),\n extensions: this.extensions,\n astNode: this.astNode,\n extensionASTNodes: this.extensionASTNodes,\n assumeValid: this.assumeValid,\n };\n }\n}\n\ntype TypeMap = ObjMap<GraphQLNamedType>;\n\n/** @internal */\nexport interface GraphQLSchemaValidationOptions {\n /**\n * When building a schema from a GraphQL service's introspection result, it\n * might be safe to assume the schema is valid. Set to true to assume the\n * produced schema is valid.\n *\n * Default: false\n *\n * @internal\n */\n assumeValid?: boolean | undefined;\n}\n\n/** Configuration used to construct a GraphQLSchema. */\nexport interface GraphQLSchemaConfig extends GraphQLSchemaValidationOptions {\n /** Human-readable description for this schema element, if provided. */\n description?: Maybe<string>;\n /** Root object type for query operations. */\n query?: Maybe<GraphQLObjectType>;\n /** Root object type for mutation operations. */\n mutation?: Maybe<GraphQLObjectType>;\n /** Root object type for subscription operations. */\n subscription?: Maybe<GraphQLObjectType>;\n /** Object types that belong to this union type. */\n types?: Maybe<ReadonlyArray<GraphQLNamedType>>;\n /** Directives available in this schema or applied to this AST node. */\n directives?: Maybe<ReadonlyArray<GraphQLDirective>>;\n /** Extension fields to include in the formatted result. */\n extensions?: Maybe<Readonly<GraphQLSchemaExtensions>>;\n /** AST node from which this schema element was built, if available. */\n astNode?: Maybe<SchemaDefinitionNode>;\n /** AST extension nodes applied to this schema element. */\n extensionASTNodes?: Maybe<ReadonlyArray<SchemaExtensionNode>>;\n}\n\n/** @internal */\nexport interface GraphQLSchemaNormalizedConfig extends GraphQLSchemaConfig {\n description: Maybe<string>;\n types: ReadonlyArray<GraphQLNamedType>;\n directives: ReadonlyArray<GraphQLDirective>;\n extensions: Readonly<GraphQLSchemaExtensions>;\n extensionASTNodes: ReadonlyArray<SchemaExtensionNode>;\n assumeValid: boolean;\n}\n\nfunction collectReferencedTypes(\n type: GraphQLType,\n typeSet: Set<GraphQLNamedType>,\n): Set<GraphQLNamedType> {\n const namedType = getNamedType(type);\n\n if (!typeSet.has(namedType)) {\n typeSet.add(namedType);\n if (isUnionType(namedType)) {\n for (const memberType of namedType.getTypes()) {\n collectReferencedTypes(memberType, typeSet);\n }\n } else if (isObjectType(namedType) || isInterfaceType(namedType)) {\n for (const interfaceType of namedType.getInterfaces()) {\n collectReferencedTypes(interfaceType, typeSet);\n }\n\n for (const field of Object.values(namedType.getFields())) {\n collectReferencedTypes(field.type, typeSet);\n for (const arg of field.args) {\n collectReferencedTypes(arg.type, typeSet);\n }\n }\n } else if (isInputObjectType(namedType)) {\n for (const field of Object.values(namedType.getFields())) {\n collectReferencedTypes(field.type, typeSet);\n }\n }\n }\n\n return typeSet;\n}\n"]}
|
package/type/schema.mjs
CHANGED
|
@@ -5,9 +5,6 @@ import { OperationTypeNode } from "../language/ast.mjs";
|
|
|
5
5
|
import { getNamedType, isInputObjectType, isInterfaceType, isObjectType, isUnionType, } from "./definition.mjs";
|
|
6
6
|
import { isDirective, specifiedDirectives } from "./directives.mjs";
|
|
7
7
|
import { __Schema, SchemaMetaFieldDef, TypeMetaFieldDef, TypeNameMetaFieldDef, } from "./introspection.mjs";
|
|
8
|
-
/**
|
|
9
|
-
* Test if the given value is a GraphQL schema.
|
|
10
|
-
*/
|
|
11
8
|
export function isSchema(schema) {
|
|
12
9
|
return instanceOf(schema, schemaSymbol, GraphQLSchema);
|
|
13
10
|
}
|
|
@@ -18,81 +15,10 @@ export function assertSchema(schema) {
|
|
|
18
15
|
return schema;
|
|
19
16
|
}
|
|
20
17
|
const schemaSymbol = Symbol('Schema');
|
|
21
|
-
/**
|
|
22
|
-
* Schema Definition
|
|
23
|
-
*
|
|
24
|
-
* A Schema is created by supplying the root types of each type of operation,
|
|
25
|
-
* query and mutation (optional). A schema definition is then supplied to the
|
|
26
|
-
* validator and executor.
|
|
27
|
-
*
|
|
28
|
-
* Example:
|
|
29
|
-
*
|
|
30
|
-
* ```ts
|
|
31
|
-
* const MyAppSchema = new GraphQLSchema({
|
|
32
|
-
* query: MyAppQueryRootType,
|
|
33
|
-
* mutation: MyAppMutationRootType,
|
|
34
|
-
* })
|
|
35
|
-
* ```
|
|
36
|
-
*
|
|
37
|
-
* Note: When the schema is constructed, by default only the types that are
|
|
38
|
-
* reachable by traversing the root types are included, other types must be
|
|
39
|
-
* explicitly referenced.
|
|
40
|
-
*
|
|
41
|
-
* Example:
|
|
42
|
-
*
|
|
43
|
-
* ```ts
|
|
44
|
-
* const characterInterface = new GraphQLInterfaceType({
|
|
45
|
-
* name: 'Character',
|
|
46
|
-
* ...
|
|
47
|
-
* });
|
|
48
|
-
*
|
|
49
|
-
* const humanType = new GraphQLObjectType({
|
|
50
|
-
* name: 'Human',
|
|
51
|
-
* interfaces: [characterInterface],
|
|
52
|
-
* ...
|
|
53
|
-
* });
|
|
54
|
-
*
|
|
55
|
-
* const droidType = new GraphQLObjectType({
|
|
56
|
-
* name: 'Droid',
|
|
57
|
-
* interfaces: [characterInterface],
|
|
58
|
-
* ...
|
|
59
|
-
* });
|
|
60
|
-
*
|
|
61
|
-
* const schema = new GraphQLSchema({
|
|
62
|
-
* query: new GraphQLObjectType({
|
|
63
|
-
* name: 'Query',
|
|
64
|
-
* fields: {
|
|
65
|
-
* hero: { type: characterInterface, ... },
|
|
66
|
-
* }
|
|
67
|
-
* }),
|
|
68
|
-
* ...
|
|
69
|
-
* // Since this schema references only the `Character` interface it's
|
|
70
|
-
* // necessary to explicitly list the types that implement it if
|
|
71
|
-
* // you want them to be included in the final schema.
|
|
72
|
-
* types: [humanType, droidType],
|
|
73
|
-
* })
|
|
74
|
-
* ```
|
|
75
|
-
*
|
|
76
|
-
* Note: If an array of `directives` are provided to GraphQLSchema, that will be
|
|
77
|
-
* the exact list of directives represented and allowed. If `directives` is not
|
|
78
|
-
* provided then a default set of the specified directives (e.g. `@include` and
|
|
79
|
-
* `@skip`) will be used. If you wish to provide *additional* directives to these
|
|
80
|
-
* specified directives, you must explicitly declare them. Example:
|
|
81
|
-
*
|
|
82
|
-
* ```ts
|
|
83
|
-
* const MyAppSchema = new GraphQLSchema({
|
|
84
|
-
* ...
|
|
85
|
-
* directives: specifiedDirectives.concat([ myCustomDirective ]),
|
|
86
|
-
* })
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
18
|
export class GraphQLSchema {
|
|
90
19
|
constructor(config) {
|
|
91
20
|
this.__kind = schemaSymbol;
|
|
92
|
-
// If this schema was built from a source known to be valid, then it may be
|
|
93
|
-
// marked with assumeValid to avoid an additional type system validation.
|
|
94
21
|
this.assumeValid = config.assumeValid ?? false;
|
|
95
|
-
// Used as a cache for validateSchema().
|
|
96
22
|
this.__validationErrors = config.assumeValid === true ? [] : undefined;
|
|
97
23
|
this.description = config.description;
|
|
98
24
|
this.extensions = toObjMapWithSymbols(config.extensions);
|
|
@@ -101,15 +27,10 @@ export class GraphQLSchema {
|
|
|
101
27
|
this._queryType = config.query;
|
|
102
28
|
this._mutationType = config.mutation;
|
|
103
29
|
this._subscriptionType = config.subscription;
|
|
104
|
-
// Provide specified directives (e.g. @include and @skip) by default.
|
|
105
30
|
this._directives = config.directives ?? specifiedDirectives;
|
|
106
|
-
// To preserve order of user-provided types, we add first to add them to
|
|
107
|
-
// the set of "collected" types, so `collectReferencedTypes` ignore them.
|
|
108
31
|
const allReferencedTypes = new Set(config.types);
|
|
109
32
|
if (config.types != null) {
|
|
110
33
|
for (const type of config.types) {
|
|
111
|
-
// When we ready to process this type, we remove it from "collected" types
|
|
112
|
-
// and then add it together with all dependent types in the correct position.
|
|
113
34
|
allReferencedTypes.delete(type);
|
|
114
35
|
collectReferencedTypes(type, allReferencedTypes);
|
|
115
36
|
}
|
|
@@ -124,7 +45,6 @@ export class GraphQLSchema {
|
|
|
124
45
|
collectReferencedTypes(this._subscriptionType, allReferencedTypes);
|
|
125
46
|
}
|
|
126
47
|
for (const directive of this._directives) {
|
|
127
|
-
// Directives are not validated until validateSchema() is called.
|
|
128
48
|
if (isDirective(directive)) {
|
|
129
49
|
for (const arg of directive.args) {
|
|
130
50
|
collectReferencedTypes(arg.type, allReferencedTypes);
|
|
@@ -132,10 +52,8 @@ export class GraphQLSchema {
|
|
|
132
52
|
}
|
|
133
53
|
}
|
|
134
54
|
collectReferencedTypes(__Schema, allReferencedTypes);
|
|
135
|
-
// Storing the resulting map for reference by the schema.
|
|
136
55
|
this._typeMap = Object.create(null);
|
|
137
56
|
this._subTypeMap = new Map();
|
|
138
|
-
// Keep track of all implementations by interface name.
|
|
139
57
|
this._implementationsMap = Object.create(null);
|
|
140
58
|
for (const namedType of allReferencedTypes) {
|
|
141
59
|
if (namedType == null) {
|
|
@@ -147,7 +65,6 @@ export class GraphQLSchema {
|
|
|
147
65
|
}
|
|
148
66
|
this._typeMap[typeName] = namedType;
|
|
149
67
|
if (isInterfaceType(namedType)) {
|
|
150
|
-
// Store implementations by interface.
|
|
151
68
|
for (const iface of namedType.getInterfaces()) {
|
|
152
69
|
if (isInterfaceType(iface)) {
|
|
153
70
|
let implementations = this._implementationsMap[iface.name];
|
|
@@ -160,7 +77,6 @@ export class GraphQLSchema {
|
|
|
160
77
|
}
|
|
161
78
|
}
|
|
162
79
|
else if (isObjectType(namedType)) {
|
|
163
|
-
// Store implementations by objects.
|
|
164
80
|
for (const iface of namedType.getInterfaces()) {
|
|
165
81
|
if (isInterfaceType(iface)) {
|
|
166
82
|
let implementations = this._implementationsMap[iface.name];
|
|
@@ -234,17 +150,6 @@ export class GraphQLSchema {
|
|
|
234
150
|
getDirective(name) {
|
|
235
151
|
return this.getDirectives().find((directive) => directive.name === name);
|
|
236
152
|
}
|
|
237
|
-
/**
|
|
238
|
-
* This method looks up the field on the given type definition.
|
|
239
|
-
* It has special casing for the three introspection fields, `__schema`,
|
|
240
|
-
* `__type` and `__typename`.
|
|
241
|
-
*
|
|
242
|
-
* `__typename` is special because it can always be queried as a field, even
|
|
243
|
-
* in situations where no other fields are allowed, like on a Union.
|
|
244
|
-
*
|
|
245
|
-
* `__schema` and `__type` could get automatically added to the query type,
|
|
246
|
-
* but that would require mutating type definitions, which would cause issues.
|
|
247
|
-
*/
|
|
248
153
|
getField(parentType, fieldName) {
|
|
249
154
|
switch (fieldName) {
|
|
250
155
|
case SchemaMetaFieldDef.name:
|
|
@@ -258,8 +163,6 @@ export class GraphQLSchema {
|
|
|
258
163
|
case TypeNameMetaFieldDef.name:
|
|
259
164
|
return TypeNameMetaFieldDef;
|
|
260
165
|
}
|
|
261
|
-
// this function is part "hot" path inside executor and check presence
|
|
262
|
-
// of 'getFields' is faster than to use `!isUnionType`
|
|
263
166
|
if ('getFields' in parentType) {
|
|
264
167
|
return parentType.getFields()[fieldName];
|
|
265
168
|
}
|