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
|
@@ -1,13 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
1
|
+
/** @category Values */
|
|
2
|
+
import type { Maybe } from "../jsutils/Maybe.mjs";
|
|
3
|
+
import type { ValueNode } from "../language/ast.mjs";
|
|
4
|
+
import type { GraphQLDefaultInput, GraphQLInputType } from "../type/definition.mjs";
|
|
5
|
+
import type { FragmentVariableValues } from "../execution/collectFields.mjs";
|
|
6
|
+
import type { VariableValues } from "../execution/values.mjs";
|
|
6
7
|
/**
|
|
7
8
|
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
8
9
|
*
|
|
9
10
|
* Returns `undefined` when the value could not be validly coerced according to
|
|
10
|
-
* the provided type.
|
|
11
|
+
* the provided type. Use `validateInputValue` when coercion diagnostics
|
|
12
|
+
* are needed.
|
|
13
|
+
* @param inputValue - JavaScript value to coerce.
|
|
14
|
+
* @param type - GraphQL input type to coerce the value against.
|
|
15
|
+
* @returns Coerced value, or undefined if coercion fails.
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* // Coerce runtime input values, returning undefined when coercion fails.
|
|
19
|
+
* import {
|
|
20
|
+
* GraphQLInputObjectType,
|
|
21
|
+
* GraphQLInt,
|
|
22
|
+
* GraphQLList,
|
|
23
|
+
* GraphQLNonNull,
|
|
24
|
+
* GraphQLString,
|
|
25
|
+
* } from 'graphql/type';
|
|
26
|
+
* import { coerceInputValue } from 'graphql/utilities';
|
|
27
|
+
*
|
|
28
|
+
* const ReviewInput = new GraphQLInputObjectType({
|
|
29
|
+
* name: 'ReviewInput',
|
|
30
|
+
* fields: {
|
|
31
|
+
* stars: { type: new GraphQLNonNull(GraphQLInt) },
|
|
32
|
+
* tags: { type: new GraphQLList(GraphQLString) },
|
|
33
|
+
* },
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* coerceInputValue({ stars: '5', tags: ['featured'] }, ReviewInput); // => { stars: 5, tags: ['featured'] }
|
|
37
|
+
* coerceInputValue({ stars: 'bad' }, ReviewInput); // => undefined
|
|
38
|
+
* ```
|
|
11
39
|
*/
|
|
12
40
|
export declare function coerceInputValue(inputValue: unknown, type: GraphQLInputType): unknown;
|
|
13
41
|
/**
|
|
@@ -15,6 +43,60 @@ export declare function coerceInputValue(inputValue: unknown, type: GraphQLInput
|
|
|
15
43
|
*
|
|
16
44
|
* Returns `undefined` when the value could not be validly coerced according to
|
|
17
45
|
* the provided type.
|
|
46
|
+
* @param valueNode - GraphQL value AST node to coerce.
|
|
47
|
+
* @param type - GraphQL input type to coerce the literal against.
|
|
48
|
+
* @param variableValues - Operation variable values returned by getVariableValues.
|
|
49
|
+
* @param fragmentVariableValues - Fragment variable values for the current fragment scope.
|
|
50
|
+
* @returns Coerced value, or undefined if coercion fails.
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* // Coerce literal input values without variables.
|
|
54
|
+
* import { parseValue } from 'graphql/language';
|
|
55
|
+
* import {
|
|
56
|
+
* GraphQLInputObjectType,
|
|
57
|
+
* GraphQLInt,
|
|
58
|
+
* GraphQLNonNull,
|
|
59
|
+
* GraphQLString,
|
|
60
|
+
* } from 'graphql/type';
|
|
61
|
+
* import { coerceInputLiteral } from 'graphql/utilities';
|
|
62
|
+
*
|
|
63
|
+
* const ReviewInput = new GraphQLInputObjectType({
|
|
64
|
+
* name: 'ReviewInput',
|
|
65
|
+
* fields: {
|
|
66
|
+
* stars: { type: new GraphQLNonNull(GraphQLInt) },
|
|
67
|
+
* comment: { type: GraphQLString },
|
|
68
|
+
* },
|
|
69
|
+
* });
|
|
70
|
+
*
|
|
71
|
+
* coerceInputLiteral(parseValue('{ stars: 5, comment: "Loved it" }'), ReviewInput); // => { stars: 5, comment: 'Loved it' }
|
|
72
|
+
* coerceInputLiteral(parseValue('{ comment: "Missing" }'), ReviewInput); // => undefined
|
|
73
|
+
* ```
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* // This variant resolves variable references using VariableValues from getVariableValues().
|
|
77
|
+
* import assert from 'node:assert';
|
|
78
|
+
* import { parse, parseValue } from 'graphql/language';
|
|
79
|
+
* import { GraphQLInt } from 'graphql/type';
|
|
80
|
+
* import { getVariableValues } from 'graphql/execution';
|
|
81
|
+
* import { buildSchema, coerceInputLiteral } from 'graphql/utilities';
|
|
82
|
+
*
|
|
83
|
+
* const schema = buildSchema(`
|
|
84
|
+
* type Query {
|
|
85
|
+
* review(stars: Int): String
|
|
86
|
+
* }
|
|
87
|
+
* `);
|
|
88
|
+
* const document = parse('query ($stars: Int = 5) { review(stars: $stars) }');
|
|
89
|
+
* const operation = document.definitions[0];
|
|
90
|
+
* const result = getVariableValues(
|
|
91
|
+
* schema,
|
|
92
|
+
* operation.variableDefinitions,
|
|
93
|
+
* { stars: '4' },
|
|
94
|
+
* );
|
|
95
|
+
*
|
|
96
|
+
* assert('variableValues' in result);
|
|
97
|
+
*
|
|
98
|
+
* coerceInputLiteral(parseValue('$stars'), GraphQLInt, result.variableValues); // => 4
|
|
99
|
+
* ```
|
|
18
100
|
*/
|
|
19
101
|
export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<FragmentVariableValues>): unknown;
|
|
20
102
|
interface InputValue {
|
|
@@ -1,13 +1,41 @@
|
|
|
1
|
-
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type {
|
|
1
|
+
/** @category Values */
|
|
2
|
+
import type { Maybe } from "../jsutils/Maybe.js";
|
|
3
|
+
import type { ValueNode } from "../language/ast.js";
|
|
4
|
+
import type { GraphQLDefaultInput, GraphQLInputType } from "../type/definition.js";
|
|
5
|
+
import type { FragmentVariableValues } from "../execution/collectFields.js";
|
|
6
|
+
import type { VariableValues } from "../execution/values.js";
|
|
6
7
|
/**
|
|
7
8
|
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
8
9
|
*
|
|
9
10
|
* Returns `undefined` when the value could not be validly coerced according to
|
|
10
|
-
* the provided type.
|
|
11
|
+
* the provided type. Use `validateInputValue` when coercion diagnostics
|
|
12
|
+
* are needed.
|
|
13
|
+
* @param inputValue - JavaScript value to coerce.
|
|
14
|
+
* @param type - GraphQL input type to coerce the value against.
|
|
15
|
+
* @returns Coerced value, or undefined if coercion fails.
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* // Coerce runtime input values, returning undefined when coercion fails.
|
|
19
|
+
* import {
|
|
20
|
+
* GraphQLInputObjectType,
|
|
21
|
+
* GraphQLInt,
|
|
22
|
+
* GraphQLList,
|
|
23
|
+
* GraphQLNonNull,
|
|
24
|
+
* GraphQLString,
|
|
25
|
+
* } from 'graphql/type';
|
|
26
|
+
* import { coerceInputValue } from 'graphql/utilities';
|
|
27
|
+
*
|
|
28
|
+
* const ReviewInput = new GraphQLInputObjectType({
|
|
29
|
+
* name: 'ReviewInput',
|
|
30
|
+
* fields: {
|
|
31
|
+
* stars: { type: new GraphQLNonNull(GraphQLInt) },
|
|
32
|
+
* tags: { type: new GraphQLList(GraphQLString) },
|
|
33
|
+
* },
|
|
34
|
+
* });
|
|
35
|
+
*
|
|
36
|
+
* coerceInputValue({ stars: '5', tags: ['featured'] }, ReviewInput); // => { stars: 5, tags: ['featured'] }
|
|
37
|
+
* coerceInputValue({ stars: 'bad' }, ReviewInput); // => undefined
|
|
38
|
+
* ```
|
|
11
39
|
*/
|
|
12
40
|
export declare function coerceInputValue(inputValue: unknown, type: GraphQLInputType): unknown;
|
|
13
41
|
/**
|
|
@@ -15,6 +43,60 @@ export declare function coerceInputValue(inputValue: unknown, type: GraphQLInput
|
|
|
15
43
|
*
|
|
16
44
|
* Returns `undefined` when the value could not be validly coerced according to
|
|
17
45
|
* the provided type.
|
|
46
|
+
* @param valueNode - GraphQL value AST node to coerce.
|
|
47
|
+
* @param type - GraphQL input type to coerce the literal against.
|
|
48
|
+
* @param variableValues - Operation variable values returned by getVariableValues.
|
|
49
|
+
* @param fragmentVariableValues - Fragment variable values for the current fragment scope.
|
|
50
|
+
* @returns Coerced value, or undefined if coercion fails.
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* // Coerce literal input values without variables.
|
|
54
|
+
* import { parseValue } from 'graphql/language';
|
|
55
|
+
* import {
|
|
56
|
+
* GraphQLInputObjectType,
|
|
57
|
+
* GraphQLInt,
|
|
58
|
+
* GraphQLNonNull,
|
|
59
|
+
* GraphQLString,
|
|
60
|
+
* } from 'graphql/type';
|
|
61
|
+
* import { coerceInputLiteral } from 'graphql/utilities';
|
|
62
|
+
*
|
|
63
|
+
* const ReviewInput = new GraphQLInputObjectType({
|
|
64
|
+
* name: 'ReviewInput',
|
|
65
|
+
* fields: {
|
|
66
|
+
* stars: { type: new GraphQLNonNull(GraphQLInt) },
|
|
67
|
+
* comment: { type: GraphQLString },
|
|
68
|
+
* },
|
|
69
|
+
* });
|
|
70
|
+
*
|
|
71
|
+
* coerceInputLiteral(parseValue('{ stars: 5, comment: "Loved it" }'), ReviewInput); // => { stars: 5, comment: 'Loved it' }
|
|
72
|
+
* coerceInputLiteral(parseValue('{ comment: "Missing" }'), ReviewInput); // => undefined
|
|
73
|
+
* ```
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* // This variant resolves variable references using VariableValues from getVariableValues().
|
|
77
|
+
* import assert from 'node:assert';
|
|
78
|
+
* import { parse, parseValue } from 'graphql/language';
|
|
79
|
+
* import { GraphQLInt } from 'graphql/type';
|
|
80
|
+
* import { getVariableValues } from 'graphql/execution';
|
|
81
|
+
* import { buildSchema, coerceInputLiteral } from 'graphql/utilities';
|
|
82
|
+
*
|
|
83
|
+
* const schema = buildSchema(`
|
|
84
|
+
* type Query {
|
|
85
|
+
* review(stars: Int): String
|
|
86
|
+
* }
|
|
87
|
+
* `);
|
|
88
|
+
* const document = parse('query ($stars: Int = 5) { review(stars: $stars) }');
|
|
89
|
+
* const operation = document.definitions[0];
|
|
90
|
+
* const result = getVariableValues(
|
|
91
|
+
* schema,
|
|
92
|
+
* operation.variableDefinitions,
|
|
93
|
+
* { stars: '4' },
|
|
94
|
+
* );
|
|
95
|
+
*
|
|
96
|
+
* assert('variableValues' in result);
|
|
97
|
+
*
|
|
98
|
+
* coerceInputLiteral(parseValue('$stars'), GraphQLInt, result.variableValues); // => 4
|
|
99
|
+
* ```
|
|
18
100
|
*/
|
|
19
101
|
export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<FragmentVariableValues>): unknown;
|
|
20
102
|
interface InputValue {
|
|
@@ -3,35 +3,28 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.coerceInputValue = coerceInputValue;
|
|
4
4
|
exports.coerceInputLiteral = coerceInputLiteral;
|
|
5
5
|
exports.coerceDefaultValue = coerceDefaultValue;
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
/**
|
|
14
|
-
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
15
|
-
*
|
|
16
|
-
* Returns `undefined` when the value could not be validly coerced according to
|
|
17
|
-
* the provided type.
|
|
18
|
-
*/
|
|
6
|
+
const inspect_ts_1 = require("../jsutils/inspect.js");
|
|
7
|
+
const invariant_ts_1 = require("../jsutils/invariant.js");
|
|
8
|
+
const isIterableObject_ts_1 = require("../jsutils/isIterableObject.js");
|
|
9
|
+
const isObjectLike_ts_1 = require("../jsutils/isObjectLike.js");
|
|
10
|
+
const kinds_ts_1 = require("../language/kinds.js");
|
|
11
|
+
const definition_ts_1 = require("../type/definition.js");
|
|
12
|
+
const replaceVariables_ts_1 = require("./replaceVariables.js");
|
|
19
13
|
function coerceInputValue(inputValue, type) {
|
|
20
|
-
if ((0,
|
|
14
|
+
if ((0, definition_ts_1.isNonNullType)(type)) {
|
|
21
15
|
if (inputValue == null) {
|
|
22
|
-
return;
|
|
16
|
+
return;
|
|
23
17
|
}
|
|
24
18
|
return coerceInputValue(inputValue, type.ofType);
|
|
25
19
|
}
|
|
26
20
|
if (inputValue == null) {
|
|
27
|
-
return null;
|
|
21
|
+
return null;
|
|
28
22
|
}
|
|
29
|
-
if ((0,
|
|
30
|
-
if (!(0,
|
|
31
|
-
// Lists accept a non-list value as a list of one.
|
|
23
|
+
if ((0, definition_ts_1.isListType)(type)) {
|
|
24
|
+
if (!(0, isIterableObject_ts_1.isIterableObject)(inputValue)) {
|
|
32
25
|
const coercedItem = coerceInputValue(inputValue, type.ofType);
|
|
33
26
|
if (coercedItem === undefined) {
|
|
34
|
-
return;
|
|
27
|
+
return;
|
|
35
28
|
}
|
|
36
29
|
return [coercedItem];
|
|
37
30
|
}
|
|
@@ -39,15 +32,15 @@ function coerceInputValue(inputValue, type) {
|
|
|
39
32
|
for (const itemValue of inputValue) {
|
|
40
33
|
const coercedItem = coerceInputValue(itemValue, type.ofType);
|
|
41
34
|
if (coercedItem === undefined) {
|
|
42
|
-
return;
|
|
35
|
+
return;
|
|
43
36
|
}
|
|
44
37
|
coercedValue.push(coercedItem);
|
|
45
38
|
}
|
|
46
39
|
return coercedValue;
|
|
47
40
|
}
|
|
48
|
-
if ((0,
|
|
49
|
-
if (!(0,
|
|
50
|
-
return;
|
|
41
|
+
if ((0, definition_ts_1.isInputObjectType)(type)) {
|
|
42
|
+
if (!(0, isObjectLike_ts_1.isObjectLike)(inputValue) || Array.isArray(inputValue)) {
|
|
43
|
+
return;
|
|
51
44
|
}
|
|
52
45
|
const coercedValue = Object.create(null);
|
|
53
46
|
const fieldDefs = type.getFields();
|
|
@@ -58,14 +51,14 @@ function coerceInputValue(inputValue, type) {
|
|
|
58
51
|
}
|
|
59
52
|
definedFieldCount++;
|
|
60
53
|
if (!Object.hasOwn(fieldDefs, fieldName)) {
|
|
61
|
-
return;
|
|
54
|
+
return;
|
|
62
55
|
}
|
|
63
56
|
}
|
|
64
57
|
for (const field of Object.values(fieldDefs)) {
|
|
65
58
|
const fieldValue = inputValue[field.name];
|
|
66
59
|
if (fieldValue === undefined) {
|
|
67
|
-
if ((0,
|
|
68
|
-
return;
|
|
60
|
+
if ((0, definition_ts_1.isRequiredInputField)(field)) {
|
|
61
|
+
return;
|
|
69
62
|
}
|
|
70
63
|
const coercedDefaultValue = coerceDefaultValue(field);
|
|
71
64
|
if (coercedDefaultValue !== undefined) {
|
|
@@ -75,7 +68,7 @@ function coerceInputValue(inputValue, type) {
|
|
|
75
68
|
else {
|
|
76
69
|
const coercedField = coerceInputValue(fieldValue, field.type);
|
|
77
70
|
if (coercedField === undefined) {
|
|
78
|
-
return;
|
|
71
|
+
return;
|
|
79
72
|
}
|
|
80
73
|
coercedValue[field.name] = coercedField;
|
|
81
74
|
}
|
|
@@ -83,55 +76,45 @@ function coerceInputValue(inputValue, type) {
|
|
|
83
76
|
if (type.isOneOf) {
|
|
84
77
|
const keys = Object.keys(coercedValue);
|
|
85
78
|
if (definedFieldCount !== 1 || keys.length !== 1) {
|
|
86
|
-
return;
|
|
79
|
+
return;
|
|
87
80
|
}
|
|
88
81
|
const key = keys[0];
|
|
89
82
|
const value = coercedValue[key];
|
|
90
83
|
if (value === null) {
|
|
91
|
-
return;
|
|
84
|
+
return;
|
|
92
85
|
}
|
|
93
86
|
}
|
|
94
87
|
return coercedValue;
|
|
95
88
|
}
|
|
96
|
-
const leafType = (0,
|
|
89
|
+
const leafType = (0, definition_ts_1.assertLeafType)(type);
|
|
97
90
|
try {
|
|
98
91
|
return leafType.coerceInputValue(inputValue);
|
|
99
92
|
}
|
|
100
93
|
catch (_error) {
|
|
101
|
-
// Invalid: ignore error and intentionally return no value.
|
|
102
94
|
}
|
|
103
95
|
}
|
|
104
|
-
/**
|
|
105
|
-
* Produces a coerced "internal" JavaScript value given a GraphQL Value AST.
|
|
106
|
-
*
|
|
107
|
-
* Returns `undefined` when the value could not be validly coerced according to
|
|
108
|
-
* the provided type.
|
|
109
|
-
*/
|
|
110
96
|
function coerceInputLiteral(valueNode, type, variableValues, fragmentVariableValues) {
|
|
111
|
-
if (valueNode.kind ===
|
|
97
|
+
if (valueNode.kind === kinds_ts_1.Kind.VARIABLE) {
|
|
112
98
|
const coercedVariableValue = getCoercedVariableValue(valueNode, variableValues, fragmentVariableValues);
|
|
113
|
-
if (coercedVariableValue == null && (0,
|
|
114
|
-
return;
|
|
99
|
+
if (coercedVariableValue == null && (0, definition_ts_1.isNonNullType)(type)) {
|
|
100
|
+
return;
|
|
115
101
|
}
|
|
116
|
-
// Note: This does no further checking that this variable is correct.
|
|
117
|
-
// This assumes validated has checked this variable is of the correct type.
|
|
118
102
|
return coercedVariableValue;
|
|
119
103
|
}
|
|
120
|
-
if ((0,
|
|
121
|
-
if (valueNode.kind ===
|
|
122
|
-
return;
|
|
104
|
+
if ((0, definition_ts_1.isNonNullType)(type)) {
|
|
105
|
+
if (valueNode.kind === kinds_ts_1.Kind.NULL) {
|
|
106
|
+
return;
|
|
123
107
|
}
|
|
124
108
|
return coerceInputLiteral(valueNode, type.ofType, variableValues, fragmentVariableValues);
|
|
125
109
|
}
|
|
126
|
-
if (valueNode.kind ===
|
|
127
|
-
return null;
|
|
110
|
+
if (valueNode.kind === kinds_ts_1.Kind.NULL) {
|
|
111
|
+
return null;
|
|
128
112
|
}
|
|
129
|
-
if ((0,
|
|
130
|
-
if (valueNode.kind !==
|
|
131
|
-
// Lists accept a non-list value as a list of one.
|
|
113
|
+
if ((0, definition_ts_1.isListType)(type)) {
|
|
114
|
+
if (valueNode.kind !== kinds_ts_1.Kind.LIST) {
|
|
132
115
|
const itemValue = coerceInputLiteral(valueNode, type.ofType, variableValues, fragmentVariableValues);
|
|
133
116
|
if (itemValue === undefined) {
|
|
134
|
-
return;
|
|
117
|
+
return;
|
|
135
118
|
}
|
|
136
119
|
return [itemValue];
|
|
137
120
|
}
|
|
@@ -139,38 +122,37 @@ function coerceInputLiteral(valueNode, type, variableValues, fragmentVariableVal
|
|
|
139
122
|
for (const itemNode of valueNode.values) {
|
|
140
123
|
let itemValue = coerceInputLiteral(itemNode, type.ofType, variableValues, fragmentVariableValues);
|
|
141
124
|
if (itemValue === undefined) {
|
|
142
|
-
if (itemNode.kind ===
|
|
125
|
+
if (itemNode.kind === kinds_ts_1.Kind.VARIABLE &&
|
|
143
126
|
getCoercedVariableValue(itemNode, variableValues, fragmentVariableValues) == null &&
|
|
144
|
-
!(0,
|
|
145
|
-
// A missing variable within a list is coerced to null.
|
|
127
|
+
!(0, definition_ts_1.isNonNullType)(type.ofType)) {
|
|
146
128
|
itemValue = null;
|
|
147
129
|
}
|
|
148
130
|
else {
|
|
149
|
-
return;
|
|
131
|
+
return;
|
|
150
132
|
}
|
|
151
133
|
}
|
|
152
134
|
coercedValue.push(itemValue);
|
|
153
135
|
}
|
|
154
136
|
return coercedValue;
|
|
155
137
|
}
|
|
156
|
-
if ((0,
|
|
157
|
-
if (valueNode.kind !==
|
|
158
|
-
return;
|
|
138
|
+
if ((0, definition_ts_1.isInputObjectType)(type)) {
|
|
139
|
+
if (valueNode.kind !== kinds_ts_1.Kind.OBJECT) {
|
|
140
|
+
return;
|
|
159
141
|
}
|
|
160
142
|
const coercedValue = Object.create(null);
|
|
161
143
|
const fieldDefs = type.getFields();
|
|
162
144
|
const hasUndefinedField = valueNode.fields.some((field) => !Object.hasOwn(fieldDefs, field.name.value));
|
|
163
145
|
if (hasUndefinedField) {
|
|
164
|
-
return;
|
|
146
|
+
return;
|
|
165
147
|
}
|
|
166
148
|
const fieldNodes = new Map(valueNode.fields.map((field) => [field.name.value, field]));
|
|
167
149
|
for (const field of Object.values(fieldDefs)) {
|
|
168
150
|
const fieldNode = fieldNodes.get(field.name);
|
|
169
151
|
if (!fieldNode ||
|
|
170
|
-
(fieldNode.value.kind ===
|
|
152
|
+
(fieldNode.value.kind === kinds_ts_1.Kind.VARIABLE &&
|
|
171
153
|
isMissingVariable(fieldNode.value, variableValues, fragmentVariableValues))) {
|
|
172
|
-
if ((0,
|
|
173
|
-
return;
|
|
154
|
+
if ((0, definition_ts_1.isRequiredInputField)(field)) {
|
|
155
|
+
return;
|
|
174
156
|
}
|
|
175
157
|
const coercedDefaultValue = coerceDefaultValue(field);
|
|
176
158
|
if (coercedDefaultValue !== undefined) {
|
|
@@ -180,7 +162,7 @@ function coerceInputLiteral(valueNode, type, variableValues, fragmentVariableVal
|
|
|
180
162
|
else {
|
|
181
163
|
const fieldValue = coerceInputLiteral(fieldNode.value, field.type, variableValues, fragmentVariableValues);
|
|
182
164
|
if (fieldValue === undefined) {
|
|
183
|
-
return;
|
|
165
|
+
return;
|
|
184
166
|
}
|
|
185
167
|
coercedValue[field.name] = fieldValue;
|
|
186
168
|
}
|
|
@@ -188,28 +170,26 @@ function coerceInputLiteral(valueNode, type, variableValues, fragmentVariableVal
|
|
|
188
170
|
if (type.isOneOf) {
|
|
189
171
|
const coercedKeys = Object.keys(coercedValue);
|
|
190
172
|
if (fieldNodes.size !== 1 || coercedKeys.length !== 1) {
|
|
191
|
-
return;
|
|
173
|
+
return;
|
|
192
174
|
}
|
|
193
175
|
for (const [fieldName, fieldNode] of fieldNodes) {
|
|
194
|
-
if (fieldNode.value.kind ===
|
|
176
|
+
if (fieldNode.value.kind === kinds_ts_1.Kind.NULL ||
|
|
195
177
|
coercedValue[fieldName] === null) {
|
|
196
|
-
return;
|
|
178
|
+
return;
|
|
197
179
|
}
|
|
198
180
|
}
|
|
199
181
|
}
|
|
200
182
|
return coercedValue;
|
|
201
183
|
}
|
|
202
|
-
const leafType = (0,
|
|
184
|
+
const leafType = (0, definition_ts_1.assertLeafType)(type);
|
|
203
185
|
try {
|
|
204
186
|
return leafType.coerceInputLiteral
|
|
205
|
-
? leafType.coerceInputLiteral((0,
|
|
187
|
+
? leafType.coerceInputLiteral((0, replaceVariables_ts_1.replaceVariables)(valueNode, variableValues, fragmentVariableValues))
|
|
206
188
|
: leafType.parseLiteral(valueNode, variableValues?.coerced);
|
|
207
189
|
}
|
|
208
190
|
catch (_error) {
|
|
209
|
-
// Invalid: ignore error and intentionally return no value.
|
|
210
191
|
}
|
|
211
192
|
}
|
|
212
|
-
// Retrieves the variable value for the given variable node.
|
|
213
193
|
function getCoercedVariableValue(variableNode, variableValues, fragmentVariableValues) {
|
|
214
194
|
const varName = variableNode.name.value;
|
|
215
195
|
if (fragmentVariableValues?.sources[varName] !== undefined) {
|
|
@@ -224,16 +204,7 @@ function isMissingVariable(variableNode, variableValues, fragmentVariableValues)
|
|
|
224
204
|
: variableValues?.coerced;
|
|
225
205
|
return scopedValues?.[varName] === undefined;
|
|
226
206
|
}
|
|
227
|
-
/**
|
|
228
|
-
* Returns the coerced default value for an input value definition, if it exists.
|
|
229
|
-
*
|
|
230
|
-
* If the default value is invalid, this will throw an error. Invalid default
|
|
231
|
-
* values should be caught during validation, however, so this function assumes
|
|
232
|
-
* that the default value is valid.
|
|
233
|
-
* @internal
|
|
234
|
-
*/
|
|
235
207
|
function coerceDefaultValue(inputValue) {
|
|
236
|
-
// Memoize the result of coercing the default value in a hidden field.
|
|
237
208
|
let coercedDefaultValue = inputValue._memoizedCoercedDefaultValue;
|
|
238
209
|
if (coercedDefaultValue !== undefined) {
|
|
239
210
|
return coercedDefaultValue;
|
|
@@ -244,7 +215,7 @@ function coerceDefaultValue(inputValue) {
|
|
|
244
215
|
? coerceInputLiteral(defaultInput.literal, inputValue.type)
|
|
245
216
|
: coerceInputValue(defaultInput.value, inputValue.type);
|
|
246
217
|
if (!(coercedDefaultValue !== undefined))
|
|
247
|
-
(0,
|
|
218
|
+
(0, invariant_ts_1.invariant)(false, `Expected value of type "${inputValue.type}" to be valid, found: ${(0, inspect_ts_1.inspect)(defaultInput.literal ?? defaultInput.value)}.`);
|
|
248
219
|
inputValue._memoizedCoercedDefaultValue = coercedDefaultValue;
|
|
249
220
|
return coercedDefaultValue;
|
|
250
221
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coerceInputValue.js","sourceRoot":"","sources":["../../src/utilities/coerceInputValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\n\nimport type { ValueNode, VariableNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type {\n GraphQLDefaultInput,\n GraphQLInputType,\n} from '../type/definition.js';\nimport {\n assertLeafType,\n isInputObjectType,\n isListType,\n isNonNullType,\n isRequiredInputField,\n} from '../type/definition.js';\n\nimport type { FragmentVariableValues } from '../execution/collectFields.js';\nimport type { VariableValues } from '../execution/values.js';\n\nimport { replaceVariables } from './replaceVariables.js';\n\n/**\n * Coerces a JavaScript value given a GraphQL Input Type.\n *\n * Returns `undefined` when the value could not be validly coerced according to\n * the provided type.\n */\nexport function coerceInputValue(\n inputValue: unknown,\n type: GraphQLInputType,\n): unknown {\n if (isNonNullType(type)) {\n if (inputValue == null) {\n return; // Invalid: intentionally return no value.\n }\n return coerceInputValue(inputValue, type.ofType);\n }\n\n if (inputValue == null) {\n return null; // Explicitly return the value null.\n }\n\n if (isListType(type)) {\n if (!isIterableObject(inputValue)) {\n // Lists accept a non-list value as a list of one.\n const coercedItem = coerceInputValue(inputValue, type.ofType);\n if (coercedItem === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return [coercedItem];\n }\n const coercedValue = [];\n for (const itemValue of inputValue) {\n const coercedItem = coerceInputValue(itemValue, type.ofType);\n if (coercedItem === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValue.push(coercedItem);\n }\n return coercedValue;\n }\n\n if (isInputObjectType(type)) {\n if (!isObjectLike(inputValue) || Array.isArray(inputValue)) {\n return; // Invalid: intentionally return no value.\n }\n\n const coercedValue: ObjMap<unknown> = Object.create(null);\n const fieldDefs = type.getFields();\n let definedFieldCount = 0;\n for (const fieldName of Object.keys(inputValue)) {\n if (inputValue[fieldName] === undefined) {\n continue;\n }\n definedFieldCount++;\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n return; // Invalid: intentionally return no value.\n }\n }\n for (const field of Object.values(fieldDefs)) {\n const fieldValue = inputValue[field.name];\n if (fieldValue === undefined) {\n if (isRequiredInputField(field)) {\n return; // Invalid: intentionally return no value.\n }\n const coercedDefaultValue = coerceDefaultValue(field);\n if (coercedDefaultValue !== undefined) {\n coercedValue[field.name] = coercedDefaultValue;\n }\n } else {\n const coercedField = coerceInputValue(fieldValue, field.type);\n if (coercedField === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValue[field.name] = coercedField;\n }\n }\n\n if (type.isOneOf) {\n const keys = Object.keys(coercedValue);\n if (definedFieldCount !== 1 || keys.length !== 1) {\n return; // Invalid: intentionally return no value.\n }\n\n const key = keys[0];\n const value = coercedValue[key];\n if (value === null) {\n return; // Invalid: intentionally return no value.\n }\n }\n\n return coercedValue;\n }\n\n const leafType = assertLeafType(type);\n\n try {\n return leafType.coerceInputValue(inputValue);\n } catch (_error) {\n // Invalid: ignore error and intentionally return no value.\n }\n}\n\n/**\n * Produces a coerced \"internal\" JavaScript value given a GraphQL Value AST.\n *\n * Returns `undefined` when the value could not be validly coerced according to\n * the provided type.\n */\nexport function coerceInputLiteral(\n valueNode: ValueNode,\n type: GraphQLInputType,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n): unknown {\n if (valueNode.kind === Kind.VARIABLE) {\n const coercedVariableValue = getCoercedVariableValue(\n valueNode,\n variableValues,\n fragmentVariableValues,\n );\n if (coercedVariableValue == null && isNonNullType(type)) {\n return; // Invalid: intentionally return no value.\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes validated has checked this variable is of the correct type.\n return coercedVariableValue;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n return; // Invalid: intentionally return no value.\n }\n return coerceInputLiteral(\n valueNode,\n type.ofType,\n variableValues,\n fragmentVariableValues,\n );\n }\n\n if (valueNode.kind === Kind.NULL) {\n return null; // Explicitly return the value null.\n }\n\n if (isListType(type)) {\n if (valueNode.kind !== Kind.LIST) {\n // Lists accept a non-list value as a list of one.\n const itemValue = coerceInputLiteral(\n valueNode,\n type.ofType,\n variableValues,\n fragmentVariableValues,\n );\n if (itemValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return [itemValue];\n }\n const coercedValue: Array<unknown> = [];\n for (const itemNode of valueNode.values) {\n let itemValue = coerceInputLiteral(\n itemNode,\n type.ofType,\n variableValues,\n fragmentVariableValues,\n );\n if (itemValue === undefined) {\n if (\n itemNode.kind === Kind.VARIABLE &&\n getCoercedVariableValue(\n itemNode,\n variableValues,\n fragmentVariableValues,\n ) == null &&\n !isNonNullType(type.ofType)\n ) {\n // A missing variable within a list is coerced to null.\n itemValue = null;\n } else {\n return; // Invalid: intentionally return no value.\n }\n }\n coercedValue.push(itemValue);\n }\n return coercedValue;\n }\n\n if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n return; // Invalid: intentionally return no value.\n }\n\n const coercedValue: ObjMap<unknown> = Object.create(null);\n const fieldDefs = type.getFields();\n const hasUndefinedField = valueNode.fields.some(\n (field) => !Object.hasOwn(fieldDefs, field.name.value),\n );\n if (hasUndefinedField) {\n return; // Invalid: intentionally return no value.\n }\n const fieldNodes = new Map(\n valueNode.fields.map((field) => [field.name.value, field]),\n );\n for (const field of Object.values(fieldDefs)) {\n const fieldNode = fieldNodes.get(field.name);\n if (\n !fieldNode ||\n (fieldNode.value.kind === Kind.VARIABLE &&\n isMissingVariable(\n fieldNode.value,\n variableValues,\n fragmentVariableValues,\n ))\n ) {\n if (isRequiredInputField(field)) {\n return; // Invalid: intentionally return no value.\n }\n const coercedDefaultValue = coerceDefaultValue(field);\n if (coercedDefaultValue !== undefined) {\n coercedValue[field.name] = coercedDefaultValue;\n }\n } else {\n const fieldValue = coerceInputLiteral(\n fieldNode.value,\n field.type,\n variableValues,\n fragmentVariableValues,\n );\n if (fieldValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValue[field.name] = fieldValue;\n }\n }\n\n if (type.isOneOf) {\n const coercedKeys = Object.keys(coercedValue);\n if (fieldNodes.size !== 1 || coercedKeys.length !== 1) {\n return; // Invalid: not exactly one key, intentionally return no value.\n }\n\n for (const [fieldName, fieldNode] of fieldNodes) {\n if (\n fieldNode.value.kind === Kind.NULL ||\n coercedValue[fieldName] === null\n ) {\n return; // Invalid: value not non-null, intentionally return no value.\n }\n }\n }\n\n return coercedValue;\n }\n\n const leafType = assertLeafType(type);\n try {\n return leafType.coerceInputLiteral\n ? leafType.coerceInputLiteral(\n replaceVariables(valueNode, variableValues, fragmentVariableValues),\n )\n : leafType.parseLiteral(valueNode, variableValues?.coerced);\n } catch (_error) {\n // Invalid: ignore error and intentionally return no value.\n }\n}\n\n// Retrieves the variable value for the given variable node.\nfunction getCoercedVariableValue(\n variableNode: VariableNode,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n): unknown {\n const varName = variableNode.name.value;\n if (fragmentVariableValues?.sources[varName] !== undefined) {\n return fragmentVariableValues.coerced[varName];\n }\n\n return variableValues?.coerced[varName];\n}\n\nfunction isMissingVariable(\n variableNode: VariableNode,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n): boolean {\n const varName = variableNode.name.value;\n const scopedValues =\n fragmentVariableValues?.sources[varName] !== undefined\n ? fragmentVariableValues.coerced\n : variableValues?.coerced;\n return scopedValues?.[varName] === undefined;\n}\n\ninterface InputValue {\n type: GraphQLInputType;\n default?: GraphQLDefaultInput | undefined;\n defaultValue?: unknown;\n}\n\n/**\n * Returns the coerced default value for an input value definition, if it exists.\n *\n * If the default value is invalid, this will throw an error. Invalid default\n * values should be caught during validation, however, so this function assumes\n * that the default value is valid.\n * @internal\n */\nexport function coerceDefaultValue(inputValue: InputValue): unknown {\n // Memoize the result of coercing the default value in a hidden field.\n let coercedDefaultValue = (inputValue as any)._memoizedCoercedDefaultValue;\n if (coercedDefaultValue !== undefined) {\n return coercedDefaultValue;\n }\n\n const defaultInput = inputValue.default;\n if (defaultInput !== undefined) {\n coercedDefaultValue = defaultInput.literal\n ? coerceInputLiteral(defaultInput.literal, inputValue.type)\n : coerceInputValue(defaultInput.value, inputValue.type);\n invariant(\n coercedDefaultValue !== undefined,\n `Expected value of type \"${inputValue.type}\" to be valid, found: ${inspect(\n defaultInput.literal ?? defaultInput.value,\n )}.`,\n );\n (inputValue as any)._memoizedCoercedDefaultValue = coercedDefaultValue;\n return coercedDefaultValue;\n }\n\n const defaultValue = inputValue.defaultValue;\n if (defaultValue !== undefined) {\n (inputValue as any)._memoizedCoercedDefaultValue = defaultValue;\n }\n return defaultValue;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"coerceInputValue.js","sourceRoot":"","sources":["../../src/utilities/coerceInputValue.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Values */\n\nimport { inspect } from '../jsutils/inspect.ts';\nimport { invariant } from '../jsutils/invariant.ts';\nimport { isIterableObject } from '../jsutils/isIterableObject.ts';\nimport { isObjectLike } from '../jsutils/isObjectLike.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap } from '../jsutils/ObjMap.ts';\n\nimport type { ValueNode, VariableNode } from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type {\n GraphQLDefaultInput,\n GraphQLInputType,\n} from '../type/definition.ts';\nimport {\n assertLeafType,\n isInputObjectType,\n isListType,\n isNonNullType,\n isRequiredInputField,\n} from '../type/definition.ts';\n\nimport type { FragmentVariableValues } from '../execution/collectFields.ts';\nimport type { VariableValues } from '../execution/values.ts';\n\nimport { replaceVariables } from './replaceVariables.ts';\n\n/**\n * Coerces a JavaScript value given a GraphQL Input Type.\n *\n * Returns `undefined` when the value could not be validly coerced according to\n * the provided type. Use `validateInputValue` when coercion diagnostics\n * are needed.\n * @param inputValue - JavaScript value to coerce.\n * @param type - GraphQL input type to coerce the value against.\n * @returns Coerced value, or undefined if coercion fails.\n * @example\n * ```ts\n * // Coerce runtime input values, returning undefined when coercion fails.\n * import {\n * GraphQLInputObjectType,\n * GraphQLInt,\n * GraphQLList,\n * GraphQLNonNull,\n * GraphQLString,\n * } from 'graphql/type';\n * import { coerceInputValue } from 'graphql/utilities';\n *\n * const ReviewInput = new GraphQLInputObjectType({\n * name: 'ReviewInput',\n * fields: {\n * stars: { type: new GraphQLNonNull(GraphQLInt) },\n * tags: { type: new GraphQLList(GraphQLString) },\n * },\n * });\n *\n * coerceInputValue({ stars: '5', tags: ['featured'] }, ReviewInput); // => { stars: 5, tags: ['featured'] }\n * coerceInputValue({ stars: 'bad' }, ReviewInput); // => undefined\n * ```\n */\nexport function coerceInputValue(\n inputValue: unknown,\n type: GraphQLInputType,\n): unknown {\n if (isNonNullType(type)) {\n if (inputValue == null) {\n return; // Invalid: intentionally return no value.\n }\n return coerceInputValue(inputValue, type.ofType);\n }\n\n if (inputValue == null) {\n return null; // Explicitly return the value null.\n }\n\n if (isListType(type)) {\n if (!isIterableObject(inputValue)) {\n // Lists accept a non-list value as a list of one.\n const coercedItem = coerceInputValue(inputValue, type.ofType);\n if (coercedItem === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return [coercedItem];\n }\n const coercedValue = [];\n for (const itemValue of inputValue) {\n const coercedItem = coerceInputValue(itemValue, type.ofType);\n if (coercedItem === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValue.push(coercedItem);\n }\n return coercedValue;\n }\n\n if (isInputObjectType(type)) {\n if (!isObjectLike(inputValue) || Array.isArray(inputValue)) {\n return; // Invalid: intentionally return no value.\n }\n\n const coercedValue: ObjMap<unknown> = Object.create(null);\n const fieldDefs = type.getFields();\n let definedFieldCount = 0;\n for (const fieldName of Object.keys(inputValue)) {\n if (inputValue[fieldName] === undefined) {\n continue;\n }\n definedFieldCount++;\n if (!Object.hasOwn(fieldDefs, fieldName)) {\n return; // Invalid: intentionally return no value.\n }\n }\n for (const field of Object.values(fieldDefs)) {\n const fieldValue = inputValue[field.name];\n if (fieldValue === undefined) {\n if (isRequiredInputField(field)) {\n return; // Invalid: intentionally return no value.\n }\n const coercedDefaultValue = coerceDefaultValue(field);\n if (coercedDefaultValue !== undefined) {\n coercedValue[field.name] = coercedDefaultValue;\n }\n } else {\n const coercedField = coerceInputValue(fieldValue, field.type);\n if (coercedField === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValue[field.name] = coercedField;\n }\n }\n\n if (type.isOneOf) {\n const keys = Object.keys(coercedValue);\n if (definedFieldCount !== 1 || keys.length !== 1) {\n return; // Invalid: intentionally return no value.\n }\n\n const key = keys[0];\n const value = coercedValue[key];\n if (value === null) {\n return; // Invalid: intentionally return no value.\n }\n }\n\n return coercedValue;\n }\n\n const leafType = assertLeafType(type);\n\n try {\n return leafType.coerceInputValue(inputValue);\n } catch (_error) {\n // Invalid: ignore error and intentionally return no value.\n }\n}\n\n/**\n * Produces a coerced \"internal\" JavaScript value given a GraphQL Value AST.\n *\n * Returns `undefined` when the value could not be validly coerced according to\n * the provided type.\n * @param valueNode - GraphQL value AST node to coerce.\n * @param type - GraphQL input type to coerce the literal against.\n * @param variableValues - Operation variable values returned by getVariableValues.\n * @param fragmentVariableValues - Fragment variable values for the current fragment scope.\n * @returns Coerced value, or undefined if coercion fails.\n * @example\n * ```ts\n * // Coerce literal input values without variables.\n * import { parseValue } from 'graphql/language';\n * import {\n * GraphQLInputObjectType,\n * GraphQLInt,\n * GraphQLNonNull,\n * GraphQLString,\n * } from 'graphql/type';\n * import { coerceInputLiteral } from 'graphql/utilities';\n *\n * const ReviewInput = new GraphQLInputObjectType({\n * name: 'ReviewInput',\n * fields: {\n * stars: { type: new GraphQLNonNull(GraphQLInt) },\n * comment: { type: GraphQLString },\n * },\n * });\n *\n * coerceInputLiteral(parseValue('{ stars: 5, comment: \"Loved it\" }'), ReviewInput); // => { stars: 5, comment: 'Loved it' }\n * coerceInputLiteral(parseValue('{ comment: \"Missing\" }'), ReviewInput); // => undefined\n * ```\n * @example\n * ```ts\n * // This variant resolves variable references using VariableValues from getVariableValues().\n * import assert from 'node:assert';\n * import { parse, parseValue } from 'graphql/language';\n * import { GraphQLInt } from 'graphql/type';\n * import { getVariableValues } from 'graphql/execution';\n * import { buildSchema, coerceInputLiteral } from 'graphql/utilities';\n *\n * const schema = buildSchema(`\n * type Query {\n * review(stars: Int): String\n * }\n * `);\n * const document = parse('query ($stars: Int = 5) { review(stars: $stars) }');\n * const operation = document.definitions[0];\n * const result = getVariableValues(\n * schema,\n * operation.variableDefinitions,\n * { stars: '4' },\n * );\n *\n * assert('variableValues' in result);\n *\n * coerceInputLiteral(parseValue('$stars'), GraphQLInt, result.variableValues); // => 4\n * ```\n */\nexport function coerceInputLiteral(\n valueNode: ValueNode,\n type: GraphQLInputType,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n): unknown {\n if (valueNode.kind === Kind.VARIABLE) {\n const coercedVariableValue = getCoercedVariableValue(\n valueNode,\n variableValues,\n fragmentVariableValues,\n );\n if (coercedVariableValue == null && isNonNullType(type)) {\n return; // Invalid: intentionally return no value.\n }\n // Note: This does no further checking that this variable is correct.\n // This assumes validated has checked this variable is of the correct type.\n return coercedVariableValue;\n }\n\n if (isNonNullType(type)) {\n if (valueNode.kind === Kind.NULL) {\n return; // Invalid: intentionally return no value.\n }\n return coerceInputLiteral(\n valueNode,\n type.ofType,\n variableValues,\n fragmentVariableValues,\n );\n }\n\n if (valueNode.kind === Kind.NULL) {\n return null; // Explicitly return the value null.\n }\n\n if (isListType(type)) {\n if (valueNode.kind !== Kind.LIST) {\n // Lists accept a non-list value as a list of one.\n const itemValue = coerceInputLiteral(\n valueNode,\n type.ofType,\n variableValues,\n fragmentVariableValues,\n );\n if (itemValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n return [itemValue];\n }\n const coercedValue: Array<unknown> = [];\n for (const itemNode of valueNode.values) {\n let itemValue = coerceInputLiteral(\n itemNode,\n type.ofType,\n variableValues,\n fragmentVariableValues,\n );\n if (itemValue === undefined) {\n if (\n itemNode.kind === Kind.VARIABLE &&\n getCoercedVariableValue(\n itemNode,\n variableValues,\n fragmentVariableValues,\n ) == null &&\n !isNonNullType(type.ofType)\n ) {\n // A missing variable within a list is coerced to null.\n itemValue = null;\n } else {\n return; // Invalid: intentionally return no value.\n }\n }\n coercedValue.push(itemValue);\n }\n return coercedValue;\n }\n\n if (isInputObjectType(type)) {\n if (valueNode.kind !== Kind.OBJECT) {\n return; // Invalid: intentionally return no value.\n }\n\n const coercedValue: ObjMap<unknown> = Object.create(null);\n const fieldDefs = type.getFields();\n const hasUndefinedField = valueNode.fields.some(\n (field) => !Object.hasOwn(fieldDefs, field.name.value),\n );\n if (hasUndefinedField) {\n return; // Invalid: intentionally return no value.\n }\n const fieldNodes = new Map(\n valueNode.fields.map((field) => [field.name.value, field]),\n );\n for (const field of Object.values(fieldDefs)) {\n const fieldNode = fieldNodes.get(field.name);\n if (\n !fieldNode ||\n (fieldNode.value.kind === Kind.VARIABLE &&\n isMissingVariable(\n fieldNode.value,\n variableValues,\n fragmentVariableValues,\n ))\n ) {\n if (isRequiredInputField(field)) {\n return; // Invalid: intentionally return no value.\n }\n const coercedDefaultValue = coerceDefaultValue(field);\n if (coercedDefaultValue !== undefined) {\n coercedValue[field.name] = coercedDefaultValue;\n }\n } else {\n const fieldValue = coerceInputLiteral(\n fieldNode.value,\n field.type,\n variableValues,\n fragmentVariableValues,\n );\n if (fieldValue === undefined) {\n return; // Invalid: intentionally return no value.\n }\n coercedValue[field.name] = fieldValue;\n }\n }\n\n if (type.isOneOf) {\n const coercedKeys = Object.keys(coercedValue);\n if (fieldNodes.size !== 1 || coercedKeys.length !== 1) {\n return; // Invalid: not exactly one key, intentionally return no value.\n }\n\n for (const [fieldName, fieldNode] of fieldNodes) {\n if (\n fieldNode.value.kind === Kind.NULL ||\n coercedValue[fieldName] === null\n ) {\n return; // Invalid: value not non-null, intentionally return no value.\n }\n }\n }\n\n return coercedValue;\n }\n\n const leafType = assertLeafType(type);\n try {\n return leafType.coerceInputLiteral\n ? leafType.coerceInputLiteral(\n replaceVariables(valueNode, variableValues, fragmentVariableValues),\n )\n : leafType.parseLiteral(valueNode, variableValues?.coerced);\n } catch (_error) {\n // Invalid: ignore error and intentionally return no value.\n }\n}\n\n// Retrieves the variable value for the given variable node.\nfunction getCoercedVariableValue(\n variableNode: VariableNode,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n): unknown {\n const varName = variableNode.name.value;\n if (fragmentVariableValues?.sources[varName] !== undefined) {\n return fragmentVariableValues.coerced[varName];\n }\n\n return variableValues?.coerced[varName];\n}\n\nfunction isMissingVariable(\n variableNode: VariableNode,\n variableValues: Maybe<VariableValues>,\n fragmentVariableValues: Maybe<FragmentVariableValues>,\n): boolean {\n const varName = variableNode.name.value;\n const scopedValues =\n fragmentVariableValues?.sources[varName] !== undefined\n ? fragmentVariableValues.coerced\n : variableValues?.coerced;\n return scopedValues?.[varName] === undefined;\n}\n\ninterface InputValue {\n type: GraphQLInputType;\n default?: GraphQLDefaultInput | undefined;\n defaultValue?: unknown;\n /** @private */\n _memoizedCoercedDefaultValue?: unknown;\n}\n\n/**\n * Returns the coerced default value for an input value definition, if it exists.\n *\n * If the default value is invalid, this will throw an error. Invalid default\n * values should be caught during validation, however, so this function assumes\n * that the default value is valid.\n * @internal\n */\nexport function coerceDefaultValue(inputValue: InputValue): unknown {\n // Memoize the result of coercing the default value in a hidden field.\n let coercedDefaultValue = inputValue._memoizedCoercedDefaultValue;\n if (coercedDefaultValue !== undefined) {\n return coercedDefaultValue;\n }\n\n const defaultInput = inputValue.default;\n if (defaultInput !== undefined) {\n coercedDefaultValue = defaultInput.literal\n ? coerceInputLiteral(defaultInput.literal, inputValue.type)\n : coerceInputValue(defaultInput.value, inputValue.type);\n invariant(\n coercedDefaultValue !== undefined,\n `Expected value of type \"${inputValue.type}\" to be valid, found: ${inspect(\n defaultInput.literal ?? defaultInput.value,\n )}.`,\n );\n inputValue._memoizedCoercedDefaultValue = coercedDefaultValue;\n return coercedDefaultValue;\n }\n\n const defaultValue = inputValue.defaultValue;\n if (defaultValue !== undefined) {\n inputValue._memoizedCoercedDefaultValue = defaultValue;\n }\n return defaultValue;\n}\n"]}
|