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
|
@@ -25,6 +25,7 @@ const scalars_js_1 = require("../type/scalars.js");
|
|
|
25
25
|
* | Boolean | Boolean |
|
|
26
26
|
* | String | String / Enum Value |
|
|
27
27
|
* | Number | Int / Float |
|
|
28
|
+
* | BigInt | Int |
|
|
28
29
|
* | Unknown | Enum Value |
|
|
29
30
|
* | null | NullValue |
|
|
30
31
|
*
|
|
@@ -99,6 +100,9 @@ function astFromValue(value, type) {
|
|
|
99
100
|
? { kind: kinds_js_1.Kind.INT, value: stringNum }
|
|
100
101
|
: { kind: kinds_js_1.Kind.FLOAT, value: stringNum };
|
|
101
102
|
}
|
|
103
|
+
if (typeof coerced === 'bigint') {
|
|
104
|
+
return { kind: kinds_js_1.Kind.INT, value: String(coerced) };
|
|
105
|
+
}
|
|
102
106
|
if (typeof coerced === 'string') {
|
|
103
107
|
// Enum types use Enum literals.
|
|
104
108
|
if ((0, definition_js_1.isEnumType)(type)) {
|
|
@@ -114,10 +118,12 @@ function astFromValue(value, type) {
|
|
|
114
118
|
};
|
|
115
119
|
}
|
|
116
120
|
throw new TypeError(`Cannot convert value to AST: ${(0, inspect_js_1.inspect)(coerced)}.`);
|
|
121
|
+
// c8 control statement technically placed a line early secondary to
|
|
122
|
+
// slight swc source mapping error (at least as compared to ts-node without swc)
|
|
123
|
+
/* c8 ignore next 4 */
|
|
117
124
|
}
|
|
118
|
-
/* c8 ignore next 3 */
|
|
119
125
|
// Not reachable, all possible types have been considered.
|
|
120
|
-
(
|
|
126
|
+
(0, invariant_js_1.invariant)(false, 'Unexpected input type: ' + (0, inspect_js_1.inspect)(type));
|
|
121
127
|
}
|
|
122
128
|
/**
|
|
123
129
|
* IntValue:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport type { ConstObjectFieldNode, ConstValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\nimport { GraphQLID } from '../type/scalars.js';\n\n/**\n * Produces a GraphQL Value AST given a JavaScript object.\n * Function will match JavaScript/JSON values to GraphQL AST schema format\n * by using suggested GraphQLInputType. For example:\n *\n * astFromValue(\"value\", GraphQLString)\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * JavaScript values.\n *\n * | JSON Value | GraphQL Value |\n * | ------------- | -------------------- |\n * | Object | Input Object |\n * | Array | List |\n * | Boolean | Boolean |\n * | String | String / Enum Value |\n * | Number | Int / Float |\n * | BigInt | Int |\n * | Unknown | Enum Value |\n * | null | NullValue |\n *\n * @deprecated use `valueToLiteral()` instead with care to operate on external values - `astFromValue()` will be removed in v18\n */\nexport function astFromValue(\n value: unknown,\n type: GraphQLInputType,\n): Maybe<ConstValueNode> {\n if (isNonNullType(type)) {\n const astValue = astFromValue(value, type.ofType);\n if (astValue?.kind === Kind.NULL) {\n return null;\n }\n return astValue;\n }\n\n // only explicit null, not undefined, NaN\n if (value === null) {\n return { kind: Kind.NULL };\n }\n\n // undefined\n if (value === undefined) {\n return null;\n }\n\n // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\n // the value is not an array, convert the value using the list's item type.\n if (isListType(type)) {\n const itemType = type.ofType;\n if (isIterableObject(value)) {\n const valuesNodes = [];\n for (const item of value) {\n const itemNode = astFromValue(item, itemType);\n if (itemNode != null) {\n valuesNodes.push(itemNode);\n }\n }\n return { kind: Kind.LIST, values: valuesNodes };\n }\n return astFromValue(value, itemType);\n }\n\n // Populate the fields of the input object by creating ASTs from each value\n // in the JavaScript object according to the fields in the input type.\n if (isInputObjectType(type)) {\n if (!isObjectLike(value)) {\n return null;\n }\n const fieldNodes: Array<ConstObjectFieldNode> = [];\n for (const field of Object.values(type.getFields())) {\n const fieldValue = astFromValue(value[field.name], field.type);\n if (fieldValue) {\n fieldNodes.push({\n kind: Kind.OBJECT_FIELD,\n name: { kind: Kind.NAME, value: field.name },\n value: fieldValue,\n });\n }\n }\n return { kind: Kind.OBJECT, fields: fieldNodes };\n }\n\n if (isLeafType(type)) {\n // Since value is an internally represented value, it must be coerced\n // to an externally represented value before converting into an AST.\n const coerced = type.coerceOutputValue(value);\n if (coerced == null) {\n return null;\n }\n\n // Others coerce based on their corresponding JavaScript scalar types.\n if (typeof coerced === 'boolean') {\n return { kind: Kind.BOOLEAN, value: coerced };\n }\n\n // JavaScript numbers can be Int or Float values.\n if (typeof coerced === 'number' && Number.isFinite(coerced)) {\n const stringNum = String(coerced);\n return integerStringRegExp.test(stringNum)\n ? { kind: Kind.INT, value: stringNum }\n : { kind: Kind.FLOAT, value: stringNum };\n }\n\n if (typeof coerced === 'bigint') {\n return { kind: Kind.INT, value: String(coerced) };\n }\n\n if (typeof coerced === 'string') {\n // Enum types use Enum literals.\n if (isEnumType(type)) {\n return { kind: Kind.ENUM, value: coerced };\n }\n\n // ID types can use Int literals.\n if (type === GraphQLID && integerStringRegExp.test(coerced)) {\n return { kind: Kind.INT, value: coerced };\n }\n\n return {\n kind: Kind.STRING,\n value: coerced,\n };\n }\n\n throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);\n // c8 control statement technically placed a line early secondary to\n // slight swc source mapping error (at least as compared to ts-node without swc)\n /* c8 ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n/**\n * IntValue:\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit ( Digit+ )?\n */\nconst integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\n"]}
|
|
@@ -22,6 +22,7 @@ import { GraphQLID } from "../type/scalars.mjs";
|
|
|
22
22
|
* | Boolean | Boolean |
|
|
23
23
|
* | String | String / Enum Value |
|
|
24
24
|
* | Number | Int / Float |
|
|
25
|
+
* | BigInt | Int |
|
|
25
26
|
* | Unknown | Enum Value |
|
|
26
27
|
* | null | NullValue |
|
|
27
28
|
*
|
|
@@ -96,6 +97,9 @@ export function astFromValue(value, type) {
|
|
|
96
97
|
? { kind: Kind.INT, value: stringNum }
|
|
97
98
|
: { kind: Kind.FLOAT, value: stringNum };
|
|
98
99
|
}
|
|
100
|
+
if (typeof coerced === 'bigint') {
|
|
101
|
+
return { kind: Kind.INT, value: String(coerced) };
|
|
102
|
+
}
|
|
99
103
|
if (typeof coerced === 'string') {
|
|
100
104
|
// Enum types use Enum literals.
|
|
101
105
|
if (isEnumType(type)) {
|
|
@@ -111,10 +115,12 @@ export function astFromValue(value, type) {
|
|
|
111
115
|
};
|
|
112
116
|
}
|
|
113
117
|
throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);
|
|
118
|
+
// c8 control statement technically placed a line early secondary to
|
|
119
|
+
// slight swc source mapping error (at least as compared to ts-node without swc)
|
|
120
|
+
/* c8 ignore next 4 */
|
|
114
121
|
}
|
|
115
|
-
/* c8 ignore next 3 */
|
|
116
122
|
// Not reachable, all possible types have been considered.
|
|
117
|
-
|
|
123
|
+
invariant(false, 'Unexpected input type: ' + inspect(type));
|
|
118
124
|
}
|
|
119
125
|
/**
|
|
120
126
|
* IntValue:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,+BAA8B;AAChD,OAAO,EAAE,SAAS,EAAE,iCAAgC;AACpD,OAAO,EAAE,gBAAgB,EAAE,wCAAuC;AAClE,OAAO,EAAE,YAAY,EAAE,oCAAmC;AAI1D,OAAO,EAAE,IAAI,EAAE,8BAA6B;AAG5C,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,aAAa,GACd,+BAA8B;AAC/B,OAAO,EAAE,SAAS,EAAE,4BAA2B;AAE/C
|
|
1
|
+
{"version":3,"file":"astFromValue.js","sourceRoot":"","sources":["../../src/utilities/astFromValue.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport { isIterableObject } from '../jsutils/isIterableObject.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport type { ConstObjectFieldNode, ConstValueNode } from '../language/ast.js';\nimport { Kind } from '../language/kinds.js';\n\nimport type { GraphQLInputType } from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isLeafType,\n isListType,\n isNonNullType,\n} from '../type/definition.js';\nimport { GraphQLID } from '../type/scalars.js';\n\n/**\n * Produces a GraphQL Value AST given a JavaScript object.\n * Function will match JavaScript/JSON values to GraphQL AST schema format\n * by using suggested GraphQLInputType. For example:\n *\n * astFromValue(\"value\", GraphQLString)\n *\n * A GraphQL type must be provided, which will be used to interpret different\n * JavaScript values.\n *\n * | JSON Value | GraphQL Value |\n * | ------------- | -------------------- |\n * | Object | Input Object |\n * | Array | List |\n * | Boolean | Boolean |\n * | String | String / Enum Value |\n * | Number | Int / Float |\n * | BigInt | Int |\n * | Unknown | Enum Value |\n * | null | NullValue |\n *\n * @deprecated use `valueToLiteral()` instead with care to operate on external values - `astFromValue()` will be removed in v18\n */\nexport function astFromValue(\n value: unknown,\n type: GraphQLInputType,\n): Maybe<ConstValueNode> {\n if (isNonNullType(type)) {\n const astValue = astFromValue(value, type.ofType);\n if (astValue?.kind === Kind.NULL) {\n return null;\n }\n return astValue;\n }\n\n // only explicit null, not undefined, NaN\n if (value === null) {\n return { kind: Kind.NULL };\n }\n\n // undefined\n if (value === undefined) {\n return null;\n }\n\n // Convert JavaScript array to GraphQL list. If the GraphQLType is a list, but\n // the value is not an array, convert the value using the list's item type.\n if (isListType(type)) {\n const itemType = type.ofType;\n if (isIterableObject(value)) {\n const valuesNodes = [];\n for (const item of value) {\n const itemNode = astFromValue(item, itemType);\n if (itemNode != null) {\n valuesNodes.push(itemNode);\n }\n }\n return { kind: Kind.LIST, values: valuesNodes };\n }\n return astFromValue(value, itemType);\n }\n\n // Populate the fields of the input object by creating ASTs from each value\n // in the JavaScript object according to the fields in the input type.\n if (isInputObjectType(type)) {\n if (!isObjectLike(value)) {\n return null;\n }\n const fieldNodes: Array<ConstObjectFieldNode> = [];\n for (const field of Object.values(type.getFields())) {\n const fieldValue = astFromValue(value[field.name], field.type);\n if (fieldValue) {\n fieldNodes.push({\n kind: Kind.OBJECT_FIELD,\n name: { kind: Kind.NAME, value: field.name },\n value: fieldValue,\n });\n }\n }\n return { kind: Kind.OBJECT, fields: fieldNodes };\n }\n\n if (isLeafType(type)) {\n // Since value is an internally represented value, it must be coerced\n // to an externally represented value before converting into an AST.\n const coerced = type.coerceOutputValue(value);\n if (coerced == null) {\n return null;\n }\n\n // Others coerce based on their corresponding JavaScript scalar types.\n if (typeof coerced === 'boolean') {\n return { kind: Kind.BOOLEAN, value: coerced };\n }\n\n // JavaScript numbers can be Int or Float values.\n if (typeof coerced === 'number' && Number.isFinite(coerced)) {\n const stringNum = String(coerced);\n return integerStringRegExp.test(stringNum)\n ? { kind: Kind.INT, value: stringNum }\n : { kind: Kind.FLOAT, value: stringNum };\n }\n\n if (typeof coerced === 'bigint') {\n return { kind: Kind.INT, value: String(coerced) };\n }\n\n if (typeof coerced === 'string') {\n // Enum types use Enum literals.\n if (isEnumType(type)) {\n return { kind: Kind.ENUM, value: coerced };\n }\n\n // ID types can use Int literals.\n if (type === GraphQLID && integerStringRegExp.test(coerced)) {\n return { kind: Kind.INT, value: coerced };\n }\n\n return {\n kind: Kind.STRING,\n value: coerced,\n };\n }\n\n throw new TypeError(`Cannot convert value to AST: ${inspect(coerced)}.`);\n // c8 control statement technically placed a line early secondary to\n // slight swc source mapping error (at least as compared to ts-node without swc)\n /* c8 ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected input type: ' + inspect(type));\n}\n\n/**\n * IntValue:\n * - NegativeSign? 0\n * - NegativeSign? NonZeroDigit ( Digit+ )?\n */\nconst integerStringRegExp = /^-?(?:0|[1-9][0-9]*)$/;\n"]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { DocumentNode } from '../language/ast.js';
|
|
2
|
+
import type { ParseOptions } from '../language/parser.js';
|
|
3
|
+
import type { Source } from '../language/source.js';
|
|
4
|
+
import type { GraphQLSchemaValidationOptions } from '../type/schema.js';
|
|
5
|
+
import { GraphQLSchema } from '../type/schema.js';
|
|
6
|
+
export interface BuildSchemaOptions extends GraphQLSchemaValidationOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Set to true to assume the SDL is valid.
|
|
9
|
+
*
|
|
10
|
+
* Default: false
|
|
11
|
+
*/
|
|
12
|
+
assumeValidSDL?: boolean | undefined;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* This takes the ast of a schema document produced by the parse function in
|
|
16
|
+
* src/language/parser.js.
|
|
17
|
+
*
|
|
18
|
+
* If no schema definition is provided, then it will look for types named Query,
|
|
19
|
+
* Mutation and Subscription.
|
|
20
|
+
*
|
|
21
|
+
* Given that AST it constructs a GraphQLSchema. The resulting schema
|
|
22
|
+
* has no resolve methods, so execution will use default resolvers.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildASTSchema(documentAST: DocumentNode, options?: BuildSchemaOptions): GraphQLSchema;
|
|
25
|
+
/**
|
|
26
|
+
* A helper function to build a GraphQLSchema directly from a source
|
|
27
|
+
* document.
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildSchema(source: string | Source, options?: BuildSchemaOptions & ParseOptions): GraphQLSchema;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GraphQLSchemaValidationOptions } from '../type/schema.js';
|
|
2
|
+
import { GraphQLSchema } from '../type/schema.js';
|
|
3
|
+
import type { IntrospectionQuery } from './getIntrospectionQuery.js';
|
|
4
|
+
/**
|
|
5
|
+
* Build a GraphQLSchema for use by client tools.
|
|
6
|
+
*
|
|
7
|
+
* Given the result of a client running the introspection query, creates and
|
|
8
|
+
* returns a GraphQLSchema instance which can be then used with all graphql-js
|
|
9
|
+
* tools, but cannot be used to execute a query, as introspection does not
|
|
10
|
+
* represent the "resolver", "coerceInputValue" or "coerceOutputValue"
|
|
11
|
+
* functions or any other server-internal mechanisms.
|
|
12
|
+
*
|
|
13
|
+
* This function expects a complete introspection result. Don't forget to check
|
|
14
|
+
* the "errors" field of a server response before calling this function.
|
|
15
|
+
*/
|
|
16
|
+
export declare function buildClientSchema(introspection: IntrospectionQuery, options?: GraphQLSchemaValidationOptions): GraphQLSchema;
|
|
@@ -24,9 +24,11 @@ const schema_js_1 = require("../type/schema.js");
|
|
|
24
24
|
* the "errors" field of a server response before calling this function.
|
|
25
25
|
*/
|
|
26
26
|
function buildClientSchema(introspection, options) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
if (!((0, isObjectLike_js_1.isObjectLike)(introspection) && (0, isObjectLike_js_1.isObjectLike)(introspection.__schema)))
|
|
28
|
+
(0,
|
|
29
|
+
// Even though the `introspection` argument is typed, in most cases it's received
|
|
30
|
+
// as an untyped value from the server, so we will do an additional check here.
|
|
31
|
+
devAssert_js_1.devAssert)(false, `Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${(0, inspect_js_1.inspect)(introspection)}.`);
|
|
30
32
|
// Get the schema from the introspection result.
|
|
31
33
|
const schemaIntrospection = introspection.__schema;
|
|
32
34
|
// Iterate through all types, getting the type definition for each.
|
|
@@ -118,10 +120,12 @@ function buildClientSchema(introspection, options) {
|
|
|
118
120
|
return buildEnumDef(type);
|
|
119
121
|
case introspection_js_1.TypeKind.INPUT_OBJECT:
|
|
120
122
|
return buildInputObjectDef(type);
|
|
123
|
+
default:
|
|
124
|
+
// TypeScript considers this unreachable, but invalid runtime input can reach it.
|
|
125
|
+
// Note: we include a default case rather than throwing after the switch to avoid
|
|
126
|
+
// the use of a @ts-expect-error statement.
|
|
127
|
+
throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${(0, inspect_js_1.inspect)(type)}.`);
|
|
121
128
|
}
|
|
122
|
-
// Unreachable.
|
|
123
|
-
// @ts-expect-error
|
|
124
|
-
throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${(0, inspect_js_1.inspect)(type)}.`);
|
|
125
129
|
}
|
|
126
130
|
function buildScalarDef(scalarIntrospection) {
|
|
127
131
|
return new definition_js_1.GraphQLScalarType({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n }\n // Unreachable.\n // @ts-expect-error\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n default:\n // TypeScript considers this unreachable, but invalid runtime input can reach it.\n // Note: we include a default case rather than throwing after the switch to avoid\n // the use of a @ts-expect-error statement.\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
|
|
@@ -21,9 +21,10 @@ import { GraphQLSchema } from "../type/schema.mjs";
|
|
|
21
21
|
* the "errors" field of a server response before calling this function.
|
|
22
22
|
*/
|
|
23
23
|
export function buildClientSchema(introspection, options) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
if (!(isObjectLike(introspection) && isObjectLike(introspection.__schema)))
|
|
25
|
+
// Even though the `introspection` argument is typed, in most cases it's received
|
|
26
|
+
// as an untyped value from the server, so we will do an additional check here.
|
|
27
|
+
devAssert(false, `Invalid or incomplete introspection result. Ensure that you are passing "data" property of introspection response and no "errors" was returned alongside: ${inspect(introspection)}.`);
|
|
27
28
|
// Get the schema from the introspection result.
|
|
28
29
|
const schemaIntrospection = introspection.__schema;
|
|
29
30
|
// Iterate through all types, getting the type definition for each.
|
|
@@ -115,10 +116,12 @@ export function buildClientSchema(introspection, options) {
|
|
|
115
116
|
return buildEnumDef(type);
|
|
116
117
|
case TypeKind.INPUT_OBJECT:
|
|
117
118
|
return buildInputObjectDef(type);
|
|
119
|
+
default:
|
|
120
|
+
// TypeScript considers this unreachable, but invalid runtime input can reach it.
|
|
121
|
+
// Note: we include a default case rather than throwing after the switch to avoid
|
|
122
|
+
// the use of a @ts-expect-error statement.
|
|
123
|
+
throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(type)}.`);
|
|
118
124
|
}
|
|
119
|
-
// Unreachable.
|
|
120
|
-
// @ts-expect-error
|
|
121
|
-
throw new Error(`Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(type)}.`);
|
|
122
125
|
}
|
|
123
126
|
function buildScalarDef(scalarIntrospection) {
|
|
124
127
|
return new GraphQLScalarType({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n }\n // Unreachable.\n // @ts-expect-error\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.js';\nimport { inspect } from '../jsutils/inspect.js';\nimport { isObjectLike } from '../jsutils/isObjectLike.js';\nimport { keyValMap } from '../jsutils/keyValMap.js';\n\nimport { parseConstValue } from '../language/parser.js';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.js';\nimport {\n assertInterfaceType,\n assertNullableType,\n assertObjectType,\n GraphQLEnumType,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLList,\n GraphQLNonNull,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n isInputType,\n isOutputType,\n} from '../type/definition.js';\nimport { GraphQLDirective } from '../type/directives.js';\nimport { introspectionTypes, TypeKind } from '../type/introspection.js';\nimport { specifiedScalarTypes } from '../type/scalars.js';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.js';\nimport { GraphQLSchema } from '../type/schema.js';\n\nimport type {\n IntrospectionDirective,\n IntrospectionEnumType,\n IntrospectionField,\n IntrospectionInputObjectType,\n IntrospectionInputValue,\n IntrospectionInterfaceType,\n IntrospectionNamedTypeRef,\n IntrospectionObjectType,\n IntrospectionQuery,\n IntrospectionScalarType,\n IntrospectionType,\n IntrospectionTypeRef,\n IntrospectionUnionType,\n} from './getIntrospectionQuery.js';\n\n/**\n * Build a GraphQLSchema for use by client tools.\n *\n * Given the result of a client running the introspection query, creates and\n * returns a GraphQLSchema instance which can be then used with all graphql-js\n * tools, but cannot be used to execute a query, as introspection does not\n * represent the \"resolver\", \"coerceInputValue\" or \"coerceOutputValue\"\n * functions or any other server-internal mechanisms.\n *\n * This function expects a complete introspection result. Don't forget to check\n * the \"errors\" field of a server response before calling this function.\n */\nexport function buildClientSchema(\n introspection: IntrospectionQuery,\n options?: GraphQLSchemaValidationOptions,\n): GraphQLSchema {\n // Even though the `introspection` argument is typed, in most cases it's received\n // as an untyped value from the server, so we will do an additional check here.\n devAssert(\n isObjectLike(introspection) && isObjectLike(introspection.__schema),\n `Invalid or incomplete introspection result. Ensure that you are passing \"data\" property of introspection response and no \"errors\" was returned alongside: ${inspect(\n introspection,\n )}.`,\n );\n\n // Get the schema from the introspection result.\n const schemaIntrospection = introspection.__schema;\n\n // Iterate through all types, getting the type definition for each.\n const typeMap = new Map<string, GraphQLNamedType>(\n schemaIntrospection.types.map((typeIntrospection) => [\n typeIntrospection.name,\n buildType(typeIntrospection),\n ]),\n );\n\n // Include standard types only if they are used.\n for (const stdType of [...specifiedScalarTypes, ...introspectionTypes]) {\n if (typeMap.has(stdType.name)) {\n typeMap.set(stdType.name, stdType);\n }\n }\n\n // Get the root Query, Mutation, and Subscription types.\n const queryType =\n schemaIntrospection.queryType != null\n ? getObjectType(schemaIntrospection.queryType)\n : null;\n\n const mutationType =\n schemaIntrospection.mutationType != null\n ? getObjectType(schemaIntrospection.mutationType)\n : null;\n\n const subscriptionType =\n schemaIntrospection.subscriptionType != null\n ? getObjectType(schemaIntrospection.subscriptionType)\n : null;\n\n // Get the directives supported by Introspection, assuming empty-set if\n // directives were not queried for.\n const directives =\n schemaIntrospection.directives != null\n ? schemaIntrospection.directives.map(buildDirective)\n : [];\n\n // Then produce and return a Schema with these types.\n return new GraphQLSchema({\n description: schemaIntrospection.description,\n query: queryType,\n mutation: mutationType,\n subscription: subscriptionType,\n types: [...typeMap.values()],\n directives,\n assumeValid: options?.assumeValid,\n });\n\n // Given a type reference in introspection, return the GraphQLType instance.\n // preferring cached instances before building new instances.\n function getType(typeRef: IntrospectionTypeRef): GraphQLType {\n if (typeRef.kind === TypeKind.LIST) {\n const itemRef = typeRef.ofType;\n if (itemRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n return new GraphQLList(getType(itemRef));\n }\n if (typeRef.kind === TypeKind.NON_NULL) {\n const nullableRef = typeRef.ofType;\n if (nullableRef == null) {\n throw new Error('Decorated type deeper than introspection query.');\n }\n const nullableType = getType(nullableRef);\n return new GraphQLNonNull(assertNullableType(nullableType));\n }\n return getNamedType(typeRef);\n }\n\n function getNamedType(typeRef: IntrospectionNamedTypeRef): GraphQLNamedType {\n const typeName = typeRef.name;\n if (!typeName) {\n throw new Error(`Unknown type reference: ${inspect(typeRef)}.`);\n }\n\n const type = typeMap.get(typeName);\n if (type == null) {\n throw new Error(\n `Invalid or incomplete schema, unknown type: ${typeName}. Ensure that a full introspection query is used in order to build a client schema.`,\n );\n }\n\n return type;\n }\n\n function getObjectType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionObjectType>,\n ): GraphQLObjectType {\n return assertObjectType(getNamedType(typeRef));\n }\n\n function getInterfaceType(\n typeRef: IntrospectionNamedTypeRef<IntrospectionInterfaceType>,\n ): GraphQLInterfaceType {\n return assertInterfaceType(getNamedType(typeRef));\n }\n\n // Given a type's introspection result, construct the correct\n // GraphQLType instance.\n function buildType(type: IntrospectionType): GraphQLNamedType {\n switch (type.kind) {\n case TypeKind.SCALAR:\n return buildScalarDef(type);\n case TypeKind.OBJECT:\n return buildObjectDef(type);\n case TypeKind.INTERFACE:\n return buildInterfaceDef(type);\n case TypeKind.UNION:\n return buildUnionDef(type);\n case TypeKind.ENUM:\n return buildEnumDef(type);\n case TypeKind.INPUT_OBJECT:\n return buildInputObjectDef(type);\n default:\n // TypeScript considers this unreachable, but invalid runtime input can reach it.\n // Note: we include a default case rather than throwing after the switch to avoid\n // the use of a @ts-expect-error statement.\n throw new Error(\n `Invalid or incomplete introspection result. Ensure that a full introspection query is used in order to build a client schema: ${inspect(\n type,\n )}.`,\n );\n }\n }\n\n function buildScalarDef(\n scalarIntrospection: IntrospectionScalarType,\n ): GraphQLScalarType {\n return new GraphQLScalarType({\n name: scalarIntrospection.name,\n description: scalarIntrospection.description,\n specifiedByURL: scalarIntrospection.specifiedByURL,\n });\n }\n\n function buildImplementationsList(\n implementingIntrospection:\n | IntrospectionObjectType\n | IntrospectionInterfaceType,\n ): Array<GraphQLInterfaceType> {\n // TODO: Temporary workaround until GraphQL ecosystem will fully support\n // 'interfaces' on interface types.\n if (\n implementingIntrospection.interfaces === null &&\n implementingIntrospection.kind === TypeKind.INTERFACE\n ) {\n return [];\n }\n\n if (implementingIntrospection.interfaces == null) {\n const implementingIntrospectionStr = inspect(implementingIntrospection);\n throw new Error(\n `Introspection result missing interfaces: ${implementingIntrospectionStr}.`,\n );\n }\n\n return implementingIntrospection.interfaces.map(getInterfaceType);\n }\n\n function buildObjectDef(\n objectIntrospection: IntrospectionObjectType,\n ): GraphQLObjectType {\n return new GraphQLObjectType({\n name: objectIntrospection.name,\n description: objectIntrospection.description,\n interfaces: () => buildImplementationsList(objectIntrospection),\n fields: () => buildFieldDefMap(objectIntrospection),\n });\n }\n\n function buildInterfaceDef(\n interfaceIntrospection: IntrospectionInterfaceType,\n ): GraphQLInterfaceType {\n return new GraphQLInterfaceType({\n name: interfaceIntrospection.name,\n description: interfaceIntrospection.description,\n interfaces: () => buildImplementationsList(interfaceIntrospection),\n fields: () => buildFieldDefMap(interfaceIntrospection),\n });\n }\n\n function buildUnionDef(\n unionIntrospection: IntrospectionUnionType,\n ): GraphQLUnionType {\n if (unionIntrospection.possibleTypes == null) {\n const unionIntrospectionStr = inspect(unionIntrospection);\n throw new Error(\n `Introspection result missing possibleTypes: ${unionIntrospectionStr}.`,\n );\n }\n return new GraphQLUnionType({\n name: unionIntrospection.name,\n description: unionIntrospection.description,\n types: () => unionIntrospection.possibleTypes.map(getObjectType),\n });\n }\n\n function buildEnumDef(\n enumIntrospection: IntrospectionEnumType,\n ): GraphQLEnumType {\n if (enumIntrospection.enumValues == null) {\n const enumIntrospectionStr = inspect(enumIntrospection);\n throw new Error(\n `Introspection result missing enumValues: ${enumIntrospectionStr}.`,\n );\n }\n return new GraphQLEnumType({\n name: enumIntrospection.name,\n description: enumIntrospection.description,\n values: keyValMap(\n enumIntrospection.enumValues,\n (valueIntrospection) => valueIntrospection.name,\n (valueIntrospection) => ({\n description: valueIntrospection.description,\n deprecationReason: valueIntrospection.deprecationReason,\n }),\n ),\n });\n }\n\n function buildInputObjectDef(\n inputObjectIntrospection: IntrospectionInputObjectType,\n ): GraphQLInputObjectType {\n if (inputObjectIntrospection.inputFields == null) {\n const inputObjectIntrospectionStr = inspect(inputObjectIntrospection);\n throw new Error(\n `Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`,\n );\n }\n return new GraphQLInputObjectType({\n name: inputObjectIntrospection.name,\n description: inputObjectIntrospection.description,\n fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),\n isOneOf: inputObjectIntrospection.isOneOf,\n });\n }\n\n function buildFieldDefMap(\n typeIntrospection: IntrospectionObjectType | IntrospectionInterfaceType,\n ): GraphQLFieldConfigMap<unknown, unknown> {\n if (typeIntrospection.fields == null) {\n throw new Error(\n `Introspection result missing fields: ${inspect(typeIntrospection)}.`,\n );\n }\n\n return keyValMap(\n typeIntrospection.fields,\n (fieldIntrospection) => fieldIntrospection.name,\n buildField,\n );\n }\n\n function buildField(\n fieldIntrospection: IntrospectionField,\n ): GraphQLFieldConfig<unknown, unknown> {\n const type = getType(fieldIntrospection.type);\n if (!isOutputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide output type for fields, but received: ${typeStr}.`,\n );\n }\n\n if (fieldIntrospection.args == null) {\n const fieldIntrospectionStr = inspect(fieldIntrospection);\n throw new Error(\n `Introspection result missing field args: ${fieldIntrospectionStr}.`,\n );\n }\n\n return {\n description: fieldIntrospection.description,\n deprecationReason: fieldIntrospection.deprecationReason,\n type,\n args: buildInputValueDefMap(fieldIntrospection.args),\n };\n }\n\n function buildInputValueDefMap(\n inputValueIntrospections: ReadonlyArray<IntrospectionInputValue>,\n ) {\n return keyValMap(\n inputValueIntrospections,\n (inputValue) => inputValue.name,\n buildInputValue,\n );\n }\n\n function buildInputValue(inputValueIntrospection: IntrospectionInputValue) {\n const type = getType(inputValueIntrospection.type);\n if (!isInputType(type)) {\n const typeStr = inspect(type);\n throw new Error(\n `Introspection must provide input type for arguments, but received: ${typeStr}.`,\n );\n }\n\n return {\n description: inputValueIntrospection.description,\n type,\n default:\n inputValueIntrospection.defaultValue != null\n ? { literal: parseConstValue(inputValueIntrospection.defaultValue) }\n : undefined,\n deprecationReason: inputValueIntrospection.deprecationReason,\n };\n }\n\n function buildDirective(\n directiveIntrospection: IntrospectionDirective,\n ): GraphQLDirective {\n if (directiveIntrospection.args == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive args: ${directiveIntrospectionStr}.`,\n );\n }\n if (directiveIntrospection.locations == null) {\n const directiveIntrospectionStr = inspect(directiveIntrospection);\n throw new Error(\n `Introspection result missing directive locations: ${directiveIntrospectionStr}.`,\n );\n }\n return new GraphQLDirective({\n name: directiveIntrospection.name,\n description: directiveIntrospection.description,\n isRepeatable: directiveIntrospection.isRepeatable,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { Maybe } from '../jsutils/Maybe.js';
|
|
2
|
+
import type { ValueNode } from '../language/ast.js';
|
|
3
|
+
import type { GraphQLDefaultInput, GraphQLInputType } from '../type/definition.js';
|
|
4
|
+
import type { FragmentVariableValues } from '../execution/collectFields.js';
|
|
5
|
+
import type { VariableValues } from '../execution/values.js';
|
|
6
|
+
/**
|
|
7
|
+
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
8
|
+
*
|
|
9
|
+
* Returns `undefined` when the value could not be validly coerced according to
|
|
10
|
+
* the provided type.
|
|
11
|
+
*/
|
|
12
|
+
export declare function coerceInputValue(inputValue: unknown, type: GraphQLInputType): unknown;
|
|
13
|
+
/**
|
|
14
|
+
* Produces a coerced "internal" JavaScript value given a GraphQL Value AST.
|
|
15
|
+
*
|
|
16
|
+
* Returns `undefined` when the value could not be validly coerced according to
|
|
17
|
+
* the provided type.
|
|
18
|
+
*/
|
|
19
|
+
export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<FragmentVariableValues>): unknown;
|
|
20
|
+
interface InputValue {
|
|
21
|
+
type: GraphQLInputType;
|
|
22
|
+
default?: GraphQLDefaultInput | undefined;
|
|
23
|
+
defaultValue?: unknown;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns the coerced default value for an input value definition, if it exists.
|
|
27
|
+
*
|
|
28
|
+
* If the default value is invalid, this will throw an error. Invalid default
|
|
29
|
+
* values should be caught during validation, however, so this function assumes
|
|
30
|
+
* that the default value is valid.
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export declare function coerceDefaultValue(inputValue: InputValue): unknown;
|
|
34
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Maybe } from '../jsutils/Maybe.js';
|
|
2
2
|
import type { ValueNode } from '../language/ast.js';
|
|
3
3
|
import type { GraphQLDefaultInput, GraphQLInputType } from '../type/definition.js';
|
|
4
|
+
import type { FragmentVariableValues } from '../execution/collectFields.js';
|
|
4
5
|
import type { VariableValues } from '../execution/values.js';
|
|
5
6
|
/**
|
|
6
7
|
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
@@ -15,13 +16,18 @@ export declare function coerceInputValue(inputValue: unknown, type: GraphQLInput
|
|
|
15
16
|
* Returns `undefined` when the value could not be validly coerced according to
|
|
16
17
|
* the provided type.
|
|
17
18
|
*/
|
|
18
|
-
export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<
|
|
19
|
+
export declare function coerceInputLiteral(valueNode: ValueNode, type: GraphQLInputType, variableValues?: Maybe<VariableValues>, fragmentVariableValues?: Maybe<FragmentVariableValues>): unknown;
|
|
19
20
|
interface InputValue {
|
|
20
21
|
type: GraphQLInputType;
|
|
21
22
|
default?: GraphQLDefaultInput | undefined;
|
|
22
23
|
defaultValue?: unknown;
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
26
|
+
* Returns the coerced default value for an input value definition, if it exists.
|
|
27
|
+
*
|
|
28
|
+
* If the default value is invalid, this will throw an error. Invalid default
|
|
29
|
+
* values should be caught during validation, however, so this function assumes
|
|
30
|
+
* that the default value is valid.
|
|
25
31
|
* @internal
|
|
26
32
|
*/
|
|
27
33
|
export declare function coerceDefaultValue(inputValue: InputValue): unknown;
|