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
|
@@ -2,165 +2,109 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveSchemaCoordinate = resolveSchemaCoordinate;
|
|
4
4
|
exports.resolveASTSchemaCoordinate = resolveASTSchemaCoordinate;
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
/**
|
|
10
|
-
* A schema coordinate is resolved in the context of a GraphQL schema to
|
|
11
|
-
* uniquely identify a schema element. It returns undefined if the schema
|
|
12
|
-
* coordinate does not resolve to a schema element, meta-field, or introspection
|
|
13
|
-
* schema element. It will throw if the containing schema element (if
|
|
14
|
-
* applicable) does not exist.
|
|
15
|
-
*
|
|
16
|
-
* https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
|
|
17
|
-
*/
|
|
5
|
+
const inspect_ts_1 = require("../jsutils/inspect.js");
|
|
6
|
+
const kinds_ts_1 = require("../language/kinds.js");
|
|
7
|
+
const parser_ts_1 = require("../language/parser.js");
|
|
8
|
+
const definition_ts_1 = require("../type/definition.js");
|
|
18
9
|
function resolveSchemaCoordinate(schema, schemaCoordinate) {
|
|
19
|
-
return resolveASTSchemaCoordinate(schema, (0,
|
|
10
|
+
return resolveASTSchemaCoordinate(schema, (0, parser_ts_1.parseSchemaCoordinate)(schemaCoordinate));
|
|
20
11
|
}
|
|
21
|
-
/**
|
|
22
|
-
* TypeCoordinate : Name
|
|
23
|
-
*/
|
|
24
12
|
function resolveTypeCoordinate(schema, schemaCoordinate) {
|
|
25
|
-
// 1. Let {typeName} be the value of {Name}.
|
|
26
13
|
const typeName = schemaCoordinate.name.value;
|
|
27
14
|
const type = schema.getType(typeName);
|
|
28
|
-
// 2. Return the type in the {schema} named {typeName} if it exists.
|
|
29
15
|
if (type == null) {
|
|
30
16
|
return;
|
|
31
17
|
}
|
|
32
18
|
return { kind: 'NamedType', type };
|
|
33
19
|
}
|
|
34
|
-
/**
|
|
35
|
-
* MemberCoordinate : Name . Name
|
|
36
|
-
*/
|
|
37
20
|
function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
38
|
-
// 1. Let {typeName} be the value of the first {Name}.
|
|
39
|
-
// 2. Let {type} be the type in the {schema} named {typeName}.
|
|
40
21
|
const typeName = schemaCoordinate.name.value;
|
|
41
22
|
const type = schema.getType(typeName);
|
|
42
|
-
// 3. Assert: {type} must exist, and must be an Enum, Input Object, Object or Interface type.
|
|
43
23
|
if (!type) {
|
|
44
|
-
throw new Error(`Expected ${(0,
|
|
24
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be defined as a type in the schema.`);
|
|
45
25
|
}
|
|
46
|
-
if (!(0,
|
|
47
|
-
!(0,
|
|
48
|
-
!(0,
|
|
49
|
-
!(0,
|
|
50
|
-
throw new Error(`Expected ${(0,
|
|
26
|
+
if (!(0, definition_ts_1.isEnumType)(type) &&
|
|
27
|
+
!(0, definition_ts_1.isInputObjectType)(type) &&
|
|
28
|
+
!(0, definition_ts_1.isObjectType)(type) &&
|
|
29
|
+
!(0, definition_ts_1.isInterfaceType)(type)) {
|
|
30
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be an Enum, Input Object, Object or Interface type.`);
|
|
51
31
|
}
|
|
52
|
-
|
|
53
|
-
if ((0, definition_js_1.isEnumType)(type)) {
|
|
54
|
-
// 1. Let {enumValueName} be the value of the second {Name}.
|
|
32
|
+
if ((0, definition_ts_1.isEnumType)(type)) {
|
|
55
33
|
const enumValueName = schemaCoordinate.memberName.value;
|
|
56
34
|
const enumValue = type.getValue(enumValueName);
|
|
57
|
-
// 2. Return the enum value of {type} named {enumValueName} if it exists.
|
|
58
35
|
if (enumValue == null) {
|
|
59
36
|
return;
|
|
60
37
|
}
|
|
61
38
|
return { kind: 'EnumValue', type, enumValue };
|
|
62
39
|
}
|
|
63
|
-
|
|
64
|
-
if ((0, definition_js_1.isInputObjectType)(type)) {
|
|
65
|
-
// 1. Let {inputFieldName} be the value of the second {Name}.
|
|
40
|
+
if ((0, definition_ts_1.isInputObjectType)(type)) {
|
|
66
41
|
const inputFieldName = schemaCoordinate.memberName.value;
|
|
67
42
|
const inputField = type.getFields()[inputFieldName];
|
|
68
|
-
// 2. Return the input field of {type} named {inputFieldName} if it exists.
|
|
69
43
|
if (inputField == null) {
|
|
70
44
|
return;
|
|
71
45
|
}
|
|
72
46
|
return { kind: 'InputField', type, inputField };
|
|
73
47
|
}
|
|
74
|
-
// 6. Otherwise:
|
|
75
|
-
// 1. Let {fieldName} be the value of the second {Name}.
|
|
76
48
|
const fieldName = schemaCoordinate.memberName.value;
|
|
77
49
|
const field = schema.getField(type, fieldName);
|
|
78
|
-
// 2. Return the field of {type} named {fieldName} if it exists.
|
|
79
50
|
if (field == null) {
|
|
80
51
|
return;
|
|
81
52
|
}
|
|
82
53
|
return { kind: 'Field', type, field };
|
|
83
54
|
}
|
|
84
|
-
/**
|
|
85
|
-
* ArgumentCoordinate : Name . Name ( Name : )
|
|
86
|
-
*/
|
|
87
55
|
function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
88
|
-
// 1. Let {typeName} be the value of the first {Name}.
|
|
89
|
-
// 2. Let {type} be the type in the {schema} named {typeName}.
|
|
90
56
|
const typeName = schemaCoordinate.name.value;
|
|
91
57
|
const type = schema.getType(typeName);
|
|
92
|
-
// 3. Assert: {type} must exist, and be an Object or Interface type.
|
|
93
58
|
if (type == null) {
|
|
94
|
-
throw new Error(`Expected ${(0,
|
|
59
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be defined as a type in the schema.`);
|
|
95
60
|
}
|
|
96
|
-
if (!(0,
|
|
97
|
-
throw new Error(`Expected ${(0,
|
|
61
|
+
if (!(0, definition_ts_1.isObjectType)(type) && !(0, definition_ts_1.isInterfaceType)(type)) {
|
|
62
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be an object type or interface type.`);
|
|
98
63
|
}
|
|
99
|
-
// 4. Let {fieldName} be the value of the second {Name}.
|
|
100
|
-
// 5. Let {field} be the field of {type} named {fieldName}.
|
|
101
64
|
const fieldName = schemaCoordinate.fieldName.value;
|
|
102
65
|
const field = schema.getField(type, fieldName);
|
|
103
|
-
// 7. Assert: {field} must exist.
|
|
104
66
|
if (field == null) {
|
|
105
|
-
throw new Error(`Expected ${(0,
|
|
67
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(fieldName)} to exist as a field of type ${(0, inspect_ts_1.inspect)(typeName)} in the schema.`);
|
|
106
68
|
}
|
|
107
|
-
// 7. Let {fieldArgumentName} be the value of the third {Name}.
|
|
108
69
|
const fieldArgumentName = schemaCoordinate.argumentName.value;
|
|
109
70
|
const fieldArgument = field.args.find((arg) => arg.name === fieldArgumentName);
|
|
110
|
-
// 8. Return the argument of {field} named {fieldArgumentName} if it exists.
|
|
111
71
|
if (fieldArgument == null) {
|
|
112
72
|
return;
|
|
113
73
|
}
|
|
114
74
|
return { kind: 'FieldArgument', type, field, fieldArgument };
|
|
115
75
|
}
|
|
116
|
-
/**
|
|
117
|
-
* DirectiveCoordinate : @ Name
|
|
118
|
-
*/
|
|
119
76
|
function resolveDirectiveCoordinate(schema, schemaCoordinate) {
|
|
120
|
-
// 1. Let {directiveName} be the value of {Name}.
|
|
121
77
|
const directiveName = schemaCoordinate.name.value;
|
|
122
78
|
const directive = schema.getDirective(directiveName);
|
|
123
|
-
// 2. Return the directive in the {schema} named {directiveName} if it exists.
|
|
124
79
|
if (!directive) {
|
|
125
80
|
return;
|
|
126
81
|
}
|
|
127
82
|
return { kind: 'Directive', directive };
|
|
128
83
|
}
|
|
129
|
-
/**
|
|
130
|
-
* DirectiveArgumentCoordinate : @ Name ( Name : )
|
|
131
|
-
*/
|
|
132
84
|
function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
133
|
-
// 1. Let {directiveName} be the value of the first {Name}.
|
|
134
|
-
// 2. Let {directive} be the directive in the {schema} named {directiveName}.
|
|
135
85
|
const directiveName = schemaCoordinate.name.value;
|
|
136
86
|
const directive = schema.getDirective(directiveName);
|
|
137
|
-
// 3. Assert {directive} must exist.
|
|
138
87
|
if (!directive) {
|
|
139
|
-
throw new Error(`Expected ${(0,
|
|
88
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(directiveName)} to be defined as a directive in the schema.`);
|
|
140
89
|
}
|
|
141
|
-
// 4. Let {directiveArgumentName} be the value of the second {Name}.
|
|
142
90
|
const { argumentName: { value: directiveArgumentName }, } = schemaCoordinate;
|
|
143
91
|
const directiveArgument = directive.args.find((arg) => arg.name === directiveArgumentName);
|
|
144
|
-
// 5. Return the argument of {directive} named {directiveArgumentName} if it exists.
|
|
145
92
|
if (!directiveArgument) {
|
|
146
93
|
return;
|
|
147
94
|
}
|
|
148
95
|
return { kind: 'DirectiveArgument', directive, directiveArgument };
|
|
149
96
|
}
|
|
150
|
-
/**
|
|
151
|
-
* Resolves schema coordinate from a parsed SchemaCoordinate node.
|
|
152
|
-
*/
|
|
153
97
|
function resolveASTSchemaCoordinate(schema, schemaCoordinate) {
|
|
154
98
|
switch (schemaCoordinate.kind) {
|
|
155
|
-
case
|
|
99
|
+
case kinds_ts_1.Kind.TYPE_COORDINATE:
|
|
156
100
|
return resolveTypeCoordinate(schema, schemaCoordinate);
|
|
157
|
-
case
|
|
101
|
+
case kinds_ts_1.Kind.MEMBER_COORDINATE:
|
|
158
102
|
return resolveMemberCoordinate(schema, schemaCoordinate);
|
|
159
|
-
case
|
|
103
|
+
case kinds_ts_1.Kind.ARGUMENT_COORDINATE:
|
|
160
104
|
return resolveArgumentCoordinate(schema, schemaCoordinate);
|
|
161
|
-
case
|
|
105
|
+
case kinds_ts_1.Kind.DIRECTIVE_COORDINATE:
|
|
162
106
|
return resolveDirectiveCoordinate(schema, schemaCoordinate);
|
|
163
|
-
case
|
|
107
|
+
case kinds_ts_1.Kind.DIRECTIVE_ARGUMENT_COORDINATE:
|
|
164
108
|
return resolveDirectiveArgumentCoordinate(schema, schemaCoordinate);
|
|
165
109
|
}
|
|
166
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSchemaCoordinate.js","sourceRoot":"","sources":["../../src/utilities/resolveSchemaCoordinate.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\n\nimport type {\n ArgumentCoordinateNode,\n DirectiveArgumentCoordinateNode,\n DirectiveCoordinateNode,\n MemberCoordinateNode,\n SchemaCoordinateNode,\n TypeCoordinateNode,\n} from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { parseSchemaCoordinate } from '../language/parser.js';\nimport type { Source } from '../language/source.js';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLEnumValue,\n GraphQLField,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n} from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n} from '../type/definition.js';\nimport type { GraphQLDirective } from '../type/directives.js';\nimport type { GraphQLSchema } from '../type/schema.js';\n\n/**\n * A resolved schema element may be one of the following kinds:\n */\nexport interface ResolvedNamedType {\n readonly kind: 'NamedType';\n readonly type: GraphQLNamedType;\n}\n\nexport interface ResolvedField {\n readonly kind: 'Field';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n}\n\nexport interface ResolvedInputField {\n readonly kind: 'InputField';\n readonly type: GraphQLInputObjectType;\n readonly inputField: GraphQLInputField;\n}\n\nexport interface ResolvedEnumValue {\n readonly kind: 'EnumValue';\n readonly type: GraphQLEnumType;\n readonly enumValue: GraphQLEnumValue;\n}\n\nexport interface ResolvedFieldArgument {\n readonly kind: 'FieldArgument';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n readonly fieldArgument: GraphQLArgument;\n}\n\nexport interface ResolvedDirective {\n readonly kind: 'Directive';\n readonly directive: GraphQLDirective;\n}\n\nexport interface ResolvedDirectiveArgument {\n readonly kind: 'DirectiveArgument';\n readonly directive: GraphQLDirective;\n readonly directiveArgument: GraphQLArgument;\n}\n\nexport type ResolvedSchemaElement =\n | ResolvedNamedType\n | ResolvedField\n | ResolvedInputField\n | ResolvedEnumValue\n | ResolvedFieldArgument\n | ResolvedDirective\n | ResolvedDirectiveArgument;\n\n/**\n * A schema coordinate is resolved in the context of a GraphQL schema to\n * uniquely identify a schema element. It returns undefined if the schema\n * coordinate does not resolve to a schema element, meta-field, or introspection\n * schema element. It will throw if the containing schema element (if\n * applicable) does not exist.\n *\n * https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics\n */\nexport function resolveSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: string | Source,\n): ResolvedSchemaElement | undefined {\n return resolveASTSchemaCoordinate(\n schema,\n parseSchemaCoordinate(schemaCoordinate),\n );\n}\n\n/**\n * TypeCoordinate : Name\n */\nfunction resolveTypeCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: TypeCoordinateNode,\n): ResolvedNamedType | undefined {\n // 1. Let {typeName} be the value of {Name}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 2. Return the type in the {schema} named {typeName} if it exists.\n if (type == null) {\n return;\n }\n\n return { kind: 'NamedType', type };\n}\n\n/**\n * MemberCoordinate : Name . Name\n */\nfunction resolveMemberCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: MemberCoordinateNode,\n): ResolvedField | ResolvedInputField | ResolvedEnumValue | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and must be an Enum, Input Object, Object or Interface type.\n if (!type) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (\n !isEnumType(type) &&\n !isInputObjectType(type) &&\n !isObjectType(type) &&\n !isInterfaceType(type)\n ) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an Enum, Input Object, Object or Interface type.`,\n );\n }\n\n // 4. If {type} is an Enum type:\n if (isEnumType(type)) {\n // 1. Let {enumValueName} be the value of the second {Name}.\n const enumValueName = schemaCoordinate.memberName.value;\n const enumValue = type.getValue(enumValueName);\n\n // 2. Return the enum value of {type} named {enumValueName} if it exists.\n if (enumValue == null) {\n return;\n }\n\n return { kind: 'EnumValue', type, enumValue };\n }\n\n // 5. Otherwise, if {type} is an Input Object type:\n if (isInputObjectType(type)) {\n // 1. Let {inputFieldName} be the value of the second {Name}.\n const inputFieldName = schemaCoordinate.memberName.value;\n const inputField = type.getFields()[inputFieldName];\n\n // 2. Return the input field of {type} named {inputFieldName} if it exists.\n if (inputField == null) {\n return;\n }\n\n return { kind: 'InputField', type, inputField };\n }\n\n // 6. Otherwise:\n // 1. Let {fieldName} be the value of the second {Name}.\n const fieldName = schemaCoordinate.memberName.value;\n const field = schema.getField(type, fieldName);\n\n // 2. Return the field of {type} named {fieldName} if it exists.\n if (field == null) {\n return;\n }\n\n return { kind: 'Field', type, field };\n}\n\n/**\n * ArgumentCoordinate : Name . Name ( Name : )\n */\nfunction resolveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: ArgumentCoordinateNode,\n): ResolvedFieldArgument | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and be an Object or Interface type.\n if (type == null) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (!isObjectType(type) && !isInterfaceType(type)) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an object type or interface type.`,\n );\n }\n\n // 4. Let {fieldName} be the value of the second {Name}.\n // 5. Let {field} be the field of {type} named {fieldName}.\n const fieldName = schemaCoordinate.fieldName.value;\n const field = schema.getField(type, fieldName);\n\n // 7. Assert: {field} must exist.\n if (field == null) {\n throw new Error(\n `Expected ${inspect(fieldName)} to exist as a field of type ${inspect(typeName)} in the schema.`,\n );\n }\n\n // 7. Let {fieldArgumentName} be the value of the third {Name}.\n const fieldArgumentName = schemaCoordinate.argumentName.value;\n const fieldArgument = field.args.find(\n (arg) => arg.name === fieldArgumentName,\n );\n\n // 8. Return the argument of {field} named {fieldArgumentName} if it exists.\n if (fieldArgument == null) {\n return;\n }\n\n return { kind: 'FieldArgument', type, field, fieldArgument };\n}\n\n/**\n * DirectiveCoordinate : @ Name\n */\nfunction resolveDirectiveCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveCoordinateNode,\n): ResolvedDirective | undefined {\n // 1. Let {directiveName} be the value of {Name}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 2. Return the directive in the {schema} named {directiveName} if it exists.\n if (!directive) {\n return;\n }\n\n return { kind: 'Directive', directive };\n}\n\n/**\n * DirectiveArgumentCoordinate : @ Name ( Name : )\n */\nfunction resolveDirectiveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveArgumentCoordinateNode,\n): ResolvedDirectiveArgument | undefined {\n // 1. Let {directiveName} be the value of the first {Name}.\n // 2. Let {directive} be the directive in the {schema} named {directiveName}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 3. Assert {directive} must exist.\n if (!directive) {\n throw new Error(\n `Expected ${inspect(directiveName)} to be defined as a directive in the schema.`,\n );\n }\n\n // 4. Let {directiveArgumentName} be the value of the second {Name}.\n const {\n argumentName: { value: directiveArgumentName },\n } = schemaCoordinate;\n const directiveArgument = directive.args.find(\n (arg) => arg.name === directiveArgumentName,\n );\n\n // 5. Return the argument of {directive} named {directiveArgumentName} if it exists.\n if (!directiveArgument) {\n return;\n }\n\n return { kind: 'DirectiveArgument', directive, directiveArgument };\n}\n\n/**\n * Resolves schema coordinate from a parsed SchemaCoordinate node.\n */\nexport function resolveASTSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: SchemaCoordinateNode,\n): ResolvedSchemaElement | undefined {\n switch (schemaCoordinate.kind) {\n case Kind.TYPE_COORDINATE:\n return resolveTypeCoordinate(schema, schemaCoordinate);\n case Kind.MEMBER_COORDINATE:\n return resolveMemberCoordinate(schema, schemaCoordinate);\n case Kind.ARGUMENT_COORDINATE:\n return resolveArgumentCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_COORDINATE:\n return resolveDirectiveCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_ARGUMENT_COORDINATE:\n return resolveDirectiveArgumentCoordinate(schema, schemaCoordinate);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"resolveSchemaCoordinate.js","sourceRoot":"","sources":["../../src/utilities/resolveSchemaCoordinate.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Schema Coordinates */\n\nimport { inspect } from '../jsutils/inspect.ts';\n\nimport type {\n ArgumentCoordinateNode,\n DirectiveArgumentCoordinateNode,\n DirectiveCoordinateNode,\n MemberCoordinateNode,\n SchemaCoordinateNode,\n TypeCoordinateNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\nimport { parseSchemaCoordinate } from '../language/parser.ts';\nimport type { Source } from '../language/source.ts';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLEnumValue,\n GraphQLField,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n} from '../type/definition.ts';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\n\n/**\n * A resolved schema element may be one of the following kinds:\n *\n * @internal\n */\nexport interface ResolvedNamedType {\n readonly kind: 'NamedType';\n readonly type: GraphQLNamedType;\n}\n\n/** @internal */\nexport interface ResolvedField {\n readonly kind: 'Field';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n}\n\n/** @internal */\nexport interface ResolvedInputField {\n readonly kind: 'InputField';\n readonly type: GraphQLInputObjectType;\n readonly inputField: GraphQLInputField;\n}\n\n/** @internal */\nexport interface ResolvedEnumValue {\n readonly kind: 'EnumValue';\n readonly type: GraphQLEnumType;\n readonly enumValue: GraphQLEnumValue;\n}\n\n/** @internal */\nexport interface ResolvedFieldArgument {\n readonly kind: 'FieldArgument';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n readonly fieldArgument: GraphQLArgument;\n}\n\n/** @internal */\nexport interface ResolvedDirective {\n readonly kind: 'Directive';\n readonly directive: GraphQLDirective;\n}\n\n/** @internal */\nexport interface ResolvedDirectiveArgument {\n readonly kind: 'DirectiveArgument';\n readonly directive: GraphQLDirective;\n readonly directiveArgument: GraphQLArgument;\n}\n\n/** A schema element resolved from a schema coordinate. */\nexport type ResolvedSchemaElement =\n | ResolvedNamedType\n | ResolvedField\n | ResolvedInputField\n | ResolvedEnumValue\n | ResolvedFieldArgument\n | ResolvedDirective\n | ResolvedDirectiveArgument;\n\n/**\n * A schema coordinate is resolved in the context of a GraphQL schema to\n * uniquely identify a schema element. It returns undefined if the schema\n * coordinate does not resolve to a schema element, meta-field, or introspection\n * schema element. It will throw if the containing schema element (if\n * applicable) does not exist.\n *\n * https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics\n * @param schema - GraphQL schema to use.\n * @param schemaCoordinate - The schema coordinate to resolve.\n * @returns The schema element identified by the coordinate, or undefined if none exists.\n * @example\n * ```ts\n * import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * directive @tag(name: String!) on FIELD_DEFINITION\n *\n * input ReviewInput {\n * stars: Int!\n * }\n *\n * enum Episode {\n * NEW_HOPE\n * }\n *\n * type Query {\n * reviews(input: ReviewInput): [String] @tag(name: \"reviews\")\n * }\n * `);\n *\n * resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'\n * resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'\n * resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'\n * resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'\n * resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'\n * resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'\n * resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'\n * resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined\n * ```\n */\nexport function resolveSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: string | Source,\n): ResolvedSchemaElement | undefined {\n return resolveASTSchemaCoordinate(\n schema,\n parseSchemaCoordinate(schemaCoordinate),\n );\n}\n\n/**\n * TypeCoordinate : Name\n *\n * @internal\n */\nfunction resolveTypeCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: TypeCoordinateNode,\n): ResolvedNamedType | undefined {\n // 1. Let {typeName} be the value of {Name}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 2. Return the type in the {schema} named {typeName} if it exists.\n if (type == null) {\n return;\n }\n\n return { kind: 'NamedType', type };\n}\n\n/**\n * MemberCoordinate : Name . Name\n *\n * @internal\n */\nfunction resolveMemberCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: MemberCoordinateNode,\n): ResolvedField | ResolvedInputField | ResolvedEnumValue | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and must be an Enum, Input Object, Object or Interface type.\n if (!type) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (\n !isEnumType(type) &&\n !isInputObjectType(type) &&\n !isObjectType(type) &&\n !isInterfaceType(type)\n ) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an Enum, Input Object, Object or Interface type.`,\n );\n }\n\n // 4. If {type} is an Enum type:\n if (isEnumType(type)) {\n // 1. Let {enumValueName} be the value of the second {Name}.\n const enumValueName = schemaCoordinate.memberName.value;\n const enumValue = type.getValue(enumValueName);\n\n // 2. Return the enum value of {type} named {enumValueName} if it exists.\n if (enumValue == null) {\n return;\n }\n\n return { kind: 'EnumValue', type, enumValue };\n }\n\n // 5. Otherwise, if {type} is an Input Object type:\n if (isInputObjectType(type)) {\n // 1. Let {inputFieldName} be the value of the second {Name}.\n const inputFieldName = schemaCoordinate.memberName.value;\n const inputField = type.getFields()[inputFieldName];\n\n // 2. Return the input field of {type} named {inputFieldName} if it exists.\n if (inputField == null) {\n return;\n }\n\n return { kind: 'InputField', type, inputField };\n }\n\n // 6. Otherwise:\n // 1. Let {fieldName} be the value of the second {Name}.\n const fieldName = schemaCoordinate.memberName.value;\n const field = schema.getField(type, fieldName);\n\n // 2. Return the field of {type} named {fieldName} if it exists.\n if (field == null) {\n return;\n }\n\n return { kind: 'Field', type, field };\n}\n\n/**\n * ArgumentCoordinate : Name . Name ( Name : )\n *\n * @internal\n */\nfunction resolveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: ArgumentCoordinateNode,\n): ResolvedFieldArgument | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and be an Object or Interface type.\n if (type == null) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (!isObjectType(type) && !isInterfaceType(type)) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an object type or interface type.`,\n );\n }\n\n // 4. Let {fieldName} be the value of the second {Name}.\n // 5. Let {field} be the field of {type} named {fieldName}.\n const fieldName = schemaCoordinate.fieldName.value;\n const field = schema.getField(type, fieldName);\n\n // 7. Assert: {field} must exist.\n if (field == null) {\n throw new Error(\n `Expected ${inspect(fieldName)} to exist as a field of type ${inspect(typeName)} in the schema.`,\n );\n }\n\n // 7. Let {fieldArgumentName} be the value of the third {Name}.\n const fieldArgumentName = schemaCoordinate.argumentName.value;\n const fieldArgument = field.args.find(\n (arg) => arg.name === fieldArgumentName,\n );\n\n // 8. Return the argument of {field} named {fieldArgumentName} if it exists.\n if (fieldArgument == null) {\n return;\n }\n\n return { kind: 'FieldArgument', type, field, fieldArgument };\n}\n\n/**\n * DirectiveCoordinate : @ Name\n *\n * @internal\n */\nfunction resolveDirectiveCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveCoordinateNode,\n): ResolvedDirective | undefined {\n // 1. Let {directiveName} be the value of {Name}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 2. Return the directive in the {schema} named {directiveName} if it exists.\n if (!directive) {\n return;\n }\n\n return { kind: 'Directive', directive };\n}\n\n/**\n * DirectiveArgumentCoordinate : @ Name ( Name : )\n *\n * @internal\n */\nfunction resolveDirectiveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveArgumentCoordinateNode,\n): ResolvedDirectiveArgument | undefined {\n // 1. Let {directiveName} be the value of the first {Name}.\n // 2. Let {directive} be the directive in the {schema} named {directiveName}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 3. Assert {directive} must exist.\n if (!directive) {\n throw new Error(\n `Expected ${inspect(directiveName)} to be defined as a directive in the schema.`,\n );\n }\n\n // 4. Let {directiveArgumentName} be the value of the second {Name}.\n const {\n argumentName: { value: directiveArgumentName },\n } = schemaCoordinate;\n const directiveArgument = directive.args.find(\n (arg) => arg.name === directiveArgumentName,\n );\n\n // 5. Return the argument of {directive} named {directiveArgumentName} if it exists.\n if (!directiveArgument) {\n return;\n }\n\n return { kind: 'DirectiveArgument', directive, directiveArgument };\n}\n\n/**\n * Resolves schema coordinate from a parsed SchemaCoordinate node.\n * @param schema - GraphQL schema to use.\n * @param schemaCoordinate - The schema coordinate to resolve.\n * @returns The schema element identified by the parsed coordinate, or undefined if none exists.\n * @example\n * ```ts\n * import { parseSchemaCoordinate } from 'graphql/language';\n * import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting(name: String): String\n * }\n * `);\n * const coordinate = parseSchemaCoordinate('Query.greeting(name:)');\n * const resolved = resolveASTSchemaCoordinate(schema, coordinate);\n *\n * resolved.kind; // => 'FieldArgument'\n * resolved.field.name; // => 'greeting'\n * resolved.fieldArgument.name; // => 'name'\n * ```\n */\nexport function resolveASTSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: SchemaCoordinateNode,\n): ResolvedSchemaElement | undefined {\n switch (schemaCoordinate.kind) {\n case Kind.TYPE_COORDINATE:\n return resolveTypeCoordinate(schema, schemaCoordinate);\n case Kind.MEMBER_COORDINATE:\n return resolveMemberCoordinate(schema, schemaCoordinate);\n case Kind.ARGUMENT_COORDINATE:\n return resolveArgumentCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_COORDINATE:\n return resolveDirectiveCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_ARGUMENT_COORDINATE:\n return resolveDirectiveArgumentCoordinate(schema, schemaCoordinate);\n }\n}\n"]}
|
|
@@ -2,40 +2,20 @@ import { inspect } from "../jsutils/inspect.mjs";
|
|
|
2
2
|
import { Kind } from "../language/kinds.mjs";
|
|
3
3
|
import { parseSchemaCoordinate } from "../language/parser.mjs";
|
|
4
4
|
import { isEnumType, isInputObjectType, isInterfaceType, isObjectType, } from "../type/definition.mjs";
|
|
5
|
-
/**
|
|
6
|
-
* A schema coordinate is resolved in the context of a GraphQL schema to
|
|
7
|
-
* uniquely identify a schema element. It returns undefined if the schema
|
|
8
|
-
* coordinate does not resolve to a schema element, meta-field, or introspection
|
|
9
|
-
* schema element. It will throw if the containing schema element (if
|
|
10
|
-
* applicable) does not exist.
|
|
11
|
-
*
|
|
12
|
-
* https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
|
|
13
|
-
*/
|
|
14
5
|
export function resolveSchemaCoordinate(schema, schemaCoordinate) {
|
|
15
6
|
return resolveASTSchemaCoordinate(schema, parseSchemaCoordinate(schemaCoordinate));
|
|
16
7
|
}
|
|
17
|
-
/**
|
|
18
|
-
* TypeCoordinate : Name
|
|
19
|
-
*/
|
|
20
8
|
function resolveTypeCoordinate(schema, schemaCoordinate) {
|
|
21
|
-
// 1. Let {typeName} be the value of {Name}.
|
|
22
9
|
const typeName = schemaCoordinate.name.value;
|
|
23
10
|
const type = schema.getType(typeName);
|
|
24
|
-
// 2. Return the type in the {schema} named {typeName} if it exists.
|
|
25
11
|
if (type == null) {
|
|
26
12
|
return;
|
|
27
13
|
}
|
|
28
14
|
return { kind: 'NamedType', type };
|
|
29
15
|
}
|
|
30
|
-
/**
|
|
31
|
-
* MemberCoordinate : Name . Name
|
|
32
|
-
*/
|
|
33
16
|
function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
34
|
-
// 1. Let {typeName} be the value of the first {Name}.
|
|
35
|
-
// 2. Let {type} be the type in the {schema} named {typeName}.
|
|
36
17
|
const typeName = schemaCoordinate.name.value;
|
|
37
18
|
const type = schema.getType(typeName);
|
|
38
|
-
// 3. Assert: {type} must exist, and must be an Enum, Input Object, Object or Interface type.
|
|
39
19
|
if (!type) {
|
|
40
20
|
throw new Error(`Expected ${inspect(typeName)} to be defined as a type in the schema.`);
|
|
41
21
|
}
|
|
@@ -45,107 +25,71 @@ function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
|
45
25
|
!isInterfaceType(type)) {
|
|
46
26
|
throw new Error(`Expected ${inspect(typeName)} to be an Enum, Input Object, Object or Interface type.`);
|
|
47
27
|
}
|
|
48
|
-
// 4. If {type} is an Enum type:
|
|
49
28
|
if (isEnumType(type)) {
|
|
50
|
-
// 1. Let {enumValueName} be the value of the second {Name}.
|
|
51
29
|
const enumValueName = schemaCoordinate.memberName.value;
|
|
52
30
|
const enumValue = type.getValue(enumValueName);
|
|
53
|
-
// 2. Return the enum value of {type} named {enumValueName} if it exists.
|
|
54
31
|
if (enumValue == null) {
|
|
55
32
|
return;
|
|
56
33
|
}
|
|
57
34
|
return { kind: 'EnumValue', type, enumValue };
|
|
58
35
|
}
|
|
59
|
-
// 5. Otherwise, if {type} is an Input Object type:
|
|
60
36
|
if (isInputObjectType(type)) {
|
|
61
|
-
// 1. Let {inputFieldName} be the value of the second {Name}.
|
|
62
37
|
const inputFieldName = schemaCoordinate.memberName.value;
|
|
63
38
|
const inputField = type.getFields()[inputFieldName];
|
|
64
|
-
// 2. Return the input field of {type} named {inputFieldName} if it exists.
|
|
65
39
|
if (inputField == null) {
|
|
66
40
|
return;
|
|
67
41
|
}
|
|
68
42
|
return { kind: 'InputField', type, inputField };
|
|
69
43
|
}
|
|
70
|
-
// 6. Otherwise:
|
|
71
|
-
// 1. Let {fieldName} be the value of the second {Name}.
|
|
72
44
|
const fieldName = schemaCoordinate.memberName.value;
|
|
73
45
|
const field = schema.getField(type, fieldName);
|
|
74
|
-
// 2. Return the field of {type} named {fieldName} if it exists.
|
|
75
46
|
if (field == null) {
|
|
76
47
|
return;
|
|
77
48
|
}
|
|
78
49
|
return { kind: 'Field', type, field };
|
|
79
50
|
}
|
|
80
|
-
/**
|
|
81
|
-
* ArgumentCoordinate : Name . Name ( Name : )
|
|
82
|
-
*/
|
|
83
51
|
function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
84
|
-
// 1. Let {typeName} be the value of the first {Name}.
|
|
85
|
-
// 2. Let {type} be the type in the {schema} named {typeName}.
|
|
86
52
|
const typeName = schemaCoordinate.name.value;
|
|
87
53
|
const type = schema.getType(typeName);
|
|
88
|
-
// 3. Assert: {type} must exist, and be an Object or Interface type.
|
|
89
54
|
if (type == null) {
|
|
90
55
|
throw new Error(`Expected ${inspect(typeName)} to be defined as a type in the schema.`);
|
|
91
56
|
}
|
|
92
57
|
if (!isObjectType(type) && !isInterfaceType(type)) {
|
|
93
58
|
throw new Error(`Expected ${inspect(typeName)} to be an object type or interface type.`);
|
|
94
59
|
}
|
|
95
|
-
// 4. Let {fieldName} be the value of the second {Name}.
|
|
96
|
-
// 5. Let {field} be the field of {type} named {fieldName}.
|
|
97
60
|
const fieldName = schemaCoordinate.fieldName.value;
|
|
98
61
|
const field = schema.getField(type, fieldName);
|
|
99
|
-
// 7. Assert: {field} must exist.
|
|
100
62
|
if (field == null) {
|
|
101
63
|
throw new Error(`Expected ${inspect(fieldName)} to exist as a field of type ${inspect(typeName)} in the schema.`);
|
|
102
64
|
}
|
|
103
|
-
// 7. Let {fieldArgumentName} be the value of the third {Name}.
|
|
104
65
|
const fieldArgumentName = schemaCoordinate.argumentName.value;
|
|
105
66
|
const fieldArgument = field.args.find((arg) => arg.name === fieldArgumentName);
|
|
106
|
-
// 8. Return the argument of {field} named {fieldArgumentName} if it exists.
|
|
107
67
|
if (fieldArgument == null) {
|
|
108
68
|
return;
|
|
109
69
|
}
|
|
110
70
|
return { kind: 'FieldArgument', type, field, fieldArgument };
|
|
111
71
|
}
|
|
112
|
-
/**
|
|
113
|
-
* DirectiveCoordinate : @ Name
|
|
114
|
-
*/
|
|
115
72
|
function resolveDirectiveCoordinate(schema, schemaCoordinate) {
|
|
116
|
-
// 1. Let {directiveName} be the value of {Name}.
|
|
117
73
|
const directiveName = schemaCoordinate.name.value;
|
|
118
74
|
const directive = schema.getDirective(directiveName);
|
|
119
|
-
// 2. Return the directive in the {schema} named {directiveName} if it exists.
|
|
120
75
|
if (!directive) {
|
|
121
76
|
return;
|
|
122
77
|
}
|
|
123
78
|
return { kind: 'Directive', directive };
|
|
124
79
|
}
|
|
125
|
-
/**
|
|
126
|
-
* DirectiveArgumentCoordinate : @ Name ( Name : )
|
|
127
|
-
*/
|
|
128
80
|
function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
129
|
-
// 1. Let {directiveName} be the value of the first {Name}.
|
|
130
|
-
// 2. Let {directive} be the directive in the {schema} named {directiveName}.
|
|
131
81
|
const directiveName = schemaCoordinate.name.value;
|
|
132
82
|
const directive = schema.getDirective(directiveName);
|
|
133
|
-
// 3. Assert {directive} must exist.
|
|
134
83
|
if (!directive) {
|
|
135
84
|
throw new Error(`Expected ${inspect(directiveName)} to be defined as a directive in the schema.`);
|
|
136
85
|
}
|
|
137
|
-
// 4. Let {directiveArgumentName} be the value of the second {Name}.
|
|
138
86
|
const { argumentName: { value: directiveArgumentName }, } = schemaCoordinate;
|
|
139
87
|
const directiveArgument = directive.args.find((arg) => arg.name === directiveArgumentName);
|
|
140
|
-
// 5. Return the argument of {directive} named {directiveArgumentName} if it exists.
|
|
141
88
|
if (!directiveArgument) {
|
|
142
89
|
return;
|
|
143
90
|
}
|
|
144
91
|
return { kind: 'DirectiveArgument', directive, directiveArgument };
|
|
145
92
|
}
|
|
146
|
-
/**
|
|
147
|
-
* Resolves schema coordinate from a parsed SchemaCoordinate node.
|
|
148
|
-
*/
|
|
149
93
|
export function resolveASTSchemaCoordinate(schema, schemaCoordinate) {
|
|
150
94
|
switch (schemaCoordinate.kind) {
|
|
151
95
|
case Kind.TYPE_COORDINATE:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveSchemaCoordinate.js","sourceRoot":"","sources":["../../src/utilities/resolveSchemaCoordinate.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\n\nimport type {\n ArgumentCoordinateNode,\n DirectiveArgumentCoordinateNode,\n DirectiveCoordinateNode,\n MemberCoordinateNode,\n SchemaCoordinateNode,\n TypeCoordinateNode,\n} from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\nimport { parseSchemaCoordinate } from '../language/parser.js';\nimport type { Source } from '../language/source.js';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLEnumValue,\n GraphQLField,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n} from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n} from '../type/definition.js';\nimport type { GraphQLDirective } from '../type/directives.js';\nimport type { GraphQLSchema } from '../type/schema.js';\n\n/**\n * A resolved schema element may be one of the following kinds:\n */\nexport interface ResolvedNamedType {\n readonly kind: 'NamedType';\n readonly type: GraphQLNamedType;\n}\n\nexport interface ResolvedField {\n readonly kind: 'Field';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n}\n\nexport interface ResolvedInputField {\n readonly kind: 'InputField';\n readonly type: GraphQLInputObjectType;\n readonly inputField: GraphQLInputField;\n}\n\nexport interface ResolvedEnumValue {\n readonly kind: 'EnumValue';\n readonly type: GraphQLEnumType;\n readonly enumValue: GraphQLEnumValue;\n}\n\nexport interface ResolvedFieldArgument {\n readonly kind: 'FieldArgument';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n readonly fieldArgument: GraphQLArgument;\n}\n\nexport interface ResolvedDirective {\n readonly kind: 'Directive';\n readonly directive: GraphQLDirective;\n}\n\nexport interface ResolvedDirectiveArgument {\n readonly kind: 'DirectiveArgument';\n readonly directive: GraphQLDirective;\n readonly directiveArgument: GraphQLArgument;\n}\n\nexport type ResolvedSchemaElement =\n | ResolvedNamedType\n | ResolvedField\n | ResolvedInputField\n | ResolvedEnumValue\n | ResolvedFieldArgument\n | ResolvedDirective\n | ResolvedDirectiveArgument;\n\n/**\n * A schema coordinate is resolved in the context of a GraphQL schema to\n * uniquely identify a schema element. It returns undefined if the schema\n * coordinate does not resolve to a schema element, meta-field, or introspection\n * schema element. It will throw if the containing schema element (if\n * applicable) does not exist.\n *\n * https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics\n */\nexport function resolveSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: string | Source,\n): ResolvedSchemaElement | undefined {\n return resolveASTSchemaCoordinate(\n schema,\n parseSchemaCoordinate(schemaCoordinate),\n );\n}\n\n/**\n * TypeCoordinate : Name\n */\nfunction resolveTypeCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: TypeCoordinateNode,\n): ResolvedNamedType | undefined {\n // 1. Let {typeName} be the value of {Name}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 2. Return the type in the {schema} named {typeName} if it exists.\n if (type == null) {\n return;\n }\n\n return { kind: 'NamedType', type };\n}\n\n/**\n * MemberCoordinate : Name . Name\n */\nfunction resolveMemberCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: MemberCoordinateNode,\n): ResolvedField | ResolvedInputField | ResolvedEnumValue | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and must be an Enum, Input Object, Object or Interface type.\n if (!type) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (\n !isEnumType(type) &&\n !isInputObjectType(type) &&\n !isObjectType(type) &&\n !isInterfaceType(type)\n ) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an Enum, Input Object, Object or Interface type.`,\n );\n }\n\n // 4. If {type} is an Enum type:\n if (isEnumType(type)) {\n // 1. Let {enumValueName} be the value of the second {Name}.\n const enumValueName = schemaCoordinate.memberName.value;\n const enumValue = type.getValue(enumValueName);\n\n // 2. Return the enum value of {type} named {enumValueName} if it exists.\n if (enumValue == null) {\n return;\n }\n\n return { kind: 'EnumValue', type, enumValue };\n }\n\n // 5. Otherwise, if {type} is an Input Object type:\n if (isInputObjectType(type)) {\n // 1. Let {inputFieldName} be the value of the second {Name}.\n const inputFieldName = schemaCoordinate.memberName.value;\n const inputField = type.getFields()[inputFieldName];\n\n // 2. Return the input field of {type} named {inputFieldName} if it exists.\n if (inputField == null) {\n return;\n }\n\n return { kind: 'InputField', type, inputField };\n }\n\n // 6. Otherwise:\n // 1. Let {fieldName} be the value of the second {Name}.\n const fieldName = schemaCoordinate.memberName.value;\n const field = schema.getField(type, fieldName);\n\n // 2. Return the field of {type} named {fieldName} if it exists.\n if (field == null) {\n return;\n }\n\n return { kind: 'Field', type, field };\n}\n\n/**\n * ArgumentCoordinate : Name . Name ( Name : )\n */\nfunction resolveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: ArgumentCoordinateNode,\n): ResolvedFieldArgument | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and be an Object or Interface type.\n if (type == null) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (!isObjectType(type) && !isInterfaceType(type)) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an object type or interface type.`,\n );\n }\n\n // 4. Let {fieldName} be the value of the second {Name}.\n // 5. Let {field} be the field of {type} named {fieldName}.\n const fieldName = schemaCoordinate.fieldName.value;\n const field = schema.getField(type, fieldName);\n\n // 7. Assert: {field} must exist.\n if (field == null) {\n throw new Error(\n `Expected ${inspect(fieldName)} to exist as a field of type ${inspect(typeName)} in the schema.`,\n );\n }\n\n // 7. Let {fieldArgumentName} be the value of the third {Name}.\n const fieldArgumentName = schemaCoordinate.argumentName.value;\n const fieldArgument = field.args.find(\n (arg) => arg.name === fieldArgumentName,\n );\n\n // 8. Return the argument of {field} named {fieldArgumentName} if it exists.\n if (fieldArgument == null) {\n return;\n }\n\n return { kind: 'FieldArgument', type, field, fieldArgument };\n}\n\n/**\n * DirectiveCoordinate : @ Name\n */\nfunction resolveDirectiveCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveCoordinateNode,\n): ResolvedDirective | undefined {\n // 1. Let {directiveName} be the value of {Name}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 2. Return the directive in the {schema} named {directiveName} if it exists.\n if (!directive) {\n return;\n }\n\n return { kind: 'Directive', directive };\n}\n\n/**\n * DirectiveArgumentCoordinate : @ Name ( Name : )\n */\nfunction resolveDirectiveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveArgumentCoordinateNode,\n): ResolvedDirectiveArgument | undefined {\n // 1. Let {directiveName} be the value of the first {Name}.\n // 2. Let {directive} be the directive in the {schema} named {directiveName}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 3. Assert {directive} must exist.\n if (!directive) {\n throw new Error(\n `Expected ${inspect(directiveName)} to be defined as a directive in the schema.`,\n );\n }\n\n // 4. Let {directiveArgumentName} be the value of the second {Name}.\n const {\n argumentName: { value: directiveArgumentName },\n } = schemaCoordinate;\n const directiveArgument = directive.args.find(\n (arg) => arg.name === directiveArgumentName,\n );\n\n // 5. Return the argument of {directive} named {directiveArgumentName} if it exists.\n if (!directiveArgument) {\n return;\n }\n\n return { kind: 'DirectiveArgument', directive, directiveArgument };\n}\n\n/**\n * Resolves schema coordinate from a parsed SchemaCoordinate node.\n */\nexport function resolveASTSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: SchemaCoordinateNode,\n): ResolvedSchemaElement | undefined {\n switch (schemaCoordinate.kind) {\n case Kind.TYPE_COORDINATE:\n return resolveTypeCoordinate(schema, schemaCoordinate);\n case Kind.MEMBER_COORDINATE:\n return resolveMemberCoordinate(schema, schemaCoordinate);\n case Kind.ARGUMENT_COORDINATE:\n return resolveArgumentCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_COORDINATE:\n return resolveDirectiveCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_ARGUMENT_COORDINATE:\n return resolveDirectiveArgumentCoordinate(schema, schemaCoordinate);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"resolveSchemaCoordinate.js","sourceRoot":"","sources":["../../src/utilities/resolveSchemaCoordinate.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Schema Coordinates */\n\nimport { inspect } from '../jsutils/inspect.ts';\n\nimport type {\n ArgumentCoordinateNode,\n DirectiveArgumentCoordinateNode,\n DirectiveCoordinateNode,\n MemberCoordinateNode,\n SchemaCoordinateNode,\n TypeCoordinateNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\nimport { parseSchemaCoordinate } from '../language/parser.ts';\nimport type { Source } from '../language/source.ts';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLEnumValue,\n GraphQLField,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n} from '../type/definition.ts';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\n\n/**\n * A resolved schema element may be one of the following kinds:\n *\n * @internal\n */\nexport interface ResolvedNamedType {\n readonly kind: 'NamedType';\n readonly type: GraphQLNamedType;\n}\n\n/** @internal */\nexport interface ResolvedField {\n readonly kind: 'Field';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n}\n\n/** @internal */\nexport interface ResolvedInputField {\n readonly kind: 'InputField';\n readonly type: GraphQLInputObjectType;\n readonly inputField: GraphQLInputField;\n}\n\n/** @internal */\nexport interface ResolvedEnumValue {\n readonly kind: 'EnumValue';\n readonly type: GraphQLEnumType;\n readonly enumValue: GraphQLEnumValue;\n}\n\n/** @internal */\nexport interface ResolvedFieldArgument {\n readonly kind: 'FieldArgument';\n readonly type: GraphQLObjectType | GraphQLInterfaceType;\n readonly field: GraphQLField<unknown, unknown>;\n readonly fieldArgument: GraphQLArgument;\n}\n\n/** @internal */\nexport interface ResolvedDirective {\n readonly kind: 'Directive';\n readonly directive: GraphQLDirective;\n}\n\n/** @internal */\nexport interface ResolvedDirectiveArgument {\n readonly kind: 'DirectiveArgument';\n readonly directive: GraphQLDirective;\n readonly directiveArgument: GraphQLArgument;\n}\n\n/** A schema element resolved from a schema coordinate. */\nexport type ResolvedSchemaElement =\n | ResolvedNamedType\n | ResolvedField\n | ResolvedInputField\n | ResolvedEnumValue\n | ResolvedFieldArgument\n | ResolvedDirective\n | ResolvedDirectiveArgument;\n\n/**\n * A schema coordinate is resolved in the context of a GraphQL schema to\n * uniquely identify a schema element. It returns undefined if the schema\n * coordinate does not resolve to a schema element, meta-field, or introspection\n * schema element. It will throw if the containing schema element (if\n * applicable) does not exist.\n *\n * https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics\n * @param schema - GraphQL schema to use.\n * @param schemaCoordinate - The schema coordinate to resolve.\n * @returns The schema element identified by the coordinate, or undefined if none exists.\n * @example\n * ```ts\n * import { buildSchema, resolveSchemaCoordinate } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * directive @tag(name: String!) on FIELD_DEFINITION\n *\n * input ReviewInput {\n * stars: Int!\n * }\n *\n * enum Episode {\n * NEW_HOPE\n * }\n *\n * type Query {\n * reviews(input: ReviewInput): [String] @tag(name: \"reviews\")\n * }\n * `);\n *\n * resolveSchemaCoordinate(schema, 'Query').kind; // => 'NamedType'\n * resolveSchemaCoordinate(schema, 'Query.reviews').kind; // => 'Field'\n * resolveSchemaCoordinate(schema, 'Query.reviews(input:)').kind; // => 'FieldArgument'\n * resolveSchemaCoordinate(schema, 'ReviewInput.stars').kind; // => 'InputField'\n * resolveSchemaCoordinate(schema, 'Episode.NEW_HOPE').kind; // => 'EnumValue'\n * resolveSchemaCoordinate(schema, '@tag').kind; // => 'Directive'\n * resolveSchemaCoordinate(schema, '@tag(name:)').kind; // => 'DirectiveArgument'\n * resolveSchemaCoordinate(schema, 'Query.missing'); // => undefined\n * ```\n */\nexport function resolveSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: string | Source,\n): ResolvedSchemaElement | undefined {\n return resolveASTSchemaCoordinate(\n schema,\n parseSchemaCoordinate(schemaCoordinate),\n );\n}\n\n/**\n * TypeCoordinate : Name\n *\n * @internal\n */\nfunction resolveTypeCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: TypeCoordinateNode,\n): ResolvedNamedType | undefined {\n // 1. Let {typeName} be the value of {Name}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 2. Return the type in the {schema} named {typeName} if it exists.\n if (type == null) {\n return;\n }\n\n return { kind: 'NamedType', type };\n}\n\n/**\n * MemberCoordinate : Name . Name\n *\n * @internal\n */\nfunction resolveMemberCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: MemberCoordinateNode,\n): ResolvedField | ResolvedInputField | ResolvedEnumValue | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and must be an Enum, Input Object, Object or Interface type.\n if (!type) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (\n !isEnumType(type) &&\n !isInputObjectType(type) &&\n !isObjectType(type) &&\n !isInterfaceType(type)\n ) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an Enum, Input Object, Object or Interface type.`,\n );\n }\n\n // 4. If {type} is an Enum type:\n if (isEnumType(type)) {\n // 1. Let {enumValueName} be the value of the second {Name}.\n const enumValueName = schemaCoordinate.memberName.value;\n const enumValue = type.getValue(enumValueName);\n\n // 2. Return the enum value of {type} named {enumValueName} if it exists.\n if (enumValue == null) {\n return;\n }\n\n return { kind: 'EnumValue', type, enumValue };\n }\n\n // 5. Otherwise, if {type} is an Input Object type:\n if (isInputObjectType(type)) {\n // 1. Let {inputFieldName} be the value of the second {Name}.\n const inputFieldName = schemaCoordinate.memberName.value;\n const inputField = type.getFields()[inputFieldName];\n\n // 2. Return the input field of {type} named {inputFieldName} if it exists.\n if (inputField == null) {\n return;\n }\n\n return { kind: 'InputField', type, inputField };\n }\n\n // 6. Otherwise:\n // 1. Let {fieldName} be the value of the second {Name}.\n const fieldName = schemaCoordinate.memberName.value;\n const field = schema.getField(type, fieldName);\n\n // 2. Return the field of {type} named {fieldName} if it exists.\n if (field == null) {\n return;\n }\n\n return { kind: 'Field', type, field };\n}\n\n/**\n * ArgumentCoordinate : Name . Name ( Name : )\n *\n * @internal\n */\nfunction resolveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: ArgumentCoordinateNode,\n): ResolvedFieldArgument | undefined {\n // 1. Let {typeName} be the value of the first {Name}.\n // 2. Let {type} be the type in the {schema} named {typeName}.\n const typeName = schemaCoordinate.name.value;\n const type = schema.getType(typeName);\n\n // 3. Assert: {type} must exist, and be an Object or Interface type.\n if (type == null) {\n throw new Error(\n `Expected ${inspect(typeName)} to be defined as a type in the schema.`,\n );\n }\n if (!isObjectType(type) && !isInterfaceType(type)) {\n throw new Error(\n `Expected ${inspect(typeName)} to be an object type or interface type.`,\n );\n }\n\n // 4. Let {fieldName} be the value of the second {Name}.\n // 5. Let {field} be the field of {type} named {fieldName}.\n const fieldName = schemaCoordinate.fieldName.value;\n const field = schema.getField(type, fieldName);\n\n // 7. Assert: {field} must exist.\n if (field == null) {\n throw new Error(\n `Expected ${inspect(fieldName)} to exist as a field of type ${inspect(typeName)} in the schema.`,\n );\n }\n\n // 7. Let {fieldArgumentName} be the value of the third {Name}.\n const fieldArgumentName = schemaCoordinate.argumentName.value;\n const fieldArgument = field.args.find(\n (arg) => arg.name === fieldArgumentName,\n );\n\n // 8. Return the argument of {field} named {fieldArgumentName} if it exists.\n if (fieldArgument == null) {\n return;\n }\n\n return { kind: 'FieldArgument', type, field, fieldArgument };\n}\n\n/**\n * DirectiveCoordinate : @ Name\n *\n * @internal\n */\nfunction resolveDirectiveCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveCoordinateNode,\n): ResolvedDirective | undefined {\n // 1. Let {directiveName} be the value of {Name}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 2. Return the directive in the {schema} named {directiveName} if it exists.\n if (!directive) {\n return;\n }\n\n return { kind: 'Directive', directive };\n}\n\n/**\n * DirectiveArgumentCoordinate : @ Name ( Name : )\n *\n * @internal\n */\nfunction resolveDirectiveArgumentCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: DirectiveArgumentCoordinateNode,\n): ResolvedDirectiveArgument | undefined {\n // 1. Let {directiveName} be the value of the first {Name}.\n // 2. Let {directive} be the directive in the {schema} named {directiveName}.\n const directiveName = schemaCoordinate.name.value;\n const directive = schema.getDirective(directiveName);\n\n // 3. Assert {directive} must exist.\n if (!directive) {\n throw new Error(\n `Expected ${inspect(directiveName)} to be defined as a directive in the schema.`,\n );\n }\n\n // 4. Let {directiveArgumentName} be the value of the second {Name}.\n const {\n argumentName: { value: directiveArgumentName },\n } = schemaCoordinate;\n const directiveArgument = directive.args.find(\n (arg) => arg.name === directiveArgumentName,\n );\n\n // 5. Return the argument of {directive} named {directiveArgumentName} if it exists.\n if (!directiveArgument) {\n return;\n }\n\n return { kind: 'DirectiveArgument', directive, directiveArgument };\n}\n\n/**\n * Resolves schema coordinate from a parsed SchemaCoordinate node.\n * @param schema - GraphQL schema to use.\n * @param schemaCoordinate - The schema coordinate to resolve.\n * @returns The schema element identified by the parsed coordinate, or undefined if none exists.\n * @example\n * ```ts\n * import { parseSchemaCoordinate } from 'graphql/language';\n * import { buildSchema, resolveASTSchemaCoordinate } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting(name: String): String\n * }\n * `);\n * const coordinate = parseSchemaCoordinate('Query.greeting(name:)');\n * const resolved = resolveASTSchemaCoordinate(schema, coordinate);\n *\n * resolved.kind; // => 'FieldArgument'\n * resolved.field.name; // => 'greeting'\n * resolved.fieldArgument.name; // => 'name'\n * ```\n */\nexport function resolveASTSchemaCoordinate(\n schema: GraphQLSchema,\n schemaCoordinate: SchemaCoordinateNode,\n): ResolvedSchemaElement | undefined {\n switch (schemaCoordinate.kind) {\n case Kind.TYPE_COORDINATE:\n return resolveTypeCoordinate(schema, schemaCoordinate);\n case Kind.MEMBER_COORDINATE:\n return resolveMemberCoordinate(schema, schemaCoordinate);\n case Kind.ARGUMENT_COORDINATE:\n return resolveArgumentCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_COORDINATE:\n return resolveDirectiveCoordinate(schema, schemaCoordinate);\n case Kind.DIRECTIVE_ARGUMENT_COORDINATE:\n return resolveDirectiveArgumentCoordinate(schema, schemaCoordinate);\n }\n}\n"]}
|
|
@@ -1,9 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
1
|
+
/** @category AST Utilities */
|
|
2
|
+
import type { ObjMap } from "../jsutils/ObjMap.mjs";
|
|
3
|
+
import type { DocumentNode } from "../language/ast.mjs";
|
|
3
4
|
/**
|
|
4
5
|
* separateOperations accepts a single AST document which may contain many
|
|
5
6
|
* operations and fragments and returns a collection of AST documents each of
|
|
6
7
|
* which contains a single operation as well the fragment definitions it
|
|
7
8
|
* refers to.
|
|
9
|
+
* @param documentAST - The parsed GraphQL document AST.
|
|
10
|
+
* @returns A map of operation names to documents containing each operation and its referenced fragments.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { parse, print } from 'graphql/language';
|
|
14
|
+
* import { separateOperations } from 'graphql/utilities';
|
|
15
|
+
*
|
|
16
|
+
* const document = parse(`
|
|
17
|
+
* query GetUser {
|
|
18
|
+
* viewer {
|
|
19
|
+
* ...UserFields
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* query GetStatus {
|
|
24
|
+
* status
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* fragment UserFields on User {
|
|
28
|
+
* id
|
|
29
|
+
* }
|
|
30
|
+
* `);
|
|
31
|
+
*
|
|
32
|
+
* const separated = separateOperations(document);
|
|
33
|
+
*
|
|
34
|
+
* Object.keys(separated); // => ['GetUser', 'GetStatus']
|
|
35
|
+
* print(separated.GetUser); // matches /fragment UserFields/
|
|
36
|
+
* print(separated.GetStatus); // does not match /fragment UserFields/
|
|
37
|
+
* ```
|
|
8
38
|
*/
|
|
9
39
|
export declare function separateOperations(documentAST: DocumentNode): ObjMap<DocumentNode>;
|
|
@@ -1,9 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
1
|
+
/** @category AST Utilities */
|
|
2
|
+
import type { ObjMap } from "../jsutils/ObjMap.js";
|
|
3
|
+
import type { DocumentNode } from "../language/ast.js";
|
|
3
4
|
/**
|
|
4
5
|
* separateOperations accepts a single AST document which may contain many
|
|
5
6
|
* operations and fragments and returns a collection of AST documents each of
|
|
6
7
|
* which contains a single operation as well the fragment definitions it
|
|
7
8
|
* refers to.
|
|
9
|
+
* @param documentAST - The parsed GraphQL document AST.
|
|
10
|
+
* @returns A map of operation names to documents containing each operation and its referenced fragments.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { parse, print } from 'graphql/language';
|
|
14
|
+
* import { separateOperations } from 'graphql/utilities';
|
|
15
|
+
*
|
|
16
|
+
* const document = parse(`
|
|
17
|
+
* query GetUser {
|
|
18
|
+
* viewer {
|
|
19
|
+
* ...UserFields
|
|
20
|
+
* }
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* query GetStatus {
|
|
24
|
+
* status
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* fragment UserFields on User {
|
|
28
|
+
* id
|
|
29
|
+
* }
|
|
30
|
+
* `);
|
|
31
|
+
*
|
|
32
|
+
* const separated = separateOperations(document);
|
|
33
|
+
*
|
|
34
|
+
* Object.keys(separated); // => ['GetUser', 'GetStatus']
|
|
35
|
+
* print(separated.GetUser); // matches /fragment UserFields/
|
|
36
|
+
* print(separated.GetStatus); // does not match /fragment UserFields/
|
|
37
|
+
* ```
|
|
8
38
|
*/
|
|
9
39
|
export declare function separateOperations(documentAST: DocumentNode): ObjMap<DocumentNode>;
|