graphql 17.0.0-beta.1 → 17.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__dev__/devMode.d.ts +1 -1
- package/__dev__/error/GraphQLError.d.ts +1 -1
- package/__dev__/error/ensureGraphQLError.d.ts +1 -1
- package/__dev__/error/index.d.ts +1 -1
- package/__dev__/error/locatedError.d.ts +1 -1
- package/__dev__/error/syntaxError.d.ts +1 -1
- package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -1
- package/__dev__/execution/AsyncWorkTracker.d.ts +1 -1
- package/__dev__/execution/ExecutionArgs.d.mts +1 -0
- package/__dev__/execution/ExecutionArgs.d.ts +1 -0
- package/__dev__/execution/ExecutionArgs.js +3 -0
- package/__dev__/execution/ExecutionArgs.mjs +3 -0
- package/__dev__/execution/Executor.d.ts +1 -1
- package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -1
- package/__dev__/execution/buildResolveInfo.d.ts +1 -1
- package/__dev__/execution/cancellablePromise.d.ts +1 -1
- package/__dev__/execution/collectFields.d.ts +1 -1
- package/__dev__/execution/collectIteratorPromises.d.ts +1 -1
- package/__dev__/execution/createSharedExecutionContext.d.ts +1 -1
- package/__dev__/execution/execute.d.ts +1 -1
- package/__dev__/execution/getStreamUsage.d.ts +1 -1
- package/__dev__/execution/getVariableSignature.d.ts +1 -1
- package/__dev__/execution/hooks.d.ts +1 -1
- package/__dev__/execution/incremental/Computation.d.ts +1 -1
- package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -1
- package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -1
- package/__dev__/execution/incremental/Queue.d.ts +1 -1
- package/__dev__/execution/incremental/WorkQueue.d.ts +1 -1
- package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -1
- package/__dev__/execution/index.d.ts +1 -1
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.js +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.js +3 -0
- package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +3 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +1 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +1 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.js +3 -0
- package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.mjs +3 -0
- package/__dev__/execution/mapAsyncIterable.d.ts +1 -1
- package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -1
- package/__dev__/execution/values.d.ts +1 -1
- package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -1
- package/__dev__/graphql.d.ts +1 -1
- package/__dev__/harness.d.ts +1 -1
- package/__dev__/index.d.ts +1 -1
- package/__dev__/jsutils/AccumulatorMap.d.ts +1 -1
- package/__dev__/jsutils/Maybe.d.ts +1 -1
- package/__dev__/jsutils/ObjMap.d.ts +1 -1
- package/__dev__/jsutils/Path.d.ts +1 -1
- package/__dev__/jsutils/PromiseOrValue.d.ts +1 -1
- package/__dev__/jsutils/capitalize.d.ts +1 -1
- package/__dev__/jsutils/devAssert.d.ts +1 -1
- package/__dev__/jsutils/didYouMean.d.ts +1 -1
- package/__dev__/jsutils/formatList.d.ts +1 -1
- package/__dev__/jsutils/getBySet.d.ts +1 -1
- package/__dev__/jsutils/groupBy.d.ts +1 -1
- package/__dev__/jsutils/identityFunc.d.ts +1 -1
- package/__dev__/jsutils/inspect.d.ts +1 -1
- package/__dev__/jsutils/instanceOf.d.ts +1 -1
- package/__dev__/jsutils/invariant.d.ts +1 -1
- package/__dev__/jsutils/isAsyncIterable.d.ts +1 -1
- package/__dev__/jsutils/isIterableObject.d.ts +1 -1
- package/__dev__/jsutils/isObjectLike.d.ts +1 -1
- package/__dev__/jsutils/isPromise.d.ts +1 -1
- package/__dev__/jsutils/isSameSet.d.ts +1 -1
- package/__dev__/jsutils/keyMap.d.ts +1 -1
- package/__dev__/jsutils/keyValMap.d.ts +1 -1
- package/__dev__/jsutils/mapValue.d.ts +1 -1
- package/__dev__/jsutils/memoize1.d.ts +1 -1
- package/__dev__/jsutils/memoize2.d.ts +1 -1
- package/__dev__/jsutils/memoize3.d.ts +1 -1
- package/__dev__/jsutils/naturalCompare.d.ts +1 -1
- package/__dev__/jsutils/printPathArray.d.ts +1 -1
- package/__dev__/jsutils/promiseForObject.d.ts +1 -1
- package/__dev__/jsutils/promiseReduce.d.ts +1 -1
- package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -1
- package/__dev__/jsutils/suggestionList.d.ts +1 -1
- package/__dev__/jsutils/toError.d.ts +1 -1
- package/__dev__/jsutils/toObjMap.d.ts +1 -1
- package/__dev__/language/KindTypeMap.d.ts +1 -1
- package/__dev__/language/ast.d.ts +1 -1
- package/__dev__/language/blockString.d.ts +1 -1
- package/__dev__/language/characterClasses.d.ts +1 -1
- package/__dev__/language/directiveLocation.d.ts +1 -1
- package/__dev__/language/index.d.ts +1 -1
- package/__dev__/language/kinds.d.ts +1 -1
- package/__dev__/language/kinds_.d.ts +1 -1
- package/__dev__/language/lexer.d.ts +1 -1
- package/__dev__/language/location.d.ts +1 -1
- package/__dev__/language/parser.d.ts +1 -1
- package/__dev__/language/predicates.d.ts +1 -1
- package/__dev__/language/printLocation.d.ts +1 -1
- package/__dev__/language/printString.d.ts +1 -1
- package/__dev__/language/printer.d.ts +1 -1
- package/__dev__/language/schemaCoordinateLexer.d.ts +1 -1
- package/__dev__/language/source.d.ts +1 -1
- package/__dev__/language/tokenKind.d.ts +1 -1
- package/__dev__/language/visitor.d.ts +1 -1
- package/__dev__/type/assertName.d.ts +1 -1
- package/__dev__/type/definition.d.ts +1 -1
- package/__dev__/type/directives.d.ts +1 -1
- package/__dev__/type/index.d.ts +1 -1
- package/__dev__/type/introspection.d.ts +1 -1
- package/__dev__/type/scalars.d.ts +1 -1
- package/__dev__/type/schema.d.ts +1 -1
- package/__dev__/type/validate.d.ts +1 -1
- package/__dev__/utilities/TypeInfo.d.ts +1 -1
- package/__dev__/utilities/astFromValue.d.ts +1 -1
- package/__dev__/utilities/buildASTSchema.d.ts +1 -1
- package/__dev__/utilities/buildClientSchema.d.ts +1 -1
- package/__dev__/utilities/coerceInputValue.d.ts +1 -1
- package/__dev__/utilities/concatAST.d.ts +1 -1
- package/__dev__/utilities/extendSchema.d.ts +1 -1
- package/__dev__/utilities/findSchemaChanges.d.ts +1 -1
- package/__dev__/utilities/getDefaultValueAST.d.ts +1 -1
- package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -1
- package/__dev__/utilities/getOperationAST.d.ts +1 -1
- package/__dev__/utilities/index.d.ts +1 -1
- package/__dev__/utilities/introspectionFromSchema.d.ts +1 -1
- package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -1
- package/__dev__/utilities/mapSchemaConfig.d.ts +1 -1
- package/__dev__/utilities/printSchema.d.ts +1 -1
- package/__dev__/utilities/replaceVariables.d.ts +1 -1
- package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -1
- package/__dev__/utilities/separateOperations.d.ts +1 -1
- package/__dev__/utilities/sortValueNode.d.ts +1 -1
- package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -1
- package/__dev__/utilities/typeComparators.d.ts +1 -1
- package/__dev__/utilities/typeFromAST.d.ts +1 -1
- package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -1
- package/__dev__/utilities/validateInputValue.d.ts +1 -1
- package/__dev__/utilities/valueFromAST.d.ts +1 -1
- package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -1
- package/__dev__/utilities/valueToLiteral.d.ts +1 -1
- package/__dev__/validation/ValidationContext.d.ts +1 -1
- package/__dev__/validation/index.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -1
- package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -1
- package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -1
- package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -1
- package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -1
- package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -1
- package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -1
- package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -1
- package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -1
- package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -1
- package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -1
- package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -1
- package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -1
- package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -1
- package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -1
- package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -1
- package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -1
- package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -1
- package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -1
- package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -1
- package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -1
- package/__dev__/validation/specifiedRules.d.ts +1 -1
- package/__dev__/validation/validate.d.ts +1 -1
- package/__dev__/version.d.ts +1 -1
- package/devMode.d.mts +29 -0
- package/devMode.d.ts +29 -0
- package/devMode.js.map +1 -1
- package/devMode.mjs.map +1 -1
- package/error/GraphQLError.d.mts +94 -10
- package/error/GraphQLError.d.ts +94 -10
- package/error/GraphQLError.js +11 -20
- package/error/GraphQLError.js.map +1 -1
- package/error/GraphQLError.mjs +11 -20
- package/error/GraphQLError.mjs.map +1 -1
- package/error/ensureGraphQLError.d.mts +2 -0
- package/error/ensureGraphQLError.d.ts +2 -0
- package/error/ensureGraphQLError.js +0 -3
- package/error/ensureGraphQLError.js.map +1 -1
- package/error/ensureGraphQLError.mjs +0 -3
- package/error/ensureGraphQLError.mjs.map +1 -1
- package/error/index.d.mts +6 -0
- package/error/index.d.ts +6 -0
- package/error/index.js.map +1 -1
- package/error/index.mjs.map +1 -1
- package/error/locatedError.d.mts +20 -0
- package/error/locatedError.d.ts +20 -0
- package/error/locatedError.js +0 -6
- package/error/locatedError.js.map +1 -1
- package/error/locatedError.mjs +0 -6
- package/error/locatedError.mjs.map +1 -1
- package/error/syntaxError.d.mts +15 -0
- package/error/syntaxError.d.ts +15 -0
- package/error/syntaxError.js +0 -4
- package/error/syntaxError.js.map +1 -1
- package/error/syntaxError.mjs +0 -4
- package/error/syntaxError.mjs.map +1 -1
- package/execution/AbortedGraphQLExecutionError.d.mts +27 -0
- package/execution/AbortedGraphQLExecutionError.d.ts +27 -0
- package/execution/AbortedGraphQLExecutionError.js.map +1 -1
- package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
- package/execution/AsyncWorkTracker.d.mts +1 -1
- package/execution/AsyncWorkTracker.d.ts +1 -1
- package/execution/AsyncWorkTracker.js +1 -5
- package/execution/AsyncWorkTracker.js.map +1 -1
- package/execution/AsyncWorkTracker.mjs +1 -5
- package/execution/AsyncWorkTracker.mjs.map +1 -1
- package/execution/ExecutionArgs.d.mts +101 -0
- package/execution/ExecutionArgs.d.ts +101 -0
- package/execution/ExecutionArgs.js +3 -0
- package/execution/ExecutionArgs.js.map +1 -0
- package/execution/ExecutionArgs.mjs +2 -0
- package/execution/ExecutionArgs.mjs.map +1 -0
- package/execution/Executor.d.mts +44 -40
- package/execution/Executor.d.ts +44 -40
- package/execution/Executor.js +2 -122
- package/execution/Executor.js.map +1 -1
- package/execution/Executor.mjs +2 -122
- package/execution/Executor.mjs.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.js +0 -2
- package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.mjs +0 -2
- package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
- package/execution/buildResolveInfo.d.mts +2 -0
- package/execution/buildResolveInfo.d.ts +2 -0
- package/execution/buildResolveInfo.js +0 -3
- package/execution/buildResolveInfo.js.map +1 -1
- package/execution/buildResolveInfo.mjs +0 -3
- package/execution/buildResolveInfo.mjs.map +1 -1
- package/execution/cancellablePromise.d.mts +3 -0
- package/execution/cancellablePromise.d.ts +3 -0
- package/execution/cancellablePromise.js.map +1 -1
- package/execution/cancellablePromise.mjs.map +1 -1
- package/execution/collectFields.d.mts +10 -4
- package/execution/collectFields.d.ts +10 -4
- package/execution/collectFields.js +0 -41
- package/execution/collectFields.js.map +1 -1
- package/execution/collectFields.mjs +0 -41
- package/execution/collectFields.mjs.map +1 -1
- package/execution/collectIteratorPromises.d.mts +2 -0
- package/execution/collectIteratorPromises.d.ts +2 -0
- package/execution/collectIteratorPromises.js +0 -5
- package/execution/collectIteratorPromises.js.map +1 -1
- package/execution/collectIteratorPromises.mjs +0 -5
- package/execution/collectIteratorPromises.mjs.map +1 -1
- package/execution/createSharedExecutionContext.d.mts +1 -0
- package/execution/createSharedExecutionContext.d.ts +1 -0
- package/execution/createSharedExecutionContext.js.map +1 -1
- package/execution/createSharedExecutionContext.mjs.map +1 -1
- package/execution/execute.d.mts +403 -38
- package/execution/execute.d.ts +403 -38
- package/execution/execute.js +0 -161
- package/execution/execute.js.map +1 -1
- package/execution/execute.mjs +0 -161
- package/execution/execute.mjs.map +1 -1
- package/execution/getStreamUsage.d.mts +4 -1
- package/execution/getStreamUsage.d.ts +4 -1
- package/execution/getStreamUsage.js +0 -7
- package/execution/getStreamUsage.js.map +1 -1
- package/execution/getStreamUsage.mjs +0 -7
- package/execution/getStreamUsage.mjs.map +1 -1
- package/execution/getVariableSignature.d.mts +4 -1
- package/execution/getVariableSignature.d.ts +4 -1
- package/execution/getVariableSignature.js +0 -2
- package/execution/getVariableSignature.js.map +1 -1
- package/execution/getVariableSignature.mjs +0 -2
- package/execution/getVariableSignature.mjs.map +1 -1
- package/execution/hooks.d.mts +3 -7
- package/execution/hooks.d.ts +3 -7
- package/execution/hooks.js +0 -1
- package/execution/hooks.js.map +1 -1
- package/execution/hooks.mjs +0 -1
- package/execution/hooks.mjs.map +1 -1
- package/execution/incremental/Computation.d.mts +1 -1
- package/execution/incremental/Computation.d.ts +1 -1
- package/execution/incremental/Computation.js +0 -1
- package/execution/incremental/Computation.js.map +1 -1
- package/execution/incremental/Computation.mjs +0 -1
- package/execution/incremental/Computation.mjs.map +1 -1
- package/execution/incremental/IncrementalExecutor.d.mts +124 -9
- package/execution/incremental/IncrementalExecutor.d.ts +124 -9
- package/execution/incremental/IncrementalExecutor.js +1 -31
- package/execution/incremental/IncrementalExecutor.js.map +1 -1
- package/execution/incremental/IncrementalExecutor.mjs +1 -31
- package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
- package/execution/incremental/IncrementalPublisher.d.mts +1 -3
- package/execution/incremental/IncrementalPublisher.d.ts +1 -3
- package/execution/incremental/IncrementalPublisher.js +0 -5
- package/execution/incremental/IncrementalPublisher.js.map +1 -1
- package/execution/incremental/IncrementalPublisher.mjs +0 -5
- package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
- package/execution/incremental/Queue.js +3 -64
- package/execution/incremental/Queue.js.map +1 -1
- package/execution/incremental/Queue.mjs +2 -62
- package/execution/incremental/Queue.mjs.map +1 -1
- package/execution/incremental/WorkQueue.d.mts +8 -0
- package/execution/incremental/WorkQueue.d.ts +8 -0
- package/execution/incremental/WorkQueue.js +0 -15
- package/execution/incremental/WorkQueue.js.map +1 -1
- package/execution/incremental/WorkQueue.mjs +0 -15
- package/execution/incremental/WorkQueue.mjs.map +1 -1
- package/execution/incremental/buildExecutionPlan.d.mts +3 -0
- package/execution/incremental/buildExecutionPlan.d.ts +3 -0
- package/execution/incremental/buildExecutionPlan.js.map +1 -1
- package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
- package/execution/index.d.mts +12 -3
- package/execution/index.d.ts +12 -3
- package/execution/index.js +4 -1
- package/execution/index.js.map +1 -1
- package/execution/index.mjs +1 -0
- package/execution/index.mjs.map +1 -1
- package/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +175 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +175 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.js +69 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.js.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +65 -0
- package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +12 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +12 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.js +131 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.js.map +1 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +127 -0
- package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs.map +1 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +165 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +165 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.js +17 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.js.map +1 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.mjs +13 -0
- package/execution/legacyIncremental/legacyExecuteIncrementally.mjs.map +1 -0
- package/execution/mapAsyncIterable.d.mts +2 -0
- package/execution/mapAsyncIterable.d.ts +2 -0
- package/execution/mapAsyncIterable.js +0 -5
- package/execution/mapAsyncIterable.js.map +1 -1
- package/execution/mapAsyncIterable.mjs +0 -5
- package/execution/mapAsyncIterable.mjs.map +1 -1
- package/execution/returnIteratorCatchingErrors.d.mts +1 -0
- package/execution/returnIteratorCatchingErrors.d.ts +1 -0
- package/execution/returnIteratorCatchingErrors.js +0 -1
- package/execution/returnIteratorCatchingErrors.js.map +1 -1
- package/execution/returnIteratorCatchingErrors.mjs +0 -1
- package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
- package/execution/values.d.mts +187 -5
- package/execution/values.d.ts +187 -5
- package/execution/values.js +14 -55
- package/execution/values.js.map +1 -1
- package/execution/values.mjs +14 -55
- package/execution/values.mjs.map +1 -1
- package/execution/withConcurrentAbruptClose.d.mts +2 -0
- package/execution/withConcurrentAbruptClose.d.ts +2 -0
- package/execution/withConcurrentAbruptClose.js +0 -14
- package/execution/withConcurrentAbruptClose.js.map +1 -1
- package/execution/withConcurrentAbruptClose.mjs +0 -14
- package/execution/withConcurrentAbruptClose.mjs.map +1 -1
- package/graphql.d.mts +192 -44
- package/graphql.d.ts +192 -44
- package/graphql.js +0 -12
- package/graphql.js.map +1 -1
- package/graphql.mjs +0 -12
- package/graphql.mjs.map +1 -1
- package/harness.d.mts +17 -0
- package/harness.d.ts +17 -0
- package/harness.js.map +1 -1
- package/harness.mjs.map +1 -1
- package/index.d.mts +26 -24
- package/index.d.ts +26 -24
- package/index.js +9 -96
- package/index.js.map +1 -1
- package/index.mjs +5 -149
- package/index.mjs.map +1 -1
- package/jsutils/AccumulatorMap.d.mts +2 -0
- package/jsutils/AccumulatorMap.d.ts +2 -0
- package/jsutils/AccumulatorMap.js +0 -4
- package/jsutils/AccumulatorMap.js.map +1 -1
- package/jsutils/AccumulatorMap.mjs +0 -4
- package/jsutils/AccumulatorMap.mjs.map +1 -1
- package/jsutils/Maybe.d.mts +5 -1
- package/jsutils/Maybe.d.ts +5 -1
- package/jsutils/Maybe.js.map +1 -1
- package/jsutils/Maybe.mjs.map +1 -1
- package/jsutils/ObjMap.d.mts +6 -0
- package/jsutils/ObjMap.d.ts +6 -0
- package/jsutils/ObjMap.js.map +1 -1
- package/jsutils/ObjMap.mjs.map +1 -1
- package/jsutils/Path.d.mts +30 -0
- package/jsutils/Path.d.ts +30 -0
- package/jsutils/Path.js +0 -6
- package/jsutils/Path.js.map +1 -1
- package/jsutils/Path.mjs +0 -6
- package/jsutils/Path.mjs.map +1 -1
- package/jsutils/PromiseOrValue.d.mts +1 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/PromiseOrValue.js.map +1 -1
- package/jsutils/PromiseOrValue.mjs.map +1 -1
- package/jsutils/capitalize.d.mts +2 -0
- package/jsutils/capitalize.d.ts +2 -0
- package/jsutils/capitalize.js +0 -3
- package/jsutils/capitalize.js.map +1 -1
- package/jsutils/capitalize.mjs +0 -3
- package/jsutils/capitalize.mjs.map +1 -1
- package/jsutils/devAssert.d.mts +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js.map +1 -1
- package/jsutils/devAssert.mjs.map +1 -1
- package/jsutils/didYouMean.d.mts +4 -1
- package/jsutils/didYouMean.d.ts +4 -1
- package/jsutils/didYouMean.js.map +1 -1
- package/jsutils/didYouMean.mjs.map +1 -1
- package/jsutils/formatList.d.mts +6 -2
- package/jsutils/formatList.d.ts +6 -2
- package/jsutils/formatList.js +0 -6
- package/jsutils/formatList.js.map +1 -1
- package/jsutils/formatList.mjs +0 -6
- package/jsutils/formatList.mjs.map +1 -1
- package/jsutils/getBySet.d.mts +1 -0
- package/jsutils/getBySet.d.ts +1 -0
- package/jsutils/getBySet.js.map +1 -1
- package/jsutils/getBySet.mjs.map +1 -1
- package/jsutils/groupBy.d.mts +2 -0
- package/jsutils/groupBy.d.ts +2 -0
- package/jsutils/groupBy.js +0 -3
- package/jsutils/groupBy.js.map +1 -1
- package/jsutils/groupBy.mjs +0 -3
- package/jsutils/groupBy.mjs.map +1 -1
- package/jsutils/identityFunc.d.mts +2 -0
- package/jsutils/identityFunc.d.ts +2 -0
- package/jsutils/identityFunc.js +0 -3
- package/jsutils/identityFunc.js.map +1 -1
- package/jsutils/identityFunc.mjs +0 -3
- package/jsutils/identityFunc.mjs.map +1 -1
- package/jsutils/inspect.d.mts +2 -0
- package/jsutils/inspect.d.ts +2 -0
- package/jsutils/inspect.js +0 -4
- package/jsutils/inspect.js.map +1 -1
- package/jsutils/inspect.mjs +0 -4
- package/jsutils/inspect.mjs.map +1 -1
- package/jsutils/instanceOf.d.mts +2 -0
- package/jsutils/instanceOf.d.ts +2 -0
- package/jsutils/instanceOf.js +1 -12
- package/jsutils/instanceOf.js.map +1 -1
- package/jsutils/instanceOf.mjs +1 -12
- package/jsutils/instanceOf.mjs.map +1 -1
- package/jsutils/invariant.d.mts +1 -0
- package/jsutils/invariant.d.ts +1 -0
- package/jsutils/invariant.js.map +1 -1
- package/jsutils/invariant.mjs.map +1 -1
- package/jsutils/isAsyncIterable.d.mts +2 -0
- package/jsutils/isAsyncIterable.d.ts +2 -0
- package/jsutils/isAsyncIterable.js +0 -4
- package/jsutils/isAsyncIterable.js.map +1 -1
- package/jsutils/isAsyncIterable.mjs +0 -4
- package/jsutils/isAsyncIterable.mjs.map +1 -1
- package/jsutils/isIterableObject.d.mts +6 -5
- package/jsutils/isIterableObject.d.ts +6 -5
- package/jsutils/isIterableObject.js +0 -17
- package/jsutils/isIterableObject.js.map +1 -1
- package/jsutils/isIterableObject.mjs +0 -17
- package/jsutils/isIterableObject.mjs.map +1 -1
- package/jsutils/isObjectLike.d.mts +2 -0
- package/jsutils/isObjectLike.d.ts +2 -0
- package/jsutils/isObjectLike.js +0 -4
- package/jsutils/isObjectLike.js.map +1 -1
- package/jsutils/isObjectLike.mjs +0 -4
- package/jsutils/isObjectLike.mjs.map +1 -1
- package/jsutils/isPromise.d.mts +3 -0
- package/jsutils/isPromise.d.ts +3 -0
- package/jsutils/isPromise.js +0 -4
- package/jsutils/isPromise.js.map +1 -1
- package/jsutils/isPromise.mjs +0 -4
- package/jsutils/isPromise.mjs.map +1 -1
- package/jsutils/isSameSet.d.mts +1 -0
- package/jsutils/isSameSet.d.ts +1 -0
- package/jsutils/isSameSet.js.map +1 -1
- package/jsutils/isSameSet.mjs.map +1 -1
- package/jsutils/keyMap.d.mts +7 -14
- package/jsutils/keyMap.d.ts +7 -14
- package/jsutils/keyMap.js +0 -27
- package/jsutils/keyMap.js.map +1 -1
- package/jsutils/keyMap.mjs +0 -27
- package/jsutils/keyMap.mjs.map +1 -1
- package/jsutils/keyValMap.d.mts +9 -6
- package/jsutils/keyValMap.d.ts +9 -6
- package/jsutils/keyValMap.js +0 -17
- package/jsutils/keyValMap.js.map +1 -1
- package/jsutils/keyValMap.mjs +0 -17
- package/jsutils/keyValMap.mjs.map +1 -1
- package/jsutils/mapValue.d.mts +2 -0
- package/jsutils/mapValue.d.ts +2 -0
- package/jsutils/mapValue.js +0 -4
- package/jsutils/mapValue.js.map +1 -1
- package/jsutils/mapValue.mjs +0 -4
- package/jsutils/mapValue.mjs.map +1 -1
- package/jsutils/memoize1.d.mts +2 -0
- package/jsutils/memoize1.d.ts +2 -0
- package/jsutils/memoize1.js +0 -3
- package/jsutils/memoize1.js.map +1 -1
- package/jsutils/memoize1.mjs +0 -3
- package/jsutils/memoize1.mjs.map +1 -1
- package/jsutils/memoize2.d.mts +2 -0
- package/jsutils/memoize2.d.ts +2 -0
- package/jsutils/memoize2.js +0 -3
- package/jsutils/memoize2.js.map +1 -1
- package/jsutils/memoize2.mjs +0 -3
- package/jsutils/memoize2.mjs.map +1 -1
- package/jsutils/memoize3.d.mts +2 -0
- package/jsutils/memoize3.d.ts +2 -0
- package/jsutils/memoize3.js +0 -3
- package/jsutils/memoize3.js.map +1 -1
- package/jsutils/memoize3.mjs +0 -3
- package/jsutils/memoize3.mjs.map +1 -1
- package/jsutils/naturalCompare.d.mts +1 -0
- package/jsutils/naturalCompare.d.ts +1 -0
- package/jsutils/naturalCompare.js +0 -7
- package/jsutils/naturalCompare.js.map +1 -1
- package/jsutils/naturalCompare.mjs +0 -7
- package/jsutils/naturalCompare.mjs.map +1 -1
- package/jsutils/printPathArray.d.mts +2 -0
- package/jsutils/printPathArray.d.ts +2 -0
- package/jsutils/printPathArray.js +0 -3
- package/jsutils/printPathArray.js.map +1 -1
- package/jsutils/printPathArray.mjs +0 -3
- package/jsutils/printPathArray.mjs.map +1 -1
- package/jsutils/promiseForObject.d.mts +2 -0
- package/jsutils/promiseForObject.d.ts +2 -0
- package/jsutils/promiseForObject.js +0 -7
- package/jsutils/promiseForObject.js.map +1 -1
- package/jsutils/promiseForObject.mjs +0 -7
- package/jsutils/promiseForObject.mjs.map +1 -1
- package/jsutils/promiseReduce.d.mts +2 -0
- package/jsutils/promiseReduce.d.ts +2 -0
- package/jsutils/promiseReduce.js +0 -7
- package/jsutils/promiseReduce.js.map +1 -1
- package/jsutils/promiseReduce.mjs +0 -7
- package/jsutils/promiseReduce.mjs.map +1 -1
- package/jsutils/promiseWithResolvers.d.mts +2 -0
- package/jsutils/promiseWithResolvers.d.ts +2 -0
- package/jsutils/promiseWithResolvers.js +0 -5
- package/jsutils/promiseWithResolvers.js.map +1 -1
- package/jsutils/promiseWithResolvers.mjs +0 -5
- package/jsutils/promiseWithResolvers.mjs.map +1 -1
- package/jsutils/suggestionList.d.mts +2 -0
- package/jsutils/suggestionList.d.ts +2 -0
- package/jsutils/suggestionList.js +1 -24
- package/jsutils/suggestionList.js.map +1 -1
- package/jsutils/suggestionList.mjs +1 -24
- package/jsutils/suggestionList.mjs.map +1 -1
- package/jsutils/toError.d.mts +2 -0
- package/jsutils/toError.d.ts +2 -0
- package/jsutils/toError.js +0 -3
- package/jsutils/toError.js.map +1 -1
- package/jsutils/toError.mjs +0 -3
- package/jsutils/toError.mjs.map +1 -1
- package/jsutils/toObjMap.d.mts +2 -0
- package/jsutils/toObjMap.d.ts +2 -0
- package/jsutils/toObjMap.js.map +1 -1
- package/jsutils/toObjMap.mjs.map +1 -1
- package/language/KindTypeMap.d.mts +1 -0
- package/language/KindTypeMap.d.ts +1 -0
- package/language/KindTypeMap.js.map +1 -1
- package/language/KindTypeMap.mjs.map +1 -1
- package/language/ast.d.mts +413 -53
- package/language/ast.d.ts +413 -53
- package/language/ast.js +0 -20
- package/language/ast.js.map +1 -1
- package/language/ast.mjs +0 -20
- package/language/ast.mjs.map +1 -1
- package/language/blockString.d.mts +1 -3
- package/language/blockString.d.ts +1 -3
- package/language/blockString.js +11 -37
- package/language/blockString.js.map +1 -1
- package/language/blockString.mjs +11 -37
- package/language/blockString.mjs.map +1 -1
- package/language/characterClasses.js +2 -45
- package/language/characterClasses.js.map +1 -1
- package/language/characterClasses.mjs +2 -45
- package/language/characterClasses.mjs.map +1 -1
- package/language/directiveLocation.d.mts +24 -5
- package/language/directiveLocation.d.ts +24 -5
- package/language/directiveLocation.js +0 -5
- package/language/directiveLocation.js.map +1 -1
- package/language/directiveLocation.mjs +0 -5
- package/language/directiveLocation.mjs.map +1 -1
- package/language/index.d.mts +6 -0
- package/language/index.d.ts +6 -0
- package/language/index.js +0 -4
- package/language/index.js.map +1 -1
- package/language/index.mjs +0 -4
- package/language/index.mjs.map +1 -1
- package/language/kinds.d.mts +3 -0
- package/language/kinds.d.ts +3 -0
- package/language/kinds.js.map +1 -1
- package/language/kinds.mjs.map +1 -1
- package/language/kinds_.d.mts +100 -12
- package/language/kinds_.d.ts +100 -12
- package/language/kinds_.js +0 -13
- package/language/kinds_.js.map +1 -1
- package/language/kinds_.mjs +0 -13
- package/language/kinds_.mjs.map +1 -1
- package/language/lexer.d.mts +48 -15
- package/language/lexer.d.ts +48 -15
- package/language/lexer.js +37 -278
- package/language/lexer.js.map +1 -1
- package/language/lexer.mjs +37 -278
- package/language/lexer.mjs.map +1 -1
- package/language/location.d.mts +16 -3
- package/language/location.d.ts +16 -3
- package/language/location.js +0 -4
- package/language/location.js.map +1 -1
- package/language/location.mjs +0 -4
- package/language/location.mjs.map +1 -1
- package/language/parser.d.mts +224 -9
- package/language/parser.d.ts +224 -9
- package/language/parser.js +0 -375
- package/language/parser.js.map +1 -1
- package/language/parser.mjs +0 -375
- package/language/parser.mjs.map +1 -1
- package/language/predicates.d.mts +181 -0
- package/language/predicates.d.ts +181 -0
- package/language/predicates.js +0 -6
- package/language/predicates.js.map +1 -1
- package/language/predicates.mjs +0 -6
- package/language/predicates.mjs.map +1 -1
- package/language/printLocation.d.mts +28 -0
- package/language/printLocation.d.ts +28 -0
- package/language/printLocation.js +0 -8
- package/language/printLocation.js.map +1 -1
- package/language/printLocation.mjs +0 -8
- package/language/printLocation.mjs.map +1 -1
- package/language/printString.d.mts +2 -0
- package/language/printString.d.ts +2 -0
- package/language/printString.js +5 -11
- package/language/printString.js.map +1 -1
- package/language/printString.mjs +5 -11
- package/language/printString.mjs.map +1 -1
- package/language/printer.d.mts +12 -0
- package/language/printer.d.ts +12 -0
- package/language/printer.js +0 -25
- package/language/printer.js.map +1 -1
- package/language/printer.mjs +0 -25
- package/language/printer.mjs.map +1 -1
- package/language/schemaCoordinateLexer.d.mts +14 -0
- package/language/schemaCoordinateLexer.d.ts +14 -0
- package/language/schemaCoordinateLexer.js +5 -35
- package/language/schemaCoordinateLexer.js.map +1 -1
- package/language/schemaCoordinateLexer.mjs +5 -35
- package/language/schemaCoordinateLexer.mjs.map +1 -1
- package/language/source.d.mts +28 -1
- package/language/source.d.ts +28 -1
- package/language/source.js +0 -12
- package/language/source.js.map +1 -1
- package/language/source.mjs +0 -12
- package/language/source.mjs.map +1 -1
- package/language/tokenKind.d.mts +5 -0
- package/language/tokenKind.d.ts +5 -0
- package/language/tokenKind.js +0 -4
- package/language/tokenKind.js.map +1 -1
- package/language/tokenKind.mjs +0 -4
- package/language/tokenKind.mjs.map +1 -1
- package/language/visitor.d.mts +182 -72
- package/language/visitor.d.ts +182 -72
- package/language/visitor.js +0 -15
- package/language/visitor.js.map +1 -1
- package/language/visitor.mjs +0 -15
- package/language/visitor.mjs.map +1 -1
- package/package.json +1 -1
- package/type/assertName.d.mts +18 -1
- package/type/assertName.d.ts +18 -1
- package/type/assertName.js +0 -8
- package/type/assertName.js.map +1 -1
- package/type/assertName.mjs +0 -8
- package/type/assertName.mjs.map +1 -1
- package/type/definition.d.mts +3258 -128
- package/type/definition.d.ts +3258 -128
- package/type/definition.js +5 -252
- package/type/definition.js.map +1 -1
- package/type/definition.mjs +5 -252
- package/type/definition.mjs.map +1 -1
- package/type/directives.d.mts +209 -20
- package/type/directives.d.ts +209 -20
- package/type/directives.js +0 -37
- package/type/directives.js.map +1 -1
- package/type/directives.mjs +0 -37
- package/type/directives.mjs.map +1 -1
- package/type/index.d.mts +6 -0
- package/type/index.d.ts +6 -0
- package/type/index.js +0 -23
- package/type/index.js.map +1 -1
- package/type/index.mjs +5 -48
- package/type/index.mjs.map +1 -1
- package/type/introspection.d.mts +36 -0
- package/type/introspection.d.ts +36 -0
- package/type/introspection.js +1 -6
- package/type/introspection.js.map +1 -1
- package/type/introspection.mjs +1 -6
- package/type/introspection.mjs.map +1 -1
- package/type/scalars.d.mts +29 -2
- package/type/scalars.d.ts +29 -2
- package/type/scalars.js +0 -15
- package/type/scalars.js.map +1 -1
- package/type/scalars.mjs +0 -15
- package/type/scalars.mjs.map +1 -1
- package/type/schema.d.mts +507 -31
- package/type/schema.d.ts +507 -31
- package/type/schema.js +0 -97
- package/type/schema.js.map +1 -1
- package/type/schema.mjs +0 -97
- package/type/schema.mjs.map +1 -1
- package/type/validate.d.mts +32 -3
- package/type/validate.d.ts +32 -3
- package/type/validate.js +0 -112
- package/type/validate.js.map +1 -1
- package/type/validate.mjs +0 -112
- package/type/validate.mjs.map +1 -1
- package/utilities/TypeInfo.d.mts +564 -1
- package/utilities/TypeInfo.d.ts +564 -1
- package/utilities/TypeInfo.js +1 -24
- package/utilities/TypeInfo.js.map +1 -1
- package/utilities/TypeInfo.mjs +1 -24
- package/utilities/TypeInfo.mjs.map +1 -1
- package/utilities/astFromValue.d.mts +36 -3
- package/utilities/astFromValue.d.ts +36 -3
- package/utilities/astFromValue.js +0 -42
- package/utilities/astFromValue.js.map +1 -1
- package/utilities/astFromValue.mjs +0 -42
- package/utilities/astFromValue.mjs.map +1 -1
- package/utilities/buildASTSchema.d.mts +66 -6
- package/utilities/buildASTSchema.d.ts +66 -6
- package/utilities/buildASTSchema.js +0 -21
- package/utilities/buildASTSchema.js.map +1 -1
- package/utilities/buildASTSchema.mjs +0 -21
- package/utilities/buildASTSchema.mjs.map +1 -1
- package/utilities/buildClientSchema.d.mts +17 -2
- package/utilities/buildClientSchema.d.ts +17 -2
- package/utilities/buildClientSchema.js +1 -32
- package/utilities/buildClientSchema.js.map +1 -1
- package/utilities/buildClientSchema.mjs +0 -30
- package/utilities/buildClientSchema.mjs.map +1 -1
- package/utilities/coerceInputValue.d.mts +83 -1
- package/utilities/coerceInputValue.d.ts +83 -1
- package/utilities/coerceInputValue.js +21 -50
- package/utilities/coerceInputValue.js.map +1 -1
- package/utilities/coerceInputValue.mjs +21 -50
- package/utilities/coerceInputValue.mjs.map +1 -1
- package/utilities/concatAST.d.mts +12 -0
- package/utilities/concatAST.d.ts +12 -0
- package/utilities/concatAST.js +0 -5
- package/utilities/concatAST.js.map +1 -1
- package/utilities/concatAST.mjs +0 -5
- package/utilities/concatAST.mjs.map +1 -1
- package/utilities/extendSchema.d.mts +58 -3
- package/utilities/extendSchema.d.ts +58 -3
- package/utilities/extendSchema.js +0 -60
- package/utilities/extendSchema.js.map +1 -1
- package/utilities/extendSchema.mjs +0 -60
- package/utilities/extendSchema.mjs.map +1 -1
- package/utilities/findSchemaChanges.d.mts +99 -1
- package/utilities/findSchemaChanges.d.ts +99 -1
- package/utilities/findSchemaChanges.js +3 -35
- package/utilities/findSchemaChanges.js.map +1 -1
- package/utilities/findSchemaChanges.mjs +3 -35
- package/utilities/findSchemaChanges.mjs.map +1 -1
- package/utilities/getDefaultValueAST.d.mts +1 -0
- package/utilities/getDefaultValueAST.d.ts +1 -0
- package/utilities/getDefaultValueAST.js +0 -2
- package/utilities/getDefaultValueAST.js.map +1 -1
- package/utilities/getDefaultValueAST.mjs +0 -2
- package/utilities/getDefaultValueAST.mjs.map +1 -1
- package/utilities/getIntrospectionQuery.d.mts +132 -0
- package/utilities/getIntrospectionQuery.d.ts +132 -0
- package/utilities/getIntrospectionQuery.js +0 -4
- package/utilities/getIntrospectionQuery.js.map +1 -1
- package/utilities/getIntrospectionQuery.mjs +0 -4
- package/utilities/getIntrospectionQuery.mjs.map +1 -1
- package/utilities/getOperationAST.d.mts +15 -0
- package/utilities/getOperationAST.d.ts +15 -0
- package/utilities/getOperationAST.js +0 -8
- package/utilities/getOperationAST.js.map +1 -1
- package/utilities/getOperationAST.mjs +0 -8
- package/utilities/getOperationAST.mjs.map +1 -1
- package/utilities/index.d.mts +18 -3
- package/utilities/index.d.ts +18 -3
- package/utilities/index.js +0 -27
- package/utilities/index.js.map +1 -1
- package/utilities/index.mjs +4 -37
- package/utilities/index.mjs.map +1 -1
- package/utilities/introspectionFromSchema.d.mts +54 -0
- package/utilities/introspectionFromSchema.d.ts +54 -0
- package/utilities/introspectionFromSchema.js +0 -9
- package/utilities/introspectionFromSchema.js.map +1 -1
- package/utilities/introspectionFromSchema.mjs +0 -9
- package/utilities/introspectionFromSchema.mjs.map +1 -1
- package/utilities/lexicographicSortSchema.d.mts +35 -0
- package/utilities/lexicographicSortSchema.d.ts +35 -0
- package/utilities/lexicographicSortSchema.js +0 -5
- package/utilities/lexicographicSortSchema.js.map +1 -1
- package/utilities/lexicographicSortSchema.mjs +0 -5
- package/utilities/lexicographicSortSchema.mjs.map +1 -1
- package/utilities/mapSchemaConfig.d.mts +6 -3
- package/utilities/mapSchemaConfig.d.ts +6 -3
- package/utilities/mapSchemaConfig.js +0 -10
- package/utilities/mapSchemaConfig.js.map +1 -1
- package/utilities/mapSchemaConfig.mjs +0 -10
- package/utilities/mapSchemaConfig.mjs.map +1 -1
- package/utilities/printSchema.d.mts +84 -0
- package/utilities/printSchema.d.ts +84 -0
- package/utilities/printSchema.js +0 -28
- package/utilities/printSchema.js.map +1 -1
- package/utilities/printSchema.mjs +0 -28
- package/utilities/printSchema.mjs.map +1 -1
- package/utilities/replaceVariables.d.mts +36 -0
- package/utilities/replaceVariables.d.ts +36 -0
- package/utilities/replaceVariables.js +0 -8
- package/utilities/replaceVariables.js.map +1 -1
- package/utilities/replaceVariables.mjs +0 -8
- package/utilities/replaceVariables.mjs.map +1 -1
- package/utilities/resolveSchemaCoordinate.d.mts +62 -0
- package/utilities/resolveSchemaCoordinate.d.ts +62 -0
- package/utilities/resolveSchemaCoordinate.js +0 -56
- package/utilities/resolveSchemaCoordinate.js.map +1 -1
- package/utilities/resolveSchemaCoordinate.mjs +0 -56
- package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
- package/utilities/separateOperations.d.mts +30 -0
- package/utilities/separateOperations.d.ts +30 -0
- package/utilities/separateOperations.js +0 -15
- package/utilities/separateOperations.js.map +1 -1
- package/utilities/separateOperations.mjs +0 -15
- package/utilities/separateOperations.mjs.map +1 -1
- package/utilities/sortValueNode.js +0 -7
- package/utilities/sortValueNode.js.map +1 -1
- package/utilities/sortValueNode.mjs +0 -7
- package/utilities/sortValueNode.mjs.map +1 -1
- package/utilities/stripIgnoredCharacters.d.mts +13 -6
- package/utilities/stripIgnoredCharacters.d.ts +13 -6
- package/utilities/stripIgnoredCharacters.js +0 -65
- package/utilities/stripIgnoredCharacters.js.map +1 -1
- package/utilities/stripIgnoredCharacters.mjs +0 -65
- package/utilities/stripIgnoredCharacters.mjs.map +1 -1
- package/utilities/typeComparators.d.mts +84 -0
- package/utilities/typeComparators.d.ts +84 -0
- package/utilities/typeComparators.js +0 -33
- package/utilities/typeComparators.js.map +1 -1
- package/utilities/typeComparators.mjs +0 -33
- package/utilities/typeComparators.mjs.map +1 -1
- package/utilities/typeFromAST.d.mts +86 -0
- package/utilities/typeFromAST.d.ts +86 -0
- package/utilities/typeFromAST.js.map +1 -1
- package/utilities/typeFromAST.mjs.map +1 -1
- package/utilities/typedQueryDocumentNode.d.mts +4 -0
- package/utilities/typedQueryDocumentNode.d.ts +4 -0
- package/utilities/typedQueryDocumentNode.js.map +1 -1
- package/utilities/typedQueryDocumentNode.mjs.map +1 -1
- package/utilities/validateInputValue.d.mts +123 -0
- package/utilities/validateInputValue.d.ts +123 -0
- package/utilities/validateInputValue.js +0 -20
- package/utilities/validateInputValue.js.map +1 -1
- package/utilities/validateInputValue.mjs +0 -20
- package/utilities/validateInputValue.mjs.map +1 -1
- package/utilities/valueFromAST.d.mts +41 -0
- package/utilities/valueFromAST.d.ts +41 -0
- package/utilities/valueFromAST.js +13 -51
- package/utilities/valueFromAST.js.map +1 -1
- package/utilities/valueFromAST.mjs +13 -51
- package/utilities/valueFromAST.mjs.map +1 -1
- package/utilities/valueFromASTUntyped.d.mts +15 -2
- package/utilities/valueFromASTUntyped.d.ts +15 -2
- package/utilities/valueFromASTUntyped.js +0 -16
- package/utilities/valueFromASTUntyped.js.map +1 -1
- package/utilities/valueFromASTUntyped.mjs +0 -16
- package/utilities/valueFromASTUntyped.mjs.map +1 -1
- package/utilities/valueToLiteral.d.mts +30 -1
- package/utilities/valueToLiteral.d.ts +30 -1
- package/utilities/valueToLiteral.js +7 -40
- package/utilities/valueToLiteral.js.map +1 -1
- package/utilities/valueToLiteral.mjs +7 -40
- package/utilities/valueToLiteral.mjs.map +1 -1
- package/validation/ValidationContext.d.mts +490 -0
- package/validation/ValidationContext.d.ts +490 -0
- package/validation/ValidationContext.js +1 -8
- package/validation/ValidationContext.js.map +1 -1
- package/validation/ValidationContext.mjs +1 -8
- package/validation/ValidationContext.mjs.map +1 -1
- package/validation/index.d.mts +7 -0
- package/validation/index.d.ts +7 -0
- package/validation/index.js +0 -34
- package/validation/index.js.map +1 -1
- package/validation/index.mjs +0 -34
- package/validation/index.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +30 -0
- package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +30 -0
- package/validation/rules/DeferStreamDirectiveLabelRule.js +0 -5
- package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +28 -0
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +28 -0
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +0 -5
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +52 -0
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +52 -0
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +0 -5
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +0 -5
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.d.mts +28 -0
- package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
- package/validation/rules/ExecutableDefinitionsRule.js +0 -8
- package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.mjs +0 -8
- package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.d.mts +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.js +0 -27
- package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +0 -27
- package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +28 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.js +0 -9
- package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +0 -9
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.d.mts +29 -3
- package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
- package/validation/rules/KnownArgumentNamesRule.js +0 -13
- package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.mjs +0 -13
- package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownDirectivesRule.d.mts +28 -0
- package/validation/rules/KnownDirectivesRule.d.ts +28 -0
- package/validation/rules/KnownDirectivesRule.js +0 -10
- package/validation/rules/KnownDirectivesRule.js.map +1 -1
- package/validation/rules/KnownDirectivesRule.mjs +0 -10
- package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.d.mts +28 -0
- package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
- package/validation/rules/KnownFragmentNamesRule.js +0 -8
- package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.mjs +0 -8
- package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownOperationTypesRule.d.mts +20 -0
- package/validation/rules/KnownOperationTypesRule.d.ts +20 -0
- package/validation/rules/KnownOperationTypesRule.js +0 -8
- package/validation/rules/KnownOperationTypesRule.js.map +1 -1
- package/validation/rules/KnownOperationTypesRule.mjs +0 -8
- package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
- package/validation/rules/KnownTypeNamesRule.d.mts +28 -0
- package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
- package/validation/rules/KnownTypeNamesRule.js +0 -8
- package/validation/rules/KnownTypeNamesRule.js.map +1 -1
- package/validation/rules/KnownTypeNamesRule.mjs +0 -8
- package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.d.mts +28 -0
- package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
- package/validation/rules/LoneAnonymousOperationRule.js +0 -8
- package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.mjs +0 -8
- package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.d.mts +21 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
- package/validation/rules/LoneSchemaDefinitionRule.js +0 -5
- package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.mjs +0 -5
- package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.d.mts +31 -0
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
- package/validation/rules/MaxIntrospectionDepthRule.js +0 -14
- package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.mjs +0 -14
- package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.d.mts +28 -0
- package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
- package/validation/rules/NoFragmentCyclesRule.js +0 -15
- package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.mjs +0 -15
- package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.d.mts +28 -0
- package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
- package/validation/rules/NoUndefinedVariablesRule.js +0 -8
- package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.mjs +0 -8
- package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.d.mts +28 -0
- package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
- package/validation/rules/NoUnusedFragmentsRule.js +0 -8
- package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.mjs +0 -8
- package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.d.mts +29 -0
- package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
- package/validation/rules/NoUnusedVariablesRule.js +0 -8
- package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.mjs +0 -8
- package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +33 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -175
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +1 -175
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.d.mts +36 -0
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
- package/validation/rules/PossibleFragmentSpreadsRule.js +0 -7
- package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +0 -7
- package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.d.mts +21 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +0 -9
- package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -9
- package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +29 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.js +0 -13
- package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +0 -13
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
- package/validation/rules/ScalarLeafsRule.d.mts +28 -0
- package/validation/rules/ScalarLeafsRule.d.ts +28 -0
- package/validation/rules/ScalarLeafsRule.js +0 -6
- package/validation/rules/ScalarLeafsRule.js.map +1 -1
- package/validation/rules/ScalarLeafsRule.mjs +0 -6
- package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.d.mts +34 -2
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +34 -2
- package/validation/rules/SingleFieldSubscriptionsRule.js +0 -9
- package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +0 -9
- package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +21 -0
- package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +21 -0
- package/validation/rules/StreamDirectiveOnListFieldRule.js +0 -5
- package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs +0 -5
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +21 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +0 -6
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +0 -6
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.d.mts +28 -0
- package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueArgumentNamesRule.js +0 -8
- package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.mjs +0 -8
- package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.d.mts +21 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
- package/validation/rules/UniqueDirectiveNamesRule.js +0 -5
- package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs +0 -5
- package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +28 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.js +0 -11
- package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +0 -11
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.d.mts +21 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
- package/validation/rules/UniqueEnumValueNamesRule.js +0 -5
- package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.mjs +0 -5
- package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +0 -5
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +0 -5
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.d.mts +28 -0
- package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueFragmentNamesRule.js +0 -7
- package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.mjs +0 -7
- package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.d.mts +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +0 -8
- package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.mjs +0 -8
- package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.d.mts +28 -0
- package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
- package/validation/rules/UniqueOperationNamesRule.js +0 -7
- package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.mjs +0 -7
- package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.d.mts +21 -0
- package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
- package/validation/rules/UniqueOperationTypesRule.js +0 -5
- package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.mjs +0 -5
- package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.d.mts +21 -0
- package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
- package/validation/rules/UniqueTypeNamesRule.js +0 -5
- package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.mjs +0 -5
- package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.d.mts +28 -0
- package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
- package/validation/rules/UniqueVariableNamesRule.js +0 -5
- package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.mjs +0 -5
- package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.d.mts +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +1 -21
- package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +1 -21
- package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.d.mts +32 -0
- package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
- package/validation/rules/VariablesAreInputTypesRule.js +0 -8
- package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.mjs +0 -8
- package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.d.mts +28 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +0 -20
- package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs +0 -20
- package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +41 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +0 -10
- package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +0 -10
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +28 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +0 -10
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +0 -10
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
- package/validation/specifiedRules.d.mts +2 -3
- package/validation/specifiedRules.d.ts +2 -3
- package/validation/specifiedRules.js +0 -46
- package/validation/specifiedRules.js.map +1 -1
- package/validation/specifiedRules.mjs +0 -46
- package/validation/specifiedRules.mjs.map +1 -1
- package/validation/validate.d.mts +65 -7
- package/validation/validate.d.ts +65 -7
- package/validation/validate.js +0 -41
- package/validation/validate.js.map +1 -1
- package/validation/validate.mjs +0 -41
- package/validation/validate.mjs.map +1 -1
- package/version.d.mts +3 -6
- package/version.d.ts +3 -6
- package/version.js +2 -10
- package/version.js.map +1 -1
- package/version.mjs +2 -10
- package/version.mjs.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PossibleTypeExtensionsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/PossibleTypeExtensionsRule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PossibleTypeExtensionsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/PossibleTypeExtensionsRule.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Rules */\n\nimport { didYouMean } from '../../jsutils/didYouMean.ts';\nimport { inspect } from '../../jsutils/inspect.ts';\nimport { invariant } from '../../jsutils/invariant.ts';\nimport { suggestionList } from '../../jsutils/suggestionList.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type {\n TypeDefinitionNode,\n TypeExtensionNode,\n} from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport { isTypeDefinitionNode } from '../../language/predicates.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { GraphQLNamedType } from '../../type/definition.ts';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n isScalarType,\n isUnionType,\n} from '../../type/definition.ts';\n\nimport type { SDLValidationContext } from '../ValidationContext.ts';\n\n/**\n * Possible type extension\n *\n * A type extension is only valid if the type is defined and has the same kind.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { buildSchema } from 'graphql';\n * import { PossibleTypeExtensionsRule } from 'graphql/validation';\n *\n * const invalidSDL = `\n * extend type Missing { name: String } type Query { name: String }\n * `;\n *\n * PossibleTypeExtensionsRule.name; // => 'PossibleTypeExtensionsRule'\n * buildSchema(invalidSDL); // throws an error\n *\n * const validSDL = `\n * type Query { name: String } extend type Query { other: String }\n * `;\n *\n * buildSchema(validSDL); // does not throw\n * ```\n */\nexport function PossibleTypeExtensionsRule(\n context: SDLValidationContext,\n): ASTVisitor {\n const schema = context.getSchema();\n const definedTypes = new Map<string, TypeDefinitionNode>();\n\n for (const def of context.getDocument().definitions) {\n if (isTypeDefinitionNode(def)) {\n definedTypes.set(def.name.value, def);\n }\n }\n\n return {\n ScalarTypeExtension: checkExtension,\n ObjectTypeExtension: checkExtension,\n InterfaceTypeExtension: checkExtension,\n UnionTypeExtension: checkExtension,\n EnumTypeExtension: checkExtension,\n InputObjectTypeExtension: checkExtension,\n };\n\n function checkExtension(node: TypeExtensionNode): void {\n const typeName = node.name.value;\n const defNode = definedTypes.get(typeName);\n const existingType = schema?.getType(typeName);\n\n let expectedKind: Kind | undefined;\n if (defNode != null) {\n expectedKind = defKindToExtKind[defNode.kind];\n } else if (existingType) {\n expectedKind = typeToExtKind(existingType);\n }\n\n if (expectedKind != null) {\n if (expectedKind !== node.kind) {\n const kindStr = extensionKindToTypeName(node.kind);\n context.reportError(\n new GraphQLError(`Cannot extend non-${kindStr} type \"${typeName}\".`, {\n nodes: defNode ? [defNode, node] : node,\n }),\n );\n }\n } else {\n const allTypeNames = [\n ...definedTypes.keys(),\n ...Object.keys(schema?.getTypeMap() ?? {}),\n ];\n\n context.reportError(\n new GraphQLError(\n `Cannot extend type \"${typeName}\" because it is not defined.` +\n didYouMean(suggestionList(typeName, allTypeNames)),\n { nodes: node.name },\n ),\n );\n }\n }\n}\n\nconst defKindToExtKind = {\n [Kind.SCALAR_TYPE_DEFINITION]: Kind.SCALAR_TYPE_EXTENSION,\n [Kind.OBJECT_TYPE_DEFINITION]: Kind.OBJECT_TYPE_EXTENSION,\n [Kind.INTERFACE_TYPE_DEFINITION]: Kind.INTERFACE_TYPE_EXTENSION,\n [Kind.UNION_TYPE_DEFINITION]: Kind.UNION_TYPE_EXTENSION,\n [Kind.ENUM_TYPE_DEFINITION]: Kind.ENUM_TYPE_EXTENSION,\n [Kind.INPUT_OBJECT_TYPE_DEFINITION]: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n} as const;\n\nfunction typeToExtKind(type: GraphQLNamedType): Kind {\n if (isScalarType(type)) {\n return Kind.SCALAR_TYPE_EXTENSION;\n }\n if (isObjectType(type)) {\n return Kind.OBJECT_TYPE_EXTENSION;\n }\n if (isInterfaceType(type)) {\n return Kind.INTERFACE_TYPE_EXTENSION;\n }\n if (isUnionType(type)) {\n return Kind.UNION_TYPE_EXTENSION;\n }\n if (isEnumType(type)) {\n return Kind.ENUM_TYPE_EXTENSION;\n }\n if (isInputObjectType(type)) {\n return Kind.INPUT_OBJECT_TYPE_EXTENSION;\n /* node:coverage ignore next 4 */\n }\n // Not reachable. All possible types have been considered\n invariant(false, 'Unexpected type: ' + inspect(type));\n}\n\nfunction extensionKindToTypeName(kind: Kind): string {\n switch (kind) {\n case Kind.SCALAR_TYPE_EXTENSION:\n return 'scalar';\n case Kind.OBJECT_TYPE_EXTENSION:\n return 'object';\n case Kind.INTERFACE_TYPE_EXTENSION:\n return 'interface';\n case Kind.UNION_TYPE_EXTENSION:\n return 'union';\n case Kind.ENUM_TYPE_EXTENSION:\n return 'enum';\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n return 'input object';\n // Not reachable. All possible types have been considered\n /* node:coverage ignore next 2 */\n default:\n invariant(false, 'Unexpected kind: ' + inspect(kind));\n }\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Validation Rules */
|
|
1
2
|
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
3
|
import type { SDLValidationContext, ValidationContext } from "../ValidationContext.mjs";
|
|
3
4
|
/**
|
|
@@ -5,9 +6,34 @@ import type { SDLValidationContext, ValidationContext } from "../ValidationConte
|
|
|
5
6
|
*
|
|
6
7
|
* A field or directive is only valid if all required (non-null without a
|
|
7
8
|
* default value) field arguments have been provided.
|
|
9
|
+
* @param context - The validation context used while checking the document.
|
|
10
|
+
* @returns A visitor that reports validation errors for this rule.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { buildSchema, parse, validate } from 'graphql';
|
|
14
|
+
* import { ProvidedRequiredArgumentsRule } from 'graphql/validation';
|
|
15
|
+
*
|
|
16
|
+
* const schema = buildSchema(`
|
|
17
|
+
* type Query {
|
|
18
|
+
* field(required: String!): String
|
|
19
|
+
* }
|
|
20
|
+
* `);
|
|
21
|
+
*
|
|
22
|
+
* const invalidDocument = parse(`
|
|
23
|
+
* { field }
|
|
24
|
+
* `);
|
|
25
|
+
* const invalidErrors = validate(schema, invalidDocument, [ProvidedRequiredArgumentsRule]);
|
|
26
|
+
*
|
|
27
|
+
* invalidErrors.length; // => 1
|
|
28
|
+
*
|
|
29
|
+
* const validDocument = parse(`
|
|
30
|
+
* { field(required: "x") }
|
|
31
|
+
* `);
|
|
32
|
+
* const validErrors = validate(schema, validDocument, [ProvidedRequiredArgumentsRule]);
|
|
33
|
+
*
|
|
34
|
+
* validErrors; // => []
|
|
35
|
+
* ```
|
|
8
36
|
*/
|
|
9
37
|
export declare function ProvidedRequiredArgumentsRule(context: ValidationContext): ASTVisitor;
|
|
10
|
-
/**
|
|
11
|
-
* @internal
|
|
12
|
-
*/
|
|
38
|
+
/** @internal */
|
|
13
39
|
export declare function ProvidedRequiredArgumentsOnDirectivesRule(context: ValidationContext | SDLValidationContext): ASTVisitor;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Validation Rules */
|
|
1
2
|
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
3
|
import type { SDLValidationContext, ValidationContext } from "../ValidationContext.js";
|
|
3
4
|
/**
|
|
@@ -5,9 +6,34 @@ import type { SDLValidationContext, ValidationContext } from "../ValidationConte
|
|
|
5
6
|
*
|
|
6
7
|
* A field or directive is only valid if all required (non-null without a
|
|
7
8
|
* default value) field arguments have been provided.
|
|
9
|
+
* @param context - The validation context used while checking the document.
|
|
10
|
+
* @returns A visitor that reports validation errors for this rule.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { buildSchema, parse, validate } from 'graphql';
|
|
14
|
+
* import { ProvidedRequiredArgumentsRule } from 'graphql/validation';
|
|
15
|
+
*
|
|
16
|
+
* const schema = buildSchema(`
|
|
17
|
+
* type Query {
|
|
18
|
+
* field(required: String!): String
|
|
19
|
+
* }
|
|
20
|
+
* `);
|
|
21
|
+
*
|
|
22
|
+
* const invalidDocument = parse(`
|
|
23
|
+
* { field }
|
|
24
|
+
* `);
|
|
25
|
+
* const invalidErrors = validate(schema, invalidDocument, [ProvidedRequiredArgumentsRule]);
|
|
26
|
+
*
|
|
27
|
+
* invalidErrors.length; // => 1
|
|
28
|
+
*
|
|
29
|
+
* const validDocument = parse(`
|
|
30
|
+
* { field(required: "x") }
|
|
31
|
+
* `);
|
|
32
|
+
* const validErrors = validate(schema, validDocument, [ProvidedRequiredArgumentsRule]);
|
|
33
|
+
*
|
|
34
|
+
* validErrors; // => []
|
|
35
|
+
* ```
|
|
8
36
|
*/
|
|
9
37
|
export declare function ProvidedRequiredArgumentsRule(context: ValidationContext): ASTVisitor;
|
|
10
|
-
/**
|
|
11
|
-
* @internal
|
|
12
|
-
*/
|
|
38
|
+
/** @internal */
|
|
13
39
|
export declare function ProvidedRequiredArgumentsOnDirectivesRule(context: ValidationContext | SDLValidationContext): ASTVisitor;
|
|
@@ -9,18 +9,10 @@ const printer_ts_1 = require("../../language/printer.js");
|
|
|
9
9
|
const definition_ts_1 = require("../../type/definition.js");
|
|
10
10
|
const directives_ts_1 = require("../../type/directives.js");
|
|
11
11
|
const typeFromAST_ts_1 = require("../../utilities/typeFromAST.js");
|
|
12
|
-
/**
|
|
13
|
-
* Provided required arguments
|
|
14
|
-
*
|
|
15
|
-
* A field or directive is only valid if all required (non-null without a
|
|
16
|
-
* default value) field arguments have been provided.
|
|
17
|
-
*/
|
|
18
12
|
function ProvidedRequiredArgumentsRule(context) {
|
|
19
13
|
return {
|
|
20
|
-
// eslint-disable-next-line new-cap
|
|
21
14
|
...ProvidedRequiredArgumentsOnDirectivesRule(context),
|
|
22
15
|
Field: {
|
|
23
|
-
// Validate on leave to allow for deeper errors to appear first.
|
|
24
16
|
leave(fieldNode) {
|
|
25
17
|
const fieldDef = context.getFieldDef();
|
|
26
18
|
if (!fieldDef) {
|
|
@@ -35,7 +27,6 @@ function ProvidedRequiredArgumentsRule(context) {
|
|
|
35
27
|
},
|
|
36
28
|
},
|
|
37
29
|
FragmentSpread: {
|
|
38
|
-
// Validate on leave to allow for deeper errors to appear first.
|
|
39
30
|
leave(spreadNode) {
|
|
40
31
|
const fragmentSignature = context.getFragmentSignature();
|
|
41
32
|
if (!fragmentSignature) {
|
|
@@ -54,9 +45,6 @@ function ProvidedRequiredArgumentsRule(context) {
|
|
|
54
45
|
},
|
|
55
46
|
};
|
|
56
47
|
}
|
|
57
|
-
/**
|
|
58
|
-
* @internal
|
|
59
|
-
*/
|
|
60
48
|
function ProvidedRequiredArgumentsOnDirectivesRule(context) {
|
|
61
49
|
const requiredArgsMap = new Map();
|
|
62
50
|
const schema = context.getSchema();
|
|
@@ -75,7 +63,6 @@ function ProvidedRequiredArgumentsOnDirectivesRule(context) {
|
|
|
75
63
|
}
|
|
76
64
|
return {
|
|
77
65
|
Directive: {
|
|
78
|
-
// Validate on leave to allow for deeper errors to appear first.
|
|
79
66
|
leave(directiveNode) {
|
|
80
67
|
const directiveName = directiveNode.name.value;
|
|
81
68
|
const requiredArgs = requiredArgsMap.get(directiveName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProvidedRequiredArgumentsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ProvidedRequiredArgumentsRule.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ProvidedRequiredArgumentsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ProvidedRequiredArgumentsRule.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Rules */\n\nimport { inspect } from '../../jsutils/inspect.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type {\n InputValueDefinitionNode,\n VariableDefinitionNode,\n} from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport { print } from '../../language/printer.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { GraphQLArgument } from '../../type/definition.ts';\nimport { isRequiredArgument, isType } from '../../type/definition.ts';\nimport { specifiedDirectives } from '../../type/directives.ts';\n\nimport { typeFromAST } from '../../utilities/typeFromAST.ts';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.ts';\n\n/**\n * Provided required arguments\n *\n * A field or directive is only valid if all required (non-null without a\n * default value) field arguments have been provided.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { buildSchema, parse, validate } from 'graphql';\n * import { ProvidedRequiredArgumentsRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * field(required: String!): String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * { field }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [ProvidedRequiredArgumentsRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { field(required: \"x\") }\n * `);\n * const validErrors = validate(schema, validDocument, [ProvidedRequiredArgumentsRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function ProvidedRequiredArgumentsRule(\n context: ValidationContext,\n): ASTVisitor {\n return {\n // eslint-disable-next-line new-cap\n ...ProvidedRequiredArgumentsOnDirectivesRule(context),\n Field: {\n // Validate on leave to allow for deeper errors to appear first.\n leave(fieldNode) {\n const fieldDef = context.getFieldDef();\n if (!fieldDef) {\n return false;\n }\n\n const providedArgs = new Set(\n fieldNode.arguments?.map((arg) => arg.name.value),\n );\n for (const argDef of fieldDef.args) {\n if (!providedArgs.has(argDef.name) && isRequiredArgument(argDef)) {\n context.reportError(\n new GraphQLError(\n `Argument \"${argDef}\" of type \"${argDef.type}\" is required, but it was not provided.`,\n { nodes: fieldNode },\n ),\n );\n }\n }\n },\n },\n FragmentSpread: {\n // Validate on leave to allow for deeper errors to appear first.\n leave(spreadNode) {\n const fragmentSignature = context.getFragmentSignature();\n if (!fragmentSignature) {\n return false;\n }\n\n const providedArgs = new Set(\n spreadNode.arguments?.map((arg) => arg.name.value),\n );\n for (const [\n varName,\n variableDefinition,\n ] of fragmentSignature.variableDefinitions) {\n if (\n !providedArgs.has(varName) &&\n isRequiredArgumentNode(variableDefinition)\n ) {\n const type = typeFromAST(\n context.getSchema(),\n variableDefinition.type,\n );\n const argTypeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Fragment \"${spreadNode.name.value}\" argument \"${varName}\" of type \"${argTypeStr}\" is required, but it was not provided.`,\n { nodes: spreadNode },\n ),\n );\n }\n }\n },\n },\n };\n}\n\n/** @internal */\nexport function ProvidedRequiredArgumentsOnDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const requiredArgsMap = new Map<\n string,\n Map<string, GraphQLArgument | InputValueDefinitionNode>\n >();\n\n const schema = context.getSchema();\n const definedDirectives = schema?.getDirectives() ?? specifiedDirectives;\n for (const directive of definedDirectives) {\n requiredArgsMap.set(\n directive.name,\n new Map(\n directive.args.filter(isRequiredArgument).map((arg) => [arg.name, arg]),\n ),\n );\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n const argNodes = def.arguments ?? [];\n\n requiredArgsMap.set(\n def.name.value,\n new Map(\n argNodes\n .filter(isRequiredArgumentNode)\n .map((arg) => [arg.name.value, arg]),\n ),\n );\n }\n }\n\n return {\n Directive: {\n // Validate on leave to allow for deeper errors to appear first.\n leave(directiveNode) {\n const directiveName = directiveNode.name.value;\n const requiredArgs = requiredArgsMap.get(directiveName);\n if (requiredArgs != null) {\n const argNodes = directiveNode.arguments ?? [];\n const argNodeMap = new Set(argNodes.map((arg) => arg.name.value));\n for (const [argName, argDef] of requiredArgs.entries()) {\n if (!argNodeMap.has(argName)) {\n const argType = isType(argDef.type)\n ? inspect(argDef.type)\n : print(argDef.type);\n context.reportError(\n new GraphQLError(\n `Argument \"@${directiveName}(${argName}:)\" of type \"${argType}\" is required, but it was not provided.`,\n { nodes: directiveNode },\n ),\n );\n }\n }\n }\n },\n },\n };\n}\n\nfunction isRequiredArgumentNode(\n arg: InputValueDefinitionNode | VariableDefinitionNode,\n): boolean {\n return arg.type.kind === Kind.NON_NULL_TYPE && arg.defaultValue == null;\n}\n"]}
|
|
@@ -5,18 +5,10 @@ import { print } from "../../language/printer.mjs";
|
|
|
5
5
|
import { isRequiredArgument, isType } from "../../type/definition.mjs";
|
|
6
6
|
import { specifiedDirectives } from "../../type/directives.mjs";
|
|
7
7
|
import { typeFromAST } from "../../utilities/typeFromAST.mjs";
|
|
8
|
-
/**
|
|
9
|
-
* Provided required arguments
|
|
10
|
-
*
|
|
11
|
-
* A field or directive is only valid if all required (non-null without a
|
|
12
|
-
* default value) field arguments have been provided.
|
|
13
|
-
*/
|
|
14
8
|
export function ProvidedRequiredArgumentsRule(context) {
|
|
15
9
|
return {
|
|
16
|
-
// eslint-disable-next-line new-cap
|
|
17
10
|
...ProvidedRequiredArgumentsOnDirectivesRule(context),
|
|
18
11
|
Field: {
|
|
19
|
-
// Validate on leave to allow for deeper errors to appear first.
|
|
20
12
|
leave(fieldNode) {
|
|
21
13
|
const fieldDef = context.getFieldDef();
|
|
22
14
|
if (!fieldDef) {
|
|
@@ -31,7 +23,6 @@ export function ProvidedRequiredArgumentsRule(context) {
|
|
|
31
23
|
},
|
|
32
24
|
},
|
|
33
25
|
FragmentSpread: {
|
|
34
|
-
// Validate on leave to allow for deeper errors to appear first.
|
|
35
26
|
leave(spreadNode) {
|
|
36
27
|
const fragmentSignature = context.getFragmentSignature();
|
|
37
28
|
if (!fragmentSignature) {
|
|
@@ -50,9 +41,6 @@ export function ProvidedRequiredArgumentsRule(context) {
|
|
|
50
41
|
},
|
|
51
42
|
};
|
|
52
43
|
}
|
|
53
|
-
/**
|
|
54
|
-
* @internal
|
|
55
|
-
*/
|
|
56
44
|
export function ProvidedRequiredArgumentsOnDirectivesRule(context) {
|
|
57
45
|
const requiredArgsMap = new Map();
|
|
58
46
|
const schema = context.getSchema();
|
|
@@ -71,7 +59,6 @@ export function ProvidedRequiredArgumentsOnDirectivesRule(context) {
|
|
|
71
59
|
}
|
|
72
60
|
return {
|
|
73
61
|
Directive: {
|
|
74
|
-
// Validate on leave to allow for deeper errors to appear first.
|
|
75
62
|
leave(directiveNode) {
|
|
76
63
|
const directiveName = directiveNode.name.value;
|
|
77
64
|
const requiredArgs = requiredArgsMap.get(directiveName);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProvidedRequiredArgumentsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ProvidedRequiredArgumentsRule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ProvidedRequiredArgumentsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ProvidedRequiredArgumentsRule.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Rules */\n\nimport { inspect } from '../../jsutils/inspect.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type {\n InputValueDefinitionNode,\n VariableDefinitionNode,\n} from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport { print } from '../../language/printer.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { GraphQLArgument } from '../../type/definition.ts';\nimport { isRequiredArgument, isType } from '../../type/definition.ts';\nimport { specifiedDirectives } from '../../type/directives.ts';\n\nimport { typeFromAST } from '../../utilities/typeFromAST.ts';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.ts';\n\n/**\n * Provided required arguments\n *\n * A field or directive is only valid if all required (non-null without a\n * default value) field arguments have been provided.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { buildSchema, parse, validate } from 'graphql';\n * import { ProvidedRequiredArgumentsRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * field(required: String!): String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * { field }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [ProvidedRequiredArgumentsRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { field(required: \"x\") }\n * `);\n * const validErrors = validate(schema, validDocument, [ProvidedRequiredArgumentsRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function ProvidedRequiredArgumentsRule(\n context: ValidationContext,\n): ASTVisitor {\n return {\n // eslint-disable-next-line new-cap\n ...ProvidedRequiredArgumentsOnDirectivesRule(context),\n Field: {\n // Validate on leave to allow for deeper errors to appear first.\n leave(fieldNode) {\n const fieldDef = context.getFieldDef();\n if (!fieldDef) {\n return false;\n }\n\n const providedArgs = new Set(\n fieldNode.arguments?.map((arg) => arg.name.value),\n );\n for (const argDef of fieldDef.args) {\n if (!providedArgs.has(argDef.name) && isRequiredArgument(argDef)) {\n context.reportError(\n new GraphQLError(\n `Argument \"${argDef}\" of type \"${argDef.type}\" is required, but it was not provided.`,\n { nodes: fieldNode },\n ),\n );\n }\n }\n },\n },\n FragmentSpread: {\n // Validate on leave to allow for deeper errors to appear first.\n leave(spreadNode) {\n const fragmentSignature = context.getFragmentSignature();\n if (!fragmentSignature) {\n return false;\n }\n\n const providedArgs = new Set(\n spreadNode.arguments?.map((arg) => arg.name.value),\n );\n for (const [\n varName,\n variableDefinition,\n ] of fragmentSignature.variableDefinitions) {\n if (\n !providedArgs.has(varName) &&\n isRequiredArgumentNode(variableDefinition)\n ) {\n const type = typeFromAST(\n context.getSchema(),\n variableDefinition.type,\n );\n const argTypeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Fragment \"${spreadNode.name.value}\" argument \"${varName}\" of type \"${argTypeStr}\" is required, but it was not provided.`,\n { nodes: spreadNode },\n ),\n );\n }\n }\n },\n },\n };\n}\n\n/** @internal */\nexport function ProvidedRequiredArgumentsOnDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const requiredArgsMap = new Map<\n string,\n Map<string, GraphQLArgument | InputValueDefinitionNode>\n >();\n\n const schema = context.getSchema();\n const definedDirectives = schema?.getDirectives() ?? specifiedDirectives;\n for (const directive of definedDirectives) {\n requiredArgsMap.set(\n directive.name,\n new Map(\n directive.args.filter(isRequiredArgument).map((arg) => [arg.name, arg]),\n ),\n );\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n const argNodes = def.arguments ?? [];\n\n requiredArgsMap.set(\n def.name.value,\n new Map(\n argNodes\n .filter(isRequiredArgumentNode)\n .map((arg) => [arg.name.value, arg]),\n ),\n );\n }\n }\n\n return {\n Directive: {\n // Validate on leave to allow for deeper errors to appear first.\n leave(directiveNode) {\n const directiveName = directiveNode.name.value;\n const requiredArgs = requiredArgsMap.get(directiveName);\n if (requiredArgs != null) {\n const argNodes = directiveNode.arguments ?? [];\n const argNodeMap = new Set(argNodes.map((arg) => arg.name.value));\n for (const [argName, argDef] of requiredArgs.entries()) {\n if (!argNodeMap.has(argName)) {\n const argType = isType(argDef.type)\n ? inspect(argDef.type)\n : print(argDef.type);\n context.reportError(\n new GraphQLError(\n `Argument \"@${directiveName}(${argName}:)\" of type \"${argType}\" is required, but it was not provided.`,\n { nodes: directiveNode },\n ),\n );\n }\n }\n }\n },\n },\n };\n}\n\nfunction isRequiredArgumentNode(\n arg: InputValueDefinitionNode | VariableDefinitionNode,\n): boolean {\n return arg.type.kind === Kind.NON_NULL_TYPE && arg.defaultValue == null;\n}\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Validation Rules */
|
|
1
2
|
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
3
|
import type { ValidationContext } from "../ValidationContext.mjs";
|
|
3
4
|
/**
|
|
@@ -5,5 +6,32 @@ import type { ValidationContext } from "../ValidationContext.mjs";
|
|
|
5
6
|
*
|
|
6
7
|
* A GraphQL document is valid only if all leaf fields (fields without
|
|
7
8
|
* sub selections) are of scalar or enum types.
|
|
9
|
+
* @param context - The validation context used while checking the document.
|
|
10
|
+
* @returns A visitor that reports validation errors for this rule.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { buildSchema, parse, validate } from 'graphql';
|
|
14
|
+
* import { ScalarLeafsRule } from 'graphql/validation';
|
|
15
|
+
*
|
|
16
|
+
* const schema = buildSchema(`
|
|
17
|
+
* type Query {
|
|
18
|
+
* name: String
|
|
19
|
+
* }
|
|
20
|
+
* `);
|
|
21
|
+
*
|
|
22
|
+
* const invalidDocument = parse(`
|
|
23
|
+
* { name { length } }
|
|
24
|
+
* `);
|
|
25
|
+
* const invalidErrors = validate(schema, invalidDocument, [ScalarLeafsRule]);
|
|
26
|
+
*
|
|
27
|
+
* invalidErrors.length; // => 1
|
|
28
|
+
*
|
|
29
|
+
* const validDocument = parse(`
|
|
30
|
+
* { name }
|
|
31
|
+
* `);
|
|
32
|
+
* const validErrors = validate(schema, validDocument, [ScalarLeafsRule]);
|
|
33
|
+
*
|
|
34
|
+
* validErrors; // => []
|
|
35
|
+
* ```
|
|
8
36
|
*/
|
|
9
37
|
export declare function ScalarLeafsRule(context: ValidationContext): ASTVisitor;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Validation Rules */
|
|
1
2
|
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
3
|
import type { ValidationContext } from "../ValidationContext.js";
|
|
3
4
|
/**
|
|
@@ -5,5 +6,32 @@ import type { ValidationContext } from "../ValidationContext.js";
|
|
|
5
6
|
*
|
|
6
7
|
* A GraphQL document is valid only if all leaf fields (fields without
|
|
7
8
|
* sub selections) are of scalar or enum types.
|
|
9
|
+
* @param context - The validation context used while checking the document.
|
|
10
|
+
* @returns A visitor that reports validation errors for this rule.
|
|
11
|
+
* @example
|
|
12
|
+
* ```ts
|
|
13
|
+
* import { buildSchema, parse, validate } from 'graphql';
|
|
14
|
+
* import { ScalarLeafsRule } from 'graphql/validation';
|
|
15
|
+
*
|
|
16
|
+
* const schema = buildSchema(`
|
|
17
|
+
* type Query {
|
|
18
|
+
* name: String
|
|
19
|
+
* }
|
|
20
|
+
* `);
|
|
21
|
+
*
|
|
22
|
+
* const invalidDocument = parse(`
|
|
23
|
+
* { name { length } }
|
|
24
|
+
* `);
|
|
25
|
+
* const invalidErrors = validate(schema, invalidDocument, [ScalarLeafsRule]);
|
|
26
|
+
*
|
|
27
|
+
* invalidErrors.length; // => 1
|
|
28
|
+
*
|
|
29
|
+
* const validDocument = parse(`
|
|
30
|
+
* { name }
|
|
31
|
+
* `);
|
|
32
|
+
* const validErrors = validate(schema, validDocument, [ScalarLeafsRule]);
|
|
33
|
+
*
|
|
34
|
+
* validErrors; // => []
|
|
35
|
+
* ```
|
|
8
36
|
*/
|
|
9
37
|
export declare function ScalarLeafsRule(context: ValidationContext): ASTVisitor;
|
|
@@ -4,12 +4,6 @@ exports.ScalarLeafsRule = ScalarLeafsRule;
|
|
|
4
4
|
const inspect_ts_1 = require("../../jsutils/inspect.js");
|
|
5
5
|
const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
|
|
6
6
|
const definition_ts_1 = require("../../type/definition.js");
|
|
7
|
-
/**
|
|
8
|
-
* Scalar leafs
|
|
9
|
-
*
|
|
10
|
-
* A GraphQL document is valid only if all leaf fields (fields without
|
|
11
|
-
* sub selections) are of scalar or enum types.
|
|
12
|
-
*/
|
|
13
7
|
function ScalarLeafsRule(context) {
|
|
14
8
|
return {
|
|
15
9
|
Field(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarLeafsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ScalarLeafsRule.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ScalarLeafsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ScalarLeafsRule.ts"],"names":[],"mappings":";;AA8CA,0CAuCC;AAnFD,yDAAmD;AAEnD,iEAA2D;AAK3D,4DAAoE;AAqCpE,SAAgB,eAAe,CAAC,OAA0B;IACxD,OAAO;QACL,KAAK,CAAC,IAAe;YACnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,IAAA,0BAAU,EAAC,IAAA,4BAAY,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACnC,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBAClC,MAAM,OAAO,GAAG,IAAA,oBAAO,EAAC,IAAI,CAAC,CAAC;wBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,UAAU,SAAS,2CAA2C,OAAO,qBAAqB,EAC1F,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBAClC,MAAM,OAAO,GAAG,IAAA,oBAAO,EAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,UAAU,SAAS,cAAc,OAAO,uDAAuD,SAAS,YAAY,EACpH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBAClC,MAAM,OAAO,GAAG,IAAA,oBAAO,EAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,UAAU,SAAS,cAAc,OAAO,0CAA0C,EAClF,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { inspect } from '../../jsutils/inspect.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { FieldNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { getNamedType, isLeafType } from '../../type/definition.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\n/**\n * Scalar leafs\n *\n * A GraphQL document is valid only if all leaf fields (fields without\n * sub selections) are of scalar or enum types.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { buildSchema, parse, validate } from 'graphql';\n * import { ScalarLeafsRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * name: String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * { name { length } }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [ScalarLeafsRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { name }\n * `);\n * const validErrors = validate(schema, validDocument, [ScalarLeafsRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function ScalarLeafsRule(context: ValidationContext): ASTVisitor {\n return {\n Field(node: FieldNode) {\n const type = context.getType();\n const selectionSet = node.selectionSet;\n if (type) {\n if (isLeafType(getNamedType(type))) {\n if (selectionSet) {\n const fieldName = node.name.value;\n const typeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Field \"${fieldName}\" must not have a selection since type \"${typeStr}\" has no subfields.`,\n { nodes: selectionSet },\n ),\n );\n }\n } else if (!selectionSet) {\n const fieldName = node.name.value;\n const typeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Field \"${fieldName}\" of type \"${typeStr}\" must have a selection of subfields. Did you mean \"${fieldName} { ... }\"?`,\n { nodes: node },\n ),\n );\n } else if (selectionSet.selections.length === 0) {\n const fieldName = node.name.value;\n const typeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Field \"${fieldName}\" of type \"${typeStr}\" must have at least one field selected.`,\n { nodes: node },\n ),\n );\n }\n }\n },\n };\n}\n"]}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
1
|
import { inspect } from "../../jsutils/inspect.mjs";
|
|
2
2
|
import { GraphQLError } from "../../error/GraphQLError.mjs";
|
|
3
3
|
import { getNamedType, isLeafType } from "../../type/definition.mjs";
|
|
4
|
-
/**
|
|
5
|
-
* Scalar leafs
|
|
6
|
-
*
|
|
7
|
-
* A GraphQL document is valid only if all leaf fields (fields without
|
|
8
|
-
* sub selections) are of scalar or enum types.
|
|
9
|
-
*/
|
|
10
4
|
export function ScalarLeafsRule(context) {
|
|
11
5
|
return {
|
|
12
6
|
Field(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScalarLeafsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ScalarLeafsRule.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ScalarLeafsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ScalarLeafsRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,kCAAiC;AAEnD,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAK3D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,kCAAiC;AAqCpE,MAAM,UAAU,eAAe,CAAC,OAA0B;IACxD,OAAO;QACL,KAAK,CAAC,IAAe;YACnB,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;oBACnC,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;wBAClC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,UAAU,SAAS,2CAA2C,OAAO,qBAAqB,EAC1F,EAAE,KAAK,EAAE,YAAY,EAAE,CACxB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,CAAC,YAAY,EAAE,CAAC;oBACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBAClC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,UAAU,SAAS,cAAc,OAAO,uDAAuD,SAAS,YAAY,EACpH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;qBAAM,IAAI,YAAY,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAChD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;oBAClC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9B,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,UAAU,SAAS,cAAc,OAAO,0CAA0C,EAClF,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { inspect } from '../../jsutils/inspect.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { FieldNode } from '../../language/ast.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { getNamedType, isLeafType } from '../../type/definition.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\n/**\n * Scalar leafs\n *\n * A GraphQL document is valid only if all leaf fields (fields without\n * sub selections) are of scalar or enum types.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { buildSchema, parse, validate } from 'graphql';\n * import { ScalarLeafsRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * name: String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * { name { length } }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [ScalarLeafsRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { name }\n * `);\n * const validErrors = validate(schema, validDocument, [ScalarLeafsRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function ScalarLeafsRule(context: ValidationContext): ASTVisitor {\n return {\n Field(node: FieldNode) {\n const type = context.getType();\n const selectionSet = node.selectionSet;\n if (type) {\n if (isLeafType(getNamedType(type))) {\n if (selectionSet) {\n const fieldName = node.name.value;\n const typeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Field \"${fieldName}\" must not have a selection since type \"${typeStr}\" has no subfields.`,\n { nodes: selectionSet },\n ),\n );\n }\n } else if (!selectionSet) {\n const fieldName = node.name.value;\n const typeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Field \"${fieldName}\" of type \"${typeStr}\" must have a selection of subfields. Did you mean \"${fieldName} { ... }\"?`,\n { nodes: node },\n ),\n );\n } else if (selectionSet.selections.length === 0) {\n const fieldName = node.name.value;\n const typeStr = inspect(type);\n context.reportError(\n new GraphQLError(\n `Field \"${fieldName}\" of type \"${typeStr}\" must have at least one field selected.`,\n { nodes: node },\n ),\n );\n }\n }\n },\n };\n}\n"]}
|
|
@@ -1,12 +1,44 @@
|
|
|
1
|
+
/** @category Validation Rules */
|
|
1
2
|
import type { ASTVisitor } from "../../language/visitor.mjs";
|
|
2
3
|
import type { ValidationContext } from "../ValidationContext.mjs";
|
|
3
4
|
/**
|
|
4
5
|
* Subscriptions must only include a non-introspection field.
|
|
5
6
|
*
|
|
6
7
|
* A GraphQL subscription is valid only if it contains a single root field and
|
|
7
|
-
* that root field is not an introspection field.
|
|
8
|
-
* directives are forbidden.
|
|
8
|
+
* that root field is not an introspection field.
|
|
9
9
|
*
|
|
10
10
|
* See https://spec.graphql.org/draft/#sec-Single-root-field
|
|
11
|
+
* @param context - The validation context used while checking the document.
|
|
12
|
+
* @returns A visitor that reports validation errors for this rule.
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { buildSchema, parse, validate } from 'graphql';
|
|
16
|
+
* import { SingleFieldSubscriptionsRule } from 'graphql/validation';
|
|
17
|
+
*
|
|
18
|
+
* const schema = buildSchema(`
|
|
19
|
+
* type Query {
|
|
20
|
+
* name: String
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* type Subscription {
|
|
24
|
+
* a: String
|
|
25
|
+
* b: String
|
|
26
|
+
* }
|
|
27
|
+
* `);
|
|
28
|
+
*
|
|
29
|
+
* const invalidDocument = parse(`
|
|
30
|
+
* subscription { a b }
|
|
31
|
+
* `);
|
|
32
|
+
* const invalidErrors = validate(schema, invalidDocument, [SingleFieldSubscriptionsRule]);
|
|
33
|
+
*
|
|
34
|
+
* invalidErrors.length; // => 1
|
|
35
|
+
*
|
|
36
|
+
* const validDocument = parse(`
|
|
37
|
+
* subscription { a }
|
|
38
|
+
* `);
|
|
39
|
+
* const validErrors = validate(schema, validDocument, [SingleFieldSubscriptionsRule]);
|
|
40
|
+
*
|
|
41
|
+
* validErrors; // => []
|
|
42
|
+
* ```
|
|
11
43
|
*/
|
|
12
44
|
export declare function SingleFieldSubscriptionsRule(context: ValidationContext): ASTVisitor;
|
|
@@ -1,12 +1,44 @@
|
|
|
1
|
+
/** @category Validation Rules */
|
|
1
2
|
import type { ASTVisitor } from "../../language/visitor.js";
|
|
2
3
|
import type { ValidationContext } from "../ValidationContext.js";
|
|
3
4
|
/**
|
|
4
5
|
* Subscriptions must only include a non-introspection field.
|
|
5
6
|
*
|
|
6
7
|
* A GraphQL subscription is valid only if it contains a single root field and
|
|
7
|
-
* that root field is not an introspection field.
|
|
8
|
-
* directives are forbidden.
|
|
8
|
+
* that root field is not an introspection field.
|
|
9
9
|
*
|
|
10
10
|
* See https://spec.graphql.org/draft/#sec-Single-root-field
|
|
11
|
+
* @param context - The validation context used while checking the document.
|
|
12
|
+
* @returns A visitor that reports validation errors for this rule.
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { buildSchema, parse, validate } from 'graphql';
|
|
16
|
+
* import { SingleFieldSubscriptionsRule } from 'graphql/validation';
|
|
17
|
+
*
|
|
18
|
+
* const schema = buildSchema(`
|
|
19
|
+
* type Query {
|
|
20
|
+
* name: String
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* type Subscription {
|
|
24
|
+
* a: String
|
|
25
|
+
* b: String
|
|
26
|
+
* }
|
|
27
|
+
* `);
|
|
28
|
+
*
|
|
29
|
+
* const invalidDocument = parse(`
|
|
30
|
+
* subscription { a b }
|
|
31
|
+
* `);
|
|
32
|
+
* const invalidErrors = validate(schema, invalidDocument, [SingleFieldSubscriptionsRule]);
|
|
33
|
+
*
|
|
34
|
+
* invalidErrors.length; // => 1
|
|
35
|
+
*
|
|
36
|
+
* const validDocument = parse(`
|
|
37
|
+
* subscription { a }
|
|
38
|
+
* `);
|
|
39
|
+
* const validErrors = validate(schema, validDocument, [SingleFieldSubscriptionsRule]);
|
|
40
|
+
*
|
|
41
|
+
* validErrors; // => []
|
|
42
|
+
* ```
|
|
11
43
|
*/
|
|
12
44
|
export declare function SingleFieldSubscriptionsRule(context: ValidationContext): ASTVisitor;
|
|
@@ -7,15 +7,6 @@ const collectFields_ts_1 = require("../../execution/collectFields.js");
|
|
|
7
7
|
function toNodes(fieldDetailsList) {
|
|
8
8
|
return fieldDetailsList.map((fieldDetails) => fieldDetails.node);
|
|
9
9
|
}
|
|
10
|
-
/**
|
|
11
|
-
* Subscriptions must only include a non-introspection field.
|
|
12
|
-
*
|
|
13
|
-
* A GraphQL subscription is valid only if it contains a single root field and
|
|
14
|
-
* that root field is not an introspection field. `@skip` and `@include`
|
|
15
|
-
* directives are forbidden.
|
|
16
|
-
*
|
|
17
|
-
* See https://spec.graphql.org/draft/#sec-Single-root-field
|
|
18
|
-
*/
|
|
19
10
|
function SingleFieldSubscriptionsRule(context) {
|
|
20
11
|
return {
|
|
21
12
|
OperationDefinition(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SingleFieldSubscriptionsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/SingleFieldSubscriptionsRule.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"SingleFieldSubscriptionsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/SingleFieldSubscriptionsRule.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Rules */\n\nimport type { ObjMap } from '../../jsutils/ObjMap.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { FieldNode, OperationDefinitionNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type {\n FieldDetailsList,\n FragmentDetails,\n} from '../../execution/collectFields.ts';\nimport { collectFields } from '../../execution/collectFields.ts';\nimport type { VariableValues } from '../../execution/values.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\nfunction toNodes(fieldDetailsList: FieldDetailsList): ReadonlyArray<FieldNode> {\n return fieldDetailsList.map((fieldDetails) => fieldDetails.node);\n}\n\n/**\n * Subscriptions must only include a non-introspection field.\n *\n * A GraphQL subscription is valid only if it contains a single root field and\n * that root field is not an introspection field.\n *\n * See https://spec.graphql.org/draft/#sec-Single-root-field\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { buildSchema, parse, validate } from 'graphql';\n * import { SingleFieldSubscriptionsRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * name: String\n * }\n *\n * type Subscription {\n * a: String\n * b: String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * subscription { a b }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [SingleFieldSubscriptionsRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * subscription { a }\n * `);\n * const validErrors = validate(schema, validDocument, [SingleFieldSubscriptionsRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function SingleFieldSubscriptionsRule(\n context: ValidationContext,\n): ASTVisitor {\n return {\n OperationDefinition(node: OperationDefinitionNode) {\n if (node.operation === 'subscription') {\n const schema = context.getSchema();\n const subscriptionType = schema.getSubscriptionType();\n if (subscriptionType) {\n const operationName = node.name ? node.name.value : null;\n const variableValues: VariableValues = Object.create(null);\n const document = context.getDocument();\n const fragments: ObjMap<FragmentDetails> = Object.create(null);\n for (const definition of document.definitions) {\n if (definition.kind === Kind.FRAGMENT_DEFINITION) {\n fragments[definition.name.value] = { definition };\n }\n }\n const { groupedFieldSet, forbiddenDirectiveInstances } =\n collectFields(\n schema,\n fragments,\n variableValues,\n subscriptionType,\n node.selectionSet,\n context.hideSuggestions,\n true,\n );\n if (forbiddenDirectiveInstances.length > 0) {\n context.reportError(\n new GraphQLError(\n operationName != null\n ? `Subscription \"${operationName}\" must not use \\`@skip\\` or \\`@include\\` directives in the top level selection.`\n : 'Anonymous Subscription must not use `@skip` or `@include` directives in the top level selection.',\n { nodes: forbiddenDirectiveInstances },\n ),\n );\n return;\n }\n if (groupedFieldSet.size > 1) {\n const fieldDetailsLists = [...groupedFieldSet.values()];\n const extraFieldDetailsLists = fieldDetailsLists.slice(1);\n const extraFieldSelections = extraFieldDetailsLists.flatMap(\n (fieldDetailsList) => toNodes(fieldDetailsList),\n );\n context.reportError(\n new GraphQLError(\n operationName != null\n ? `Subscription \"${operationName}\" must select only one top level field.`\n : 'Anonymous Subscription must select only one top level field.',\n { nodes: extraFieldSelections },\n ),\n );\n }\n for (const fieldDetailsList of groupedFieldSet.values()) {\n const fieldName = toNodes(fieldDetailsList)[0].name.value;\n if (fieldName.startsWith('__')) {\n context.reportError(\n new GraphQLError(\n operationName != null\n ? `Subscription \"${operationName}\" must not select an introspection top level field.`\n : 'Anonymous Subscription must not select an introspection top level field.',\n { nodes: toNodes(fieldDetailsList) },\n ),\n );\n }\n }\n }\n }\n },\n };\n}\n"]}
|
|
@@ -4,15 +4,6 @@ import { collectFields } from "../../execution/collectFields.mjs";
|
|
|
4
4
|
function toNodes(fieldDetailsList) {
|
|
5
5
|
return fieldDetailsList.map((fieldDetails) => fieldDetails.node);
|
|
6
6
|
}
|
|
7
|
-
/**
|
|
8
|
-
* Subscriptions must only include a non-introspection field.
|
|
9
|
-
*
|
|
10
|
-
* A GraphQL subscription is valid only if it contains a single root field and
|
|
11
|
-
* that root field is not an introspection field. `@skip` and `@include`
|
|
12
|
-
* directives are forbidden.
|
|
13
|
-
*
|
|
14
|
-
* See https://spec.graphql.org/draft/#sec-Single-root-field
|
|
15
|
-
*/
|
|
16
7
|
export function SingleFieldSubscriptionsRule(context) {
|
|
17
8
|
return {
|
|
18
9
|
OperationDefinition(node) {
|