graphql 17.0.0-alpha.8 → 17.0.0-beta.0
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/README.md +54 -10
- package/__dev__/devMode.d.mts +1 -0
- package/__dev__/devMode.d.ts +1 -0
- package/__dev__/devMode.js +3 -0
- package/__dev__/devMode.mjs +3 -0
- package/__dev__/error/GraphQLError.d.mts +1 -0
- package/__dev__/error/GraphQLError.d.ts +1 -0
- package/__dev__/error/GraphQLError.js +3 -0
- package/__dev__/error/GraphQLError.mjs +3 -0
- package/__dev__/error/ensureGraphQLError.d.mts +1 -0
- package/__dev__/error/ensureGraphQLError.d.ts +1 -0
- package/__dev__/error/ensureGraphQLError.js +3 -0
- package/__dev__/error/ensureGraphQLError.mjs +3 -0
- package/__dev__/error/index.d.mts +1 -0
- package/__dev__/error/index.d.ts +1 -0
- package/__dev__/error/index.js +3 -0
- package/__dev__/error/index.mjs +3 -0
- package/__dev__/error/locatedError.d.mts +1 -0
- package/__dev__/error/locatedError.d.ts +1 -0
- package/__dev__/error/locatedError.js +3 -0
- package/__dev__/error/locatedError.mjs +3 -0
- package/__dev__/error/syntaxError.d.mts +1 -0
- package/__dev__/error/syntaxError.d.ts +1 -0
- package/__dev__/error/syntaxError.js +3 -0
- package/__dev__/error/syntaxError.mjs +3 -0
- package/__dev__/execution/AbortedGraphQLExecutionError.d.mts +1 -0
- package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -0
- package/__dev__/execution/AbortedGraphQLExecutionError.js +3 -0
- package/__dev__/execution/AbortedGraphQLExecutionError.mjs +3 -0
- package/__dev__/execution/AsyncWorkTracker.d.mts +1 -0
- package/__dev__/execution/AsyncWorkTracker.d.ts +1 -0
- package/__dev__/execution/AsyncWorkTracker.js +3 -0
- package/__dev__/execution/AsyncWorkTracker.mjs +3 -0
- package/__dev__/execution/Executor.d.mts +1 -0
- package/__dev__/execution/Executor.d.ts +1 -0
- package/__dev__/execution/Executor.js +3 -0
- package/__dev__/execution/Executor.mjs +3 -0
- package/__dev__/execution/ExecutorThrowingOnIncremental.d.mts +1 -0
- package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -0
- package/__dev__/execution/ExecutorThrowingOnIncremental.js +3 -0
- package/__dev__/execution/ExecutorThrowingOnIncremental.mjs +3 -0
- package/__dev__/execution/cancellablePromise.d.mts +1 -0
- package/__dev__/execution/cancellablePromise.d.ts +1 -0
- package/__dev__/execution/cancellablePromise.js +3 -0
- package/__dev__/execution/cancellablePromise.mjs +3 -0
- package/__dev__/execution/collectFields.d.mts +1 -0
- package/__dev__/execution/collectFields.d.ts +1 -0
- package/__dev__/execution/collectFields.js +3 -0
- package/__dev__/execution/collectFields.mjs +3 -0
- package/__dev__/execution/collectIteratorPromises.d.mts +1 -0
- package/__dev__/execution/collectIteratorPromises.d.ts +1 -0
- package/__dev__/execution/collectIteratorPromises.js +3 -0
- package/__dev__/execution/collectIteratorPromises.mjs +3 -0
- package/__dev__/execution/createSharedExecutionContext.d.mts +1 -0
- package/__dev__/execution/createSharedExecutionContext.d.ts +1 -0
- package/__dev__/execution/createSharedExecutionContext.js +3 -0
- package/__dev__/execution/createSharedExecutionContext.mjs +3 -0
- package/__dev__/execution/execute.d.mts +1 -0
- package/__dev__/execution/execute.d.ts +1 -0
- package/__dev__/execution/execute.js +3 -0
- package/__dev__/execution/execute.mjs +3 -0
- package/__dev__/execution/getStreamUsage.d.mts +1 -0
- package/__dev__/execution/getStreamUsage.d.ts +1 -0
- package/__dev__/execution/getStreamUsage.js +3 -0
- package/__dev__/execution/getStreamUsage.mjs +3 -0
- package/__dev__/execution/getVariableSignature.d.mts +1 -0
- package/__dev__/execution/getVariableSignature.d.ts +1 -0
- package/__dev__/execution/getVariableSignature.js +3 -0
- package/__dev__/execution/getVariableSignature.mjs +3 -0
- package/__dev__/execution/hooks.d.mts +1 -0
- package/__dev__/execution/hooks.d.ts +1 -0
- package/__dev__/execution/hooks.js +3 -0
- package/__dev__/execution/hooks.mjs +3 -0
- package/__dev__/execution/incremental/Computation.d.mts +1 -0
- package/__dev__/execution/incremental/Computation.d.ts +1 -0
- package/__dev__/execution/incremental/Computation.js +3 -0
- package/__dev__/execution/incremental/Computation.mjs +3 -0
- package/__dev__/execution/incremental/IncrementalExecutor.d.mts +1 -0
- package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -0
- package/__dev__/execution/incremental/IncrementalExecutor.js +3 -0
- package/__dev__/execution/incremental/IncrementalExecutor.mjs +3 -0
- package/__dev__/execution/incremental/IncrementalPublisher.d.mts +1 -0
- package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -0
- package/__dev__/execution/incremental/IncrementalPublisher.js +3 -0
- package/__dev__/execution/incremental/IncrementalPublisher.mjs +3 -0
- package/__dev__/execution/incremental/Queue.d.mts +1 -0
- package/__dev__/execution/incremental/Queue.d.ts +1 -0
- package/__dev__/execution/incremental/Queue.js +3 -0
- package/__dev__/execution/incremental/Queue.mjs +3 -0
- package/__dev__/execution/incremental/WorkQueue.d.mts +1 -0
- package/__dev__/execution/incremental/WorkQueue.d.ts +1 -0
- package/__dev__/execution/incremental/WorkQueue.js +3 -0
- package/__dev__/execution/incremental/WorkQueue.mjs +3 -0
- package/__dev__/execution/incremental/buildExecutionPlan.d.mts +1 -0
- package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -0
- package/__dev__/execution/incremental/buildExecutionPlan.js +3 -0
- package/__dev__/execution/incremental/buildExecutionPlan.mjs +3 -0
- package/__dev__/execution/index.d.mts +1 -0
- package/__dev__/execution/index.d.ts +1 -0
- package/__dev__/execution/index.js +3 -0
- package/__dev__/execution/index.mjs +3 -0
- package/__dev__/execution/mapAsyncIterable.d.mts +1 -0
- package/__dev__/execution/mapAsyncIterable.d.ts +1 -0
- package/__dev__/execution/mapAsyncIterable.js +3 -0
- package/__dev__/execution/mapAsyncIterable.mjs +3 -0
- package/__dev__/execution/returnIteratorCatchingErrors.d.mts +1 -0
- package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -0
- package/__dev__/execution/returnIteratorCatchingErrors.js +3 -0
- package/__dev__/execution/returnIteratorCatchingErrors.mjs +3 -0
- package/__dev__/execution/values.d.mts +1 -0
- package/__dev__/execution/values.d.ts +1 -0
- package/__dev__/execution/values.js +3 -0
- package/__dev__/execution/values.mjs +3 -0
- package/__dev__/execution/withConcurrentAbruptClose.d.mts +1 -0
- package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -0
- package/__dev__/execution/withConcurrentAbruptClose.js +3 -0
- package/__dev__/execution/withConcurrentAbruptClose.mjs +3 -0
- package/__dev__/graphql.d.mts +1 -0
- package/__dev__/graphql.d.ts +1 -0
- package/__dev__/graphql.js +3 -0
- package/__dev__/graphql.mjs +3 -0
- package/__dev__/harness.d.mts +1 -0
- package/__dev__/harness.d.ts +1 -0
- package/__dev__/harness.js +3 -0
- package/__dev__/harness.mjs +3 -0
- package/__dev__/index.d.mts +1 -0
- package/__dev__/index.d.ts +1 -0
- package/__dev__/index.js +3 -0
- package/__dev__/index.mjs +3 -0
- package/__dev__/jsutils/AccumulatorMap.d.mts +1 -0
- package/__dev__/jsutils/AccumulatorMap.d.ts +1 -0
- package/__dev__/jsutils/AccumulatorMap.js +3 -0
- package/__dev__/jsutils/AccumulatorMap.mjs +3 -0
- package/__dev__/jsutils/Maybe.d.mts +1 -0
- package/__dev__/jsutils/Maybe.d.ts +1 -0
- package/__dev__/jsutils/Maybe.js +3 -0
- package/__dev__/jsutils/Maybe.mjs +3 -0
- package/__dev__/jsutils/ObjMap.d.mts +1 -0
- package/__dev__/jsutils/ObjMap.d.ts +1 -0
- package/__dev__/jsutils/ObjMap.js +3 -0
- package/__dev__/jsutils/ObjMap.mjs +3 -0
- package/__dev__/jsutils/Path.d.mts +1 -0
- package/__dev__/jsutils/Path.d.ts +1 -0
- package/__dev__/jsutils/Path.js +3 -0
- package/__dev__/jsutils/Path.mjs +3 -0
- package/__dev__/jsutils/PromiseOrValue.d.mts +1 -0
- package/__dev__/jsutils/PromiseOrValue.d.ts +1 -0
- package/__dev__/jsutils/PromiseOrValue.js +3 -0
- package/__dev__/jsutils/PromiseOrValue.mjs +3 -0
- package/__dev__/jsutils/capitalize.d.mts +1 -0
- package/__dev__/jsutils/capitalize.d.ts +1 -0
- package/__dev__/jsutils/capitalize.js +3 -0
- package/__dev__/jsutils/capitalize.mjs +3 -0
- package/__dev__/jsutils/devAssert.d.mts +1 -0
- package/__dev__/jsutils/devAssert.d.ts +1 -0
- package/__dev__/jsutils/devAssert.js +3 -0
- package/__dev__/jsutils/devAssert.mjs +3 -0
- package/__dev__/jsutils/didYouMean.d.mts +1 -0
- package/__dev__/jsutils/didYouMean.d.ts +1 -0
- package/__dev__/jsutils/didYouMean.js +3 -0
- package/__dev__/jsutils/didYouMean.mjs +3 -0
- package/__dev__/jsutils/formatList.d.mts +1 -0
- package/__dev__/jsutils/formatList.d.ts +1 -0
- package/__dev__/jsutils/formatList.js +3 -0
- package/__dev__/jsutils/formatList.mjs +3 -0
- package/__dev__/jsutils/getBySet.d.mts +1 -0
- package/__dev__/jsutils/getBySet.d.ts +1 -0
- package/__dev__/jsutils/getBySet.js +3 -0
- package/__dev__/jsutils/getBySet.mjs +3 -0
- package/__dev__/jsutils/groupBy.d.mts +1 -0
- package/__dev__/jsutils/groupBy.d.ts +1 -0
- package/__dev__/jsutils/groupBy.js +3 -0
- package/__dev__/jsutils/groupBy.mjs +3 -0
- package/__dev__/jsutils/identityFunc.d.mts +1 -0
- package/__dev__/jsutils/identityFunc.d.ts +1 -0
- package/__dev__/jsutils/identityFunc.js +3 -0
- package/__dev__/jsutils/identityFunc.mjs +3 -0
- package/__dev__/jsutils/inspect.d.mts +1 -0
- package/__dev__/jsutils/inspect.d.ts +1 -0
- package/__dev__/jsutils/inspect.js +3 -0
- package/__dev__/jsutils/inspect.mjs +3 -0
- package/__dev__/jsutils/instanceOf.d.mts +1 -0
- package/__dev__/jsutils/instanceOf.d.ts +1 -0
- package/__dev__/jsutils/instanceOf.js +3 -0
- package/__dev__/jsutils/instanceOf.mjs +3 -0
- package/__dev__/jsutils/invariant.d.mts +1 -0
- package/__dev__/jsutils/invariant.d.ts +1 -0
- package/__dev__/jsutils/invariant.js +3 -0
- package/__dev__/jsutils/invariant.mjs +3 -0
- package/__dev__/jsutils/isAsyncIterable.d.mts +1 -0
- package/__dev__/jsutils/isAsyncIterable.d.ts +1 -0
- package/__dev__/jsutils/isAsyncIterable.js +3 -0
- package/__dev__/jsutils/isAsyncIterable.mjs +3 -0
- package/__dev__/jsutils/isIterableObject.d.mts +1 -0
- package/__dev__/jsutils/isIterableObject.d.ts +1 -0
- package/__dev__/jsutils/isIterableObject.js +3 -0
- package/__dev__/jsutils/isIterableObject.mjs +3 -0
- package/__dev__/jsutils/isObjectLike.d.mts +1 -0
- package/__dev__/jsutils/isObjectLike.d.ts +1 -0
- package/__dev__/jsutils/isObjectLike.js +3 -0
- package/__dev__/jsutils/isObjectLike.mjs +3 -0
- package/__dev__/jsutils/isPromise.d.mts +1 -0
- package/__dev__/jsutils/isPromise.d.ts +1 -0
- package/__dev__/jsutils/isPromise.js +3 -0
- package/__dev__/jsutils/isPromise.mjs +3 -0
- package/__dev__/jsutils/isSameSet.d.mts +1 -0
- package/__dev__/jsutils/isSameSet.d.ts +1 -0
- package/__dev__/jsutils/isSameSet.js +3 -0
- package/__dev__/jsutils/isSameSet.mjs +3 -0
- package/__dev__/jsutils/keyMap.d.mts +1 -0
- package/__dev__/jsutils/keyMap.d.ts +1 -0
- package/__dev__/jsutils/keyMap.js +3 -0
- package/__dev__/jsutils/keyMap.mjs +3 -0
- package/__dev__/jsutils/keyValMap.d.mts +1 -0
- package/__dev__/jsutils/keyValMap.d.ts +1 -0
- package/__dev__/jsutils/keyValMap.js +3 -0
- package/__dev__/jsutils/keyValMap.mjs +3 -0
- package/__dev__/jsutils/mapValue.d.mts +1 -0
- package/__dev__/jsutils/mapValue.d.ts +1 -0
- package/__dev__/jsutils/mapValue.js +3 -0
- package/__dev__/jsutils/mapValue.mjs +3 -0
- package/__dev__/jsutils/memoize1.d.mts +1 -0
- package/__dev__/jsutils/memoize1.d.ts +1 -0
- package/__dev__/jsutils/memoize1.js +3 -0
- package/__dev__/jsutils/memoize1.mjs +3 -0
- package/__dev__/jsutils/memoize2.d.mts +1 -0
- package/__dev__/jsutils/memoize2.d.ts +1 -0
- package/__dev__/jsutils/memoize2.js +3 -0
- package/__dev__/jsutils/memoize2.mjs +3 -0
- package/__dev__/jsutils/memoize3.d.mts +1 -0
- package/__dev__/jsutils/memoize3.d.ts +1 -0
- package/__dev__/jsutils/memoize3.js +3 -0
- package/__dev__/jsutils/memoize3.mjs +3 -0
- package/__dev__/jsutils/naturalCompare.d.mts +1 -0
- package/__dev__/jsutils/naturalCompare.d.ts +1 -0
- package/__dev__/jsutils/naturalCompare.js +3 -0
- package/__dev__/jsutils/naturalCompare.mjs +3 -0
- package/__dev__/jsutils/printPathArray.d.mts +1 -0
- package/__dev__/jsutils/printPathArray.d.ts +1 -0
- package/__dev__/jsutils/printPathArray.js +3 -0
- package/__dev__/jsutils/printPathArray.mjs +3 -0
- package/__dev__/jsutils/promiseForObject.d.mts +1 -0
- package/__dev__/jsutils/promiseForObject.d.ts +1 -0
- package/__dev__/jsutils/promiseForObject.js +3 -0
- package/__dev__/jsutils/promiseForObject.mjs +3 -0
- package/__dev__/jsutils/promiseReduce.d.mts +1 -0
- package/__dev__/jsutils/promiseReduce.d.ts +1 -0
- package/__dev__/jsutils/promiseReduce.js +3 -0
- package/__dev__/jsutils/promiseReduce.mjs +3 -0
- package/__dev__/jsutils/promiseWithResolvers.d.mts +1 -0
- package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -0
- package/__dev__/jsutils/promiseWithResolvers.js +3 -0
- package/__dev__/jsutils/promiseWithResolvers.mjs +3 -0
- package/__dev__/jsutils/suggestionList.d.mts +1 -0
- package/__dev__/jsutils/suggestionList.d.ts +1 -0
- package/__dev__/jsutils/suggestionList.js +3 -0
- package/__dev__/jsutils/suggestionList.mjs +3 -0
- package/__dev__/jsutils/toError.d.mts +1 -0
- package/__dev__/jsutils/toError.d.ts +1 -0
- package/__dev__/jsutils/toError.js +3 -0
- package/__dev__/jsutils/toError.mjs +3 -0
- package/__dev__/jsutils/toObjMap.d.mts +1 -0
- package/__dev__/jsutils/toObjMap.d.ts +1 -0
- package/__dev__/jsutils/toObjMap.js +3 -0
- package/__dev__/jsutils/toObjMap.mjs +3 -0
- package/__dev__/language/KindTypeMap.d.mts +1 -0
- package/__dev__/language/KindTypeMap.d.ts +1 -0
- package/__dev__/language/KindTypeMap.js +3 -0
- package/__dev__/language/KindTypeMap.mjs +3 -0
- package/__dev__/language/ast.d.mts +1 -0
- package/__dev__/language/ast.d.ts +1 -0
- package/__dev__/language/ast.js +3 -0
- package/__dev__/language/ast.mjs +3 -0
- package/__dev__/language/blockString.d.mts +1 -0
- package/__dev__/language/blockString.d.ts +1 -0
- package/__dev__/language/blockString.js +3 -0
- package/__dev__/language/blockString.mjs +3 -0
- package/__dev__/language/characterClasses.d.mts +1 -0
- package/__dev__/language/characterClasses.d.ts +1 -0
- package/__dev__/language/characterClasses.js +3 -0
- package/__dev__/language/characterClasses.mjs +3 -0
- package/__dev__/language/directiveLocation.d.mts +1 -0
- package/__dev__/language/directiveLocation.d.ts +1 -0
- package/__dev__/language/directiveLocation.js +3 -0
- package/__dev__/language/directiveLocation.mjs +3 -0
- package/__dev__/language/index.d.mts +1 -0
- package/__dev__/language/index.d.ts +1 -0
- package/__dev__/language/index.js +3 -0
- package/__dev__/language/index.mjs +3 -0
- package/__dev__/language/kinds.d.mts +1 -0
- package/__dev__/language/kinds.d.ts +1 -0
- package/__dev__/language/kinds.js +3 -0
- package/__dev__/language/kinds.mjs +3 -0
- package/__dev__/language/kinds_.d.mts +1 -0
- package/__dev__/language/kinds_.d.ts +1 -0
- package/__dev__/language/kinds_.js +3 -0
- package/__dev__/language/kinds_.mjs +3 -0
- package/__dev__/language/lexer.d.mts +1 -0
- package/__dev__/language/lexer.d.ts +1 -0
- package/__dev__/language/lexer.js +3 -0
- package/__dev__/language/lexer.mjs +3 -0
- package/__dev__/language/location.d.mts +1 -0
- package/__dev__/language/location.d.ts +1 -0
- package/__dev__/language/location.js +3 -0
- package/__dev__/language/location.mjs +3 -0
- package/__dev__/language/parser.d.mts +1 -0
- package/__dev__/language/parser.d.ts +1 -0
- package/__dev__/language/parser.js +3 -0
- package/__dev__/language/parser.mjs +3 -0
- package/__dev__/language/predicates.d.mts +1 -0
- package/__dev__/language/predicates.d.ts +1 -0
- package/__dev__/language/predicates.js +3 -0
- package/__dev__/language/predicates.mjs +3 -0
- package/__dev__/language/printLocation.d.mts +1 -0
- package/__dev__/language/printLocation.d.ts +1 -0
- package/__dev__/language/printLocation.js +3 -0
- package/__dev__/language/printLocation.mjs +3 -0
- package/__dev__/language/printString.d.mts +1 -0
- package/__dev__/language/printString.d.ts +1 -0
- package/__dev__/language/printString.js +3 -0
- package/__dev__/language/printString.mjs +3 -0
- package/__dev__/language/printer.d.mts +1 -0
- package/__dev__/language/printer.d.ts +1 -0
- package/__dev__/language/printer.js +3 -0
- package/__dev__/language/printer.mjs +3 -0
- package/__dev__/language/schemaCoordinateLexer.d.mts +1 -0
- package/__dev__/language/schemaCoordinateLexer.d.ts +1 -0
- package/__dev__/language/schemaCoordinateLexer.js +3 -0
- package/__dev__/language/schemaCoordinateLexer.mjs +3 -0
- package/__dev__/language/source.d.mts +1 -0
- package/__dev__/language/source.d.ts +1 -0
- package/__dev__/language/source.js +3 -0
- package/__dev__/language/source.mjs +3 -0
- package/__dev__/language/tokenKind.d.mts +1 -0
- package/__dev__/language/tokenKind.d.ts +1 -0
- package/__dev__/language/tokenKind.js +3 -0
- package/__dev__/language/tokenKind.mjs +3 -0
- package/__dev__/language/visitor.d.mts +1 -0
- package/__dev__/language/visitor.d.ts +1 -0
- package/__dev__/language/visitor.js +3 -0
- package/__dev__/language/visitor.mjs +3 -0
- package/__dev__/type/assertName.d.mts +1 -0
- package/__dev__/type/assertName.d.ts +1 -0
- package/__dev__/type/assertName.js +3 -0
- package/__dev__/type/assertName.mjs +3 -0
- package/__dev__/type/definition.d.mts +1 -0
- package/__dev__/type/definition.d.ts +1 -0
- package/__dev__/type/definition.js +3 -0
- package/__dev__/type/definition.mjs +3 -0
- package/__dev__/type/directives.d.mts +1 -0
- package/__dev__/type/directives.d.ts +1 -0
- package/__dev__/type/directives.js +3 -0
- package/__dev__/type/directives.mjs +3 -0
- package/__dev__/type/index.d.mts +1 -0
- package/__dev__/type/index.d.ts +1 -0
- package/__dev__/type/index.js +3 -0
- package/__dev__/type/index.mjs +3 -0
- package/__dev__/type/introspection.d.mts +1 -0
- package/__dev__/type/introspection.d.ts +1 -0
- package/__dev__/type/introspection.js +3 -0
- package/__dev__/type/introspection.mjs +3 -0
- package/__dev__/type/scalars.d.mts +1 -0
- package/__dev__/type/scalars.d.ts +1 -0
- package/__dev__/type/scalars.js +3 -0
- package/__dev__/type/scalars.mjs +3 -0
- package/__dev__/type/schema.d.mts +1 -0
- package/__dev__/type/schema.d.ts +1 -0
- package/__dev__/type/schema.js +3 -0
- package/__dev__/type/schema.mjs +3 -0
- package/__dev__/type/validate.d.mts +1 -0
- package/__dev__/type/validate.d.ts +1 -0
- package/__dev__/type/validate.js +3 -0
- package/__dev__/type/validate.mjs +3 -0
- package/__dev__/utilities/TypeInfo.d.mts +1 -0
- package/__dev__/utilities/TypeInfo.d.ts +1 -0
- package/__dev__/utilities/TypeInfo.js +3 -0
- package/__dev__/utilities/TypeInfo.mjs +3 -0
- package/__dev__/utilities/astFromValue.d.mts +1 -0
- package/__dev__/utilities/astFromValue.d.ts +1 -0
- package/__dev__/utilities/astFromValue.js +3 -0
- package/__dev__/utilities/astFromValue.mjs +3 -0
- package/__dev__/utilities/buildASTSchema.d.mts +1 -0
- package/__dev__/utilities/buildASTSchema.d.ts +1 -0
- package/__dev__/utilities/buildASTSchema.js +3 -0
- package/__dev__/utilities/buildASTSchema.mjs +3 -0
- package/__dev__/utilities/buildClientSchema.d.mts +1 -0
- package/__dev__/utilities/buildClientSchema.d.ts +1 -0
- package/__dev__/utilities/buildClientSchema.js +3 -0
- package/__dev__/utilities/buildClientSchema.mjs +3 -0
- package/__dev__/utilities/coerceInputValue.d.mts +1 -0
- package/__dev__/utilities/coerceInputValue.d.ts +1 -0
- package/__dev__/utilities/coerceInputValue.js +3 -0
- package/__dev__/utilities/coerceInputValue.mjs +3 -0
- package/__dev__/utilities/concatAST.d.mts +1 -0
- package/__dev__/utilities/concatAST.d.ts +1 -0
- package/__dev__/utilities/concatAST.js +3 -0
- package/__dev__/utilities/concatAST.mjs +3 -0
- package/__dev__/utilities/extendSchema.d.mts +1 -0
- package/__dev__/utilities/extendSchema.d.ts +1 -0
- package/__dev__/utilities/extendSchema.js +3 -0
- package/__dev__/utilities/extendSchema.mjs +3 -0
- package/__dev__/utilities/findSchemaChanges.d.mts +1 -0
- package/__dev__/utilities/findSchemaChanges.d.ts +1 -0
- package/__dev__/utilities/findSchemaChanges.js +3 -0
- package/__dev__/utilities/findSchemaChanges.mjs +3 -0
- package/__dev__/utilities/getDefaultValueAST.d.mts +1 -0
- package/__dev__/utilities/getDefaultValueAST.d.ts +1 -0
- package/__dev__/utilities/getDefaultValueAST.js +3 -0
- package/__dev__/utilities/getDefaultValueAST.mjs +3 -0
- package/__dev__/utilities/getIntrospectionQuery.d.mts +1 -0
- package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -0
- package/__dev__/utilities/getIntrospectionQuery.js +3 -0
- package/__dev__/utilities/getIntrospectionQuery.mjs +3 -0
- package/__dev__/utilities/getOperationAST.d.mts +1 -0
- package/__dev__/utilities/getOperationAST.d.ts +1 -0
- package/__dev__/utilities/getOperationAST.js +3 -0
- package/__dev__/utilities/getOperationAST.mjs +3 -0
- package/__dev__/utilities/index.d.mts +1 -0
- package/__dev__/utilities/index.d.ts +1 -0
- package/__dev__/utilities/index.js +3 -0
- package/__dev__/utilities/index.mjs +3 -0
- package/__dev__/utilities/introspectionFromSchema.d.mts +1 -0
- package/__dev__/utilities/introspectionFromSchema.d.ts +1 -0
- package/__dev__/utilities/introspectionFromSchema.js +3 -0
- package/__dev__/utilities/introspectionFromSchema.mjs +3 -0
- package/__dev__/utilities/lexicographicSortSchema.d.mts +1 -0
- package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -0
- package/__dev__/utilities/lexicographicSortSchema.js +3 -0
- package/__dev__/utilities/lexicographicSortSchema.mjs +3 -0
- package/__dev__/utilities/mapSchemaConfig.d.mts +1 -0
- package/__dev__/utilities/mapSchemaConfig.d.ts +1 -0
- package/__dev__/utilities/mapSchemaConfig.js +3 -0
- package/__dev__/utilities/mapSchemaConfig.mjs +3 -0
- package/__dev__/utilities/printSchema.d.mts +1 -0
- package/__dev__/utilities/printSchema.d.ts +1 -0
- package/__dev__/utilities/printSchema.js +3 -0
- package/__dev__/utilities/printSchema.mjs +3 -0
- package/__dev__/utilities/replaceVariables.d.mts +1 -0
- package/__dev__/utilities/replaceVariables.d.ts +1 -0
- package/__dev__/utilities/replaceVariables.js +3 -0
- package/__dev__/utilities/replaceVariables.mjs +3 -0
- package/__dev__/utilities/resolveSchemaCoordinate.d.mts +1 -0
- package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -0
- package/__dev__/utilities/resolveSchemaCoordinate.js +3 -0
- package/__dev__/utilities/resolveSchemaCoordinate.mjs +3 -0
- package/__dev__/utilities/separateOperations.d.mts +1 -0
- package/__dev__/utilities/separateOperations.d.ts +1 -0
- package/__dev__/utilities/separateOperations.js +3 -0
- package/__dev__/utilities/separateOperations.mjs +3 -0
- package/__dev__/utilities/sortValueNode.d.mts +1 -0
- package/__dev__/utilities/sortValueNode.d.ts +1 -0
- package/__dev__/utilities/sortValueNode.js +3 -0
- package/__dev__/utilities/sortValueNode.mjs +3 -0
- package/__dev__/utilities/stripIgnoredCharacters.d.mts +1 -0
- package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -0
- package/__dev__/utilities/stripIgnoredCharacters.js +3 -0
- package/__dev__/utilities/stripIgnoredCharacters.mjs +3 -0
- package/__dev__/utilities/typeComparators.d.mts +1 -0
- package/__dev__/utilities/typeComparators.d.ts +1 -0
- package/__dev__/utilities/typeComparators.js +3 -0
- package/__dev__/utilities/typeComparators.mjs +3 -0
- package/__dev__/utilities/typeFromAST.d.mts +1 -0
- package/__dev__/utilities/typeFromAST.d.ts +1 -0
- package/__dev__/utilities/typeFromAST.js +3 -0
- package/__dev__/utilities/typeFromAST.mjs +3 -0
- package/__dev__/utilities/typedQueryDocumentNode.d.mts +1 -0
- package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -0
- package/__dev__/utilities/typedQueryDocumentNode.js +3 -0
- package/__dev__/utilities/typedQueryDocumentNode.mjs +3 -0
- package/__dev__/utilities/validateInputValue.d.mts +1 -0
- package/__dev__/utilities/validateInputValue.d.ts +1 -0
- package/__dev__/utilities/validateInputValue.js +3 -0
- package/__dev__/utilities/validateInputValue.mjs +3 -0
- package/__dev__/utilities/valueFromAST.d.mts +1 -0
- package/__dev__/utilities/valueFromAST.d.ts +1 -0
- package/__dev__/utilities/valueFromAST.js +3 -0
- package/__dev__/utilities/valueFromAST.mjs +3 -0
- package/__dev__/utilities/valueFromASTUntyped.d.mts +1 -0
- package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -0
- package/__dev__/utilities/valueFromASTUntyped.js +3 -0
- package/__dev__/utilities/valueFromASTUntyped.mjs +3 -0
- package/__dev__/utilities/valueToLiteral.d.mts +1 -0
- package/__dev__/utilities/valueToLiteral.d.ts +1 -0
- package/__dev__/utilities/valueToLiteral.js +3 -0
- package/__dev__/utilities/valueToLiteral.mjs +3 -0
- package/__dev__/validation/ValidationContext.d.mts +1 -0
- package/__dev__/validation/ValidationContext.d.ts +1 -0
- package/__dev__/validation/ValidationContext.js +3 -0
- package/__dev__/validation/ValidationContext.mjs +3 -0
- package/__dev__/validation/index.d.mts +1 -0
- package/__dev__/validation/index.d.ts +1 -0
- package/__dev__/validation/index.js +3 -0
- package/__dev__/validation/index.mjs +3 -0
- package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.mts +1 -0
- package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -0
- package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.js +3 -0
- package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.mjs +3 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +1 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +3 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +3 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +1 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +3 -0
- package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +3 -0
- package/__dev__/validation/rules/ExecutableDefinitionsRule.d.mts +1 -0
- package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -0
- package/__dev__/validation/rules/ExecutableDefinitionsRule.js +3 -0
- package/__dev__/validation/rules/ExecutableDefinitionsRule.mjs +3 -0
- package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.mts +1 -0
- package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -0
- package/__dev__/validation/rules/FieldsOnCorrectTypeRule.js +3 -0
- package/__dev__/validation/rules/FieldsOnCorrectTypeRule.mjs +3 -0
- package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.mts +1 -0
- package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -0
- package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.js +3 -0
- package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.mjs +3 -0
- package/__dev__/validation/rules/KnownArgumentNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/KnownArgumentNamesRule.js +3 -0
- package/__dev__/validation/rules/KnownArgumentNamesRule.mjs +3 -0
- package/__dev__/validation/rules/KnownDirectivesRule.d.mts +1 -0
- package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -0
- package/__dev__/validation/rules/KnownDirectivesRule.js +3 -0
- package/__dev__/validation/rules/KnownDirectivesRule.mjs +3 -0
- package/__dev__/validation/rules/KnownFragmentNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/KnownFragmentNamesRule.js +3 -0
- package/__dev__/validation/rules/KnownFragmentNamesRule.mjs +3 -0
- package/__dev__/validation/rules/KnownOperationTypesRule.d.mts +1 -0
- package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -0
- package/__dev__/validation/rules/KnownOperationTypesRule.js +3 -0
- package/__dev__/validation/rules/KnownOperationTypesRule.mjs +3 -0
- package/__dev__/validation/rules/KnownTypeNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/KnownTypeNamesRule.js +3 -0
- package/__dev__/validation/rules/KnownTypeNamesRule.mjs +3 -0
- package/__dev__/validation/rules/LoneAnonymousOperationRule.d.mts +1 -0
- package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -0
- package/__dev__/validation/rules/LoneAnonymousOperationRule.js +3 -0
- package/__dev__/validation/rules/LoneAnonymousOperationRule.mjs +3 -0
- package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.mts +1 -0
- package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -0
- package/__dev__/validation/rules/LoneSchemaDefinitionRule.js +3 -0
- package/__dev__/validation/rules/LoneSchemaDefinitionRule.mjs +3 -0
- package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.mts +1 -0
- package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -0
- package/__dev__/validation/rules/MaxIntrospectionDepthRule.js +3 -0
- package/__dev__/validation/rules/MaxIntrospectionDepthRule.mjs +3 -0
- package/__dev__/validation/rules/NoFragmentCyclesRule.d.mts +1 -0
- package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -0
- package/__dev__/validation/rules/NoFragmentCyclesRule.js +3 -0
- package/__dev__/validation/rules/NoFragmentCyclesRule.mjs +3 -0
- package/__dev__/validation/rules/NoUndefinedVariablesRule.d.mts +1 -0
- package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -0
- package/__dev__/validation/rules/NoUndefinedVariablesRule.js +3 -0
- package/__dev__/validation/rules/NoUndefinedVariablesRule.mjs +3 -0
- package/__dev__/validation/rules/NoUnusedFragmentsRule.d.mts +1 -0
- package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -0
- package/__dev__/validation/rules/NoUnusedFragmentsRule.js +3 -0
- package/__dev__/validation/rules/NoUnusedFragmentsRule.mjs +3 -0
- package/__dev__/validation/rules/NoUnusedVariablesRule.d.mts +1 -0
- package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -0
- package/__dev__/validation/rules/NoUnusedVariablesRule.js +3 -0
- package/__dev__/validation/rules/NoUnusedVariablesRule.mjs +3 -0
- package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +1 -0
- package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -0
- package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.js +3 -0
- package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +3 -0
- package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.mts +1 -0
- package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -0
- package/__dev__/validation/rules/PossibleFragmentSpreadsRule.js +3 -0
- package/__dev__/validation/rules/PossibleFragmentSpreadsRule.mjs +3 -0
- package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.mts +1 -0
- package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -0
- package/__dev__/validation/rules/PossibleTypeExtensionsRule.js +3 -0
- package/__dev__/validation/rules/PossibleTypeExtensionsRule.mjs +3 -0
- package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.mts +1 -0
- package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -0
- package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.js +3 -0
- package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.mjs +3 -0
- package/__dev__/validation/rules/ScalarLeafsRule.d.mts +1 -0
- package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -0
- package/__dev__/validation/rules/ScalarLeafsRule.js +3 -0
- package/__dev__/validation/rules/ScalarLeafsRule.mjs +3 -0
- package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.mts +1 -0
- package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -0
- package/__dev__/validation/rules/SingleFieldSubscriptionsRule.js +3 -0
- package/__dev__/validation/rules/SingleFieldSubscriptionsRule.mjs +3 -0
- package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.mts +1 -0
- package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -0
- package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.js +3 -0
- package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueArgumentNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueArgumentNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueArgumentNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueDirectiveNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueDirectiveNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.js +3 -0
- package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueEnumValueNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueEnumValueNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueFragmentNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueFragmentNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueFragmentNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueInputFieldNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueInputFieldNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueOperationNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueOperationNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueOperationNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueOperationTypesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueOperationTypesRule.js +3 -0
- package/__dev__/validation/rules/UniqueOperationTypesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueTypeNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueTypeNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueTypeNamesRule.mjs +3 -0
- package/__dev__/validation/rules/UniqueVariableNamesRule.d.mts +1 -0
- package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -0
- package/__dev__/validation/rules/UniqueVariableNamesRule.js +3 -0
- package/__dev__/validation/rules/UniqueVariableNamesRule.mjs +3 -0
- package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.mts +1 -0
- package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -0
- package/__dev__/validation/rules/ValuesOfCorrectTypeRule.js +3 -0
- package/__dev__/validation/rules/ValuesOfCorrectTypeRule.mjs +3 -0
- package/__dev__/validation/rules/VariablesAreInputTypesRule.d.mts +1 -0
- package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -0
- package/__dev__/validation/rules/VariablesAreInputTypesRule.js +3 -0
- package/__dev__/validation/rules/VariablesAreInputTypesRule.mjs +3 -0
- package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.mts +1 -0
- package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -0
- package/__dev__/validation/rules/VariablesInAllowedPositionRule.js +3 -0
- package/__dev__/validation/rules/VariablesInAllowedPositionRule.mjs +3 -0
- package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.mts +1 -0
- package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -0
- package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.js +3 -0
- package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.mjs +3 -0
- package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +1 -0
- package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -0
- package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +3 -0
- package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +3 -0
- package/__dev__/validation/specifiedRules.d.mts +1 -0
- package/__dev__/validation/specifiedRules.d.ts +1 -0
- package/__dev__/validation/specifiedRules.js +3 -0
- package/__dev__/validation/specifiedRules.mjs +3 -0
- package/__dev__/validation/validate.d.mts +1 -0
- package/__dev__/validation/validate.d.ts +1 -0
- package/__dev__/validation/validate.js +3 -0
- package/__dev__/validation/validate.mjs +3 -0
- package/__dev__/version.d.mts +1 -0
- package/__dev__/version.d.ts +1 -0
- package/__dev__/version.js +3 -0
- package/__dev__/version.mjs +3 -0
- package/devMode.d.mts +2 -0
- package/devMode.d.ts +2 -0
- package/devMode.js +14 -0
- package/devMode.js.map +1 -0
- package/devMode.mjs +10 -0
- package/devMode.mjs.map +1 -0
- package/error/GraphQLError.d.mts +120 -0
- package/error/ensureGraphQLError.d.mts +5 -0
- package/error/ensureGraphQLError.d.ts +5 -0
- package/error/ensureGraphQLError.js +16 -0
- package/error/ensureGraphQLError.js.map +1 -0
- package/error/ensureGraphQLError.mjs +13 -0
- package/error/ensureGraphQLError.mjs.map +1 -0
- package/error/index.d.mts +4 -0
- package/error/locatedError.d.mts +9 -0
- package/error/syntaxError.d.mts +7 -0
- package/execution/AbortedGraphQLExecutionError.d.mts +6 -0
- package/execution/AbortedGraphQLExecutionError.d.ts +6 -0
- package/execution/AbortedGraphQLExecutionError.js +27 -0
- package/execution/AbortedGraphQLExecutionError.js.map +1 -0
- package/execution/AbortedGraphQLExecutionError.mjs +23 -0
- package/execution/AbortedGraphQLExecutionError.mjs.map +1 -0
- package/execution/AsyncWorkTracker.d.mts +10 -0
- package/execution/AsyncWorkTracker.d.ts +10 -0
- package/execution/AsyncWorkTracker.js +49 -0
- package/execution/AsyncWorkTracker.js.map +1 -0
- package/execution/AsyncWorkTracker.mjs +45 -0
- package/execution/AsyncWorkTracker.mjs.map +1 -0
- package/execution/Executor.d.mts +212 -0
- package/execution/Executor.d.ts +212 -0
- package/execution/Executor.js +655 -0
- package/execution/Executor.js.map +1 -0
- package/execution/Executor.mjs +651 -0
- package/execution/Executor.mjs.map +1 -0
- package/execution/ExecutorThrowingOnIncremental.d.mts +12 -0
- package/execution/ExecutorThrowingOnIncremental.d.ts +12 -0
- package/execution/ExecutorThrowingOnIncremental.js +47 -0
- package/execution/ExecutorThrowingOnIncremental.js.map +1 -0
- package/execution/ExecutorThrowingOnIncremental.mjs +43 -0
- package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -0
- package/execution/cancellablePromise.d.mts +6 -0
- package/execution/cancellablePromise.d.ts +6 -0
- package/execution/cancellablePromise.js +49 -0
- package/execution/cancellablePromise.js.map +1 -0
- package/execution/cancellablePromise.mjs +45 -0
- package/execution/cancellablePromise.mjs.map +1 -0
- package/execution/collectFields.d.mts +59 -0
- package/execution/collectFields.d.ts +15 -4
- package/execution/collectFields.js +57 -22
- package/execution/collectFields.js.map +1 -1
- package/execution/collectFields.mjs +58 -23
- package/execution/collectFields.mjs.map +1 -1
- package/execution/collectIteratorPromises.d.mts +5 -0
- package/execution/collectIteratorPromises.d.ts +5 -0
- package/execution/collectIteratorPromises.js +27 -0
- package/execution/collectIteratorPromises.js.map +1 -0
- package/execution/collectIteratorPromises.mjs +24 -0
- package/execution/collectIteratorPromises.mjs.map +1 -0
- package/execution/createSharedExecutionContext.d.mts +10 -0
- package/execution/createSharedExecutionContext.d.ts +10 -0
- package/execution/createSharedExecutionContext.js +20 -0
- package/execution/createSharedExecutionContext.js.map +1 -0
- package/execution/createSharedExecutionContext.mjs +17 -0
- package/execution/createSharedExecutionContext.mjs.map +1 -0
- package/execution/execute.d.mts +180 -0
- package/execution/execute.d.ts +73 -118
- package/execution/execute.js +218 -1121
- package/execution/execute.js.map +1 -1
- package/execution/execute.mjs +213 -1119
- package/execution/execute.mjs.map +1 -1
- package/execution/getStreamUsage.d.mts +13 -0
- package/execution/getStreamUsage.d.ts +13 -0
- package/execution/getStreamUsage.js +41 -0
- package/execution/getStreamUsage.js.map +1 -0
- package/execution/getStreamUsage.mjs +38 -0
- package/execution/getStreamUsage.mjs.map +1 -0
- package/execution/getVariableSignature.d.mts +18 -0
- package/execution/hooks.d.mts +9 -0
- package/execution/hooks.d.ts +9 -0
- package/execution/hooks.js +24 -0
- package/execution/hooks.js.map +1 -0
- package/execution/hooks.mjs +21 -0
- package/execution/hooks.mjs.map +1 -0
- package/execution/incremental/Computation.d.mts +22 -0
- package/execution/incremental/Computation.d.ts +22 -0
- package/execution/incremental/Computation.js +68 -0
- package/execution/incremental/Computation.js.map +1 -0
- package/execution/incremental/Computation.mjs +64 -0
- package/execution/incremental/Computation.mjs.map +1 -0
- package/execution/incremental/IncrementalExecutor.d.mts +182 -0
- package/execution/incremental/IncrementalExecutor.d.ts +182 -0
- package/execution/incremental/IncrementalExecutor.js +390 -0
- package/execution/incremental/IncrementalExecutor.js.map +1 -0
- package/execution/incremental/IncrementalExecutor.mjs +386 -0
- package/execution/incremental/IncrementalExecutor.mjs.map +1 -0
- package/execution/incremental/IncrementalPublisher.d.mts +17 -0
- package/execution/incremental/IncrementalPublisher.d.ts +17 -0
- package/execution/incremental/IncrementalPublisher.js +201 -0
- package/execution/incremental/IncrementalPublisher.js.map +1 -0
- package/execution/incremental/IncrementalPublisher.mjs +197 -0
- package/execution/incremental/IncrementalPublisher.mjs.map +1 -0
- package/execution/incremental/Queue.d.mts +86 -0
- package/execution/incremental/Queue.d.ts +86 -0
- package/execution/incremental/Queue.js +330 -0
- package/execution/incremental/Queue.js.map +1 -0
- package/execution/incremental/Queue.mjs +325 -0
- package/execution/incremental/Queue.mjs.map +1 -0
- package/execution/incremental/WorkQueue.d.mts +67 -0
- package/execution/incremental/WorkQueue.d.ts +67 -0
- package/execution/incremental/WorkQueue.js +396 -0
- package/execution/incremental/WorkQueue.js.map +1 -0
- package/execution/incremental/WorkQueue.mjs +393 -0
- package/execution/incremental/WorkQueue.mjs.map +1 -0
- package/execution/incremental/buildExecutionPlan.d.mts +7 -0
- package/execution/{buildExecutionPlan.d.ts → incremental/buildExecutionPlan.d.ts} +1 -1
- package/execution/{buildExecutionPlan.js → incremental/buildExecutionPlan.js} +2 -2
- package/execution/incremental/buildExecutionPlan.js.map +1 -0
- package/execution/{buildExecutionPlan.mjs → incremental/buildExecutionPlan.mjs} +2 -2
- package/execution/incremental/buildExecutionPlan.mjs.map +1 -0
- package/execution/index.d.mts +8 -0
- package/execution/index.d.ts +6 -3
- package/execution/index.js +8 -4
- package/execution/index.js.map +1 -1
- package/execution/index.mjs +2 -1
- package/execution/index.mjs.map +1 -1
- package/execution/mapAsyncIterable.d.mts +6 -0
- package/execution/mapAsyncIterable.d.ts +1 -1
- package/execution/mapAsyncIterable.js +28 -51
- package/execution/mapAsyncIterable.js.map +1 -1
- package/execution/mapAsyncIterable.mjs +28 -51
- 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 +12 -0
- package/execution/returnIteratorCatchingErrors.js.map +1 -0
- package/execution/returnIteratorCatchingErrors.mjs +9 -0
- package/execution/returnIteratorCatchingErrors.mjs.map +1 -0
- package/execution/values.d.mts +61 -0
- package/execution/values.d.ts +12 -21
- package/execution/values.js +111 -74
- package/execution/values.js.map +1 -1
- package/execution/values.mjs +111 -73
- package/execution/values.mjs.map +1 -1
- package/execution/withConcurrentAbruptClose.d.mts +13 -0
- package/execution/withConcurrentAbruptClose.d.ts +13 -0
- package/execution/withConcurrentAbruptClose.js +72 -0
- package/execution/withConcurrentAbruptClose.js.map +1 -0
- package/execution/withConcurrentAbruptClose.mjs +69 -0
- package/execution/withConcurrentAbruptClose.mjs.map +1 -0
- package/graphql.d.mts +61 -0
- package/graphql.d.ts +9 -16
- package/graphql.js +22 -22
- package/graphql.js.map +1 -1
- package/graphql.mjs +22 -22
- package/graphql.mjs.map +1 -1
- package/harness.d.mts +15 -0
- package/harness.d.ts +15 -0
- package/harness.js +13 -0
- package/harness.js.map +1 -0
- package/harness.mjs +10 -0
- package/harness.mjs.map +1 -0
- package/index.d.mts +51 -0
- package/index.d.ts +10 -7
- package/index.js +25 -8
- package/index.js.map +1 -1
- package/index.mjs +11 -5
- package/index.mjs.map +1 -1
- package/jsutils/AccumulatorMap.d.mts +7 -0
- package/jsutils/AccumulatorMap.js +1 -0
- package/jsutils/AccumulatorMap.js.map +1 -1
- package/jsutils/AccumulatorMap.mjs +1 -0
- package/jsutils/AccumulatorMap.mjs.map +1 -1
- package/jsutils/Maybe.d.mts +2 -0
- package/jsutils/ObjMap.d.mts +18 -0
- package/jsutils/Path.d.mts +14 -0
- package/jsutils/PromiseOrValue.d.mts +1 -0
- package/jsutils/capitalize.d.mts +4 -0
- package/jsutils/devAssert.d.mts +1 -0
- package/jsutils/didYouMean.d.mts +5 -0
- package/jsutils/formatList.d.mts +8 -0
- package/jsutils/formatList.js +2 -1
- package/jsutils/formatList.js.map +1 -1
- package/jsutils/formatList.mjs +2 -1
- package/jsutils/formatList.mjs.map +1 -1
- package/jsutils/getBySet.d.mts +1 -0
- package/jsutils/groupBy.d.mts +4 -0
- package/jsutils/identityFunc.d.mts +4 -0
- package/jsutils/inspect.d.mts +4 -0
- package/jsutils/instanceOf.d.mts +15 -0
- package/jsutils/instanceOf.d.ts +8 -7
- package/jsutils/instanceOf.js +29 -30
- package/jsutils/instanceOf.js.map +1 -1
- package/jsutils/instanceOf.mjs +28 -30
- package/jsutils/instanceOf.mjs.map +1 -1
- package/jsutils/invariant.d.mts +1 -0
- package/jsutils/isAsyncIterable.d.mts +5 -0
- package/jsutils/isIterableObject.d.mts +18 -0
- package/jsutils/isObjectLike.d.mts +7 -0
- package/jsutils/isPromise.d.mts +6 -0
- package/jsutils/isPromise.d.ts +2 -1
- package/jsutils/isPromise.js +5 -1
- package/jsutils/isPromise.js.map +1 -1
- package/jsutils/isPromise.mjs +4 -1
- package/jsutils/isPromise.mjs.map +1 -1
- package/jsutils/isSameSet.d.mts +1 -0
- package/jsutils/keyMap.d.mts +29 -0
- package/jsutils/keyValMap.d.mts +19 -0
- package/jsutils/mapValue.d.mts +6 -0
- package/jsutils/memoize1.d.mts +4 -0
- package/jsutils/memoize1.d.ts +4 -0
- package/jsutils/memoize1.js +19 -0
- package/jsutils/memoize1.js.map +1 -0
- package/jsutils/memoize1.mjs +16 -0
- package/jsutils/memoize1.mjs.map +1 -0
- package/jsutils/memoize2.d.mts +4 -0
- package/jsutils/memoize2.d.ts +4 -0
- package/jsutils/memoize2.js +24 -0
- package/jsutils/memoize2.js.map +1 -0
- package/jsutils/memoize2.mjs +21 -0
- package/jsutils/memoize2.mjs.map +1 -0
- package/jsutils/memoize3.d.mts +4 -0
- package/jsutils/memoize3.js +1 -3
- package/jsutils/memoize3.js.map +1 -1
- package/jsutils/memoize3.mjs +1 -3
- package/jsutils/memoize3.mjs.map +1 -1
- package/jsutils/naturalCompare.d.mts +8 -0
- package/jsutils/printPathArray.d.mts +4 -0
- package/jsutils/promiseForObject.d.mts +10 -0
- package/jsutils/promiseForObject.d.ts +2 -1
- package/jsutils/promiseForObject.js +8 -7
- package/jsutils/promiseForObject.js.map +1 -1
- package/jsutils/promiseForObject.mjs +8 -7
- package/jsutils/promiseForObject.mjs.map +1 -1
- package/jsutils/promiseReduce.d.mts +9 -0
- package/jsutils/promiseWithResolvers.d.mts +10 -0
- package/jsutils/suggestionList.d.mts +5 -0
- package/jsutils/toError.d.mts +4 -0
- package/jsutils/toObjMap.d.mts +4 -0
- package/language/KindTypeMap.d.mts +2 -0
- package/language/KindTypeMap.d.ts +2 -0
- package/language/KindTypeMap.js +3 -0
- package/language/KindTypeMap.js.map +1 -0
- package/language/KindTypeMap.mjs +2 -0
- package/language/KindTypeMap.mjs.map +1 -0
- package/language/ast.d.mts +495 -0
- package/language/ast.d.ts +94 -51
- package/language/ast.js +15 -2
- package/language/ast.js.map +1 -1
- package/language/ast.mjs +15 -2
- package/language/ast.mjs.map +1 -1
- package/language/blockString.d.mts +23 -0
- package/language/characterClasses.d.mts +47 -0
- package/language/directiveLocation.d.mts +28 -0
- package/language/index.d.mts +16 -0
- package/language/index.d.ts +3 -3
- package/language/index.js +7 -2
- package/language/index.js.map +1 -1
- package/language/index.mjs +5 -3
- package/language/index.mjs.map +1 -1
- package/language/kinds.d.mts +3 -0
- package/language/kinds.js +34 -1
- package/language/kinds.js.map +1 -1
- package/language/kinds_.d.mts +109 -0
- package/language/kinds_.d.ts +11 -0
- package/language/kinds_.js +7 -1
- package/language/kinds_.js.map +1 -1
- package/language/kinds_.mjs +6 -0
- package/language/kinds_.mjs.map +1 -1
- package/language/lexer.d.mts +87 -0
- package/language/lexer.d.ts +43 -1
- package/language/lexer.js +10 -0
- package/language/lexer.js.map +1 -1
- package/language/lexer.mjs +10 -3
- package/language/lexer.mjs.map +1 -1
- package/language/location.d.mts +13 -0
- package/language/location.js +2 -1
- package/language/location.js.map +1 -1
- package/language/location.mjs +2 -1
- package/language/location.mjs.map +1 -1
- package/language/parser.d.mts +522 -0
- package/language/parser.d.ts +28 -4
- package/language/parser.js +101 -6
- package/language/parser.js.map +1 -1
- package/language/parser.mjs +100 -6
- package/language/parser.mjs.map +1 -1
- package/language/predicates.d.mts +19 -0
- package/language/predicates.d.ts +9 -1
- package/language/predicates.js +19 -0
- package/language/predicates.js.map +1 -1
- package/language/predicates.mjs +17 -0
- package/language/predicates.mjs.map +1 -1
- package/language/printLocation.d.mts +11 -0
- package/language/printString.d.mts +5 -0
- package/language/printer.d.mts +6 -0
- package/language/printer.js +28 -12
- package/language/printer.js.map +1 -1
- package/language/printer.mjs +28 -12
- package/language/printer.mjs.map +1 -1
- package/language/schemaCoordinateLexer.d.mts +43 -0
- package/language/schemaCoordinateLexer.d.ts +43 -0
- package/language/schemaCoordinateLexer.js +93 -0
- package/language/schemaCoordinateLexer.js.map +1 -0
- package/language/schemaCoordinateLexer.mjs +89 -0
- package/language/schemaCoordinateLexer.mjs.map +1 -0
- package/language/source.d.mts +26 -0
- package/language/source.d.ts +1 -0
- package/language/source.js +7 -3
- package/language/source.js.map +1 -1
- package/language/source.mjs +7 -3
- package/language/source.mjs.map +1 -1
- package/language/tokenKind.d.mts +30 -0
- package/language/tokenKind.d.ts +1 -0
- package/language/tokenKind.js +1 -0
- package/language/tokenKind.js.map +1 -1
- package/language/tokenKind.mjs +1 -0
- package/language/tokenKind.mjs.map +1 -1
- package/language/visitor.d.mts +160 -0
- package/language/visitor.js +3 -2
- package/language/visitor.js.map +1 -1
- package/language/visitor.mjs +3 -2
- package/language/visitor.mjs.map +1 -1
- package/package.json +174 -7
- package/type/assertName.d.mts +10 -0
- package/type/definition.d.mts +933 -0
- package/type/definition.d.ts +58 -16
- package/type/definition.js +53 -28
- package/type/definition.js.map +1 -1
- package/type/definition.mjs +53 -28
- package/type/definition.mjs.map +1 -1
- package/type/directives.d.mts +97 -0
- package/type/directives.d.ts +5 -0
- package/type/directives.js +20 -4
- package/type/directives.js.map +1 -1
- package/type/directives.mjs +19 -3
- package/type/directives.mjs.map +1 -1
- package/type/index.d.mts +12 -0
- package/type/index.d.ts +1 -1
- package/type/index.js.map +1 -1
- package/type/index.mjs.map +1 -1
- package/type/introspection.d.mts +26 -0
- package/type/introspection.d.ts +3 -3
- package/type/introspection.js +9 -7
- package/type/introspection.js.map +1 -1
- package/type/introspection.mjs +9 -7
- package/type/introspection.mjs.map +1 -1
- package/type/scalars.d.mts +19 -0
- package/type/scalars.d.ts +5 -5
- package/type/scalars.js +130 -38
- package/type/scalars.js.map +1 -1
- package/type/scalars.mjs +130 -38
- package/type/scalars.mjs.map +1 -1
- package/type/schema.d.mts +172 -0
- package/type/schema.d.ts +2 -0
- package/type/schema.js +11 -13
- package/type/schema.js.map +1 -1
- package/type/schema.mjs +11 -13
- package/type/schema.mjs.map +1 -1
- package/type/validate.d.mts +21 -0
- package/type/validate.d.ts +6 -0
- package/type/validate.js +48 -30
- package/type/validate.js.map +1 -1
- package/type/validate.mjs +47 -30
- package/type/validate.mjs.map +1 -1
- package/utilities/TypeInfo.d.mts +55 -0
- package/utilities/TypeInfo.js +3 -1
- package/utilities/TypeInfo.js.map +1 -1
- package/utilities/TypeInfo.mjs +3 -1
- package/utilities/TypeInfo.mjs.map +1 -1
- package/utilities/astFromValue.d.mts +27 -0
- package/utilities/astFromValue.d.ts +1 -0
- package/utilities/astFromValue.js +8 -2
- package/utilities/astFromValue.js.map +1 -1
- package/utilities/astFromValue.mjs +8 -2
- package/utilities/astFromValue.mjs.map +1 -1
- package/utilities/buildASTSchema.d.mts +29 -0
- package/utilities/buildClientSchema.d.mts +16 -0
- package/utilities/buildClientSchema.js +10 -6
- package/utilities/buildClientSchema.js.map +1 -1
- package/utilities/buildClientSchema.mjs +9 -6
- package/utilities/buildClientSchema.mjs.map +1 -1
- package/utilities/coerceInputValue.d.mts +34 -0
- package/utilities/coerceInputValue.d.ts +7 -1
- package/utilities/coerceInputValue.js +36 -13
- package/utilities/coerceInputValue.js.map +1 -1
- package/utilities/coerceInputValue.mjs +36 -13
- package/utilities/coerceInputValue.mjs.map +1 -1
- package/utilities/concatAST.d.mts +7 -0
- package/utilities/extendSchema.d.mts +29 -0
- package/utilities/extendSchema.js +2 -1
- package/utilities/extendSchema.js.map +1 -1
- package/utilities/extendSchema.mjs +2 -1
- package/utilities/extendSchema.mjs.map +1 -1
- package/utilities/findSchemaChanges.d.mts +72 -0
- package/utilities/findSchemaChanges.d.ts +18 -18
- package/utilities/findSchemaChanges.js +4 -2
- package/utilities/findSchemaChanges.js.map +1 -1
- package/utilities/findSchemaChanges.mjs +4 -2
- package/utilities/findSchemaChanges.mjs.map +1 -1
- package/utilities/getDefaultValueAST.d.mts +3 -0
- package/utilities/getDefaultValueAST.js +4 -2
- package/utilities/getDefaultValueAST.js.map +1 -1
- package/utilities/getDefaultValueAST.mjs +4 -2
- package/utilities/getDefaultValueAST.mjs.map +1 -1
- package/utilities/getIntrospectionQuery.d.mts +138 -0
- package/utilities/getOperationAST.d.mts +8 -0
- package/utilities/index.d.mts +32 -0
- package/utilities/index.d.ts +2 -0
- package/utilities/index.js +5 -1
- package/utilities/index.js.map +1 -1
- package/utilities/index.mjs +2 -0
- package/utilities/index.mjs.map +1 -1
- package/utilities/introspectionFromSchema.d.mts +12 -0
- package/utilities/introspectionFromSchema.js +2 -1
- package/utilities/introspectionFromSchema.js.map +1 -1
- package/utilities/introspectionFromSchema.mjs +2 -1
- package/utilities/introspectionFromSchema.mjs.map +1 -1
- package/utilities/lexicographicSortSchema.d.mts +7 -0
- package/utilities/mapSchemaConfig.d.mts +66 -0
- package/utilities/mapSchemaConfig.d.ts +1 -1
- package/utilities/mapSchemaConfig.js +6 -3
- package/utilities/mapSchemaConfig.js.map +1 -1
- package/utilities/mapSchemaConfig.mjs +6 -3
- package/utilities/mapSchemaConfig.mjs.map +1 -1
- package/utilities/printSchema.d.mts +7 -0
- package/utilities/printSchema.js +4 -2
- package/utilities/printSchema.js.map +1 -1
- package/utilities/printSchema.mjs +4 -2
- package/utilities/printSchema.mjs.map +1 -1
- package/utilities/replaceVariables.d.mts +13 -0
- package/utilities/replaceVariables.d.ts +2 -1
- package/utilities/replaceVariables.js +17 -8
- package/utilities/replaceVariables.js.map +1 -1
- package/utilities/replaceVariables.mjs +17 -8
- package/utilities/replaceVariables.mjs.map +1 -1
- package/utilities/resolveSchemaCoordinate.d.mts +57 -0
- package/utilities/resolveSchemaCoordinate.d.ts +57 -0
- package/utilities/resolveSchemaCoordinate.js +167 -0
- package/utilities/resolveSchemaCoordinate.js.map +1 -0
- package/utilities/resolveSchemaCoordinate.mjs +163 -0
- package/utilities/resolveSchemaCoordinate.mjs.map +1 -0
- package/utilities/separateOperations.d.mts +9 -0
- package/utilities/sortValueNode.d.mts +9 -0
- package/utilities/stripIgnoredCharacters.d.mts +62 -0
- package/utilities/typeComparators.d.mts +21 -0
- package/utilities/typeFromAST.d.mts +15 -0
- package/utilities/typedQueryDocumentNode.d.mts +17 -0
- package/utilities/validateInputValue.d.mts +19 -0
- package/utilities/validateInputValue.d.ts +2 -1
- package/utilities/validateInputValue.js +42 -17
- package/utilities/validateInputValue.js.map +1 -1
- package/utilities/validateInputValue.mjs +42 -17
- package/utilities/validateInputValue.mjs.map +1 -1
- package/utilities/valueFromAST.d.mts +26 -0
- package/utilities/valueFromAST.js +24 -9
- package/utilities/valueFromAST.js.map +1 -1
- package/utilities/valueFromAST.mjs +24 -9
- package/utilities/valueFromAST.mjs.map +1 -1
- package/utilities/valueFromASTUntyped.d.mts +20 -0
- package/utilities/valueToLiteral.d.mts +31 -0
- package/utilities/valueToLiteral.d.ts +1 -0
- package/utilities/valueToLiteral.js +4 -1
- package/utilities/valueToLiteral.js.map +1 -1
- package/utilities/valueToLiteral.mjs +4 -1
- package/utilities/valueToLiteral.mjs.map +1 -1
- package/validation/ValidationContext.d.mts +70 -0
- package/validation/ValidationContext.js +2 -0
- package/validation/ValidationContext.js.map +1 -1
- package/validation/ValidationContext.mjs +2 -0
- package/validation/ValidationContext.mjs.map +1 -1
- package/validation/index.d.mts +46 -0
- package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +8 -0
- package/validation/rules/DeferStreamDirectiveLabelRule.js +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +8 -0
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +8 -0
- package/validation/rules/ExecutableDefinitionsRule.d.mts +11 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.mts +11 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +12 -0
- package/validation/rules/KnownArgumentNamesRule.d.mts +16 -0
- package/validation/rules/KnownDirectivesRule.d.mts +11 -0
- package/validation/rules/KnownDirectivesRule.js +7 -4
- package/validation/rules/KnownDirectivesRule.js.map +1 -1
- package/validation/rules/KnownDirectivesRule.mjs +7 -4
- package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.d.mts +11 -0
- package/validation/rules/KnownOperationTypesRule.d.mts +11 -0
- package/validation/rules/KnownTypeNamesRule.d.mts +11 -0
- package/validation/rules/LoneAnonymousOperationRule.d.mts +11 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.mts +8 -0
- package/validation/rules/MaxIntrospectionDepthRule.d.mts +3 -0
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +2 -2
- package/validation/rules/MaxIntrospectionDepthRule.js +1 -2
- package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.mjs +1 -2
- package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.d.mts +11 -0
- package/validation/rules/NoUndefinedVariablesRule.d.mts +11 -0
- package/validation/rules/NoUnusedFragmentsRule.d.mts +11 -0
- package/validation/rules/NoUnusedVariablesRule.d.mts +11 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +12 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +15 -14
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +15 -14
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.d.mts +10 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.mts +8 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +5 -3
- package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.mjs +5 -3
- package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +13 -0
- package/validation/rules/ScalarLeafsRule.d.mts +9 -0
- package/validation/rules/SingleFieldSubscriptionsRule.d.mts +12 -0
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +2 -1
- package/validation/rules/SingleFieldSubscriptionsRule.js +9 -2
- package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +9 -2
- package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +8 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +9 -0
- package/validation/rules/UniqueArgumentNamesRule.d.mts +11 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.mts +8 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +11 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.mts +8 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +8 -0
- package/validation/rules/UniqueFragmentNamesRule.d.mts +10 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.mts +11 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +2 -1
- package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.mjs +2 -1
- package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.d.mts +10 -0
- package/validation/rules/UniqueOperationTypesRule.d.mts +8 -0
- package/validation/rules/UniqueTypeNamesRule.d.mts +8 -0
- package/validation/rules/UniqueVariableNamesRule.d.mts +8 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.mts +11 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +5 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +5 -0
- package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.d.mts +11 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.mts +10 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +1 -3
- package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs +1 -3
- package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +13 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +13 -0
- package/validation/specifiedRules.d.mts +17 -0
- package/validation/specifiedRules.d.ts +1 -2
- package/validation/specifiedRules.js +3 -1
- package/validation/specifiedRules.js.map +1 -1
- package/validation/specifiedRules.mjs +3 -1
- package/validation/specifiedRules.mjs.map +1 -1
- package/validation/validate.d.mts +48 -0
- package/validation/validate.d.ts +5 -4
- package/validation/validate.js +10 -5
- package/validation/validate.js.map +1 -1
- package/validation/validate.mjs +10 -5
- package/validation/validate.mjs.map +1 -1
- package/version.d.mts +13 -0
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/version.mjs +2 -2
- package/version.mjs.map +1 -1
- package/execution/AbortSignalListener.d.ts +0 -17
- package/execution/AbortSignalListener.js +0 -71
- package/execution/AbortSignalListener.js.map +0 -1
- package/execution/AbortSignalListener.mjs +0 -65
- package/execution/AbortSignalListener.mjs.map +0 -1
- package/execution/IncrementalGraph.d.ts +0 -29
- package/execution/IncrementalGraph.js +0 -232
- package/execution/IncrementalGraph.js.map +0 -1
- package/execution/IncrementalGraph.mjs +0 -228
- package/execution/IncrementalGraph.mjs.map +0 -1
- package/execution/IncrementalPublisher.d.ts +0 -10
- package/execution/IncrementalPublisher.js +0 -259
- package/execution/IncrementalPublisher.js.map +0 -1
- package/execution/IncrementalPublisher.mjs +0 -256
- package/execution/IncrementalPublisher.mjs.map +0 -1
- package/execution/buildExecutionPlan.js.map +0 -1
- package/execution/buildExecutionPlan.mjs.map +0 -1
- package/execution/types.d.ts +0 -161
- package/execution/types.js +0 -36
- package/execution/types.js.map +0 -1
- package/execution/types.mjs +0 -27
- package/execution/types.mjs.map +0 -1
- package/jsutils/BoxedPromiseOrValue.d.ts +0 -15
- package/jsutils/BoxedPromiseOrValue.js +0 -27
- package/jsutils/BoxedPromiseOrValue.js.map +0 -1
- package/jsutils/BoxedPromiseOrValue.mjs +0 -23
- package/jsutils/BoxedPromiseOrValue.mjs.map +0 -1
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
import { BoxedPromiseOrValue } from "../jsutils/BoxedPromiseOrValue.mjs";
|
|
2
|
-
import { invariant } from "../jsutils/invariant.mjs";
|
|
3
|
-
import { isPromise } from "../jsutils/isPromise.mjs";
|
|
4
|
-
import { promiseWithResolvers } from "../jsutils/promiseWithResolvers.mjs";
|
|
5
|
-
import { isDeferredFragmentRecord, isPendingExecutionGroup } from "./types.mjs";
|
|
6
|
-
/**
|
|
7
|
-
* @internal
|
|
8
|
-
*/
|
|
9
|
-
export class IncrementalGraph {
|
|
10
|
-
constructor() {
|
|
11
|
-
this._rootNodes = new Set();
|
|
12
|
-
this._completedQueue = [];
|
|
13
|
-
this._nextQueue = [];
|
|
14
|
-
}
|
|
15
|
-
getNewRootNodes(incrementalDataRecords) {
|
|
16
|
-
const initialResultChildren = new Set();
|
|
17
|
-
this._addIncrementalDataRecords(incrementalDataRecords, undefined, initialResultChildren);
|
|
18
|
-
return this._promoteNonEmptyToRoot(initialResultChildren);
|
|
19
|
-
}
|
|
20
|
-
addCompletedSuccessfulExecutionGroup(successfulExecutionGroup) {
|
|
21
|
-
const { pendingExecutionGroup, incrementalDataRecords } = successfulExecutionGroup;
|
|
22
|
-
const deferredFragmentRecords = pendingExecutionGroup.deferredFragmentRecords;
|
|
23
|
-
for (const deferredFragmentRecord of deferredFragmentRecords) {
|
|
24
|
-
const { pendingExecutionGroups, successfulExecutionGroups } = deferredFragmentRecord;
|
|
25
|
-
pendingExecutionGroups.delete(pendingExecutionGroup);
|
|
26
|
-
successfulExecutionGroups.add(successfulExecutionGroup);
|
|
27
|
-
}
|
|
28
|
-
if (incrementalDataRecords !== undefined) {
|
|
29
|
-
this._addIncrementalDataRecords(incrementalDataRecords, deferredFragmentRecords);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
*currentCompletedBatch() {
|
|
33
|
-
let completed;
|
|
34
|
-
while ((completed = this._completedQueue.shift()) !== undefined) {
|
|
35
|
-
yield completed;
|
|
36
|
-
}
|
|
37
|
-
if (this._rootNodes.size === 0) {
|
|
38
|
-
for (const resolve of this._nextQueue) {
|
|
39
|
-
resolve(undefined);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
nextCompletedBatch() {
|
|
44
|
-
const { promise, resolve } = promiseWithResolvers();
|
|
45
|
-
this._nextQueue.push(resolve);
|
|
46
|
-
return promise;
|
|
47
|
-
}
|
|
48
|
-
abort() {
|
|
49
|
-
for (const resolve of this._nextQueue) {
|
|
50
|
-
resolve(undefined);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
hasNext() {
|
|
54
|
-
return this._rootNodes.size > 0;
|
|
55
|
-
}
|
|
56
|
-
completeDeferredFragment(deferredFragmentRecord) {
|
|
57
|
-
if (!this._rootNodes.has(deferredFragmentRecord) ||
|
|
58
|
-
deferredFragmentRecord.pendingExecutionGroups.size > 0) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
const successfulExecutionGroups = Array.from(deferredFragmentRecord.successfulExecutionGroups);
|
|
62
|
-
this._rootNodes.delete(deferredFragmentRecord);
|
|
63
|
-
for (const successfulExecutionGroup of successfulExecutionGroups) {
|
|
64
|
-
for (const otherDeferredFragmentRecord of successfulExecutionGroup
|
|
65
|
-
.pendingExecutionGroup.deferredFragmentRecords) {
|
|
66
|
-
otherDeferredFragmentRecord.successfulExecutionGroups.delete(successfulExecutionGroup);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
const newRootNodes = this._promoteNonEmptyToRoot(deferredFragmentRecord.children);
|
|
70
|
-
return { newRootNodes, successfulExecutionGroups };
|
|
71
|
-
}
|
|
72
|
-
removeDeferredFragment(deferredFragmentRecord) {
|
|
73
|
-
if (!this._rootNodes.has(deferredFragmentRecord)) {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
this._rootNodes.delete(deferredFragmentRecord);
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
removeStream(streamRecord) {
|
|
80
|
-
this._rootNodes.delete(streamRecord);
|
|
81
|
-
}
|
|
82
|
-
_addIncrementalDataRecords(incrementalDataRecords, parents, initialResultChildren) {
|
|
83
|
-
for (const incrementalDataRecord of incrementalDataRecords) {
|
|
84
|
-
if (isPendingExecutionGroup(incrementalDataRecord)) {
|
|
85
|
-
for (const deferredFragmentRecord of incrementalDataRecord.deferredFragmentRecords) {
|
|
86
|
-
this._addDeferredFragment(deferredFragmentRecord, initialResultChildren);
|
|
87
|
-
deferredFragmentRecord.pendingExecutionGroups.add(incrementalDataRecord);
|
|
88
|
-
}
|
|
89
|
-
if (this._completesRootNode(incrementalDataRecord)) {
|
|
90
|
-
this._onExecutionGroup(incrementalDataRecord);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
else if (parents === undefined) {
|
|
94
|
-
(initialResultChildren !== undefined) || invariant(false);
|
|
95
|
-
initialResultChildren.add(incrementalDataRecord);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
for (const parent of parents) {
|
|
99
|
-
this._addDeferredFragment(parent, initialResultChildren);
|
|
100
|
-
parent.children.add(incrementalDataRecord);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
_promoteNonEmptyToRoot(maybeEmptyNewRootNodes) {
|
|
106
|
-
const newRootNodes = [];
|
|
107
|
-
for (const node of maybeEmptyNewRootNodes) {
|
|
108
|
-
if (isDeferredFragmentRecord(node)) {
|
|
109
|
-
if (node.pendingExecutionGroups.size > 0) {
|
|
110
|
-
for (const pendingExecutionGroup of node.pendingExecutionGroups) {
|
|
111
|
-
if (!this._completesRootNode(pendingExecutionGroup)) {
|
|
112
|
-
this._onExecutionGroup(pendingExecutionGroup);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
this._rootNodes.add(node);
|
|
116
|
-
newRootNodes.push(node);
|
|
117
|
-
continue;
|
|
118
|
-
}
|
|
119
|
-
for (const child of node.children) {
|
|
120
|
-
maybeEmptyNewRootNodes.add(child);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
this._rootNodes.add(node);
|
|
125
|
-
newRootNodes.push(node);
|
|
126
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
127
|
-
this._onStreamItems(node);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return newRootNodes;
|
|
131
|
-
}
|
|
132
|
-
_completesRootNode(pendingExecutionGroup) {
|
|
133
|
-
return pendingExecutionGroup.deferredFragmentRecords.some((deferredFragmentRecord) => this._rootNodes.has(deferredFragmentRecord));
|
|
134
|
-
}
|
|
135
|
-
_addDeferredFragment(deferredFragmentRecord, initialResultChildren) {
|
|
136
|
-
if (this._rootNodes.has(deferredFragmentRecord)) {
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
const parent = deferredFragmentRecord.parent;
|
|
140
|
-
if (parent === undefined) {
|
|
141
|
-
(initialResultChildren !== undefined) || invariant(false);
|
|
142
|
-
initialResultChildren.add(deferredFragmentRecord);
|
|
143
|
-
return;
|
|
144
|
-
}
|
|
145
|
-
parent.children.add(deferredFragmentRecord);
|
|
146
|
-
this._addDeferredFragment(parent, initialResultChildren);
|
|
147
|
-
}
|
|
148
|
-
_onExecutionGroup(pendingExecutionGroup) {
|
|
149
|
-
let completedExecutionGroup = pendingExecutionGroup.result;
|
|
150
|
-
if (!(completedExecutionGroup instanceof BoxedPromiseOrValue)) {
|
|
151
|
-
completedExecutionGroup = completedExecutionGroup();
|
|
152
|
-
}
|
|
153
|
-
const value = completedExecutionGroup.value;
|
|
154
|
-
if (isPromise(value)) {
|
|
155
|
-
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
156
|
-
value.then((resolved) => this._enqueue(resolved));
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
this._enqueue(value);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
async _onStreamItems(streamRecord) {
|
|
163
|
-
let items = [];
|
|
164
|
-
let errors = [];
|
|
165
|
-
let incrementalDataRecords = [];
|
|
166
|
-
const streamItemQueue = streamRecord.streamItemQueue;
|
|
167
|
-
let streamItemRecord;
|
|
168
|
-
while ((streamItemRecord = streamItemQueue.shift()) !== undefined) {
|
|
169
|
-
let result = streamItemRecord instanceof BoxedPromiseOrValue
|
|
170
|
-
? streamItemRecord.value
|
|
171
|
-
: streamItemRecord().value;
|
|
172
|
-
if (isPromise(result)) {
|
|
173
|
-
if (items.length > 0) {
|
|
174
|
-
this._enqueue({
|
|
175
|
-
streamRecord,
|
|
176
|
-
result:
|
|
177
|
-
// TODO add additional test case or rework for coverage
|
|
178
|
-
errors.length > 0 /* c8 ignore start */
|
|
179
|
-
? { items, errors } /* c8 ignore stop */
|
|
180
|
-
: { items },
|
|
181
|
-
incrementalDataRecords,
|
|
182
|
-
});
|
|
183
|
-
items = [];
|
|
184
|
-
errors = [];
|
|
185
|
-
incrementalDataRecords = [];
|
|
186
|
-
}
|
|
187
|
-
// eslint-disable-next-line no-await-in-loop
|
|
188
|
-
result = await result;
|
|
189
|
-
// wait an additional tick to coalesce resolving additional promises
|
|
190
|
-
// within the queue
|
|
191
|
-
// eslint-disable-next-line no-await-in-loop
|
|
192
|
-
await Promise.resolve();
|
|
193
|
-
}
|
|
194
|
-
if (result.item === undefined) {
|
|
195
|
-
if (items.length > 0) {
|
|
196
|
-
this._enqueue({
|
|
197
|
-
streamRecord,
|
|
198
|
-
result: errors.length > 0 ? { items, errors } : { items },
|
|
199
|
-
incrementalDataRecords,
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
this._enqueue(result.errors === undefined
|
|
203
|
-
? { streamRecord }
|
|
204
|
-
: {
|
|
205
|
-
streamRecord,
|
|
206
|
-
errors: result.errors,
|
|
207
|
-
});
|
|
208
|
-
return;
|
|
209
|
-
}
|
|
210
|
-
items.push(result.item);
|
|
211
|
-
if (result.errors !== undefined) {
|
|
212
|
-
errors.push(...result.errors);
|
|
213
|
-
}
|
|
214
|
-
if (result.incrementalDataRecords !== undefined) {
|
|
215
|
-
incrementalDataRecords.push(...result.incrementalDataRecords);
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
_enqueue(completed) {
|
|
220
|
-
this._completedQueue.push(completed);
|
|
221
|
-
const next = this._nextQueue.shift();
|
|
222
|
-
if (next === undefined) {
|
|
223
|
-
return;
|
|
224
|
-
}
|
|
225
|
-
next(this.currentCompletedBatch());
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=IncrementalGraph.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalGraph.js","sourceRoot":"","sources":["../../src/execution/IncrementalGraph.ts"],"names":[],"mappings":"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","sourcesContent":["import { BoxedPromiseOrValue } from '../jsutils/BoxedPromiseOrValue.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isPromise } from '../jsutils/isPromise.js';\nimport { promiseWithResolvers } from '../jsutils/promiseWithResolvers.js';\n\nimport type { GraphQLError } from '../error/GraphQLError.js';\n\nimport type {\n DeferredFragmentRecord,\n DeliveryGroup,\n IncrementalDataRecord,\n IncrementalDataRecordResult,\n PendingExecutionGroup,\n StreamItemRecord,\n StreamRecord,\n SuccessfulExecutionGroup,\n} from './types.js';\nimport { isDeferredFragmentRecord, isPendingExecutionGroup } from './types.js';\n\n/**\n * @internal\n */\nexport class IncrementalGraph {\n private _rootNodes: Set<DeliveryGroup>;\n\n private _completedQueue: Array<IncrementalDataRecordResult>;\n private _nextQueue: Array<\n (iterable: Iterable<IncrementalDataRecordResult> | undefined) => void\n >;\n\n constructor() {\n this._rootNodes = new Set();\n this._completedQueue = [];\n this._nextQueue = [];\n }\n\n getNewRootNodes(\n incrementalDataRecords: ReadonlyArray<IncrementalDataRecord>,\n ): ReadonlyArray<DeliveryGroup> {\n const initialResultChildren = new Set<DeliveryGroup>();\n this._addIncrementalDataRecords(\n incrementalDataRecords,\n undefined,\n initialResultChildren,\n );\n return this._promoteNonEmptyToRoot(initialResultChildren);\n }\n\n addCompletedSuccessfulExecutionGroup(\n successfulExecutionGroup: SuccessfulExecutionGroup,\n ): void {\n const { pendingExecutionGroup, incrementalDataRecords } =\n successfulExecutionGroup;\n\n const deferredFragmentRecords =\n pendingExecutionGroup.deferredFragmentRecords;\n\n for (const deferredFragmentRecord of deferredFragmentRecords) {\n const { pendingExecutionGroups, successfulExecutionGroups } =\n deferredFragmentRecord;\n pendingExecutionGroups.delete(pendingExecutionGroup);\n successfulExecutionGroups.add(successfulExecutionGroup);\n }\n\n if (incrementalDataRecords !== undefined) {\n this._addIncrementalDataRecords(\n incrementalDataRecords,\n deferredFragmentRecords,\n );\n }\n }\n\n *currentCompletedBatch(): Generator<IncrementalDataRecordResult> {\n let completed;\n while ((completed = this._completedQueue.shift()) !== undefined) {\n yield completed;\n }\n if (this._rootNodes.size === 0) {\n for (const resolve of this._nextQueue) {\n resolve(undefined);\n }\n }\n }\n\n nextCompletedBatch(): Promise<\n Iterable<IncrementalDataRecordResult> | undefined\n > {\n const { promise, resolve } = promiseWithResolvers<\n Iterable<IncrementalDataRecordResult> | undefined\n >();\n this._nextQueue.push(resolve);\n return promise;\n }\n\n abort(): void {\n for (const resolve of this._nextQueue) {\n resolve(undefined);\n }\n }\n\n hasNext(): boolean {\n return this._rootNodes.size > 0;\n }\n\n completeDeferredFragment(deferredFragmentRecord: DeferredFragmentRecord):\n | {\n newRootNodes: ReadonlyArray<DeliveryGroup>;\n successfulExecutionGroups: ReadonlyArray<SuccessfulExecutionGroup>;\n }\n | undefined {\n if (\n !this._rootNodes.has(deferredFragmentRecord) ||\n deferredFragmentRecord.pendingExecutionGroups.size > 0\n ) {\n return;\n }\n const successfulExecutionGroups = Array.from(\n deferredFragmentRecord.successfulExecutionGroups,\n );\n this._rootNodes.delete(deferredFragmentRecord);\n for (const successfulExecutionGroup of successfulExecutionGroups) {\n for (const otherDeferredFragmentRecord of successfulExecutionGroup\n .pendingExecutionGroup.deferredFragmentRecords) {\n otherDeferredFragmentRecord.successfulExecutionGroups.delete(\n successfulExecutionGroup,\n );\n }\n }\n const newRootNodes = this._promoteNonEmptyToRoot(\n deferredFragmentRecord.children,\n );\n return { newRootNodes, successfulExecutionGroups };\n }\n\n removeDeferredFragment(\n deferredFragmentRecord: DeferredFragmentRecord,\n ): boolean {\n if (!this._rootNodes.has(deferredFragmentRecord)) {\n return false;\n }\n this._rootNodes.delete(deferredFragmentRecord);\n return true;\n }\n\n removeStream(streamRecord: StreamRecord): void {\n this._rootNodes.delete(streamRecord);\n }\n\n private _addIncrementalDataRecords(\n incrementalDataRecords: ReadonlyArray<IncrementalDataRecord>,\n parents: ReadonlyArray<DeferredFragmentRecord> | undefined,\n initialResultChildren?: Set<DeliveryGroup>,\n ): void {\n for (const incrementalDataRecord of incrementalDataRecords) {\n if (isPendingExecutionGroup(incrementalDataRecord)) {\n for (const deferredFragmentRecord of incrementalDataRecord.deferredFragmentRecords) {\n this._addDeferredFragment(\n deferredFragmentRecord,\n initialResultChildren,\n );\n deferredFragmentRecord.pendingExecutionGroups.add(\n incrementalDataRecord,\n );\n }\n if (this._completesRootNode(incrementalDataRecord)) {\n this._onExecutionGroup(incrementalDataRecord);\n }\n } else if (parents === undefined) {\n invariant(initialResultChildren !== undefined);\n initialResultChildren.add(incrementalDataRecord);\n } else {\n for (const parent of parents) {\n this._addDeferredFragment(parent, initialResultChildren);\n parent.children.add(incrementalDataRecord);\n }\n }\n }\n }\n\n private _promoteNonEmptyToRoot(\n maybeEmptyNewRootNodes: Set<DeliveryGroup>,\n ): ReadonlyArray<DeliveryGroup> {\n const newRootNodes: Array<DeliveryGroup> = [];\n for (const node of maybeEmptyNewRootNodes) {\n if (isDeferredFragmentRecord(node)) {\n if (node.pendingExecutionGroups.size > 0) {\n for (const pendingExecutionGroup of node.pendingExecutionGroups) {\n if (!this._completesRootNode(pendingExecutionGroup)) {\n this._onExecutionGroup(pendingExecutionGroup);\n }\n }\n this._rootNodes.add(node);\n newRootNodes.push(node);\n continue;\n }\n for (const child of node.children) {\n maybeEmptyNewRootNodes.add(child);\n }\n } else {\n this._rootNodes.add(node);\n newRootNodes.push(node);\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this._onStreamItems(node);\n }\n }\n return newRootNodes;\n }\n\n private _completesRootNode(\n pendingExecutionGroup: PendingExecutionGroup,\n ): boolean {\n return pendingExecutionGroup.deferredFragmentRecords.some(\n (deferredFragmentRecord) => this._rootNodes.has(deferredFragmentRecord),\n );\n }\n\n private _addDeferredFragment(\n deferredFragmentRecord: DeferredFragmentRecord,\n initialResultChildren: Set<DeliveryGroup> | undefined,\n ): void {\n if (this._rootNodes.has(deferredFragmentRecord)) {\n return;\n }\n const parent = deferredFragmentRecord.parent;\n if (parent === undefined) {\n invariant(initialResultChildren !== undefined);\n initialResultChildren.add(deferredFragmentRecord);\n return;\n }\n parent.children.add(deferredFragmentRecord);\n this._addDeferredFragment(parent, initialResultChildren);\n }\n\n private _onExecutionGroup(\n pendingExecutionGroup: PendingExecutionGroup,\n ): void {\n let completedExecutionGroup = pendingExecutionGroup.result;\n if (!(completedExecutionGroup instanceof BoxedPromiseOrValue)) {\n completedExecutionGroup = completedExecutionGroup();\n }\n const value = completedExecutionGroup.value;\n if (isPromise(value)) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n value.then((resolved) => this._enqueue(resolved));\n } else {\n this._enqueue(value);\n }\n }\n\n private async _onStreamItems(streamRecord: StreamRecord): Promise<void> {\n let items: Array<unknown> = [];\n let errors: Array<GraphQLError> = [];\n let incrementalDataRecords: Array<IncrementalDataRecord> = [];\n const streamItemQueue = streamRecord.streamItemQueue;\n let streamItemRecord: StreamItemRecord | undefined;\n while ((streamItemRecord = streamItemQueue.shift()) !== undefined) {\n let result =\n streamItemRecord instanceof BoxedPromiseOrValue\n ? streamItemRecord.value\n : streamItemRecord().value;\n if (isPromise(result)) {\n if (items.length > 0) {\n this._enqueue({\n streamRecord,\n result:\n // TODO add additional test case or rework for coverage\n errors.length > 0 /* c8 ignore start */\n ? { items, errors } /* c8 ignore stop */\n : { items },\n incrementalDataRecords,\n });\n items = [];\n errors = [];\n incrementalDataRecords = [];\n }\n // eslint-disable-next-line no-await-in-loop\n result = await result;\n // wait an additional tick to coalesce resolving additional promises\n // within the queue\n // eslint-disable-next-line no-await-in-loop\n await Promise.resolve();\n }\n if (result.item === undefined) {\n if (items.length > 0) {\n this._enqueue({\n streamRecord,\n result: errors.length > 0 ? { items, errors } : { items },\n incrementalDataRecords,\n });\n }\n this._enqueue(\n result.errors === undefined\n ? { streamRecord }\n : {\n streamRecord,\n errors: result.errors,\n },\n );\n return;\n }\n items.push(result.item);\n if (result.errors !== undefined) {\n errors.push(...result.errors);\n }\n if (result.incrementalDataRecords !== undefined) {\n incrementalDataRecords.push(...result.incrementalDataRecords);\n }\n }\n }\n\n private _enqueue(completed: IncrementalDataRecordResult): void {\n this._completedQueue.push(completed);\n const next = this._nextQueue.shift();\n if (next === undefined) {\n return;\n }\n next(this.currentCompletedBatch());\n }\n}\n"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { ObjMap } from '../jsutils/ObjMap.js';
|
|
2
|
-
import type { GraphQLError } from '../error/GraphQLError.js';
|
|
3
|
-
import type { AbortSignalListener } from './AbortSignalListener.js';
|
|
4
|
-
import type { CancellableStreamRecord, ExperimentalIncrementalExecutionResults, IncrementalDataRecord } from './types.js';
|
|
5
|
-
export declare function buildIncrementalResponse(context: IncrementalPublisherContext, result: ObjMap<unknown>, errors: ReadonlyArray<GraphQLError> | undefined, incrementalDataRecords: ReadonlyArray<IncrementalDataRecord>): ExperimentalIncrementalExecutionResults;
|
|
6
|
-
interface IncrementalPublisherContext {
|
|
7
|
-
abortSignalListener: AbortSignalListener | undefined;
|
|
8
|
-
cancellableStreams: Set<CancellableStreamRecord> | undefined;
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.buildIncrementalResponse = buildIncrementalResponse;
|
|
4
|
-
const invariant_js_1 = require("../jsutils/invariant.js");
|
|
5
|
-
const Path_js_1 = require("../jsutils/Path.js");
|
|
6
|
-
const IncrementalGraph_js_1 = require("./IncrementalGraph.js");
|
|
7
|
-
const types_js_1 = require("./types.js");
|
|
8
|
-
function buildIncrementalResponse(context, result, errors, incrementalDataRecords) {
|
|
9
|
-
const incrementalPublisher = new IncrementalPublisher(context);
|
|
10
|
-
return incrementalPublisher.buildResponse(result, errors, incrementalDataRecords);
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* This class is used to publish incremental results to the client, enabling semi-concurrent
|
|
14
|
-
* execution while preserving result order.
|
|
15
|
-
*
|
|
16
|
-
* @internal
|
|
17
|
-
*/
|
|
18
|
-
class IncrementalPublisher {
|
|
19
|
-
constructor(context) {
|
|
20
|
-
this._context = context;
|
|
21
|
-
this._nextId = 0;
|
|
22
|
-
this._incrementalGraph = new IncrementalGraph_js_1.IncrementalGraph();
|
|
23
|
-
}
|
|
24
|
-
buildResponse(data, errors, incrementalDataRecords) {
|
|
25
|
-
const newRootNodes = this._incrementalGraph.getNewRootNodes(incrementalDataRecords);
|
|
26
|
-
const pending = this._toPendingResults(newRootNodes);
|
|
27
|
-
const initialResult = errors === undefined
|
|
28
|
-
? { data, pending, hasNext: true }
|
|
29
|
-
: { errors, data, pending, hasNext: true };
|
|
30
|
-
return {
|
|
31
|
-
initialResult,
|
|
32
|
-
subsequentResults: this._subscribe(),
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
_toPendingResults(newRootNodes) {
|
|
36
|
-
const pendingResults = [];
|
|
37
|
-
for (const node of newRootNodes) {
|
|
38
|
-
const id = String(this._getNextId());
|
|
39
|
-
node.id = id;
|
|
40
|
-
const pendingResult = {
|
|
41
|
-
id,
|
|
42
|
-
path: (0, Path_js_1.pathToArray)(node.path),
|
|
43
|
-
};
|
|
44
|
-
if (node.label !== undefined) {
|
|
45
|
-
pendingResult.label = node.label;
|
|
46
|
-
}
|
|
47
|
-
pendingResults.push(pendingResult);
|
|
48
|
-
}
|
|
49
|
-
return pendingResults;
|
|
50
|
-
}
|
|
51
|
-
_getNextId() {
|
|
52
|
-
return String(this._nextId++);
|
|
53
|
-
}
|
|
54
|
-
_subscribe() {
|
|
55
|
-
let isDone = false;
|
|
56
|
-
const _next = async () => {
|
|
57
|
-
if (isDone) {
|
|
58
|
-
this._context.abortSignalListener?.disconnect();
|
|
59
|
-
await this._returnAsyncIteratorsIgnoringErrors();
|
|
60
|
-
return { value: undefined, done: true };
|
|
61
|
-
}
|
|
62
|
-
const context = {
|
|
63
|
-
pending: [],
|
|
64
|
-
incremental: [],
|
|
65
|
-
completed: [],
|
|
66
|
-
};
|
|
67
|
-
let batch = this._incrementalGraph.currentCompletedBatch();
|
|
68
|
-
do {
|
|
69
|
-
for (const completedResult of batch) {
|
|
70
|
-
this._handleCompletedIncrementalData(completedResult, context);
|
|
71
|
-
}
|
|
72
|
-
const { incremental, completed } = context;
|
|
73
|
-
if (incremental.length > 0 || completed.length > 0) {
|
|
74
|
-
const hasNext = this._incrementalGraph.hasNext();
|
|
75
|
-
if (!hasNext) {
|
|
76
|
-
isDone = true;
|
|
77
|
-
}
|
|
78
|
-
const subsequentIncrementalExecutionResult = { hasNext };
|
|
79
|
-
const pending = context.pending;
|
|
80
|
-
if (pending.length > 0) {
|
|
81
|
-
subsequentIncrementalExecutionResult.pending = pending;
|
|
82
|
-
}
|
|
83
|
-
if (incremental.length > 0) {
|
|
84
|
-
subsequentIncrementalExecutionResult.incremental = incremental;
|
|
85
|
-
}
|
|
86
|
-
if (completed.length > 0) {
|
|
87
|
-
subsequentIncrementalExecutionResult.completed = completed;
|
|
88
|
-
}
|
|
89
|
-
return { value: subsequentIncrementalExecutionResult, done: false };
|
|
90
|
-
}
|
|
91
|
-
// eslint-disable-next-line no-await-in-loop
|
|
92
|
-
batch = await this._incrementalGraph.nextCompletedBatch();
|
|
93
|
-
} while (batch !== undefined);
|
|
94
|
-
// TODO: add test for this case
|
|
95
|
-
/* c8 ignore next */
|
|
96
|
-
this._context.abortSignalListener?.disconnect();
|
|
97
|
-
await this._returnAsyncIteratorsIgnoringErrors();
|
|
98
|
-
return { value: undefined, done: true };
|
|
99
|
-
};
|
|
100
|
-
const _return = async () => {
|
|
101
|
-
isDone = true;
|
|
102
|
-
this._incrementalGraph.abort();
|
|
103
|
-
await this._returnAsyncIterators();
|
|
104
|
-
return { value: undefined, done: true };
|
|
105
|
-
};
|
|
106
|
-
const _throw = async (error) => {
|
|
107
|
-
isDone = true;
|
|
108
|
-
this._incrementalGraph.abort();
|
|
109
|
-
await this._returnAsyncIterators();
|
|
110
|
-
// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
|
|
111
|
-
return Promise.reject(error);
|
|
112
|
-
};
|
|
113
|
-
return {
|
|
114
|
-
[Symbol.asyncIterator]() {
|
|
115
|
-
return this;
|
|
116
|
-
},
|
|
117
|
-
next: _next,
|
|
118
|
-
return: _return,
|
|
119
|
-
throw: _throw,
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
_handleCompletedIncrementalData(completedIncrementalData, context) {
|
|
123
|
-
if ((0, types_js_1.isCompletedExecutionGroup)(completedIncrementalData)) {
|
|
124
|
-
this._handleCompletedExecutionGroup(completedIncrementalData, context);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
this._handleCompletedStreamItems(completedIncrementalData, context);
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
_handleCompletedExecutionGroup(completedExecutionGroup, context) {
|
|
131
|
-
if ((0, types_js_1.isFailedExecutionGroup)(completedExecutionGroup)) {
|
|
132
|
-
for (const deferredFragmentRecord of completedExecutionGroup
|
|
133
|
-
.pendingExecutionGroup.deferredFragmentRecords) {
|
|
134
|
-
const id = deferredFragmentRecord.id;
|
|
135
|
-
if (!this._incrementalGraph.removeDeferredFragment(deferredFragmentRecord)) {
|
|
136
|
-
// This can occur if multiple deferred grouped field sets error for a fragment.
|
|
137
|
-
continue;
|
|
138
|
-
}
|
|
139
|
-
(id !== undefined) || (0, invariant_js_1.invariant)(false);
|
|
140
|
-
context.completed.push({
|
|
141
|
-
id,
|
|
142
|
-
errors: completedExecutionGroup.errors,
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
this._incrementalGraph.addCompletedSuccessfulExecutionGroup(completedExecutionGroup);
|
|
148
|
-
for (const deferredFragmentRecord of completedExecutionGroup
|
|
149
|
-
.pendingExecutionGroup.deferredFragmentRecords) {
|
|
150
|
-
const completion = this._incrementalGraph.completeDeferredFragment(deferredFragmentRecord);
|
|
151
|
-
if (completion === undefined) {
|
|
152
|
-
continue;
|
|
153
|
-
}
|
|
154
|
-
const id = deferredFragmentRecord.id;
|
|
155
|
-
(id !== undefined) || (0, invariant_js_1.invariant)(false);
|
|
156
|
-
const incremental = context.incremental;
|
|
157
|
-
const { newRootNodes, successfulExecutionGroups } = completion;
|
|
158
|
-
context.pending.push(...this._toPendingResults(newRootNodes));
|
|
159
|
-
for (const successfulExecutionGroup of successfulExecutionGroups) {
|
|
160
|
-
const { bestId, subPath } = this._getBestIdAndSubPath(id, deferredFragmentRecord, successfulExecutionGroup);
|
|
161
|
-
const incrementalEntry = {
|
|
162
|
-
...successfulExecutionGroup.result,
|
|
163
|
-
id: bestId,
|
|
164
|
-
};
|
|
165
|
-
if (subPath !== undefined) {
|
|
166
|
-
incrementalEntry.subPath = subPath;
|
|
167
|
-
}
|
|
168
|
-
incremental.push(incrementalEntry);
|
|
169
|
-
}
|
|
170
|
-
context.completed.push({ id });
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
_handleCompletedStreamItems(streamItemsResult, context) {
|
|
174
|
-
const streamRecord = streamItemsResult.streamRecord;
|
|
175
|
-
const id = streamRecord.id;
|
|
176
|
-
(id !== undefined) || (0, invariant_js_1.invariant)(false);
|
|
177
|
-
if (streamItemsResult.errors !== undefined) {
|
|
178
|
-
context.completed.push({
|
|
179
|
-
id,
|
|
180
|
-
errors: streamItemsResult.errors,
|
|
181
|
-
});
|
|
182
|
-
this._incrementalGraph.removeStream(streamRecord);
|
|
183
|
-
if ((0, types_js_1.isCancellableStreamRecord)(streamRecord)) {
|
|
184
|
-
(this._context.cancellableStreams !== undefined) || (0, invariant_js_1.invariant)(false);
|
|
185
|
-
this._context.cancellableStreams.delete(streamRecord);
|
|
186
|
-
streamRecord.earlyReturn().catch(() => {
|
|
187
|
-
/* c8 ignore next 1 */
|
|
188
|
-
// ignore error
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
else if (streamItemsResult.result === undefined) {
|
|
193
|
-
context.completed.push({ id });
|
|
194
|
-
this._incrementalGraph.removeStream(streamRecord);
|
|
195
|
-
if ((0, types_js_1.isCancellableStreamRecord)(streamRecord)) {
|
|
196
|
-
(this._context.cancellableStreams !== undefined) || (0, invariant_js_1.invariant)(false);
|
|
197
|
-
this._context.cancellableStreams.delete(streamRecord);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
const incrementalEntry = {
|
|
202
|
-
id,
|
|
203
|
-
...streamItemsResult.result,
|
|
204
|
-
};
|
|
205
|
-
context.incremental.push(incrementalEntry);
|
|
206
|
-
const incrementalDataRecords = streamItemsResult.incrementalDataRecords;
|
|
207
|
-
if (incrementalDataRecords !== undefined) {
|
|
208
|
-
const newRootNodes = this._incrementalGraph.getNewRootNodes(incrementalDataRecords);
|
|
209
|
-
context.pending.push(...this._toPendingResults(newRootNodes));
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
_getBestIdAndSubPath(initialId, initialDeferredFragmentRecord, completedExecutionGroup) {
|
|
214
|
-
let maxLength = (0, Path_js_1.pathToArray)(initialDeferredFragmentRecord.path).length;
|
|
215
|
-
let bestId = initialId;
|
|
216
|
-
for (const deferredFragmentRecord of completedExecutionGroup
|
|
217
|
-
.pendingExecutionGroup.deferredFragmentRecords) {
|
|
218
|
-
if (deferredFragmentRecord === initialDeferredFragmentRecord) {
|
|
219
|
-
continue;
|
|
220
|
-
}
|
|
221
|
-
const id = deferredFragmentRecord.id;
|
|
222
|
-
// TODO: add test case for when an fragment has not been released, but might be processed for the shortest path.
|
|
223
|
-
/* c8 ignore next 3 */
|
|
224
|
-
if (id === undefined) {
|
|
225
|
-
continue;
|
|
226
|
-
}
|
|
227
|
-
const fragmentPath = (0, Path_js_1.pathToArray)(deferredFragmentRecord.path);
|
|
228
|
-
const length = fragmentPath.length;
|
|
229
|
-
if (length > maxLength) {
|
|
230
|
-
maxLength = length;
|
|
231
|
-
bestId = id;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
const subPath = completedExecutionGroup.path.slice(maxLength);
|
|
235
|
-
return {
|
|
236
|
-
bestId,
|
|
237
|
-
subPath: subPath.length > 0 ? subPath : undefined,
|
|
238
|
-
};
|
|
239
|
-
}
|
|
240
|
-
async _returnAsyncIterators() {
|
|
241
|
-
const cancellableStreams = this._context.cancellableStreams;
|
|
242
|
-
if (cancellableStreams === undefined) {
|
|
243
|
-
return;
|
|
244
|
-
}
|
|
245
|
-
const promises = [];
|
|
246
|
-
for (const streamRecord of cancellableStreams) {
|
|
247
|
-
if (streamRecord.earlyReturn !== undefined) {
|
|
248
|
-
promises.push(streamRecord.earlyReturn());
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
await Promise.all(promises);
|
|
252
|
-
}
|
|
253
|
-
async _returnAsyncIteratorsIgnoringErrors() {
|
|
254
|
-
await this._returnAsyncIterators().catch(() => {
|
|
255
|
-
// Ignore errors
|
|
256
|
-
});
|
|
257
|
-
}
|
|
258
|
-
}
|
|
259
|
-
//# sourceMappingURL=IncrementalPublisher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IncrementalPublisher.js","sourceRoot":"","sources":["../../src/execution/IncrementalPublisher.ts"],"names":[],"mappings":"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","sourcesContent":["import { invariant } from '../jsutils/invariant.js';\nimport type { ObjMap } from '../jsutils/ObjMap.js';\nimport { pathToArray } from '../jsutils/Path.js';\n\nimport type { GraphQLError } from '../error/GraphQLError.js';\n\nimport type { AbortSignalListener } from './AbortSignalListener.js';\nimport { IncrementalGraph } from './IncrementalGraph.js';\nimport type {\n CancellableStreamRecord,\n CompletedExecutionGroup,\n CompletedResult,\n DeferredFragmentRecord,\n DeliveryGroup,\n ExperimentalIncrementalExecutionResults,\n IncrementalDataRecord,\n IncrementalDataRecordResult,\n IncrementalDeferResult,\n IncrementalResult,\n IncrementalStreamResult,\n InitialIncrementalExecutionResult,\n PendingResult,\n StreamItemsResult,\n SubsequentIncrementalExecutionResult,\n} from './types.js';\nimport {\n isCancellableStreamRecord,\n isCompletedExecutionGroup,\n isFailedExecutionGroup,\n} from './types.js';\n\nexport function buildIncrementalResponse(\n context: IncrementalPublisherContext,\n result: ObjMap<unknown>,\n errors: ReadonlyArray<GraphQLError> | undefined,\n incrementalDataRecords: ReadonlyArray<IncrementalDataRecord>,\n): ExperimentalIncrementalExecutionResults {\n const incrementalPublisher = new IncrementalPublisher(context);\n return incrementalPublisher.buildResponse(\n result,\n errors,\n incrementalDataRecords,\n );\n}\n\ninterface IncrementalPublisherContext {\n abortSignalListener: AbortSignalListener | undefined;\n cancellableStreams: Set<CancellableStreamRecord> | undefined;\n}\n\ninterface SubsequentIncrementalExecutionResultContext {\n pending: Array<PendingResult>;\n incremental: Array<IncrementalResult>;\n completed: Array<CompletedResult>;\n}\n\n/**\n * This class is used to publish incremental results to the client, enabling semi-concurrent\n * execution while preserving result order.\n *\n * @internal\n */\nclass IncrementalPublisher {\n private _context: IncrementalPublisherContext;\n private _nextId: number;\n private _incrementalGraph: IncrementalGraph;\n\n constructor(context: IncrementalPublisherContext) {\n this._context = context;\n this._nextId = 0;\n this._incrementalGraph = new IncrementalGraph();\n }\n\n buildResponse(\n data: ObjMap<unknown>,\n errors: ReadonlyArray<GraphQLError> | undefined,\n incrementalDataRecords: ReadonlyArray<IncrementalDataRecord>,\n ): ExperimentalIncrementalExecutionResults {\n const newRootNodes = this._incrementalGraph.getNewRootNodes(\n incrementalDataRecords,\n );\n\n const pending = this._toPendingResults(newRootNodes);\n\n const initialResult: InitialIncrementalExecutionResult =\n errors === undefined\n ? { data, pending, hasNext: true }\n : { errors, data, pending, hasNext: true };\n\n return {\n initialResult,\n subsequentResults: this._subscribe(),\n };\n }\n\n private _toPendingResults(\n newRootNodes: ReadonlyArray<DeliveryGroup>,\n ): Array<PendingResult> {\n const pendingResults: Array<PendingResult> = [];\n for (const node of newRootNodes) {\n const id = String(this._getNextId());\n node.id = id;\n const pendingResult: PendingResult = {\n id,\n path: pathToArray(node.path),\n };\n if (node.label !== undefined) {\n pendingResult.label = node.label;\n }\n pendingResults.push(pendingResult);\n }\n return pendingResults;\n }\n\n private _getNextId(): string {\n return String(this._nextId++);\n }\n\n private _subscribe(): AsyncGenerator<\n SubsequentIncrementalExecutionResult,\n void,\n void\n > {\n let isDone = false;\n\n const _next = async (): Promise<\n IteratorResult<SubsequentIncrementalExecutionResult, void>\n > => {\n if (isDone) {\n this._context.abortSignalListener?.disconnect();\n await this._returnAsyncIteratorsIgnoringErrors();\n return { value: undefined, done: true };\n }\n\n const context: SubsequentIncrementalExecutionResultContext = {\n pending: [],\n incremental: [],\n completed: [],\n };\n\n let batch: Iterable<IncrementalDataRecordResult> | undefined =\n this._incrementalGraph.currentCompletedBatch();\n do {\n for (const completedResult of batch) {\n this._handleCompletedIncrementalData(completedResult, context);\n }\n\n const { incremental, completed } = context;\n if (incremental.length > 0 || completed.length > 0) {\n const hasNext = this._incrementalGraph.hasNext();\n\n if (!hasNext) {\n isDone = true;\n }\n\n const subsequentIncrementalExecutionResult: SubsequentIncrementalExecutionResult =\n { hasNext };\n\n const pending = context.pending;\n if (pending.length > 0) {\n subsequentIncrementalExecutionResult.pending = pending;\n }\n if (incremental.length > 0) {\n subsequentIncrementalExecutionResult.incremental = incremental;\n }\n if (completed.length > 0) {\n subsequentIncrementalExecutionResult.completed = completed;\n }\n\n return { value: subsequentIncrementalExecutionResult, done: false };\n }\n\n // eslint-disable-next-line no-await-in-loop\n batch = await this._incrementalGraph.nextCompletedBatch();\n } while (batch !== undefined);\n\n // TODO: add test for this case\n /* c8 ignore next */\n this._context.abortSignalListener?.disconnect();\n await this._returnAsyncIteratorsIgnoringErrors();\n return { value: undefined, done: true };\n };\n\n const _return = async (): Promise<\n IteratorResult<SubsequentIncrementalExecutionResult, void>\n > => {\n isDone = true;\n this._incrementalGraph.abort();\n await this._returnAsyncIterators();\n return { value: undefined, done: true };\n };\n\n const _throw = async (\n error?: unknown,\n ): Promise<IteratorResult<SubsequentIncrementalExecutionResult, void>> => {\n isDone = true;\n this._incrementalGraph.abort();\n await this._returnAsyncIterators();\n // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n return Promise.reject(error);\n };\n\n return {\n [Symbol.asyncIterator]() {\n return this;\n },\n next: _next,\n return: _return,\n throw: _throw,\n };\n }\n\n private _handleCompletedIncrementalData(\n completedIncrementalData: IncrementalDataRecordResult,\n context: SubsequentIncrementalExecutionResultContext,\n ): void {\n if (isCompletedExecutionGroup(completedIncrementalData)) {\n this._handleCompletedExecutionGroup(completedIncrementalData, context);\n } else {\n this._handleCompletedStreamItems(completedIncrementalData, context);\n }\n }\n\n private _handleCompletedExecutionGroup(\n completedExecutionGroup: CompletedExecutionGroup,\n context: SubsequentIncrementalExecutionResultContext,\n ): void {\n if (isFailedExecutionGroup(completedExecutionGroup)) {\n for (const deferredFragmentRecord of completedExecutionGroup\n .pendingExecutionGroup.deferredFragmentRecords) {\n const id = deferredFragmentRecord.id;\n if (\n !this._incrementalGraph.removeDeferredFragment(deferredFragmentRecord)\n ) {\n // This can occur if multiple deferred grouped field sets error for a fragment.\n continue;\n }\n invariant(id !== undefined);\n context.completed.push({\n id,\n errors: completedExecutionGroup.errors,\n });\n }\n return;\n }\n\n this._incrementalGraph.addCompletedSuccessfulExecutionGroup(\n completedExecutionGroup,\n );\n\n for (const deferredFragmentRecord of completedExecutionGroup\n .pendingExecutionGroup.deferredFragmentRecords) {\n const completion = this._incrementalGraph.completeDeferredFragment(\n deferredFragmentRecord,\n );\n if (completion === undefined) {\n continue;\n }\n const id = deferredFragmentRecord.id;\n invariant(id !== undefined);\n const incremental = context.incremental;\n const { newRootNodes, successfulExecutionGroups } = completion;\n context.pending.push(...this._toPendingResults(newRootNodes));\n for (const successfulExecutionGroup of successfulExecutionGroups) {\n const { bestId, subPath } = this._getBestIdAndSubPath(\n id,\n deferredFragmentRecord,\n successfulExecutionGroup,\n );\n const incrementalEntry: IncrementalDeferResult = {\n ...successfulExecutionGroup.result,\n id: bestId,\n };\n if (subPath !== undefined) {\n incrementalEntry.subPath = subPath;\n }\n incremental.push(incrementalEntry);\n }\n context.completed.push({ id });\n }\n }\n\n private _handleCompletedStreamItems(\n streamItemsResult: StreamItemsResult,\n context: SubsequentIncrementalExecutionResultContext,\n ): void {\n const streamRecord = streamItemsResult.streamRecord;\n const id = streamRecord.id;\n invariant(id !== undefined);\n if (streamItemsResult.errors !== undefined) {\n context.completed.push({\n id,\n errors: streamItemsResult.errors,\n });\n this._incrementalGraph.removeStream(streamRecord);\n if (isCancellableStreamRecord(streamRecord)) {\n invariant(this._context.cancellableStreams !== undefined);\n this._context.cancellableStreams.delete(streamRecord);\n streamRecord.earlyReturn().catch(() => {\n /* c8 ignore next 1 */\n // ignore error\n });\n }\n } else if (streamItemsResult.result === undefined) {\n context.completed.push({ id });\n this._incrementalGraph.removeStream(streamRecord);\n if (isCancellableStreamRecord(streamRecord)) {\n invariant(this._context.cancellableStreams !== undefined);\n this._context.cancellableStreams.delete(streamRecord);\n }\n } else {\n const incrementalEntry: IncrementalStreamResult = {\n id,\n ...streamItemsResult.result,\n };\n\n context.incremental.push(incrementalEntry);\n\n const incrementalDataRecords = streamItemsResult.incrementalDataRecords;\n if (incrementalDataRecords !== undefined) {\n const newRootNodes = this._incrementalGraph.getNewRootNodes(\n incrementalDataRecords,\n );\n context.pending.push(...this._toPendingResults(newRootNodes));\n }\n }\n }\n\n private _getBestIdAndSubPath(\n initialId: string,\n initialDeferredFragmentRecord: DeferredFragmentRecord,\n completedExecutionGroup: CompletedExecutionGroup,\n ): { bestId: string; subPath: ReadonlyArray<string | number> | undefined } {\n let maxLength = pathToArray(initialDeferredFragmentRecord.path).length;\n let bestId = initialId;\n\n for (const deferredFragmentRecord of completedExecutionGroup\n .pendingExecutionGroup.deferredFragmentRecords) {\n if (deferredFragmentRecord === initialDeferredFragmentRecord) {\n continue;\n }\n const id = deferredFragmentRecord.id;\n // TODO: add test case for when an fragment has not been released, but might be processed for the shortest path.\n /* c8 ignore next 3 */\n if (id === undefined) {\n continue;\n }\n const fragmentPath = pathToArray(deferredFragmentRecord.path);\n const length = fragmentPath.length;\n if (length > maxLength) {\n maxLength = length;\n bestId = id;\n }\n }\n const subPath = completedExecutionGroup.path.slice(maxLength);\n return {\n bestId,\n subPath: subPath.length > 0 ? subPath : undefined,\n };\n }\n\n private async _returnAsyncIterators(): Promise<void> {\n const cancellableStreams = this._context.cancellableStreams;\n if (cancellableStreams === undefined) {\n return;\n }\n const promises: Array<Promise<unknown>> = [];\n for (const streamRecord of cancellableStreams) {\n if (streamRecord.earlyReturn !== undefined) {\n promises.push(streamRecord.earlyReturn());\n }\n }\n await Promise.all(promises);\n }\n\n private async _returnAsyncIteratorsIgnoringErrors(): Promise<void> {\n await this._returnAsyncIterators().catch(() => {\n // Ignore errors\n });\n }\n}\n"]}
|