graphql 17.0.0-beta.0 → 17.0.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__dev__/execution/buildResolveInfo.d.mts +1 -0
- package/__dev__/execution/buildResolveInfo.d.ts +1 -0
- package/__dev__/execution/buildResolveInfo.js +3 -0
- package/__dev__/execution/buildResolveInfo.mjs +3 -0
- package/devMode.js +2 -2
- package/devMode.js.map +1 -1
- package/devMode.mjs.map +1 -1
- package/error/GraphQLError.d.mts +4 -4
- package/error/GraphQLError.d.ts +4 -4
- package/error/GraphQLError.js +10 -11
- package/error/GraphQLError.js.map +1 -1
- package/error/GraphQLError.mjs +2 -3
- package/error/GraphQLError.mjs.map +1 -1
- package/error/ensureGraphQLError.d.mts +1 -1
- package/error/ensureGraphQLError.d.ts +1 -1
- package/error/ensureGraphQLError.js +5 -5
- package/error/ensureGraphQLError.js.map +1 -1
- package/error/ensureGraphQLError.mjs.map +1 -1
- package/error/index.d.mts +4 -4
- package/error/index.d.ts +4 -4
- package/error/index.js +6 -6
- package/error/index.js.map +1 -1
- package/error/index.mjs.map +1 -1
- package/error/locatedError.d.mts +3 -3
- package/error/locatedError.d.ts +3 -3
- package/error/locatedError.js +4 -4
- package/error/locatedError.js.map +1 -1
- package/error/locatedError.mjs.map +1 -1
- package/error/syntaxError.d.mts +2 -2
- package/error/syntaxError.d.ts +2 -2
- package/error/syntaxError.js +2 -2
- package/error/syntaxError.js.map +1 -1
- package/error/syntaxError.mjs.map +1 -1
- package/execution/AbortedGraphQLExecutionError.d.mts +1 -1
- package/execution/AbortedGraphQLExecutionError.d.ts +1 -1
- package/execution/AbortedGraphQLExecutionError.js.map +1 -1
- package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
- package/execution/AsyncWorkTracker.js +2 -2
- package/execution/AsyncWorkTracker.js.map +1 -1
- package/execution/AsyncWorkTracker.mjs.map +1 -1
- package/execution/Executor.d.mts +16 -17
- package/execution/Executor.d.ts +16 -17
- package/execution/Executor.js +83 -85
- package/execution/Executor.js.map +1 -1
- package/execution/Executor.mjs +3 -5
- package/execution/Executor.mjs.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
- package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
- package/execution/ExecutorThrowingOnIncremental.js +11 -11
- package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
- package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
- package/execution/buildResolveInfo.d.mts +14 -0
- package/execution/buildResolveInfo.d.ts +14 -0
- package/execution/buildResolveInfo.js +24 -0
- package/execution/buildResolveInfo.js.map +1 -0
- package/execution/buildResolveInfo.mjs +21 -0
- package/execution/buildResolveInfo.mjs.map +1 -0
- package/execution/cancellablePromise.js +2 -2
- package/execution/cancellablePromise.js.map +1 -1
- package/execution/cancellablePromise.mjs.map +1 -1
- package/execution/collectFields.d.mts +6 -6
- package/execution/collectFields.d.ts +6 -6
- package/execution/collectFields.js +19 -19
- package/execution/collectFields.js.map +1 -1
- package/execution/collectFields.mjs.map +1 -1
- package/execution/collectIteratorPromises.js +2 -2
- package/execution/collectIteratorPromises.js.map +1 -1
- package/execution/collectIteratorPromises.mjs.map +1 -1
- package/execution/createSharedExecutionContext.d.mts +2 -2
- package/execution/createSharedExecutionContext.d.ts +2 -2
- package/execution/createSharedExecutionContext.js +2 -2
- package/execution/createSharedExecutionContext.js.map +1 -1
- package/execution/createSharedExecutionContext.mjs.map +1 -1
- package/execution/execute.d.mts +14 -14
- package/execution/execute.d.ts +14 -14
- package/execution/execute.js +78 -98
- package/execution/execute.js.map +1 -1
- package/execution/execute.mjs +17 -37
- package/execution/execute.mjs.map +1 -1
- package/execution/getStreamUsage.d.mts +2 -2
- package/execution/getStreamUsage.d.ts +2 -2
- package/execution/getStreamUsage.js +9 -9
- package/execution/getStreamUsage.js.map +1 -1
- package/execution/getStreamUsage.mjs.map +1 -1
- package/execution/getVariableSignature.d.mts +3 -3
- package/execution/getVariableSignature.d.ts +3 -3
- package/execution/getVariableSignature.js +8 -8
- package/execution/getVariableSignature.js.map +1 -1
- package/execution/getVariableSignature.mjs.map +1 -1
- package/execution/hooks.d.mts +2 -2
- package/execution/hooks.d.ts +2 -2
- package/execution/hooks.js.map +1 -1
- package/execution/hooks.mjs.map +1 -1
- package/execution/incremental/Computation.d.mts +1 -1
- package/execution/incremental/Computation.d.ts +1 -1
- package/execution/incremental/Computation.js +2 -2
- package/execution/incremental/Computation.js.map +1 -1
- package/execution/incremental/Computation.mjs.map +1 -1
- package/execution/incremental/IncrementalExecutor.d.mts +14 -14
- package/execution/incremental/IncrementalExecutor.d.ts +14 -14
- package/execution/incremental/IncrementalExecutor.js +48 -48
- package/execution/incremental/IncrementalExecutor.js.map +1 -1
- package/execution/incremental/IncrementalExecutor.mjs +3 -3
- package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
- package/execution/incremental/IncrementalPublisher.d.mts +3 -3
- package/execution/incremental/IncrementalPublisher.d.ts +3 -3
- package/execution/incremental/IncrementalPublisher.js +13 -14
- package/execution/incremental/IncrementalPublisher.js.map +1 -1
- package/execution/incremental/IncrementalPublisher.mjs +1 -2
- package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
- package/execution/incremental/Queue.d.mts +1 -1
- package/execution/incremental/Queue.d.ts +1 -1
- package/execution/incremental/Queue.js +26 -22
- package/execution/incremental/Queue.js.map +1 -1
- package/execution/incremental/Queue.mjs +10 -6
- package/execution/incremental/Queue.mjs.map +1 -1
- package/execution/incremental/WorkQueue.d.mts +2 -2
- package/execution/incremental/WorkQueue.d.ts +2 -2
- package/execution/incremental/WorkQueue.js +7 -7
- package/execution/incremental/WorkQueue.js.map +1 -1
- package/execution/incremental/WorkQueue.mjs.map +1 -1
- package/execution/incremental/buildExecutionPlan.d.mts +1 -1
- package/execution/incremental/buildExecutionPlan.d.ts +1 -1
- package/execution/incremental/buildExecutionPlan.js +4 -4
- package/execution/incremental/buildExecutionPlan.js.map +1 -1
- package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
- package/execution/index.d.mts +8 -8
- package/execution/index.d.ts +8 -8
- package/execution/index.js +23 -22
- package/execution/index.js.map +1 -1
- package/execution/index.mjs +1 -1
- package/execution/index.mjs.map +1 -1
- package/execution/mapAsyncIterable.d.mts +1 -1
- package/execution/mapAsyncIterable.d.ts +1 -1
- package/execution/mapAsyncIterable.js +4 -4
- package/execution/mapAsyncIterable.js.map +1 -1
- package/execution/mapAsyncIterable.mjs.map +1 -1
- package/execution/returnIteratorCatchingErrors.js +1 -1
- package/execution/returnIteratorCatchingErrors.js.map +1 -1
- package/execution/returnIteratorCatchingErrors.mjs +1 -1
- package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
- package/execution/values.d.mts +9 -9
- package/execution/values.d.ts +9 -9
- package/execution/values.js +34 -34
- package/execution/values.js.map +1 -1
- package/execution/values.mjs +2 -2
- package/execution/values.mjs.map +1 -1
- package/execution/withConcurrentAbruptClose.d.mts +1 -1
- package/execution/withConcurrentAbruptClose.d.ts +1 -1
- package/execution/withConcurrentAbruptClose.js +4 -4
- package/execution/withConcurrentAbruptClose.js.map +1 -1
- package/execution/withConcurrentAbruptClose.mjs +2 -2
- package/execution/withConcurrentAbruptClose.mjs.map +1 -1
- package/graphql.d.mts +7 -7
- package/graphql.d.ts +7 -7
- package/graphql.js +11 -11
- package/graphql.js.map +1 -1
- package/graphql.mjs.map +1 -1
- package/harness.d.mts +4 -4
- package/harness.d.ts +4 -4
- package/harness.js +7 -7
- package/harness.js.map +1 -1
- package/harness.mjs.map +1 -1
- package/index.d.mts +20 -20
- package/index.d.ts +20 -20
- package/index.js +253 -252
- package/index.js.map +1 -1
- package/index.mjs +1 -1
- package/index.mjs.map +1 -1
- package/jsutils/Path.d.mts +1 -1
- package/jsutils/Path.d.ts +1 -1
- package/jsutils/Path.js.map +1 -1
- package/jsutils/Path.mjs.map +1 -1
- package/jsutils/didYouMean.js +2 -2
- package/jsutils/didYouMean.js.map +1 -1
- package/jsutils/didYouMean.mjs.map +1 -1
- package/jsutils/formatList.js +2 -2
- package/jsutils/formatList.js.map +1 -1
- package/jsutils/formatList.mjs.map +1 -1
- package/jsutils/getBySet.js +2 -2
- package/jsutils/getBySet.js.map +1 -1
- package/jsutils/getBySet.mjs.map +1 -1
- package/jsutils/groupBy.js +2 -2
- package/jsutils/groupBy.js.map +1 -1
- package/jsutils/groupBy.mjs.map +1 -1
- package/jsutils/instanceOf.js +2 -2
- package/jsutils/instanceOf.js.map +1 -1
- package/jsutils/instanceOf.mjs.map +1 -1
- package/jsutils/keyMap.d.mts +1 -1
- package/jsutils/keyMap.d.ts +1 -1
- package/jsutils/keyMap.js.map +1 -1
- package/jsutils/keyMap.mjs.map +1 -1
- package/jsutils/keyValMap.d.mts +1 -1
- package/jsutils/keyValMap.d.ts +1 -1
- package/jsutils/keyValMap.js.map +1 -1
- package/jsutils/keyValMap.mjs.map +1 -1
- package/jsutils/mapValue.d.mts +1 -1
- package/jsutils/mapValue.d.ts +1 -1
- package/jsutils/mapValue.js.map +1 -1
- package/jsutils/mapValue.mjs.map +1 -1
- package/jsutils/promiseForObject.d.mts +2 -2
- package/jsutils/promiseForObject.d.ts +2 -2
- package/jsutils/promiseForObject.js.map +1 -1
- package/jsutils/promiseForObject.mjs.map +1 -1
- package/jsutils/promiseReduce.d.mts +1 -1
- package/jsutils/promiseReduce.d.ts +1 -1
- package/jsutils/promiseReduce.js +2 -2
- package/jsutils/promiseReduce.js.map +1 -1
- package/jsutils/promiseReduce.mjs.map +1 -1
- package/jsutils/promiseWithResolvers.d.mts +1 -1
- package/jsutils/promiseWithResolvers.d.ts +1 -1
- package/jsutils/promiseWithResolvers.js.map +1 -1
- package/jsutils/promiseWithResolvers.mjs.map +1 -1
- package/jsutils/suggestionList.js +2 -2
- package/jsutils/suggestionList.js.map +1 -1
- package/jsutils/suggestionList.mjs.map +1 -1
- package/jsutils/toError.js +2 -2
- package/jsutils/toError.js.map +1 -1
- package/jsutils/toError.mjs.map +1 -1
- package/jsutils/toObjMap.d.mts +2 -2
- package/jsutils/toObjMap.d.ts +2 -2
- package/jsutils/toObjMap.js.map +1 -1
- package/jsutils/toObjMap.mjs.map +1 -1
- package/language/KindTypeMap.d.mts +1 -1
- package/language/KindTypeMap.d.ts +1 -1
- package/language/KindTypeMap.js.map +1 -1
- package/language/KindTypeMap.mjs.map +1 -1
- package/language/ast.d.mts +12 -5
- package/language/ast.d.ts +12 -5
- package/language/ast.js +8 -1
- package/language/ast.js.map +1 -1
- package/language/ast.mjs +8 -1
- package/language/ast.mjs.map +1 -1
- package/language/blockString.js +4 -4
- package/language/blockString.js.map +1 -1
- package/language/blockString.mjs.map +1 -1
- package/language/directiveLocation.d.mts +2 -1
- package/language/directiveLocation.d.ts +2 -1
- package/language/directiveLocation.js +2 -1
- package/language/directiveLocation.js.map +1 -1
- package/language/directiveLocation.mjs +2 -1
- package/language/directiveLocation.mjs.map +1 -1
- package/language/index.d.mts +16 -16
- package/language/index.d.ts +16 -16
- package/language/index.js +45 -45
- package/language/index.js.map +1 -1
- package/language/index.mjs.map +1 -1
- package/language/kinds.d.mts +2 -2
- package/language/kinds.d.ts +2 -2
- package/language/kinds.js.map +1 -1
- package/language/kinds.mjs.map +1 -1
- package/language/kinds_.d.mts +2 -0
- package/language/kinds_.d.ts +2 -0
- package/language/kinds_.js +2 -1
- package/language/kinds_.js.map +1 -1
- package/language/kinds_.mjs +1 -0
- package/language/kinds_.mjs.map +1 -1
- package/language/lexer.d.mts +3 -3
- package/language/lexer.d.ts +3 -3
- package/language/lexer.js +67 -67
- package/language/lexer.js.map +1 -1
- package/language/lexer.mjs.map +1 -1
- package/language/location.d.mts +1 -1
- package/language/location.d.ts +1 -1
- package/language/location.js +2 -2
- package/language/location.js.map +1 -1
- package/language/location.mjs.map +1 -1
- package/language/parser.d.mts +20 -7
- package/language/parser.d.ts +20 -7
- package/language/parser.js +185 -155
- package/language/parser.js.map +1 -1
- package/language/parser.mjs +30 -0
- package/language/parser.mjs.map +1 -1
- package/language/predicates.d.mts +1 -1
- package/language/predicates.d.ts +1 -1
- package/language/predicates.js +45 -43
- package/language/predicates.js.map +1 -1
- package/language/predicates.mjs +3 -1
- package/language/predicates.mjs.map +1 -1
- package/language/printLocation.d.mts +3 -3
- package/language/printLocation.d.ts +3 -3
- package/language/printLocation.js +2 -2
- package/language/printLocation.js.map +1 -1
- package/language/printLocation.mjs.map +1 -1
- package/language/printer.d.mts +1 -1
- package/language/printer.d.ts +1 -1
- package/language/printer.js +10 -6
- package/language/printer.js.map +1 -1
- package/language/printer.mjs +5 -1
- package/language/printer.mjs.map +1 -1
- package/language/schemaCoordinateLexer.d.mts +3 -3
- package/language/schemaCoordinateLexer.d.ts +3 -3
- package/language/schemaCoordinateLexer.js +16 -16
- package/language/schemaCoordinateLexer.js.map +1 -1
- package/language/schemaCoordinateLexer.mjs.map +1 -1
- package/language/source.js +5 -5
- package/language/source.js.map +1 -1
- package/language/source.mjs.map +1 -1
- package/language/visitor.d.mts +2 -2
- package/language/visitor.d.ts +2 -2
- package/language/visitor.js +10 -10
- package/language/visitor.js.map +1 -1
- package/language/visitor.mjs.map +1 -1
- package/package.json +2 -2
- package/type/assertName.js +8 -8
- package/type/assertName.js.map +1 -1
- package/type/assertName.mjs.map +1 -1
- package/type/definition.d.mts +9 -9
- package/type/definition.d.ts +9 -9
- package/type/definition.js +94 -94
- package/type/definition.js.map +1 -1
- package/type/definition.mjs.map +1 -1
- package/type/directives.d.mts +11 -6
- package/type/directives.d.ts +11 -6
- package/type/directives.js +51 -46
- package/type/directives.js.map +1 -1
- package/type/directives.mjs +5 -0
- package/type/directives.mjs.map +1 -1
- package/type/index.d.mts +12 -12
- package/type/index.d.ts +12 -12
- package/type/index.js +106 -106
- package/type/index.js.map +1 -1
- package/type/index.mjs.map +1 -1
- package/type/introspection.d.mts +2 -2
- package/type/introspection.d.ts +2 -2
- package/type/introspection.js +123 -103
- package/type/introspection.js.map +1 -1
- package/type/introspection.mjs +25 -5
- package/type/introspection.mjs.map +1 -1
- package/type/scalars.d.mts +2 -2
- package/type/scalars.d.ts +2 -2
- package/type/scalars.js +61 -61
- package/type/scalars.js.map +1 -1
- package/type/scalars.mjs.map +1 -1
- package/type/schema.d.mts +7 -7
- package/type/schema.d.ts +7 -7
- package/type/schema.js +32 -32
- package/type/schema.js.map +1 -1
- package/type/schema.mjs.map +1 -1
- package/type/validate.d.mts +4 -4
- package/type/validate.d.ts +4 -4
- package/type/validate.js +83 -83
- package/type/validate.js.map +1 -1
- package/type/validate.mjs +1 -1
- package/type/validate.mjs.map +1 -1
- package/utilities/TypeInfo.d.mts +6 -6
- package/utilities/TypeInfo.d.ts +6 -6
- package/utilities/TypeInfo.js +61 -61
- package/utilities/TypeInfo.js.map +1 -1
- package/utilities/TypeInfo.mjs +1 -1
- package/utilities/TypeInfo.mjs.map +1 -1
- package/utilities/astFromValue.d.mts +3 -3
- package/utilities/astFromValue.d.ts +3 -3
- package/utilities/astFromValue.js +31 -33
- package/utilities/astFromValue.js.map +1 -1
- package/utilities/astFromValue.mjs +1 -3
- package/utilities/astFromValue.mjs.map +1 -1
- package/utilities/buildASTSchema.d.mts +5 -5
- package/utilities/buildASTSchema.d.ts +5 -5
- package/utilities/buildASTSchema.js +11 -10
- package/utilities/buildASTSchema.js.map +1 -1
- package/utilities/buildASTSchema.mjs +1 -0
- package/utilities/buildASTSchema.mjs.map +1 -1
- package/utilities/buildClientSchema.d.mts +3 -3
- package/utilities/buildClientSchema.d.ts +3 -3
- package/utilities/buildClientSchema.js +53 -52
- package/utilities/buildClientSchema.js.map +1 -1
- package/utilities/buildClientSchema.mjs +1 -0
- package/utilities/buildClientSchema.mjs.map +1 -1
- package/utilities/coerceInputValue.d.mts +5 -5
- package/utilities/coerceInputValue.d.ts +5 -5
- package/utilities/coerceInputValue.js +31 -31
- package/utilities/coerceInputValue.js.map +1 -1
- package/utilities/coerceInputValue.mjs.map +1 -1
- package/utilities/concatAST.d.mts +1 -1
- package/utilities/concatAST.d.ts +1 -1
- package/utilities/concatAST.js +2 -2
- package/utilities/concatAST.js.map +1 -1
- package/utilities/concatAST.mjs.map +1 -1
- package/utilities/extendSchema.d.mts +3 -3
- package/utilities/extendSchema.d.ts +3 -3
- package/utilities/extendSchema.js +92 -66
- package/utilities/extendSchema.js.map +1 -1
- package/utilities/extendSchema.mjs +27 -1
- package/utilities/extendSchema.mjs.map +1 -1
- package/utilities/findSchemaChanges.d.mts +1 -1
- package/utilities/findSchemaChanges.d.ts +1 -1
- package/utilities/findSchemaChanges.js +42 -44
- package/utilities/findSchemaChanges.js.map +1 -1
- package/utilities/findSchemaChanges.mjs +1 -3
- package/utilities/findSchemaChanges.mjs.map +1 -1
- package/utilities/getDefaultValueAST.d.mts +2 -2
- package/utilities/getDefaultValueAST.d.ts +2 -2
- package/utilities/getDefaultValueAST.js +9 -7
- package/utilities/getDefaultValueAST.js.map +1 -1
- package/utilities/getDefaultValueAST.mjs +2 -0
- package/utilities/getDefaultValueAST.mjs.map +1 -1
- package/utilities/getIntrospectionQuery.d.mts +19 -3
- package/utilities/getIntrospectionQuery.d.ts +19 -3
- package/utilities/getIntrospectionQuery.js +22 -38
- package/utilities/getIntrospectionQuery.js.map +1 -1
- package/utilities/getIntrospectionQuery.mjs +22 -38
- package/utilities/getIntrospectionQuery.mjs.map +1 -1
- package/utilities/getOperationAST.d.mts +2 -2
- package/utilities/getOperationAST.d.ts +2 -2
- package/utilities/getOperationAST.js +2 -2
- package/utilities/getOperationAST.js.map +1 -1
- package/utilities/getOperationAST.mjs.map +1 -1
- package/utilities/index.d.mts +28 -28
- package/utilities/index.d.ts +28 -28
- package/utilities/index.js +61 -61
- package/utilities/index.js.map +1 -1
- package/utilities/index.mjs.map +1 -1
- package/utilities/introspectionFromSchema.d.mts +2 -2
- package/utilities/introspectionFromSchema.d.ts +2 -2
- package/utilities/introspectionFromSchema.js +8 -7
- package/utilities/introspectionFromSchema.js.map +1 -1
- package/utilities/introspectionFromSchema.mjs +1 -0
- package/utilities/introspectionFromSchema.mjs.map +1 -1
- package/utilities/lexicographicSortSchema.d.mts +1 -1
- package/utilities/lexicographicSortSchema.d.ts +1 -1
- package/utilities/lexicographicSortSchema.js +14 -14
- package/utilities/lexicographicSortSchema.js.map +1 -1
- package/utilities/lexicographicSortSchema.mjs.map +1 -1
- package/utilities/mapSchemaConfig.d.mts +3 -3
- package/utilities/mapSchemaConfig.d.ts +3 -3
- package/utilities/mapSchemaConfig.js +29 -31
- package/utilities/mapSchemaConfig.js.map +1 -1
- package/utilities/mapSchemaConfig.mjs +1 -3
- package/utilities/mapSchemaConfig.mjs.map +1 -1
- package/utilities/printSchema.d.mts +3 -3
- package/utilities/printSchema.d.ts +3 -3
- package/utilities/printSchema.js +31 -32
- package/utilities/printSchema.js.map +1 -1
- package/utilities/printSchema.mjs +2 -3
- package/utilities/printSchema.mjs.map +1 -1
- package/utilities/replaceVariables.d.mts +4 -4
- package/utilities/replaceVariables.d.ts +4 -4
- package/utilities/replaceVariables.js +9 -9
- package/utilities/replaceVariables.js.map +1 -1
- package/utilities/replaceVariables.mjs.map +1 -1
- package/utilities/resolveSchemaCoordinate.d.mts +5 -5
- package/utilities/resolveSchemaCoordinate.d.ts +5 -5
- package/utilities/resolveSchemaCoordinate.js +23 -23
- package/utilities/resolveSchemaCoordinate.js.map +1 -1
- package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
- package/utilities/separateOperations.d.mts +2 -2
- package/utilities/separateOperations.d.ts +2 -2
- package/utilities/separateOperations.js +7 -7
- package/utilities/separateOperations.js.map +1 -1
- package/utilities/separateOperations.mjs.map +1 -1
- package/utilities/sortValueNode.d.mts +1 -1
- package/utilities/sortValueNode.d.ts +1 -1
- package/utilities/sortValueNode.js +12 -12
- package/utilities/sortValueNode.js.map +1 -1
- package/utilities/sortValueNode.mjs.map +1 -1
- package/utilities/stripIgnoredCharacters.d.mts +1 -1
- package/utilities/stripIgnoredCharacters.d.ts +1 -1
- package/utilities/stripIgnoredCharacters.js +11 -11
- package/utilities/stripIgnoredCharacters.js.map +1 -1
- package/utilities/stripIgnoredCharacters.mjs.map +1 -1
- package/utilities/typeComparators.d.mts +2 -2
- package/utilities/typeComparators.d.ts +2 -2
- package/utilities/typeComparators.js +14 -14
- package/utilities/typeComparators.js.map +1 -1
- package/utilities/typeComparators.mjs.map +1 -1
- package/utilities/typeFromAST.d.mts +4 -4
- package/utilities/typeFromAST.d.ts +4 -4
- package/utilities/typeFromAST.js +7 -7
- package/utilities/typeFromAST.js.map +1 -1
- package/utilities/typeFromAST.mjs.map +1 -1
- package/utilities/typedQueryDocumentNode.d.mts +1 -1
- package/utilities/typedQueryDocumentNode.d.ts +1 -1
- package/utilities/typedQueryDocumentNode.js.map +1 -1
- package/utilities/typedQueryDocumentNode.mjs.map +1 -1
- package/utilities/validateInputValue.d.mts +6 -6
- package/utilities/validateInputValue.d.ts +6 -6
- package/utilities/validateInputValue.js +60 -60
- package/utilities/validateInputValue.js.map +1 -1
- package/utilities/validateInputValue.mjs.map +1 -1
- package/utilities/valueFromAST.d.mts +4 -4
- package/utilities/valueFromAST.d.ts +4 -4
- package/utilities/valueFromAST.js +20 -22
- package/utilities/valueFromAST.js.map +1 -1
- package/utilities/valueFromAST.mjs +1 -3
- package/utilities/valueFromAST.mjs.map +1 -1
- package/utilities/valueFromASTUntyped.d.mts +3 -3
- package/utilities/valueFromASTUntyped.d.ts +3 -3
- package/utilities/valueFromASTUntyped.js +12 -12
- package/utilities/valueFromASTUntyped.js.map +1 -1
- package/utilities/valueFromASTUntyped.mjs.map +1 -1
- package/utilities/valueToLiteral.d.mts +2 -2
- package/utilities/valueToLiteral.d.ts +2 -2
- package/utilities/valueToLiteral.js +30 -30
- package/utilities/valueToLiteral.js.map +1 -1
- package/utilities/valueToLiteral.mjs.map +1 -1
- package/validation/ValidationContext.d.mts +9 -9
- package/validation/ValidationContext.d.ts +9 -9
- package/validation/ValidationContext.js +8 -8
- package/validation/ValidationContext.js.map +1 -1
- package/validation/ValidationContext.mjs.map +1 -1
- package/validation/index.d.mts +46 -46
- package/validation/index.d.ts +46 -46
- package/validation/index.js +91 -91
- package/validation/index.js.map +1 -1
- package/validation/index.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +2 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +2 -2
- package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -9
- package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +2 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +2 -2
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -8
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +2 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +2 -2
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -14
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
- package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.d.mts +2 -2
- package/validation/rules/ExecutableDefinitionsRule.d.ts +2 -2
- package/validation/rules/ExecutableDefinitionsRule.js +7 -7
- package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
- package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.d.mts +2 -2
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +2 -2
- package/validation/rules/FieldsOnCorrectTypeRule.js +14 -14
- package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
- package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +2 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +2 -2
- package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -12
- package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.d.mts +2 -2
- package/validation/rules/KnownArgumentNamesRule.d.ts +2 -2
- package/validation/rules/KnownArgumentNamesRule.js +16 -16
- package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
- package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownDirectivesRule.d.mts +2 -2
- package/validation/rules/KnownDirectivesRule.d.ts +2 -2
- package/validation/rules/KnownDirectivesRule.js +67 -64
- package/validation/rules/KnownDirectivesRule.js.map +1 -1
- package/validation/rules/KnownDirectivesRule.mjs +4 -1
- package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.d.mts +2 -2
- package/validation/rules/KnownFragmentNamesRule.d.ts +2 -2
- package/validation/rules/KnownFragmentNamesRule.js +2 -2
- package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
- package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/KnownOperationTypesRule.d.mts +2 -2
- package/validation/rules/KnownOperationTypesRule.d.ts +2 -2
- package/validation/rules/KnownOperationTypesRule.js +2 -2
- package/validation/rules/KnownOperationTypesRule.js.map +1 -1
- package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
- package/validation/rules/KnownTypeNamesRule.d.mts +2 -2
- package/validation/rules/KnownTypeNamesRule.d.ts +2 -2
- package/validation/rules/KnownTypeNamesRule.js +11 -11
- package/validation/rules/KnownTypeNamesRule.js.map +1 -1
- package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.d.mts +2 -2
- package/validation/rules/LoneAnonymousOperationRule.d.ts +2 -2
- package/validation/rules/LoneAnonymousOperationRule.js +4 -4
- package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
- package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.d.mts +2 -2
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +2 -2
- package/validation/rules/LoneSchemaDefinitionRule.js +3 -3
- package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
- package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.d.mts +2 -2
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +2 -2
- package/validation/rules/MaxIntrospectionDepthRule.js +5 -5
- package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
- package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.d.mts +2 -2
- package/validation/rules/NoFragmentCyclesRule.d.ts +2 -2
- package/validation/rules/NoFragmentCyclesRule.js +2 -2
- package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
- package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.d.mts +2 -2
- package/validation/rules/NoUndefinedVariablesRule.d.ts +2 -2
- package/validation/rules/NoUndefinedVariablesRule.js +2 -2
- package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
- package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.d.mts +2 -2
- package/validation/rules/NoUnusedFragmentsRule.d.ts +2 -2
- package/validation/rules/NoUnusedFragmentsRule.js +2 -2
- package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
- package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.d.mts +2 -2
- package/validation/rules/NoUnusedVariablesRule.d.ts +2 -2
- package/validation/rules/NoUnusedVariablesRule.js +3 -3
- package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
- package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +2 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +2 -2
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +31 -31
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.d.mts +2 -2
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +2 -2
- package/validation/rules/PossibleFragmentSpreadsRule.js +17 -17
- package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
- package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.d.mts +2 -2
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +2 -2
- package/validation/rules/PossibleTypeExtensionsRule.js +40 -42
- package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
- package/validation/rules/PossibleTypeExtensionsRule.mjs +2 -4
- package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +2 -2
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +2 -2
- package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -20
- package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
- package/validation/rules/ScalarLeafsRule.d.mts +2 -2
- package/validation/rules/ScalarLeafsRule.d.ts +2 -2
- package/validation/rules/ScalarLeafsRule.js +10 -10
- package/validation/rules/ScalarLeafsRule.js.map +1 -1
- package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.d.mts +2 -2
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +2 -2
- package/validation/rules/SingleFieldSubscriptionsRule.js +8 -8
- package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
- package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +2 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +2 -2
- package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -7
- package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
- package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +2 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +2 -2
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -4
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.d.mts +2 -2
- package/validation/rules/UniqueArgumentNamesRule.d.ts +2 -2
- package/validation/rules/UniqueArgumentNamesRule.js +4 -4
- package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
- package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.d.mts +2 -2
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +2 -2
- package/validation/rules/UniqueDirectiveNamesRule.js +3 -3
- package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
- package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +2 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +2 -2
- package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -10
- package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.d.mts +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +2 -2
- package/validation/rules/UniqueEnumValueNamesRule.js +5 -5
- package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
- package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +2 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +2 -2
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -5
- package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.d.mts +2 -2
- package/validation/rules/UniqueFragmentNamesRule.d.ts +2 -2
- package/validation/rules/UniqueFragmentNamesRule.js +2 -2
- package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
- package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.d.mts +2 -2
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +2 -2
- package/validation/rules/UniqueInputFieldNamesRule.js +4 -4
- package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
- package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.d.mts +2 -2
- package/validation/rules/UniqueOperationNamesRule.d.ts +2 -2
- package/validation/rules/UniqueOperationNamesRule.js +2 -2
- package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
- package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.d.mts +2 -2
- package/validation/rules/UniqueOperationTypesRule.d.ts +2 -2
- package/validation/rules/UniqueOperationTypesRule.js +3 -3
- package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
- package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.d.mts +2 -2
- package/validation/rules/UniqueTypeNamesRule.d.ts +2 -2
- package/validation/rules/UniqueTypeNamesRule.js +3 -3
- package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
- package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.d.mts +2 -2
- package/validation/rules/UniqueVariableNamesRule.d.ts +2 -2
- package/validation/rules/UniqueVariableNamesRule.js +4 -4
- package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
- package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.d.mts +2 -2
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +2 -2
- package/validation/rules/ValuesOfCorrectTypeRule.js +2 -2
- package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
- package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.d.mts +2 -2
- package/validation/rules/VariablesAreInputTypesRule.d.ts +2 -2
- package/validation/rules/VariablesAreInputTypesRule.js +8 -8
- package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
- package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.d.mts +2 -2
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +2 -2
- package/validation/rules/VariablesInAllowedPositionRule.js +14 -14
- package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +2 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +2 -2
- package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -8
- package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +2 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +2 -2
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -6
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
- package/validation/specifiedRules.d.mts +1 -1
- package/validation/specifiedRules.d.ts +1 -1
- package/validation/specifiedRules.js +87 -87
- package/validation/specifiedRules.js.map +1 -1
- package/validation/specifiedRules.mjs.map +1 -1
- package/validation/validate.d.mts +5 -5
- package/validation/validate.d.ts +5 -5
- package/validation/validate.js +19 -19
- package/validation/validate.js.map +1 -1
- package/validation/validate.mjs.map +1 -1
- package/version.js +2 -2
- package/version.js.map +1 -1
- package/version.mjs +2 -2
- package/version.mjs.map +1 -1
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildClientSchema = buildClientSchema;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
4
|
+
const devAssert_ts_1 = require("../jsutils/devAssert.js");
|
|
5
|
+
const inspect_ts_1 = require("../jsutils/inspect.js");
|
|
6
|
+
const isObjectLike_ts_1 = require("../jsutils/isObjectLike.js");
|
|
7
|
+
const keyValMap_ts_1 = require("../jsutils/keyValMap.js");
|
|
8
|
+
const parser_ts_1 = require("../language/parser.js");
|
|
9
|
+
const definition_ts_1 = require("../type/definition.js");
|
|
10
|
+
const directives_ts_1 = require("../type/directives.js");
|
|
11
|
+
const introspection_ts_1 = require("../type/introspection.js");
|
|
12
|
+
const scalars_ts_1 = require("../type/scalars.js");
|
|
13
|
+
const schema_ts_1 = require("../type/schema.js");
|
|
14
14
|
/**
|
|
15
15
|
* Build a GraphQLSchema for use by client tools.
|
|
16
16
|
*
|
|
@@ -24,11 +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
|
-
if (!((0,
|
|
27
|
+
if (!((0, isObjectLike_ts_1.isObjectLike)(introspection) && (0, isObjectLike_ts_1.isObjectLike)(introspection.__schema)))
|
|
28
28
|
(0,
|
|
29
29
|
// Even though the `introspection` argument is typed, in most cases it's received
|
|
30
30
|
// as an untyped value from the server, so we will do an additional check here.
|
|
31
|
-
|
|
31
|
+
devAssert_ts_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_ts_1.inspect)(introspection)}.`);
|
|
32
32
|
// Get the schema from the introspection result.
|
|
33
33
|
const schemaIntrospection = introspection.__schema;
|
|
34
34
|
// Iterate through all types, getting the type definition for each.
|
|
@@ -37,7 +37,7 @@ function buildClientSchema(introspection, options) {
|
|
|
37
37
|
buildType(typeIntrospection),
|
|
38
38
|
]));
|
|
39
39
|
// Include standard types only if they are used.
|
|
40
|
-
for (const stdType of [...
|
|
40
|
+
for (const stdType of [...scalars_ts_1.specifiedScalarTypes, ...introspection_ts_1.introspectionTypes]) {
|
|
41
41
|
if (typeMap.has(stdType.name)) {
|
|
42
42
|
typeMap.set(stdType.name, stdType);
|
|
43
43
|
}
|
|
@@ -58,7 +58,7 @@ function buildClientSchema(introspection, options) {
|
|
|
58
58
|
? schemaIntrospection.directives.map(buildDirective)
|
|
59
59
|
: [];
|
|
60
60
|
// Then produce and return a Schema with these types.
|
|
61
|
-
return new
|
|
61
|
+
return new schema_ts_1.GraphQLSchema({
|
|
62
62
|
description: schemaIntrospection.description,
|
|
63
63
|
query: queryType,
|
|
64
64
|
mutation: mutationType,
|
|
@@ -70,27 +70,27 @@ function buildClientSchema(introspection, options) {
|
|
|
70
70
|
// Given a type reference in introspection, return the GraphQLType instance.
|
|
71
71
|
// preferring cached instances before building new instances.
|
|
72
72
|
function getType(typeRef) {
|
|
73
|
-
if (typeRef.kind ===
|
|
73
|
+
if (typeRef.kind === introspection_ts_1.TypeKind.LIST) {
|
|
74
74
|
const itemRef = typeRef.ofType;
|
|
75
75
|
if (itemRef == null) {
|
|
76
76
|
throw new Error('Decorated type deeper than introspection query.');
|
|
77
77
|
}
|
|
78
|
-
return new
|
|
78
|
+
return new definition_ts_1.GraphQLList(getType(itemRef));
|
|
79
79
|
}
|
|
80
|
-
if (typeRef.kind ===
|
|
80
|
+
if (typeRef.kind === introspection_ts_1.TypeKind.NON_NULL) {
|
|
81
81
|
const nullableRef = typeRef.ofType;
|
|
82
82
|
if (nullableRef == null) {
|
|
83
83
|
throw new Error('Decorated type deeper than introspection query.');
|
|
84
84
|
}
|
|
85
85
|
const nullableType = getType(nullableRef);
|
|
86
|
-
return new
|
|
86
|
+
return new definition_ts_1.GraphQLNonNull((0, definition_ts_1.assertNullableType)(nullableType));
|
|
87
87
|
}
|
|
88
88
|
return getNamedType(typeRef);
|
|
89
89
|
}
|
|
90
90
|
function getNamedType(typeRef) {
|
|
91
91
|
const typeName = typeRef.name;
|
|
92
92
|
if (!typeName) {
|
|
93
|
-
throw new Error(`Unknown type reference: ${(0,
|
|
93
|
+
throw new Error(`Unknown type reference: ${(0, inspect_ts_1.inspect)(typeRef)}.`);
|
|
94
94
|
}
|
|
95
95
|
const type = typeMap.get(typeName);
|
|
96
96
|
if (type == null) {
|
|
@@ -99,36 +99,36 @@ function buildClientSchema(introspection, options) {
|
|
|
99
99
|
return type;
|
|
100
100
|
}
|
|
101
101
|
function getObjectType(typeRef) {
|
|
102
|
-
return (0,
|
|
102
|
+
return (0, definition_ts_1.assertObjectType)(getNamedType(typeRef));
|
|
103
103
|
}
|
|
104
104
|
function getInterfaceType(typeRef) {
|
|
105
|
-
return (0,
|
|
105
|
+
return (0, definition_ts_1.assertInterfaceType)(getNamedType(typeRef));
|
|
106
106
|
}
|
|
107
107
|
// Given a type's introspection result, construct the correct
|
|
108
108
|
// GraphQLType instance.
|
|
109
109
|
function buildType(type) {
|
|
110
110
|
switch (type.kind) {
|
|
111
|
-
case
|
|
111
|
+
case introspection_ts_1.TypeKind.SCALAR:
|
|
112
112
|
return buildScalarDef(type);
|
|
113
|
-
case
|
|
113
|
+
case introspection_ts_1.TypeKind.OBJECT:
|
|
114
114
|
return buildObjectDef(type);
|
|
115
|
-
case
|
|
115
|
+
case introspection_ts_1.TypeKind.INTERFACE:
|
|
116
116
|
return buildInterfaceDef(type);
|
|
117
|
-
case
|
|
117
|
+
case introspection_ts_1.TypeKind.UNION:
|
|
118
118
|
return buildUnionDef(type);
|
|
119
|
-
case
|
|
119
|
+
case introspection_ts_1.TypeKind.ENUM:
|
|
120
120
|
return buildEnumDef(type);
|
|
121
|
-
case
|
|
121
|
+
case introspection_ts_1.TypeKind.INPUT_OBJECT:
|
|
122
122
|
return buildInputObjectDef(type);
|
|
123
123
|
default:
|
|
124
124
|
// TypeScript considers this unreachable, but invalid runtime input can reach it.
|
|
125
125
|
// Note: we include a default case rather than throwing after the switch to avoid
|
|
126
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,
|
|
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_ts_1.inspect)(type)}.`);
|
|
128
128
|
}
|
|
129
129
|
}
|
|
130
130
|
function buildScalarDef(scalarIntrospection) {
|
|
131
|
-
return new
|
|
131
|
+
return new definition_ts_1.GraphQLScalarType({
|
|
132
132
|
name: scalarIntrospection.name,
|
|
133
133
|
description: scalarIntrospection.description,
|
|
134
134
|
specifiedByURL: scalarIntrospection.specifiedByURL,
|
|
@@ -138,17 +138,17 @@ function buildClientSchema(introspection, options) {
|
|
|
138
138
|
// TODO: Temporary workaround until GraphQL ecosystem will fully support
|
|
139
139
|
// 'interfaces' on interface types.
|
|
140
140
|
if (implementingIntrospection.interfaces === null &&
|
|
141
|
-
implementingIntrospection.kind ===
|
|
141
|
+
implementingIntrospection.kind === introspection_ts_1.TypeKind.INTERFACE) {
|
|
142
142
|
return [];
|
|
143
143
|
}
|
|
144
144
|
if (implementingIntrospection.interfaces == null) {
|
|
145
|
-
const implementingIntrospectionStr = (0,
|
|
145
|
+
const implementingIntrospectionStr = (0, inspect_ts_1.inspect)(implementingIntrospection);
|
|
146
146
|
throw new Error(`Introspection result missing interfaces: ${implementingIntrospectionStr}.`);
|
|
147
147
|
}
|
|
148
148
|
return implementingIntrospection.interfaces.map(getInterfaceType);
|
|
149
149
|
}
|
|
150
150
|
function buildObjectDef(objectIntrospection) {
|
|
151
|
-
return new
|
|
151
|
+
return new definition_ts_1.GraphQLObjectType({
|
|
152
152
|
name: objectIntrospection.name,
|
|
153
153
|
description: objectIntrospection.description,
|
|
154
154
|
interfaces: () => buildImplementationsList(objectIntrospection),
|
|
@@ -156,7 +156,7 @@ function buildClientSchema(introspection, options) {
|
|
|
156
156
|
});
|
|
157
157
|
}
|
|
158
158
|
function buildInterfaceDef(interfaceIntrospection) {
|
|
159
|
-
return new
|
|
159
|
+
return new definition_ts_1.GraphQLInterfaceType({
|
|
160
160
|
name: interfaceIntrospection.name,
|
|
161
161
|
description: interfaceIntrospection.description,
|
|
162
162
|
interfaces: () => buildImplementationsList(interfaceIntrospection),
|
|
@@ -165,10 +165,10 @@ function buildClientSchema(introspection, options) {
|
|
|
165
165
|
}
|
|
166
166
|
function buildUnionDef(unionIntrospection) {
|
|
167
167
|
if (unionIntrospection.possibleTypes == null) {
|
|
168
|
-
const unionIntrospectionStr = (0,
|
|
168
|
+
const unionIntrospectionStr = (0, inspect_ts_1.inspect)(unionIntrospection);
|
|
169
169
|
throw new Error(`Introspection result missing possibleTypes: ${unionIntrospectionStr}.`);
|
|
170
170
|
}
|
|
171
|
-
return new
|
|
171
|
+
return new definition_ts_1.GraphQLUnionType({
|
|
172
172
|
name: unionIntrospection.name,
|
|
173
173
|
description: unionIntrospection.description,
|
|
174
174
|
types: () => unionIntrospection.possibleTypes.map(getObjectType),
|
|
@@ -176,13 +176,13 @@ function buildClientSchema(introspection, options) {
|
|
|
176
176
|
}
|
|
177
177
|
function buildEnumDef(enumIntrospection) {
|
|
178
178
|
if (enumIntrospection.enumValues == null) {
|
|
179
|
-
const enumIntrospectionStr = (0,
|
|
179
|
+
const enumIntrospectionStr = (0, inspect_ts_1.inspect)(enumIntrospection);
|
|
180
180
|
throw new Error(`Introspection result missing enumValues: ${enumIntrospectionStr}.`);
|
|
181
181
|
}
|
|
182
|
-
return new
|
|
182
|
+
return new definition_ts_1.GraphQLEnumType({
|
|
183
183
|
name: enumIntrospection.name,
|
|
184
184
|
description: enumIntrospection.description,
|
|
185
|
-
values: (0,
|
|
185
|
+
values: (0, keyValMap_ts_1.keyValMap)(enumIntrospection.enumValues, (valueIntrospection) => valueIntrospection.name, (valueIntrospection) => ({
|
|
186
186
|
description: valueIntrospection.description,
|
|
187
187
|
deprecationReason: valueIntrospection.deprecationReason,
|
|
188
188
|
})),
|
|
@@ -190,10 +190,10 @@ function buildClientSchema(introspection, options) {
|
|
|
190
190
|
}
|
|
191
191
|
function buildInputObjectDef(inputObjectIntrospection) {
|
|
192
192
|
if (inputObjectIntrospection.inputFields == null) {
|
|
193
|
-
const inputObjectIntrospectionStr = (0,
|
|
193
|
+
const inputObjectIntrospectionStr = (0, inspect_ts_1.inspect)(inputObjectIntrospection);
|
|
194
194
|
throw new Error(`Introspection result missing inputFields: ${inputObjectIntrospectionStr}.`);
|
|
195
195
|
}
|
|
196
|
-
return new
|
|
196
|
+
return new definition_ts_1.GraphQLInputObjectType({
|
|
197
197
|
name: inputObjectIntrospection.name,
|
|
198
198
|
description: inputObjectIntrospection.description,
|
|
199
199
|
fields: () => buildInputValueDefMap(inputObjectIntrospection.inputFields),
|
|
@@ -202,18 +202,18 @@ function buildClientSchema(introspection, options) {
|
|
|
202
202
|
}
|
|
203
203
|
function buildFieldDefMap(typeIntrospection) {
|
|
204
204
|
if (typeIntrospection.fields == null) {
|
|
205
|
-
throw new Error(`Introspection result missing fields: ${(0,
|
|
205
|
+
throw new Error(`Introspection result missing fields: ${(0, inspect_ts_1.inspect)(typeIntrospection)}.`);
|
|
206
206
|
}
|
|
207
|
-
return (0,
|
|
207
|
+
return (0, keyValMap_ts_1.keyValMap)(typeIntrospection.fields, (fieldIntrospection) => fieldIntrospection.name, buildField);
|
|
208
208
|
}
|
|
209
209
|
function buildField(fieldIntrospection) {
|
|
210
210
|
const type = getType(fieldIntrospection.type);
|
|
211
|
-
if (!(0,
|
|
212
|
-
const typeStr = (0,
|
|
211
|
+
if (!(0, definition_ts_1.isOutputType)(type)) {
|
|
212
|
+
const typeStr = (0, inspect_ts_1.inspect)(type);
|
|
213
213
|
throw new Error(`Introspection must provide output type for fields, but received: ${typeStr}.`);
|
|
214
214
|
}
|
|
215
215
|
if (fieldIntrospection.args == null) {
|
|
216
|
-
const fieldIntrospectionStr = (0,
|
|
216
|
+
const fieldIntrospectionStr = (0, inspect_ts_1.inspect)(fieldIntrospection);
|
|
217
217
|
throw new Error(`Introspection result missing field args: ${fieldIntrospectionStr}.`);
|
|
218
218
|
}
|
|
219
219
|
return {
|
|
@@ -224,36 +224,37 @@ function buildClientSchema(introspection, options) {
|
|
|
224
224
|
};
|
|
225
225
|
}
|
|
226
226
|
function buildInputValueDefMap(inputValueIntrospections) {
|
|
227
|
-
return (0,
|
|
227
|
+
return (0, keyValMap_ts_1.keyValMap)(inputValueIntrospections, (inputValue) => inputValue.name, buildInputValue);
|
|
228
228
|
}
|
|
229
229
|
function buildInputValue(inputValueIntrospection) {
|
|
230
230
|
const type = getType(inputValueIntrospection.type);
|
|
231
|
-
if (!(0,
|
|
232
|
-
const typeStr = (0,
|
|
231
|
+
if (!(0, definition_ts_1.isInputType)(type)) {
|
|
232
|
+
const typeStr = (0, inspect_ts_1.inspect)(type);
|
|
233
233
|
throw new Error(`Introspection must provide input type for arguments, but received: ${typeStr}.`);
|
|
234
234
|
}
|
|
235
235
|
return {
|
|
236
236
|
description: inputValueIntrospection.description,
|
|
237
237
|
type,
|
|
238
238
|
default: inputValueIntrospection.defaultValue != null
|
|
239
|
-
? { literal: (0,
|
|
239
|
+
? { literal: (0, parser_ts_1.parseConstValue)(inputValueIntrospection.defaultValue) }
|
|
240
240
|
: undefined,
|
|
241
241
|
deprecationReason: inputValueIntrospection.deprecationReason,
|
|
242
242
|
};
|
|
243
243
|
}
|
|
244
244
|
function buildDirective(directiveIntrospection) {
|
|
245
245
|
if (directiveIntrospection.args == null) {
|
|
246
|
-
const directiveIntrospectionStr = (0,
|
|
246
|
+
const directiveIntrospectionStr = (0, inspect_ts_1.inspect)(directiveIntrospection);
|
|
247
247
|
throw new Error(`Introspection result missing directive args: ${directiveIntrospectionStr}.`);
|
|
248
248
|
}
|
|
249
249
|
if (directiveIntrospection.locations == null) {
|
|
250
|
-
const directiveIntrospectionStr = (0,
|
|
250
|
+
const directiveIntrospectionStr = (0, inspect_ts_1.inspect)(directiveIntrospection);
|
|
251
251
|
throw new Error(`Introspection result missing directive locations: ${directiveIntrospectionStr}.`);
|
|
252
252
|
}
|
|
253
|
-
return new
|
|
253
|
+
return new directives_ts_1.GraphQLDirective({
|
|
254
254
|
name: directiveIntrospection.name,
|
|
255
255
|
description: directiveIntrospection.description,
|
|
256
256
|
isRepeatable: directiveIntrospection.isRepeatable,
|
|
257
|
+
deprecationReason: directiveIntrospection.deprecationReason,
|
|
257
258
|
locations: directiveIntrospection.locations.slice(),
|
|
258
259
|
args: buildInputValueDefMap(directiveIntrospection.args),
|
|
259
260
|
});
|
|
@@ -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 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"]}
|
|
1
|
+
{"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.ts';\nimport { inspect } from '../jsutils/inspect.ts';\nimport { isObjectLike } from '../jsutils/isObjectLike.ts';\nimport { keyValMap } from '../jsutils/keyValMap.ts';\n\nimport { parseConstValue } from '../language/parser.ts';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.ts';\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.ts';\nimport { GraphQLDirective } from '../type/directives.ts';\nimport { introspectionTypes, TypeKind } from '../type/introspection.ts';\nimport { specifiedScalarTypes } from '../type/scalars.ts';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.ts';\nimport { GraphQLSchema } from '../type/schema.ts';\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.ts';\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 deprecationReason: directiveIntrospection.deprecationReason,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
|
|
@@ -250,6 +250,7 @@ export function buildClientSchema(introspection, options) {
|
|
|
250
250
|
name: directiveIntrospection.name,
|
|
251
251
|
description: directiveIntrospection.description,
|
|
252
252
|
isRepeatable: directiveIntrospection.isRepeatable,
|
|
253
|
+
deprecationReason: directiveIntrospection.deprecationReason,
|
|
253
254
|
locations: directiveIntrospection.locations.slice(),
|
|
254
255
|
args: buildInputValueDefMap(directiveIntrospection.args),
|
|
255
256
|
});
|
|
@@ -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 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"]}
|
|
1
|
+
{"version":3,"file":"buildClientSchema.js","sourceRoot":"","sources":["../../src/utilities/buildClientSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { devAssert } from '../jsutils/devAssert.ts';\nimport { inspect } from '../jsutils/inspect.ts';\nimport { isObjectLike } from '../jsutils/isObjectLike.ts';\nimport { keyValMap } from '../jsutils/keyValMap.ts';\n\nimport { parseConstValue } from '../language/parser.ts';\n\nimport type {\n GraphQLFieldConfig,\n GraphQLFieldConfigMap,\n GraphQLNamedType,\n GraphQLType,\n} from '../type/definition.ts';\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.ts';\nimport { GraphQLDirective } from '../type/directives.ts';\nimport { introspectionTypes, TypeKind } from '../type/introspection.ts';\nimport { specifiedScalarTypes } from '../type/scalars.ts';\nimport type { GraphQLSchemaValidationOptions } from '../type/schema.ts';\nimport { GraphQLSchema } from '../type/schema.ts';\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.ts';\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 deprecationReason: directiveIntrospection.deprecationReason,\n locations: directiveIntrospection.locations.slice(),\n args: buildInputValueDefMap(directiveIntrospection.args),\n });\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Maybe } from
|
|
2
|
-
import type { ValueNode } from
|
|
3
|
-
import type { GraphQLDefaultInput, GraphQLInputType } from
|
|
4
|
-
import type { FragmentVariableValues } from
|
|
5
|
-
import type { VariableValues } from
|
|
1
|
+
import type { Maybe } from "../jsutils/Maybe.mjs";
|
|
2
|
+
import type { ValueNode } from "../language/ast.mjs";
|
|
3
|
+
import type { GraphQLDefaultInput, GraphQLInputType } from "../type/definition.mjs";
|
|
4
|
+
import type { FragmentVariableValues } from "../execution/collectFields.mjs";
|
|
5
|
+
import type { VariableValues } from "../execution/values.mjs";
|
|
6
6
|
/**
|
|
7
7
|
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
8
8
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { Maybe } from
|
|
2
|
-
import type { ValueNode } from
|
|
3
|
-
import type { GraphQLDefaultInput, GraphQLInputType } from
|
|
4
|
-
import type { FragmentVariableValues } from
|
|
5
|
-
import type { VariableValues } from
|
|
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
6
|
/**
|
|
7
7
|
* Coerces a JavaScript value given a GraphQL Input Type.
|
|
8
8
|
*
|