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
package/utilities/printSchema.js
CHANGED
|
@@ -4,24 +4,24 @@ exports.printSchema = printSchema;
|
|
|
4
4
|
exports.printIntrospectionSchema = printIntrospectionSchema;
|
|
5
5
|
exports.printType = printType;
|
|
6
6
|
exports.printDirective = printDirective;
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
7
|
+
const inspect_ts_1 = require("../jsutils/inspect.js");
|
|
8
|
+
const invariant_ts_1 = require("../jsutils/invariant.js");
|
|
9
|
+
const blockString_ts_1 = require("../language/blockString.js");
|
|
10
|
+
const kinds_ts_1 = require("../language/kinds.js");
|
|
11
|
+
const printer_ts_1 = require("../language/printer.js");
|
|
12
|
+
const definition_ts_1 = require("../type/definition.js");
|
|
13
|
+
const directives_ts_1 = require("../type/directives.js");
|
|
14
|
+
const introspection_ts_1 = require("../type/introspection.js");
|
|
15
|
+
const scalars_ts_1 = require("../type/scalars.js");
|
|
16
|
+
const getDefaultValueAST_ts_1 = require("./getDefaultValueAST.js");
|
|
17
17
|
function printSchema(schema) {
|
|
18
|
-
return printFilteredSchema(schema, (n) => !(0,
|
|
18
|
+
return printFilteredSchema(schema, (n) => !(0, directives_ts_1.isSpecifiedDirective)(n), isDefinedType);
|
|
19
19
|
}
|
|
20
20
|
function printIntrospectionSchema(schema) {
|
|
21
|
-
return printFilteredSchema(schema,
|
|
21
|
+
return printFilteredSchema(schema, directives_ts_1.isSpecifiedDirective, introspection_ts_1.isIntrospectionType);
|
|
22
22
|
}
|
|
23
23
|
function isDefinedType(type) {
|
|
24
|
-
return !(0,
|
|
24
|
+
return !(0, scalars_ts_1.isSpecifiedScalarType)(type) && !(0, introspection_ts_1.isIntrospectionType)(type);
|
|
25
25
|
}
|
|
26
26
|
function printFilteredSchema(schema, directiveFilter, typeFilter) {
|
|
27
27
|
const directives = schema.getDirectives().filter(directiveFilter);
|
|
@@ -81,29 +81,27 @@ function hasDefaultRootOperationTypes(schema) {
|
|
|
81
81
|
schema.getSubscriptionType() == schema.getType('Subscription'));
|
|
82
82
|
}
|
|
83
83
|
function printType(type) {
|
|
84
|
-
if ((0,
|
|
84
|
+
if ((0, definition_ts_1.isScalarType)(type)) {
|
|
85
85
|
return printScalar(type);
|
|
86
86
|
}
|
|
87
|
-
if ((0,
|
|
87
|
+
if ((0, definition_ts_1.isObjectType)(type)) {
|
|
88
88
|
return printObject(type);
|
|
89
89
|
}
|
|
90
|
-
if ((0,
|
|
90
|
+
if ((0, definition_ts_1.isInterfaceType)(type)) {
|
|
91
91
|
return printInterface(type);
|
|
92
92
|
}
|
|
93
|
-
if ((0,
|
|
93
|
+
if ((0, definition_ts_1.isUnionType)(type)) {
|
|
94
94
|
return printUnion(type);
|
|
95
95
|
}
|
|
96
|
-
if ((0,
|
|
96
|
+
if ((0, definition_ts_1.isEnumType)(type)) {
|
|
97
97
|
return printEnum(type);
|
|
98
98
|
}
|
|
99
|
-
if ((0,
|
|
99
|
+
if ((0, definition_ts_1.isInputObjectType)(type)) {
|
|
100
100
|
return printInputObject(type);
|
|
101
|
-
|
|
102
|
-
// slight swc source mapping error (at least as compared to ts-node without swc)
|
|
103
|
-
/* c8 ignore next 4 */
|
|
101
|
+
/* node:coverage ignore next 4 */
|
|
104
102
|
}
|
|
105
103
|
// Not reachable, all possible types have been considered.
|
|
106
|
-
(0,
|
|
104
|
+
(0, invariant_ts_1.invariant)(false, 'Unexpected type: ' + (0, inspect_ts_1.inspect)(type));
|
|
107
105
|
}
|
|
108
106
|
function printScalar(type) {
|
|
109
107
|
return printDescription(type) + `scalar ${type}` + printSpecifiedByURL(type);
|
|
@@ -181,9 +179,9 @@ function printArgs(args, indentation = '') {
|
|
|
181
179
|
}
|
|
182
180
|
function printInputValue(argOrInputField) {
|
|
183
181
|
let argDecl = argOrInputField.name + ': ' + String(argOrInputField.type);
|
|
184
|
-
const defaultValueAST = (0,
|
|
182
|
+
const defaultValueAST = (0, getDefaultValueAST_ts_1.getDefaultValueAST)(argOrInputField);
|
|
185
183
|
if (defaultValueAST) {
|
|
186
|
-
argDecl += ` = ${(0,
|
|
184
|
+
argDecl += ` = ${(0, printer_ts_1.print)(defaultValueAST)}`;
|
|
187
185
|
}
|
|
188
186
|
return argDecl + printDeprecated(argOrInputField.deprecationReason);
|
|
189
187
|
}
|
|
@@ -191,6 +189,7 @@ function printDirective(directive) {
|
|
|
191
189
|
return (printDescription(directive) +
|
|
192
190
|
`directive ${directive}` +
|
|
193
191
|
printArgs(directive.args) +
|
|
192
|
+
printDeprecated(directive.deprecationReason) +
|
|
194
193
|
(directive.isRepeatable ? ' repeatable' : '') +
|
|
195
194
|
' on ' +
|
|
196
195
|
directive.locations.join(' | '));
|
|
@@ -199,8 +198,8 @@ function printDeprecated(reason) {
|
|
|
199
198
|
if (reason == null) {
|
|
200
199
|
return '';
|
|
201
200
|
}
|
|
202
|
-
if (reason !==
|
|
203
|
-
const astValue = (0,
|
|
201
|
+
if (reason !== directives_ts_1.DEFAULT_DEPRECATION_REASON) {
|
|
202
|
+
const astValue = (0, printer_ts_1.print)({ kind: kinds_ts_1.Kind.STRING, value: reason });
|
|
204
203
|
return ` @deprecated(reason: ${astValue})`;
|
|
205
204
|
}
|
|
206
205
|
return ' @deprecated';
|
|
@@ -209,8 +208,8 @@ function printSpecifiedByURL(scalar) {
|
|
|
209
208
|
if (scalar.specifiedByURL == null) {
|
|
210
209
|
return '';
|
|
211
210
|
}
|
|
212
|
-
const astValue = (0,
|
|
213
|
-
kind:
|
|
211
|
+
const astValue = (0, printer_ts_1.print)({
|
|
212
|
+
kind: kinds_ts_1.Kind.STRING,
|
|
214
213
|
value: scalar.specifiedByURL,
|
|
215
214
|
});
|
|
216
215
|
return ` @specifiedBy(url: ${astValue})`;
|
|
@@ -220,10 +219,10 @@ function printDescription(def, indentation = '', firstInBlock = true) {
|
|
|
220
219
|
if (description == null) {
|
|
221
220
|
return '';
|
|
222
221
|
}
|
|
223
|
-
const blockString = (0,
|
|
224
|
-
kind:
|
|
222
|
+
const blockString = (0, printer_ts_1.print)({
|
|
223
|
+
kind: kinds_ts_1.Kind.STRING,
|
|
225
224
|
value: description,
|
|
226
|
-
block: (0,
|
|
225
|
+
block: (0, blockString_ts_1.isPrintableAsBlockString)(description),
|
|
227
226
|
});
|
|
228
227
|
const prefix = indentation && !firstInBlock ? '\n' + indentation : indentation;
|
|
229
228
|
return prefix + blockString.replaceAll('\n', '\n' + indentation) + '\n';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printSchema.js","sourceRoot":"","sources":["../../src/utilities/printSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport { isPrintableAsBlockString } from '../language/blockString.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n isScalarType,\n isUnionType,\n} from '../type/definition.js';\nimport type { GraphQLDirective } from '../type/directives.js';\nimport {\n DEFAULT_DEPRECATION_REASON,\n isSpecifiedDirective,\n} from '../type/directives.js';\nimport { isIntrospectionType } from '../type/introspection.js';\nimport { isSpecifiedScalarType } from '../type/scalars.js';\nimport type { GraphQLSchema } from '../type/schema.js';\n\nimport { getDefaultValueAST } from './getDefaultValueAST.js';\n\nexport function printSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(\n schema,\n (n) => !isSpecifiedDirective(n),\n isDefinedType,\n );\n}\n\nexport function printIntrospectionSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(schema, isSpecifiedDirective, isIntrospectionType);\n}\n\nfunction isDefinedType(type: GraphQLNamedType): boolean {\n return !isSpecifiedScalarType(type) && !isIntrospectionType(type);\n}\n\nfunction printFilteredSchema(\n schema: GraphQLSchema,\n directiveFilter: (type: GraphQLDirective) => boolean,\n typeFilter: (type: GraphQLNamedType) => boolean,\n): string {\n const directives = schema.getDirectives().filter(directiveFilter);\n const types = Object.values(schema.getTypeMap()).filter(typeFilter);\n\n return [\n printSchemaDefinition(schema),\n ...directives.map((directive) => printDirective(directive)),\n ...types.map((type) => printType(type)),\n ]\n .filter(Boolean)\n .join('\\n\\n');\n}\n\nfunction printSchemaDefinition(schema: GraphQLSchema): Maybe<string> {\n const queryType = schema.getQueryType();\n const mutationType = schema.getMutationType();\n const subscriptionType = schema.getSubscriptionType();\n\n // Special case: When a schema has no root operation types, no valid schema\n // definition can be printed.\n if (!queryType && !mutationType && !subscriptionType) {\n return;\n }\n\n // Only print a schema definition if there is a description or if it should\n // not be omitted because of having default type names.\n if (schema.description != null || !hasDefaultRootOperationTypes(schema)) {\n return (\n printDescription(schema) +\n 'schema {\\n' +\n (queryType ? ` query: ${queryType}\\n` : '') +\n (mutationType ? ` mutation: ${mutationType}\\n` : '') +\n (subscriptionType ? ` subscription: ${subscriptionType}\\n` : '') +\n '}'\n );\n }\n}\n\n/**\n * GraphQL schema define root types for each type of operation. These types are\n * the same as any other type and can be named in any manner, however there is\n * a common naming convention:\n *\n * ```graphql\n * schema {\n * query: Query\n * mutation: Mutation\n * subscription: Subscription\n * }\n * ```\n *\n * When using this naming convention, the schema description can be omitted so\n * long as these names are only used for operation types.\n *\n * Note however that if any of these default names are used elsewhere in the\n * schema but not as a root operation type, the schema definition must still\n * be printed to avoid ambiguity.\n */\nfunction hasDefaultRootOperationTypes(schema: GraphQLSchema): boolean {\n /* eslint-disable eqeqeq */\n return (\n schema.getQueryType() == schema.getType('Query') &&\n schema.getMutationType() == schema.getType('Mutation') &&\n schema.getSubscriptionType() == schema.getType('Subscription')\n );\n}\n\nexport function printType(type: GraphQLNamedType): string {\n if (isScalarType(type)) {\n return printScalar(type);\n }\n if (isObjectType(type)) {\n return printObject(type);\n }\n if (isInterfaceType(type)) {\n return printInterface(type);\n }\n if (isUnionType(type)) {\n return printUnion(type);\n }\n if (isEnumType(type)) {\n return printEnum(type);\n }\n if (isInputObjectType(type)) {\n return printInputObject(type);\n // c8 control statement technically placed a line early secondary to\n // slight swc source mapping error (at least as compared to ts-node without swc)\n /* c8 ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected type: ' + inspect(type));\n}\n\nfunction printScalar(type: GraphQLScalarType): string {\n return printDescription(type) + `scalar ${type}` + printSpecifiedByURL(type);\n}\n\nfunction printImplementedInterfaces(\n type: GraphQLObjectType | GraphQLInterfaceType,\n): string {\n const interfaces = type.getInterfaces();\n return interfaces.length\n ? ' implements ' + interfaces.map((i) => i.name).join(' & ')\n : '';\n}\n\nfunction printObject(type: GraphQLObjectType): string {\n return (\n printDescription(type) +\n `type ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printInterface(type: GraphQLInterfaceType): string {\n return (\n printDescription(type) +\n `interface ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printUnion(type: GraphQLUnionType): string {\n const types = type.getTypes();\n const possibleTypes = types.length ? ' = ' + types.join(' | ') : '';\n return printDescription(type) + `union ${type.name}` + possibleTypes;\n}\n\nfunction printEnum(type: GraphQLEnumType): string {\n const values = type\n .getValues()\n .map(\n (value, i) =>\n printDescription(value, ' ', !i) +\n ' ' +\n value.name +\n printDeprecated(value.deprecationReason),\n );\n\n return printDescription(type) + `enum ${type}` + printBlock(values);\n}\n\nfunction printInputObject(type: GraphQLInputObjectType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) => printDescription(f, ' ', !i) + ' ' + printInputValue(f),\n );\n return (\n printDescription(type) +\n `input ${type}` +\n (type.isOneOf ? ' @oneOf' : '') +\n printBlock(fields)\n );\n}\n\nfunction printFields(type: GraphQLObjectType | GraphQLInterfaceType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) =>\n printDescription(f, ' ', !i) +\n ' ' +\n f.name +\n printArgs(f.args, ' ') +\n ': ' +\n String(f.type) +\n printDeprecated(f.deprecationReason),\n );\n return printBlock(fields);\n}\n\nfunction printBlock(items: ReadonlyArray<string>): string {\n return items.length !== 0 ? ' {\\n' + items.join('\\n') + '\\n}' : '';\n}\n\nfunction printArgs(\n args: ReadonlyArray<GraphQLArgument>,\n indentation: string = '',\n): string {\n if (args.length === 0) {\n return '';\n }\n\n // If every arg does not have a description, print them on one line.\n if (args.every((arg) => arg.description == null)) {\n return '(' + args.map(printInputValue).join(', ') + ')';\n }\n\n return (\n '(\\n' +\n args\n .map(\n (arg, i) =>\n printDescription(arg, ' ' + indentation, !i) +\n ' ' +\n indentation +\n printInputValue(arg),\n )\n .join('\\n') +\n '\\n' +\n indentation +\n ')'\n );\n}\n\nfunction printInputValue(\n argOrInputField: GraphQLArgument | GraphQLInputField,\n): string {\n let argDecl = argOrInputField.name + ': ' + String(argOrInputField.type);\n const defaultValueAST = getDefaultValueAST(argOrInputField);\n if (defaultValueAST) {\n argDecl += ` = ${print(defaultValueAST)}`;\n }\n return argDecl + printDeprecated(argOrInputField.deprecationReason);\n}\n\nexport function printDirective(directive: GraphQLDirective): string {\n return (\n printDescription(directive) +\n `directive ${directive}` +\n printArgs(directive.args) +\n (directive.isRepeatable ? ' repeatable' : '') +\n ' on ' +\n directive.locations.join(' | ')\n );\n}\n\nfunction printDeprecated(reason: Maybe<string>): string {\n if (reason == null) {\n return '';\n }\n if (reason !== DEFAULT_DEPRECATION_REASON) {\n const astValue = print({ kind: Kind.STRING, value: reason });\n return ` @deprecated(reason: ${astValue})`;\n }\n return ' @deprecated';\n}\n\nfunction printSpecifiedByURL(scalar: GraphQLScalarType): string {\n if (scalar.specifiedByURL == null) {\n return '';\n }\n const astValue = print({\n kind: Kind.STRING,\n value: scalar.specifiedByURL,\n });\n return ` @specifiedBy(url: ${astValue})`;\n}\n\nfunction printDescription(\n def: { readonly description: Maybe<string> },\n indentation: string = '',\n firstInBlock: boolean = true,\n): string {\n const { description } = def;\n if (description == null) {\n return '';\n }\n\n const blockString = print({\n kind: Kind.STRING,\n value: description,\n block: isPrintableAsBlockString(description),\n });\n\n const prefix =\n indentation && !firstInBlock ? '\\n' + indentation : indentation;\n\n return prefix + blockString.replaceAll('\\n', '\\n' + indentation) + '\\n';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"printSchema.js","sourceRoot":"","sources":["../../src/utilities/printSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.ts';\nimport { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport { isPrintableAsBlockString } from '../language/blockString.ts';\nimport { Kind } from '../language/kinds.ts';\nimport { print } from '../language/printer.ts';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.ts';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n isScalarType,\n isUnionType,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport {\n DEFAULT_DEPRECATION_REASON,\n isSpecifiedDirective,\n} from '../type/directives.ts';\nimport { isIntrospectionType } from '../type/introspection.ts';\nimport { isSpecifiedScalarType } from '../type/scalars.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\n\nimport { getDefaultValueAST } from './getDefaultValueAST.ts';\n\nexport function printSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(\n schema,\n (n) => !isSpecifiedDirective(n),\n isDefinedType,\n );\n}\n\nexport function printIntrospectionSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(schema, isSpecifiedDirective, isIntrospectionType);\n}\n\nfunction isDefinedType(type: GraphQLNamedType): boolean {\n return !isSpecifiedScalarType(type) && !isIntrospectionType(type);\n}\n\nfunction printFilteredSchema(\n schema: GraphQLSchema,\n directiveFilter: (type: GraphQLDirective) => boolean,\n typeFilter: (type: GraphQLNamedType) => boolean,\n): string {\n const directives = schema.getDirectives().filter(directiveFilter);\n const types = Object.values(schema.getTypeMap()).filter(typeFilter);\n\n return [\n printSchemaDefinition(schema),\n ...directives.map((directive) => printDirective(directive)),\n ...types.map((type) => printType(type)),\n ]\n .filter(Boolean)\n .join('\\n\\n');\n}\n\nfunction printSchemaDefinition(schema: GraphQLSchema): Maybe<string> {\n const queryType = schema.getQueryType();\n const mutationType = schema.getMutationType();\n const subscriptionType = schema.getSubscriptionType();\n\n // Special case: When a schema has no root operation types, no valid schema\n // definition can be printed.\n if (!queryType && !mutationType && !subscriptionType) {\n return;\n }\n\n // Only print a schema definition if there is a description or if it should\n // not be omitted because of having default type names.\n if (schema.description != null || !hasDefaultRootOperationTypes(schema)) {\n return (\n printDescription(schema) +\n 'schema {\\n' +\n (queryType ? ` query: ${queryType}\\n` : '') +\n (mutationType ? ` mutation: ${mutationType}\\n` : '') +\n (subscriptionType ? ` subscription: ${subscriptionType}\\n` : '') +\n '}'\n );\n }\n}\n\n/**\n * GraphQL schema define root types for each type of operation. These types are\n * the same as any other type and can be named in any manner, however there is\n * a common naming convention:\n *\n * ```graphql\n * schema {\n * query: Query\n * mutation: Mutation\n * subscription: Subscription\n * }\n * ```\n *\n * When using this naming convention, the schema description can be omitted so\n * long as these names are only used for operation types.\n *\n * Note however that if any of these default names are used elsewhere in the\n * schema but not as a root operation type, the schema definition must still\n * be printed to avoid ambiguity.\n */\nfunction hasDefaultRootOperationTypes(schema: GraphQLSchema): boolean {\n /* eslint-disable eqeqeq */\n return (\n schema.getQueryType() == schema.getType('Query') &&\n schema.getMutationType() == schema.getType('Mutation') &&\n schema.getSubscriptionType() == schema.getType('Subscription')\n );\n}\n\nexport function printType(type: GraphQLNamedType): string {\n if (isScalarType(type)) {\n return printScalar(type);\n }\n if (isObjectType(type)) {\n return printObject(type);\n }\n if (isInterfaceType(type)) {\n return printInterface(type);\n }\n if (isUnionType(type)) {\n return printUnion(type);\n }\n if (isEnumType(type)) {\n return printEnum(type);\n }\n if (isInputObjectType(type)) {\n return printInputObject(type);\n /* node:coverage ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected type: ' + inspect(type));\n}\n\nfunction printScalar(type: GraphQLScalarType): string {\n return printDescription(type) + `scalar ${type}` + printSpecifiedByURL(type);\n}\n\nfunction printImplementedInterfaces(\n type: GraphQLObjectType | GraphQLInterfaceType,\n): string {\n const interfaces = type.getInterfaces();\n return interfaces.length\n ? ' implements ' + interfaces.map((i) => i.name).join(' & ')\n : '';\n}\n\nfunction printObject(type: GraphQLObjectType): string {\n return (\n printDescription(type) +\n `type ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printInterface(type: GraphQLInterfaceType): string {\n return (\n printDescription(type) +\n `interface ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printUnion(type: GraphQLUnionType): string {\n const types = type.getTypes();\n const possibleTypes = types.length ? ' = ' + types.join(' | ') : '';\n return printDescription(type) + `union ${type.name}` + possibleTypes;\n}\n\nfunction printEnum(type: GraphQLEnumType): string {\n const values = type\n .getValues()\n .map(\n (value, i) =>\n printDescription(value, ' ', !i) +\n ' ' +\n value.name +\n printDeprecated(value.deprecationReason),\n );\n\n return printDescription(type) + `enum ${type}` + printBlock(values);\n}\n\nfunction printInputObject(type: GraphQLInputObjectType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) => printDescription(f, ' ', !i) + ' ' + printInputValue(f),\n );\n return (\n printDescription(type) +\n `input ${type}` +\n (type.isOneOf ? ' @oneOf' : '') +\n printBlock(fields)\n );\n}\n\nfunction printFields(type: GraphQLObjectType | GraphQLInterfaceType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) =>\n printDescription(f, ' ', !i) +\n ' ' +\n f.name +\n printArgs(f.args, ' ') +\n ': ' +\n String(f.type) +\n printDeprecated(f.deprecationReason),\n );\n return printBlock(fields);\n}\n\nfunction printBlock(items: ReadonlyArray<string>): string {\n return items.length !== 0 ? ' {\\n' + items.join('\\n') + '\\n}' : '';\n}\n\nfunction printArgs(\n args: ReadonlyArray<GraphQLArgument>,\n indentation: string = '',\n): string {\n if (args.length === 0) {\n return '';\n }\n\n // If every arg does not have a description, print them on one line.\n if (args.every((arg) => arg.description == null)) {\n return '(' + args.map(printInputValue).join(', ') + ')';\n }\n\n return (\n '(\\n' +\n args\n .map(\n (arg, i) =>\n printDescription(arg, ' ' + indentation, !i) +\n ' ' +\n indentation +\n printInputValue(arg),\n )\n .join('\\n') +\n '\\n' +\n indentation +\n ')'\n );\n}\n\nfunction printInputValue(\n argOrInputField: GraphQLArgument | GraphQLInputField,\n): string {\n let argDecl = argOrInputField.name + ': ' + String(argOrInputField.type);\n const defaultValueAST = getDefaultValueAST(argOrInputField);\n if (defaultValueAST) {\n argDecl += ` = ${print(defaultValueAST)}`;\n }\n return argDecl + printDeprecated(argOrInputField.deprecationReason);\n}\n\nexport function printDirective(directive: GraphQLDirective): string {\n return (\n printDescription(directive) +\n `directive ${directive}` +\n printArgs(directive.args) +\n printDeprecated(directive.deprecationReason) +\n (directive.isRepeatable ? ' repeatable' : '') +\n ' on ' +\n directive.locations.join(' | ')\n );\n}\n\nfunction printDeprecated(reason: Maybe<string>): string {\n if (reason == null) {\n return '';\n }\n if (reason !== DEFAULT_DEPRECATION_REASON) {\n const astValue = print({ kind: Kind.STRING, value: reason });\n return ` @deprecated(reason: ${astValue})`;\n }\n return ' @deprecated';\n}\n\nfunction printSpecifiedByURL(scalar: GraphQLScalarType): string {\n if (scalar.specifiedByURL == null) {\n return '';\n }\n const astValue = print({\n kind: Kind.STRING,\n value: scalar.specifiedByURL,\n });\n return ` @specifiedBy(url: ${astValue})`;\n}\n\nfunction printDescription(\n def: { readonly description: Maybe<string> },\n indentation: string = '',\n firstInBlock: boolean = true,\n): string {\n const { description } = def;\n if (description == null) {\n return '';\n }\n\n const blockString = print({\n kind: Kind.STRING,\n value: description,\n block: isPrintableAsBlockString(description),\n });\n\n const prefix =\n indentation && !firstInBlock ? '\\n' + indentation : indentation;\n\n return prefix + blockString.replaceAll('\\n', '\\n' + indentation) + '\\n';\n}\n"]}
|
|
@@ -92,9 +92,7 @@ export function printType(type) {
|
|
|
92
92
|
}
|
|
93
93
|
if (isInputObjectType(type)) {
|
|
94
94
|
return printInputObject(type);
|
|
95
|
-
|
|
96
|
-
// slight swc source mapping error (at least as compared to ts-node without swc)
|
|
97
|
-
/* c8 ignore next 4 */
|
|
95
|
+
/* node:coverage ignore next 4 */
|
|
98
96
|
}
|
|
99
97
|
// Not reachable, all possible types have been considered.
|
|
100
98
|
invariant(false, 'Unexpected type: ' + inspect(type));
|
|
@@ -185,6 +183,7 @@ export function printDirective(directive) {
|
|
|
185
183
|
return (printDescription(directive) +
|
|
186
184
|
`directive ${directive}` +
|
|
187
185
|
printArgs(directive.args) +
|
|
186
|
+
printDeprecated(directive.deprecationReason) +
|
|
188
187
|
(directive.isRepeatable ? ' repeatable' : '') +
|
|
189
188
|
' on ' +
|
|
190
189
|
directive.locations.join(' | '));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"printSchema.js","sourceRoot":"","sources":["../../src/utilities/printSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.js';\nimport { invariant } from '../jsutils/invariant.js';\nimport type { Maybe } from '../jsutils/Maybe.js';\n\nimport { isPrintableAsBlockString } from '../language/blockString.js';\nimport { Kind } from '../language/kinds.js';\nimport { print } from '../language/printer.js';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.js';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n isScalarType,\n isUnionType,\n} from '../type/definition.js';\nimport type { GraphQLDirective } from '../type/directives.js';\nimport {\n DEFAULT_DEPRECATION_REASON,\n isSpecifiedDirective,\n} from '../type/directives.js';\nimport { isIntrospectionType } from '../type/introspection.js';\nimport { isSpecifiedScalarType } from '../type/scalars.js';\nimport type { GraphQLSchema } from '../type/schema.js';\n\nimport { getDefaultValueAST } from './getDefaultValueAST.js';\n\nexport function printSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(\n schema,\n (n) => !isSpecifiedDirective(n),\n isDefinedType,\n );\n}\n\nexport function printIntrospectionSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(schema, isSpecifiedDirective, isIntrospectionType);\n}\n\nfunction isDefinedType(type: GraphQLNamedType): boolean {\n return !isSpecifiedScalarType(type) && !isIntrospectionType(type);\n}\n\nfunction printFilteredSchema(\n schema: GraphQLSchema,\n directiveFilter: (type: GraphQLDirective) => boolean,\n typeFilter: (type: GraphQLNamedType) => boolean,\n): string {\n const directives = schema.getDirectives().filter(directiveFilter);\n const types = Object.values(schema.getTypeMap()).filter(typeFilter);\n\n return [\n printSchemaDefinition(schema),\n ...directives.map((directive) => printDirective(directive)),\n ...types.map((type) => printType(type)),\n ]\n .filter(Boolean)\n .join('\\n\\n');\n}\n\nfunction printSchemaDefinition(schema: GraphQLSchema): Maybe<string> {\n const queryType = schema.getQueryType();\n const mutationType = schema.getMutationType();\n const subscriptionType = schema.getSubscriptionType();\n\n // Special case: When a schema has no root operation types, no valid schema\n // definition can be printed.\n if (!queryType && !mutationType && !subscriptionType) {\n return;\n }\n\n // Only print a schema definition if there is a description or if it should\n // not be omitted because of having default type names.\n if (schema.description != null || !hasDefaultRootOperationTypes(schema)) {\n return (\n printDescription(schema) +\n 'schema {\\n' +\n (queryType ? ` query: ${queryType}\\n` : '') +\n (mutationType ? ` mutation: ${mutationType}\\n` : '') +\n (subscriptionType ? ` subscription: ${subscriptionType}\\n` : '') +\n '}'\n );\n }\n}\n\n/**\n * GraphQL schema define root types for each type of operation. These types are\n * the same as any other type and can be named in any manner, however there is\n * a common naming convention:\n *\n * ```graphql\n * schema {\n * query: Query\n * mutation: Mutation\n * subscription: Subscription\n * }\n * ```\n *\n * When using this naming convention, the schema description can be omitted so\n * long as these names are only used for operation types.\n *\n * Note however that if any of these default names are used elsewhere in the\n * schema but not as a root operation type, the schema definition must still\n * be printed to avoid ambiguity.\n */\nfunction hasDefaultRootOperationTypes(schema: GraphQLSchema): boolean {\n /* eslint-disable eqeqeq */\n return (\n schema.getQueryType() == schema.getType('Query') &&\n schema.getMutationType() == schema.getType('Mutation') &&\n schema.getSubscriptionType() == schema.getType('Subscription')\n );\n}\n\nexport function printType(type: GraphQLNamedType): string {\n if (isScalarType(type)) {\n return printScalar(type);\n }\n if (isObjectType(type)) {\n return printObject(type);\n }\n if (isInterfaceType(type)) {\n return printInterface(type);\n }\n if (isUnionType(type)) {\n return printUnion(type);\n }\n if (isEnumType(type)) {\n return printEnum(type);\n }\n if (isInputObjectType(type)) {\n return printInputObject(type);\n // c8 control statement technically placed a line early secondary to\n // slight swc source mapping error (at least as compared to ts-node without swc)\n /* c8 ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected type: ' + inspect(type));\n}\n\nfunction printScalar(type: GraphQLScalarType): string {\n return printDescription(type) + `scalar ${type}` + printSpecifiedByURL(type);\n}\n\nfunction printImplementedInterfaces(\n type: GraphQLObjectType | GraphQLInterfaceType,\n): string {\n const interfaces = type.getInterfaces();\n return interfaces.length\n ? ' implements ' + interfaces.map((i) => i.name).join(' & ')\n : '';\n}\n\nfunction printObject(type: GraphQLObjectType): string {\n return (\n printDescription(type) +\n `type ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printInterface(type: GraphQLInterfaceType): string {\n return (\n printDescription(type) +\n `interface ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printUnion(type: GraphQLUnionType): string {\n const types = type.getTypes();\n const possibleTypes = types.length ? ' = ' + types.join(' | ') : '';\n return printDescription(type) + `union ${type.name}` + possibleTypes;\n}\n\nfunction printEnum(type: GraphQLEnumType): string {\n const values = type\n .getValues()\n .map(\n (value, i) =>\n printDescription(value, ' ', !i) +\n ' ' +\n value.name +\n printDeprecated(value.deprecationReason),\n );\n\n return printDescription(type) + `enum ${type}` + printBlock(values);\n}\n\nfunction printInputObject(type: GraphQLInputObjectType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) => printDescription(f, ' ', !i) + ' ' + printInputValue(f),\n );\n return (\n printDescription(type) +\n `input ${type}` +\n (type.isOneOf ? ' @oneOf' : '') +\n printBlock(fields)\n );\n}\n\nfunction printFields(type: GraphQLObjectType | GraphQLInterfaceType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) =>\n printDescription(f, ' ', !i) +\n ' ' +\n f.name +\n printArgs(f.args, ' ') +\n ': ' +\n String(f.type) +\n printDeprecated(f.deprecationReason),\n );\n return printBlock(fields);\n}\n\nfunction printBlock(items: ReadonlyArray<string>): string {\n return items.length !== 0 ? ' {\\n' + items.join('\\n') + '\\n}' : '';\n}\n\nfunction printArgs(\n args: ReadonlyArray<GraphQLArgument>,\n indentation: string = '',\n): string {\n if (args.length === 0) {\n return '';\n }\n\n // If every arg does not have a description, print them on one line.\n if (args.every((arg) => arg.description == null)) {\n return '(' + args.map(printInputValue).join(', ') + ')';\n }\n\n return (\n '(\\n' +\n args\n .map(\n (arg, i) =>\n printDescription(arg, ' ' + indentation, !i) +\n ' ' +\n indentation +\n printInputValue(arg),\n )\n .join('\\n') +\n '\\n' +\n indentation +\n ')'\n );\n}\n\nfunction printInputValue(\n argOrInputField: GraphQLArgument | GraphQLInputField,\n): string {\n let argDecl = argOrInputField.name + ': ' + String(argOrInputField.type);\n const defaultValueAST = getDefaultValueAST(argOrInputField);\n if (defaultValueAST) {\n argDecl += ` = ${print(defaultValueAST)}`;\n }\n return argDecl + printDeprecated(argOrInputField.deprecationReason);\n}\n\nexport function printDirective(directive: GraphQLDirective): string {\n return (\n printDescription(directive) +\n `directive ${directive}` +\n printArgs(directive.args) +\n (directive.isRepeatable ? ' repeatable' : '') +\n ' on ' +\n directive.locations.join(' | ')\n );\n}\n\nfunction printDeprecated(reason: Maybe<string>): string {\n if (reason == null) {\n return '';\n }\n if (reason !== DEFAULT_DEPRECATION_REASON) {\n const astValue = print({ kind: Kind.STRING, value: reason });\n return ` @deprecated(reason: ${astValue})`;\n }\n return ' @deprecated';\n}\n\nfunction printSpecifiedByURL(scalar: GraphQLScalarType): string {\n if (scalar.specifiedByURL == null) {\n return '';\n }\n const astValue = print({\n kind: Kind.STRING,\n value: scalar.specifiedByURL,\n });\n return ` @specifiedBy(url: ${astValue})`;\n}\n\nfunction printDescription(\n def: { readonly description: Maybe<string> },\n indentation: string = '',\n firstInBlock: boolean = true,\n): string {\n const { description } = def;\n if (description == null) {\n return '';\n }\n\n const blockString = print({\n kind: Kind.STRING,\n value: description,\n block: isPrintableAsBlockString(description),\n });\n\n const prefix =\n indentation && !firstInBlock ? '\\n' + indentation : indentation;\n\n return prefix + blockString.replaceAll('\\n', '\\n' + indentation) + '\\n';\n}\n"]}
|
|
1
|
+
{"version":3,"file":"printSchema.js","sourceRoot":"","sources":["../../src/utilities/printSchema.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../jsutils/inspect.ts';\nimport { invariant } from '../jsutils/invariant.ts';\nimport type { Maybe } from '../jsutils/Maybe.ts';\n\nimport { isPrintableAsBlockString } from '../language/blockString.ts';\nimport { Kind } from '../language/kinds.ts';\nimport { print } from '../language/printer.ts';\n\nimport type {\n GraphQLArgument,\n GraphQLEnumType,\n GraphQLInputField,\n GraphQLInputObjectType,\n GraphQLInterfaceType,\n GraphQLNamedType,\n GraphQLObjectType,\n GraphQLScalarType,\n GraphQLUnionType,\n} from '../type/definition.ts';\nimport {\n isEnumType,\n isInputObjectType,\n isInterfaceType,\n isObjectType,\n isScalarType,\n isUnionType,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport {\n DEFAULT_DEPRECATION_REASON,\n isSpecifiedDirective,\n} from '../type/directives.ts';\nimport { isIntrospectionType } from '../type/introspection.ts';\nimport { isSpecifiedScalarType } from '../type/scalars.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\n\nimport { getDefaultValueAST } from './getDefaultValueAST.ts';\n\nexport function printSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(\n schema,\n (n) => !isSpecifiedDirective(n),\n isDefinedType,\n );\n}\n\nexport function printIntrospectionSchema(schema: GraphQLSchema): string {\n return printFilteredSchema(schema, isSpecifiedDirective, isIntrospectionType);\n}\n\nfunction isDefinedType(type: GraphQLNamedType): boolean {\n return !isSpecifiedScalarType(type) && !isIntrospectionType(type);\n}\n\nfunction printFilteredSchema(\n schema: GraphQLSchema,\n directiveFilter: (type: GraphQLDirective) => boolean,\n typeFilter: (type: GraphQLNamedType) => boolean,\n): string {\n const directives = schema.getDirectives().filter(directiveFilter);\n const types = Object.values(schema.getTypeMap()).filter(typeFilter);\n\n return [\n printSchemaDefinition(schema),\n ...directives.map((directive) => printDirective(directive)),\n ...types.map((type) => printType(type)),\n ]\n .filter(Boolean)\n .join('\\n\\n');\n}\n\nfunction printSchemaDefinition(schema: GraphQLSchema): Maybe<string> {\n const queryType = schema.getQueryType();\n const mutationType = schema.getMutationType();\n const subscriptionType = schema.getSubscriptionType();\n\n // Special case: When a schema has no root operation types, no valid schema\n // definition can be printed.\n if (!queryType && !mutationType && !subscriptionType) {\n return;\n }\n\n // Only print a schema definition if there is a description or if it should\n // not be omitted because of having default type names.\n if (schema.description != null || !hasDefaultRootOperationTypes(schema)) {\n return (\n printDescription(schema) +\n 'schema {\\n' +\n (queryType ? ` query: ${queryType}\\n` : '') +\n (mutationType ? ` mutation: ${mutationType}\\n` : '') +\n (subscriptionType ? ` subscription: ${subscriptionType}\\n` : '') +\n '}'\n );\n }\n}\n\n/**\n * GraphQL schema define root types for each type of operation. These types are\n * the same as any other type and can be named in any manner, however there is\n * a common naming convention:\n *\n * ```graphql\n * schema {\n * query: Query\n * mutation: Mutation\n * subscription: Subscription\n * }\n * ```\n *\n * When using this naming convention, the schema description can be omitted so\n * long as these names are only used for operation types.\n *\n * Note however that if any of these default names are used elsewhere in the\n * schema but not as a root operation type, the schema definition must still\n * be printed to avoid ambiguity.\n */\nfunction hasDefaultRootOperationTypes(schema: GraphQLSchema): boolean {\n /* eslint-disable eqeqeq */\n return (\n schema.getQueryType() == schema.getType('Query') &&\n schema.getMutationType() == schema.getType('Mutation') &&\n schema.getSubscriptionType() == schema.getType('Subscription')\n );\n}\n\nexport function printType(type: GraphQLNamedType): string {\n if (isScalarType(type)) {\n return printScalar(type);\n }\n if (isObjectType(type)) {\n return printObject(type);\n }\n if (isInterfaceType(type)) {\n return printInterface(type);\n }\n if (isUnionType(type)) {\n return printUnion(type);\n }\n if (isEnumType(type)) {\n return printEnum(type);\n }\n if (isInputObjectType(type)) {\n return printInputObject(type);\n /* node:coverage ignore next 4 */\n }\n // Not reachable, all possible types have been considered.\n invariant(false, 'Unexpected type: ' + inspect(type));\n}\n\nfunction printScalar(type: GraphQLScalarType): string {\n return printDescription(type) + `scalar ${type}` + printSpecifiedByURL(type);\n}\n\nfunction printImplementedInterfaces(\n type: GraphQLObjectType | GraphQLInterfaceType,\n): string {\n const interfaces = type.getInterfaces();\n return interfaces.length\n ? ' implements ' + interfaces.map((i) => i.name).join(' & ')\n : '';\n}\n\nfunction printObject(type: GraphQLObjectType): string {\n return (\n printDescription(type) +\n `type ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printInterface(type: GraphQLInterfaceType): string {\n return (\n printDescription(type) +\n `interface ${type}` +\n printImplementedInterfaces(type) +\n printFields(type)\n );\n}\n\nfunction printUnion(type: GraphQLUnionType): string {\n const types = type.getTypes();\n const possibleTypes = types.length ? ' = ' + types.join(' | ') : '';\n return printDescription(type) + `union ${type.name}` + possibleTypes;\n}\n\nfunction printEnum(type: GraphQLEnumType): string {\n const values = type\n .getValues()\n .map(\n (value, i) =>\n printDescription(value, ' ', !i) +\n ' ' +\n value.name +\n printDeprecated(value.deprecationReason),\n );\n\n return printDescription(type) + `enum ${type}` + printBlock(values);\n}\n\nfunction printInputObject(type: GraphQLInputObjectType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) => printDescription(f, ' ', !i) + ' ' + printInputValue(f),\n );\n return (\n printDescription(type) +\n `input ${type}` +\n (type.isOneOf ? ' @oneOf' : '') +\n printBlock(fields)\n );\n}\n\nfunction printFields(type: GraphQLObjectType | GraphQLInterfaceType): string {\n const fields = Object.values(type.getFields()).map(\n (f, i) =>\n printDescription(f, ' ', !i) +\n ' ' +\n f.name +\n printArgs(f.args, ' ') +\n ': ' +\n String(f.type) +\n printDeprecated(f.deprecationReason),\n );\n return printBlock(fields);\n}\n\nfunction printBlock(items: ReadonlyArray<string>): string {\n return items.length !== 0 ? ' {\\n' + items.join('\\n') + '\\n}' : '';\n}\n\nfunction printArgs(\n args: ReadonlyArray<GraphQLArgument>,\n indentation: string = '',\n): string {\n if (args.length === 0) {\n return '';\n }\n\n // If every arg does not have a description, print them on one line.\n if (args.every((arg) => arg.description == null)) {\n return '(' + args.map(printInputValue).join(', ') + ')';\n }\n\n return (\n '(\\n' +\n args\n .map(\n (arg, i) =>\n printDescription(arg, ' ' + indentation, !i) +\n ' ' +\n indentation +\n printInputValue(arg),\n )\n .join('\\n') +\n '\\n' +\n indentation +\n ')'\n );\n}\n\nfunction printInputValue(\n argOrInputField: GraphQLArgument | GraphQLInputField,\n): string {\n let argDecl = argOrInputField.name + ': ' + String(argOrInputField.type);\n const defaultValueAST = getDefaultValueAST(argOrInputField);\n if (defaultValueAST) {\n argDecl += ` = ${print(defaultValueAST)}`;\n }\n return argDecl + printDeprecated(argOrInputField.deprecationReason);\n}\n\nexport function printDirective(directive: GraphQLDirective): string {\n return (\n printDescription(directive) +\n `directive ${directive}` +\n printArgs(directive.args) +\n printDeprecated(directive.deprecationReason) +\n (directive.isRepeatable ? ' repeatable' : '') +\n ' on ' +\n directive.locations.join(' | ')\n );\n}\n\nfunction printDeprecated(reason: Maybe<string>): string {\n if (reason == null) {\n return '';\n }\n if (reason !== DEFAULT_DEPRECATION_REASON) {\n const astValue = print({ kind: Kind.STRING, value: reason });\n return ` @deprecated(reason: ${astValue})`;\n }\n return ' @deprecated';\n}\n\nfunction printSpecifiedByURL(scalar: GraphQLScalarType): string {\n if (scalar.specifiedByURL == null) {\n return '';\n }\n const astValue = print({\n kind: Kind.STRING,\n value: scalar.specifiedByURL,\n });\n return ` @specifiedBy(url: ${astValue})`;\n}\n\nfunction printDescription(\n def: { readonly description: Maybe<string> },\n indentation: string = '',\n firstInBlock: boolean = true,\n): string {\n const { description } = def;\n if (description == null) {\n return '';\n }\n\n const blockString = print({\n kind: Kind.STRING,\n value: description,\n block: isPrintableAsBlockString(description),\n });\n\n const prefix =\n indentation && !firstInBlock ? '\\n' + indentation : indentation;\n\n return prefix + blockString.replaceAll('\\n', '\\n' + indentation) + '\\n';\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Maybe } from
|
|
2
|
-
import type { ConstValueNode, ValueNode } from
|
|
3
|
-
import type { FragmentVariableValues } from
|
|
4
|
-
import type { VariableValues } from
|
|
1
|
+
import type { Maybe } from "../jsutils/Maybe.mjs";
|
|
2
|
+
import type { ConstValueNode, ValueNode } from "../language/ast.mjs";
|
|
3
|
+
import type { FragmentVariableValues } from "../execution/collectFields.mjs";
|
|
4
|
+
import type { VariableValues } from "../execution/values.mjs";
|
|
5
5
|
/**
|
|
6
6
|
* Replaces any Variables found within an AST Value literal with literals
|
|
7
7
|
* supplied from a map of variable values, or removed if no variable replacement
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Maybe } from
|
|
2
|
-
import type { ConstValueNode, ValueNode } from
|
|
3
|
-
import type { FragmentVariableValues } from
|
|
4
|
-
import type { VariableValues } from
|
|
1
|
+
import type { Maybe } from "../jsutils/Maybe.js";
|
|
2
|
+
import type { ConstValueNode, ValueNode } from "../language/ast.js";
|
|
3
|
+
import type { FragmentVariableValues } from "../execution/collectFields.js";
|
|
4
|
+
import type { VariableValues } from "../execution/values.js";
|
|
5
5
|
/**
|
|
6
6
|
* Replaces any Variables found within an AST Value literal with literals
|
|
7
7
|
* supplied from a map of variable values, or removed if no variable replacement
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.replaceVariables = replaceVariables;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
4
|
+
const kinds_ts_1 = require("../language/kinds.js");
|
|
5
|
+
const valueToLiteral_ts_1 = require("./valueToLiteral.js");
|
|
6
6
|
/**
|
|
7
7
|
* Replaces any Variables found within an AST Value literal with literals
|
|
8
8
|
* supplied from a map of variable values, or removed if no variable replacement
|
|
@@ -13,7 +13,7 @@ const valueToLiteral_js_1 = require("./valueToLiteral.js");
|
|
|
13
13
|
*/
|
|
14
14
|
function replaceVariables(valueNode, variableValues, fragmentVariableValues) {
|
|
15
15
|
switch (valueNode.kind) {
|
|
16
|
-
case
|
|
16
|
+
case kinds_ts_1.Kind.VARIABLE: {
|
|
17
17
|
const varName = valueNode.name.value;
|
|
18
18
|
const fragmentVariableValueSource = fragmentVariableValues?.sources[varName];
|
|
19
19
|
if (fragmentVariableValueSource) {
|
|
@@ -23,13 +23,13 @@ function replaceVariables(valueNode, variableValues, fragmentVariableValues) {
|
|
|
23
23
|
if (defaultValue !== undefined) {
|
|
24
24
|
return defaultValue.literal;
|
|
25
25
|
}
|
|
26
|
-
return { kind:
|
|
26
|
+
return { kind: kinds_ts_1.Kind.NULL };
|
|
27
27
|
}
|
|
28
28
|
return replaceVariables(value, variableValues, fragmentVariableValueSource.fragmentVariableValues);
|
|
29
29
|
}
|
|
30
30
|
const variableValueSource = variableValues?.sources[varName];
|
|
31
31
|
if (variableValueSource == null) {
|
|
32
|
-
return { kind:
|
|
32
|
+
return { kind: kinds_ts_1.Kind.NULL };
|
|
33
33
|
}
|
|
34
34
|
if (variableValueSource.value === undefined) {
|
|
35
35
|
const defaultValue = variableValueSource.signature.default;
|
|
@@ -37,12 +37,12 @@ function replaceVariables(valueNode, variableValues, fragmentVariableValues) {
|
|
|
37
37
|
return defaultValue.literal;
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
return (0,
|
|
40
|
+
return (0, valueToLiteral_ts_1.valueToLiteral)(variableValueSource.value, variableValueSource.signature.type);
|
|
41
41
|
}
|
|
42
|
-
case
|
|
42
|
+
case kinds_ts_1.Kind.OBJECT: {
|
|
43
43
|
const newFields = [];
|
|
44
44
|
for (const field of valueNode.fields) {
|
|
45
|
-
if (field.value.kind ===
|
|
45
|
+
if (field.value.kind === kinds_ts_1.Kind.VARIABLE) {
|
|
46
46
|
const scopedVariableSource = fragmentVariableValues?.sources[field.value.name.value] ??
|
|
47
47
|
variableValues?.sources[field.value.name.value];
|
|
48
48
|
if (scopedVariableSource?.value === undefined &&
|
|
@@ -61,7 +61,7 @@ function replaceVariables(valueNode, variableValues, fragmentVariableValues) {
|
|
|
61
61
|
fields: newFields,
|
|
62
62
|
};
|
|
63
63
|
}
|
|
64
|
-
case
|
|
64
|
+
case kinds_ts_1.Kind.LIST: {
|
|
65
65
|
const newValues = [];
|
|
66
66
|
for (const value of valueNode.values) {
|
|
67
67
|
const newItemNodeValue = replaceVariables(value, variableValues, fragmentVariableValues);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceVariables.js","sourceRoot":"","sources":["../../src/utilities/replaceVariables.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Maybe } from '../jsutils/Maybe.
|
|
1
|
+
{"version":3,"file":"replaceVariables.js","sourceRoot":"","sources":["../../src/utilities/replaceVariables.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type {\n ConstValueNode,\n ObjectFieldNode,\n ValueNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type { FragmentVariableValues } from '../execution/collectFields.ts';\nimport type { VariableValues } from '../execution/values.ts';\n\nimport { valueToLiteral } from './valueToLiteral.ts';\n\n/**\n * Replaces any Variables found within an AST Value literal with literals\n * supplied from a map of variable values, or removed if no variable replacement\n * exists, returning a constant value.\n *\n * Used primarily to ensure only complete constant values are used during input\n * coercion of custom scalars which accept complex literals.\n */\nexport function replaceVariables(\n valueNode: ValueNode,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n): ConstValueNode {\n switch (valueNode.kind) {\n case Kind.VARIABLE: {\n const varName = valueNode.name.value;\n const fragmentVariableValueSource =\n fragmentVariableValues?.sources[varName];\n\n if (fragmentVariableValueSource) {\n const value = fragmentVariableValueSource.value;\n if (value === undefined) {\n const defaultValue = fragmentVariableValueSource.signature.default;\n if (defaultValue !== undefined) {\n return defaultValue.literal;\n }\n return { kind: Kind.NULL };\n }\n return replaceVariables(\n value,\n variableValues,\n fragmentVariableValueSource.fragmentVariableValues,\n );\n }\n\n const variableValueSource = variableValues?.sources[varName];\n if (variableValueSource == null) {\n return { kind: Kind.NULL };\n }\n\n if (variableValueSource.value === undefined) {\n const defaultValue = variableValueSource.signature.default;\n if (defaultValue !== undefined) {\n return defaultValue.literal;\n }\n }\n\n return valueToLiteral(\n variableValueSource.value,\n variableValueSource.signature.type,\n ) as ConstValueNode;\n }\n case Kind.OBJECT: {\n const newFields: Array<ObjectFieldNode> = [];\n for (const field of valueNode.fields) {\n if (field.value.kind === Kind.VARIABLE) {\n const scopedVariableSource =\n fragmentVariableValues?.sources[field.value.name.value] ??\n variableValues?.sources[field.value.name.value];\n\n if (\n scopedVariableSource?.value === undefined &&\n scopedVariableSource?.signature.default === undefined\n ) {\n continue;\n }\n }\n const newFieldNodeValue = replaceVariables(\n field.value,\n variableValues,\n fragmentVariableValues,\n );\n newFields.push({\n ...field,\n value: newFieldNodeValue,\n });\n }\n return {\n ...valueNode,\n fields: newFields,\n } as ConstValueNode;\n }\n case Kind.LIST: {\n const newValues: Array<ValueNode> = [];\n for (const value of valueNode.values) {\n const newItemNodeValue = replaceVariables(\n value,\n variableValues,\n fragmentVariableValues,\n );\n newValues.push(newItemNodeValue);\n }\n return {\n ...valueNode,\n values: newValues,\n } as ConstValueNode;\n }\n default: {\n return valueNode;\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceVariables.js","sourceRoot":"","sources":["../../src/utilities/replaceVariables.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Maybe } from '../jsutils/Maybe.
|
|
1
|
+
{"version":3,"file":"replaceVariables.js","sourceRoot":"","sources":["../../src/utilities/replaceVariables.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Maybe } from '../jsutils/Maybe.ts';\n\nimport type {\n ConstValueNode,\n ObjectFieldNode,\n ValueNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\n\nimport type { FragmentVariableValues } from '../execution/collectFields.ts';\nimport type { VariableValues } from '../execution/values.ts';\n\nimport { valueToLiteral } from './valueToLiteral.ts';\n\n/**\n * Replaces any Variables found within an AST Value literal with literals\n * supplied from a map of variable values, or removed if no variable replacement\n * exists, returning a constant value.\n *\n * Used primarily to ensure only complete constant values are used during input\n * coercion of custom scalars which accept complex literals.\n */\nexport function replaceVariables(\n valueNode: ValueNode,\n variableValues?: Maybe<VariableValues>,\n fragmentVariableValues?: Maybe<FragmentVariableValues>,\n): ConstValueNode {\n switch (valueNode.kind) {\n case Kind.VARIABLE: {\n const varName = valueNode.name.value;\n const fragmentVariableValueSource =\n fragmentVariableValues?.sources[varName];\n\n if (fragmentVariableValueSource) {\n const value = fragmentVariableValueSource.value;\n if (value === undefined) {\n const defaultValue = fragmentVariableValueSource.signature.default;\n if (defaultValue !== undefined) {\n return defaultValue.literal;\n }\n return { kind: Kind.NULL };\n }\n return replaceVariables(\n value,\n variableValues,\n fragmentVariableValueSource.fragmentVariableValues,\n );\n }\n\n const variableValueSource = variableValues?.sources[varName];\n if (variableValueSource == null) {\n return { kind: Kind.NULL };\n }\n\n if (variableValueSource.value === undefined) {\n const defaultValue = variableValueSource.signature.default;\n if (defaultValue !== undefined) {\n return defaultValue.literal;\n }\n }\n\n return valueToLiteral(\n variableValueSource.value,\n variableValueSource.signature.type,\n ) as ConstValueNode;\n }\n case Kind.OBJECT: {\n const newFields: Array<ObjectFieldNode> = [];\n for (const field of valueNode.fields) {\n if (field.value.kind === Kind.VARIABLE) {\n const scopedVariableSource =\n fragmentVariableValues?.sources[field.value.name.value] ??\n variableValues?.sources[field.value.name.value];\n\n if (\n scopedVariableSource?.value === undefined &&\n scopedVariableSource?.signature.default === undefined\n ) {\n continue;\n }\n }\n const newFieldNodeValue = replaceVariables(\n field.value,\n variableValues,\n fragmentVariableValues,\n );\n newFields.push({\n ...field,\n value: newFieldNodeValue,\n });\n }\n return {\n ...valueNode,\n fields: newFields,\n } as ConstValueNode;\n }\n case Kind.LIST: {\n const newValues: Array<ValueNode> = [];\n for (const value of valueNode.values) {\n const newItemNodeValue = replaceVariables(\n value,\n variableValues,\n fragmentVariableValues,\n );\n newValues.push(newItemNodeValue);\n }\n return {\n ...valueNode,\n values: newValues,\n } as ConstValueNode;\n }\n default: {\n return valueNode;\n }\n }\n}\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { SchemaCoordinateNode } from
|
|
2
|
-
import type { Source } from
|
|
3
|
-
import type { GraphQLArgument, GraphQLEnumType, GraphQLEnumValue, GraphQLField, GraphQLInputField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLNamedType, GraphQLObjectType } from
|
|
4
|
-
import type { GraphQLDirective } from
|
|
5
|
-
import type { GraphQLSchema } from
|
|
1
|
+
import type { SchemaCoordinateNode } from "../language/ast.mjs";
|
|
2
|
+
import type { Source } from "../language/source.mjs";
|
|
3
|
+
import type { GraphQLArgument, GraphQLEnumType, GraphQLEnumValue, GraphQLField, GraphQLInputField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLNamedType, GraphQLObjectType } from "../type/definition.mjs";
|
|
4
|
+
import type { GraphQLDirective } from "../type/directives.mjs";
|
|
5
|
+
import type { GraphQLSchema } from "../type/schema.mjs";
|
|
6
6
|
/**
|
|
7
7
|
* A resolved schema element may be one of the following kinds:
|
|
8
8
|
*/
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { SchemaCoordinateNode } from
|
|
2
|
-
import type { Source } from
|
|
3
|
-
import type { GraphQLArgument, GraphQLEnumType, GraphQLEnumValue, GraphQLField, GraphQLInputField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLNamedType, GraphQLObjectType } from
|
|
4
|
-
import type { GraphQLDirective } from
|
|
5
|
-
import type { GraphQLSchema } from
|
|
1
|
+
import type { SchemaCoordinateNode } from "../language/ast.js";
|
|
2
|
+
import type { Source } from "../language/source.js";
|
|
3
|
+
import type { GraphQLArgument, GraphQLEnumType, GraphQLEnumValue, GraphQLField, GraphQLInputField, GraphQLInputObjectType, GraphQLInterfaceType, GraphQLNamedType, GraphQLObjectType } from "../type/definition.js";
|
|
4
|
+
import type { GraphQLDirective } from "../type/directives.js";
|
|
5
|
+
import type { GraphQLSchema } from "../type/schema.js";
|
|
6
6
|
/**
|
|
7
7
|
* A resolved schema element may be one of the following kinds:
|
|
8
8
|
*/
|
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolveSchemaCoordinate = resolveSchemaCoordinate;
|
|
4
4
|
exports.resolveASTSchemaCoordinate = resolveASTSchemaCoordinate;
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
5
|
+
const inspect_ts_1 = require("../jsutils/inspect.js");
|
|
6
|
+
const kinds_ts_1 = require("../language/kinds.js");
|
|
7
|
+
const parser_ts_1 = require("../language/parser.js");
|
|
8
|
+
const definition_ts_1 = require("../type/definition.js");
|
|
9
9
|
/**
|
|
10
10
|
* A schema coordinate is resolved in the context of a GraphQL schema to
|
|
11
11
|
* uniquely identify a schema element. It returns undefined if the schema
|
|
@@ -16,7 +16,7 @@ const definition_js_1 = require("../type/definition.js");
|
|
|
16
16
|
* https://spec.graphql.org/draft/#sec-Schema-Coordinates.Semantics
|
|
17
17
|
*/
|
|
18
18
|
function resolveSchemaCoordinate(schema, schemaCoordinate) {
|
|
19
|
-
return resolveASTSchemaCoordinate(schema, (0,
|
|
19
|
+
return resolveASTSchemaCoordinate(schema, (0, parser_ts_1.parseSchemaCoordinate)(schemaCoordinate));
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* TypeCoordinate : Name
|
|
@@ -41,16 +41,16 @@ function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
|
41
41
|
const type = schema.getType(typeName);
|
|
42
42
|
// 3. Assert: {type} must exist, and must be an Enum, Input Object, Object or Interface type.
|
|
43
43
|
if (!type) {
|
|
44
|
-
throw new Error(`Expected ${(0,
|
|
44
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be defined as a type in the schema.`);
|
|
45
45
|
}
|
|
46
|
-
if (!(0,
|
|
47
|
-
!(0,
|
|
48
|
-
!(0,
|
|
49
|
-
!(0,
|
|
50
|
-
throw new Error(`Expected ${(0,
|
|
46
|
+
if (!(0, definition_ts_1.isEnumType)(type) &&
|
|
47
|
+
!(0, definition_ts_1.isInputObjectType)(type) &&
|
|
48
|
+
!(0, definition_ts_1.isObjectType)(type) &&
|
|
49
|
+
!(0, definition_ts_1.isInterfaceType)(type)) {
|
|
50
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be an Enum, Input Object, Object or Interface type.`);
|
|
51
51
|
}
|
|
52
52
|
// 4. If {type} is an Enum type:
|
|
53
|
-
if ((0,
|
|
53
|
+
if ((0, definition_ts_1.isEnumType)(type)) {
|
|
54
54
|
// 1. Let {enumValueName} be the value of the second {Name}.
|
|
55
55
|
const enumValueName = schemaCoordinate.memberName.value;
|
|
56
56
|
const enumValue = type.getValue(enumValueName);
|
|
@@ -61,7 +61,7 @@ function resolveMemberCoordinate(schema, schemaCoordinate) {
|
|
|
61
61
|
return { kind: 'EnumValue', type, enumValue };
|
|
62
62
|
}
|
|
63
63
|
// 5. Otherwise, if {type} is an Input Object type:
|
|
64
|
-
if ((0,
|
|
64
|
+
if ((0, definition_ts_1.isInputObjectType)(type)) {
|
|
65
65
|
// 1. Let {inputFieldName} be the value of the second {Name}.
|
|
66
66
|
const inputFieldName = schemaCoordinate.memberName.value;
|
|
67
67
|
const inputField = type.getFields()[inputFieldName];
|
|
@@ -91,10 +91,10 @@ function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
91
91
|
const type = schema.getType(typeName);
|
|
92
92
|
// 3. Assert: {type} must exist, and be an Object or Interface type.
|
|
93
93
|
if (type == null) {
|
|
94
|
-
throw new Error(`Expected ${(0,
|
|
94
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be defined as a type in the schema.`);
|
|
95
95
|
}
|
|
96
|
-
if (!(0,
|
|
97
|
-
throw new Error(`Expected ${(0,
|
|
96
|
+
if (!(0, definition_ts_1.isObjectType)(type) && !(0, definition_ts_1.isInterfaceType)(type)) {
|
|
97
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(typeName)} to be an object type or interface type.`);
|
|
98
98
|
}
|
|
99
99
|
// 4. Let {fieldName} be the value of the second {Name}.
|
|
100
100
|
// 5. Let {field} be the field of {type} named {fieldName}.
|
|
@@ -102,7 +102,7 @@ function resolveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
102
102
|
const field = schema.getField(type, fieldName);
|
|
103
103
|
// 7. Assert: {field} must exist.
|
|
104
104
|
if (field == null) {
|
|
105
|
-
throw new Error(`Expected ${(0,
|
|
105
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(fieldName)} to exist as a field of type ${(0, inspect_ts_1.inspect)(typeName)} in the schema.`);
|
|
106
106
|
}
|
|
107
107
|
// 7. Let {fieldArgumentName} be the value of the third {Name}.
|
|
108
108
|
const fieldArgumentName = schemaCoordinate.argumentName.value;
|
|
@@ -136,7 +136,7 @@ function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
136
136
|
const directive = schema.getDirective(directiveName);
|
|
137
137
|
// 3. Assert {directive} must exist.
|
|
138
138
|
if (!directive) {
|
|
139
|
-
throw new Error(`Expected ${(0,
|
|
139
|
+
throw new Error(`Expected ${(0, inspect_ts_1.inspect)(directiveName)} to be defined as a directive in the schema.`);
|
|
140
140
|
}
|
|
141
141
|
// 4. Let {directiveArgumentName} be the value of the second {Name}.
|
|
142
142
|
const { argumentName: { value: directiveArgumentName }, } = schemaCoordinate;
|
|
@@ -152,15 +152,15 @@ function resolveDirectiveArgumentCoordinate(schema, schemaCoordinate) {
|
|
|
152
152
|
*/
|
|
153
153
|
function resolveASTSchemaCoordinate(schema, schemaCoordinate) {
|
|
154
154
|
switch (schemaCoordinate.kind) {
|
|
155
|
-
case
|
|
155
|
+
case kinds_ts_1.Kind.TYPE_COORDINATE:
|
|
156
156
|
return resolveTypeCoordinate(schema, schemaCoordinate);
|
|
157
|
-
case
|
|
157
|
+
case kinds_ts_1.Kind.MEMBER_COORDINATE:
|
|
158
158
|
return resolveMemberCoordinate(schema, schemaCoordinate);
|
|
159
|
-
case
|
|
159
|
+
case kinds_ts_1.Kind.ARGUMENT_COORDINATE:
|
|
160
160
|
return resolveArgumentCoordinate(schema, schemaCoordinate);
|
|
161
|
-
case
|
|
161
|
+
case kinds_ts_1.Kind.DIRECTIVE_COORDINATE:
|
|
162
162
|
return resolveDirectiveCoordinate(schema, schemaCoordinate);
|
|
163
|
-
case
|
|
163
|
+
case kinds_ts_1.Kind.DIRECTIVE_ARGUMENT_COORDINATE:
|
|
164
164
|
return resolveDirectiveArgumentCoordinate(schema, schemaCoordinate);
|
|
165
165
|
}
|
|
166
166
|
}
|