graphql 16.13.2 → 16.14.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/error/GraphQLError.d.ts +151 -15
- package/error/GraphQLError.js +143 -12
- package/error/GraphQLError.mjs +143 -12
- package/error/index.d.ts +6 -0
- package/error/index.mjs +6 -0
- package/error/locatedError.d.ts +20 -0
- package/error/locatedError.js +21 -0
- package/error/locatedError.mjs +20 -0
- package/error/syntaxError.d.ts +15 -0
- package/error/syntaxError.js +16 -0
- package/error/syntaxError.mjs +15 -0
- package/execution/collectFields.js +6 -0
- package/execution/collectFields.mjs +6 -0
- package/execution/execute.d.ts +211 -12
- package/execution/execute.js +214 -23
- package/execution/execute.mjs +213 -23
- package/execution/index.d.ts +6 -0
- package/execution/index.mjs +6 -0
- package/execution/mapAsyncIterator.d.ts +2 -0
- package/execution/mapAsyncIterator.js +2 -0
- package/execution/mapAsyncIterator.mjs +2 -0
- package/execution/subscribe.d.ts +195 -5
- package/execution/subscribe.js +154 -11
- package/execution/subscribe.mjs +153 -11
- package/execution/values.d.ts +167 -10
- package/execution/values.js +149 -5
- package/execution/values.mjs +148 -5
- package/graphql.d.ts +163 -41
- package/graphql.js +126 -4
- package/graphql.mjs +131 -41
- package/index.d.ts +12 -17
- package/index.mjs +13 -19
- package/jsutils/Maybe.d.ts +5 -1
- package/jsutils/ObjMap.d.ts +4 -0
- package/jsutils/Path.d.ts +30 -0
- package/jsutils/Path.js +29 -0
- package/jsutils/Path.mjs +29 -0
- package/jsutils/PromiseOrValue.d.ts +1 -0
- package/jsutils/devAssert.d.ts +1 -0
- package/jsutils/devAssert.js +1 -0
- package/jsutils/devAssert.mjs +1 -0
- package/jsutils/didYouMean.d.ts +4 -1
- package/jsutils/didYouMean.js +4 -1
- package/jsutils/didYouMean.mjs +4 -1
- package/jsutils/groupBy.d.ts +2 -0
- package/jsutils/groupBy.js +2 -0
- package/jsutils/groupBy.mjs +2 -0
- package/jsutils/identityFunc.d.ts +2 -0
- package/jsutils/identityFunc.js +2 -0
- package/jsutils/identityFunc.mjs +2 -0
- package/jsutils/inspect.d.ts +2 -0
- package/jsutils/inspect.js +2 -0
- package/jsutils/inspect.mjs +2 -0
- package/jsutils/instanceOf.d.ts +2 -0
- package/jsutils/instanceOf.js +2 -0
- package/jsutils/instanceOf.mjs +2 -0
- package/jsutils/invariant.d.ts +1 -0
- package/jsutils/invariant.js +1 -0
- package/jsutils/invariant.mjs +1 -0
- package/jsutils/isAsyncIterable.d.ts +2 -0
- package/jsutils/isAsyncIterable.js +2 -0
- package/jsutils/isAsyncIterable.mjs +2 -0
- package/jsutils/isIterableObject.d.ts +6 -5
- package/jsutils/isIterableObject.js +6 -5
- package/jsutils/isIterableObject.mjs +6 -5
- package/jsutils/isObjectLike.d.ts +2 -0
- package/jsutils/isObjectLike.js +2 -0
- package/jsutils/isObjectLike.mjs +2 -0
- package/jsutils/isPromise.d.ts +2 -0
- package/jsutils/isPromise.js +2 -0
- package/jsutils/isPromise.mjs +2 -0
- package/jsutils/keyMap.d.ts +7 -14
- package/jsutils/keyMap.js +7 -14
- package/jsutils/keyMap.mjs +7 -14
- package/jsutils/keyValMap.d.ts +9 -6
- package/jsutils/keyValMap.js +9 -6
- package/jsutils/keyValMap.mjs +9 -6
- package/jsutils/mapValue.d.ts +2 -0
- package/jsutils/mapValue.js +2 -0
- package/jsutils/mapValue.mjs +2 -0
- package/jsutils/memoize3.d.ts +2 -0
- package/jsutils/memoize3.js +2 -0
- package/jsutils/memoize3.mjs +2 -0
- package/jsutils/naturalCompare.d.ts +2 -0
- package/jsutils/naturalCompare.js +2 -0
- package/jsutils/naturalCompare.mjs +2 -0
- package/jsutils/printPathArray.d.ts +2 -0
- package/jsutils/printPathArray.js +2 -0
- package/jsutils/printPathArray.mjs +2 -0
- package/jsutils/promiseForObject.d.ts +2 -0
- package/jsutils/promiseForObject.js +2 -0
- package/jsutils/promiseForObject.mjs +2 -0
- package/jsutils/promiseReduce.d.ts +2 -0
- package/jsutils/promiseReduce.js +2 -0
- package/jsutils/promiseReduce.mjs +2 -0
- package/jsutils/suggestionList.d.ts +2 -0
- package/jsutils/suggestionList.js +4 -0
- package/jsutils/suggestionList.mjs +4 -0
- package/jsutils/toError.d.ts +2 -0
- package/jsutils/toError.js +2 -0
- package/jsutils/toError.mjs +2 -0
- package/jsutils/toObjMap.d.ts +1 -0
- package/jsutils/toObjMap.js +1 -0
- package/jsutils/toObjMap.mjs +1 -0
- package/language/ast.d.ts +422 -55
- package/language/ast.js +103 -39
- package/language/ast.mjs +103 -39
- package/language/blockString.d.ts +1 -3
- package/language/blockString.js +1 -3
- package/language/blockString.mjs +1 -3
- package/language/directiveLocation.d.ts +29 -8
- package/language/directiveLocation.js +10 -6
- package/language/directiveLocation.mjs +10 -6
- package/language/index.d.ts +7 -0
- package/language/index.mjs +6 -0
- package/language/kinds.d.ts +58 -18
- package/language/kinds.js +10 -6
- package/language/kinds.mjs +10 -6
- package/language/lexer.d.ts +47 -14
- package/language/lexer.js +71 -13
- package/language/lexer.mjs +70 -13
- package/language/location.d.ts +16 -3
- package/language/location.js +14 -3
- package/language/location.mjs +14 -3
- package/language/parser.d.ts +248 -11
- package/language/parser.js +257 -0
- package/language/parser.mjs +257 -3
- package/language/predicates.d.ts +169 -0
- package/language/predicates.js +173 -1
- package/language/predicates.mjs +185 -1
- package/language/printLocation.d.ts +28 -0
- package/language/printLocation.js +29 -0
- package/language/printLocation.mjs +28 -0
- package/language/printString.d.ts +2 -0
- package/language/printString.js +5 -1
- package/language/printString.mjs +5 -1
- package/language/printer.d.ts +12 -0
- package/language/printer.js +32 -1
- package/language/printer.mjs +31 -1
- package/language/schemaCoordinateLexer.d.ts +8 -6
- package/language/schemaCoordinateLexer.js +10 -6
- package/language/schemaCoordinateLexer.mjs +10 -6
- package/language/source.d.ts +28 -0
- package/language/source.js +32 -0
- package/language/source.mjs +31 -0
- package/language/tokenKind.d.ts +30 -3
- package/language/tokenKind.js +8 -3
- package/language/tokenKind.mjs +8 -3
- package/language/visitor.d.ts +200 -72
- package/language/visitor.js +122 -50
- package/language/visitor.mjs +122 -54
- package/package.json +1 -1
- package/subscription/index.d.ts +9 -3
- package/subscription/index.mjs +9 -3
- package/type/assertName.d.ts +18 -1
- package/type/assertName.js +19 -1
- package/type/assertName.mjs +18 -1
- package/type/definition.d.ts +2540 -79
- package/type/definition.js +2214 -61
- package/type/definition.mjs +2241 -60
- package/type/directives.d.ts +202 -19
- package/type/directives.js +206 -20
- package/type/directives.mjs +206 -20
- package/type/index.d.ts +6 -0
- package/type/index.mjs +6 -0
- package/type/introspection.d.ts +36 -0
- package/type/introspection.js +57 -1
- package/type/introspection.mjs +65 -1
- package/type/scalars.d.ts +29 -2
- package/type/scalars.js +37 -2
- package/type/scalars.mjs +36 -2
- package/type/schema.d.ts +490 -28
- package/type/schema.js +484 -26
- package/type/schema.mjs +484 -26
- package/type/validate.d.ts +31 -0
- package/type/validate.js +32 -0
- package/type/validate.mjs +31 -0
- package/utilities/TypeInfo.d.ts +441 -1
- package/utilities/TypeInfo.js +444 -1
- package/utilities/TypeInfo.mjs +443 -1
- package/utilities/assertValidName.d.ts +27 -2
- package/utilities/assertValidName.js +28 -2
- package/utilities/assertValidName.mjs +27 -2
- package/utilities/astFromValue.d.ts +33 -3
- package/utilities/astFromValue.js +36 -3
- package/utilities/astFromValue.mjs +35 -3
- package/utilities/buildASTSchema.d.ts +65 -6
- package/utilities/buildASTSchema.js +69 -6
- package/utilities/buildASTSchema.mjs +69 -6
- package/utilities/buildClientSchema.d.ts +15 -0
- package/utilities/buildClientSchema.js +17 -0
- package/utilities/buildClientSchema.mjs +16 -0
- package/utilities/coerceInputValue.d.ts +46 -0
- package/utilities/coerceInputValue.js +47 -0
- package/utilities/coerceInputValue.mjs +46 -0
- package/utilities/concatAST.d.ts +12 -0
- package/utilities/concatAST.js +13 -0
- package/utilities/concatAST.mjs +12 -0
- package/utilities/extendSchema.d.ts +56 -3
- package/utilities/extendSchema.js +121 -6
- package/utilities/extendSchema.mjs +120 -6
- package/utilities/findBreakingChanges.d.ts +95 -0
- package/utilities/findBreakingChanges.js +68 -0
- package/utilities/findBreakingChanges.mjs +70 -0
- package/utilities/getIntrospectionQuery.d.ts +148 -0
- package/utilities/getIntrospectionQuery.js +72 -38
- package/utilities/getIntrospectionQuery.mjs +72 -38
- package/utilities/getOperationAST.d.ts +15 -0
- package/utilities/getOperationAST.js +16 -0
- package/utilities/getOperationAST.mjs +15 -0
- package/utilities/getOperationRootType.d.ts +18 -1
- package/utilities/getOperationRootType.js +19 -1
- package/utilities/getOperationRootType.mjs +18 -1
- package/utilities/index.d.ts +7 -0
- package/utilities/index.mjs +7 -0
- package/utilities/introspectionFromSchema.d.ts +54 -0
- package/utilities/introspectionFromSchema.js +56 -0
- package/utilities/introspectionFromSchema.mjs +55 -0
- package/utilities/lexicographicSortSchema.d.ts +35 -0
- package/utilities/lexicographicSortSchema.js +36 -0
- package/utilities/lexicographicSortSchema.mjs +35 -0
- package/utilities/printSchema.d.ts +63 -0
- package/utilities/printSchema.js +67 -0
- package/utilities/printSchema.mjs +68 -0
- package/utilities/resolveSchemaCoordinate.d.ts +62 -0
- package/utilities/resolveSchemaCoordinate.js +64 -0
- package/utilities/resolveSchemaCoordinate.mjs +63 -0
- package/utilities/separateOperations.d.ts +30 -0
- package/utilities/separateOperations.js +31 -0
- package/utilities/separateOperations.mjs +30 -0
- package/utilities/stripIgnoredCharacters.d.ts +13 -6
- package/utilities/stripIgnoredCharacters.js +16 -6
- package/utilities/stripIgnoredCharacters.mjs +15 -6
- package/utilities/typeComparators.d.ts +84 -0
- package/utilities/typeComparators.js +85 -0
- package/utilities/typeComparators.mjs +84 -0
- package/utilities/typeFromAST.d.ts +86 -0
- package/utilities/typeFromAST.js +3 -0
- package/utilities/typeFromAST.mjs +3 -0
- package/utilities/typedQueryDocumentNode.d.ts +4 -0
- package/utilities/valueFromAST.d.ts +38 -0
- package/utilities/valueFromAST.js +51 -2
- package/utilities/valueFromAST.mjs +50 -2
- package/utilities/valueFromASTUntyped.d.ts +15 -2
- package/utilities/valueFromASTUntyped.js +16 -2
- package/utilities/valueFromASTUntyped.mjs +15 -2
- package/validation/ValidationContext.d.ts +399 -0
- package/validation/ValidationContext.js +400 -0
- package/validation/ValidationContext.mjs +401 -0
- package/validation/index.d.ts +6 -0
- package/validation/index.mjs +6 -0
- package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
- package/validation/rules/ExecutableDefinitionsRule.js +29 -0
- package/validation/rules/ExecutableDefinitionsRule.mjs +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
- package/validation/rules/FieldsOnCorrectTypeRule.js +33 -0
- package/validation/rules/FieldsOnCorrectTypeRule.mjs +32 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.js +29 -0
- package/validation/rules/FragmentsOnCompositeTypesRule.mjs +28 -0
- package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
- package/validation/rules/KnownArgumentNamesRule.js +30 -3
- package/validation/rules/KnownArgumentNamesRule.mjs +29 -3
- package/validation/rules/KnownDirectivesRule.d.ts +28 -0
- package/validation/rules/KnownDirectivesRule.js +33 -0
- package/validation/rules/KnownDirectivesRule.mjs +32 -0
- package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
- package/validation/rules/KnownFragmentNamesRule.js +29 -0
- package/validation/rules/KnownFragmentNamesRule.mjs +28 -0
- package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
- package/validation/rules/KnownTypeNamesRule.js +29 -0
- package/validation/rules/KnownTypeNamesRule.mjs +28 -0
- package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
- package/validation/rules/LoneAnonymousOperationRule.js +29 -0
- package/validation/rules/LoneAnonymousOperationRule.mjs +28 -0
- package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
- package/validation/rules/LoneSchemaDefinitionRule.js +22 -0
- package/validation/rules/LoneSchemaDefinitionRule.mjs +21 -0
- package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
- package/validation/rules/MaxIntrospectionDepthRule.js +33 -0
- package/validation/rules/MaxIntrospectionDepthRule.mjs +34 -0
- package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
- package/validation/rules/NoFragmentCyclesRule.js +29 -0
- package/validation/rules/NoFragmentCyclesRule.mjs +28 -0
- package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
- package/validation/rules/NoUndefinedVariablesRule.js +29 -0
- package/validation/rules/NoUndefinedVariablesRule.mjs +28 -0
- package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
- package/validation/rules/NoUnusedFragmentsRule.js +29 -0
- package/validation/rules/NoUnusedFragmentsRule.mjs +28 -0
- package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
- package/validation/rules/NoUnusedVariablesRule.js +30 -0
- package/validation/rules/NoUnusedVariablesRule.mjs +29 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
- package/validation/rules/OverlappingFieldsCanBeMergedRule.js +45 -6
- package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +45 -6
- package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
- package/validation/rules/PossibleFragmentSpreadsRule.js +37 -0
- package/validation/rules/PossibleFragmentSpreadsRule.mjs +36 -0
- package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
- package/validation/rules/PossibleTypeExtensionsRule.js +22 -0
- package/validation/rules/PossibleTypeExtensionsRule.mjs +21 -0
- package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.js +30 -3
- package/validation/rules/ProvidedRequiredArgumentsRule.mjs +29 -3
- package/validation/rules/ScalarLeafsRule.d.ts +28 -0
- package/validation/rules/ScalarLeafsRule.js +29 -0
- package/validation/rules/ScalarLeafsRule.mjs +28 -0
- package/validation/rules/SingleFieldSubscriptionsRule.d.ts +33 -0
- package/validation/rules/SingleFieldSubscriptionsRule.js +34 -0
- package/validation/rules/SingleFieldSubscriptionsRule.mjs +33 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.js +22 -0
- package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +21 -0
- package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueArgumentNamesRule.js +29 -0
- package/validation/rules/UniqueArgumentNamesRule.mjs +28 -0
- package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
- package/validation/rules/UniqueDirectiveNamesRule.js +22 -0
- package/validation/rules/UniqueDirectiveNamesRule.mjs +21 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.js +41 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +40 -0
- package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
- package/validation/rules/UniqueEnumValueNamesRule.js +22 -0
- package/validation/rules/UniqueEnumValueNamesRule.mjs +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.js +22 -0
- package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +21 -0
- package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
- package/validation/rules/UniqueFragmentNamesRule.js +29 -0
- package/validation/rules/UniqueFragmentNamesRule.mjs +28 -0
- package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
- package/validation/rules/UniqueInputFieldNamesRule.js +33 -0
- package/validation/rules/UniqueInputFieldNamesRule.mjs +32 -0
- package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
- package/validation/rules/UniqueOperationNamesRule.js +29 -0
- package/validation/rules/UniqueOperationNamesRule.mjs +28 -0
- package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
- package/validation/rules/UniqueOperationTypesRule.js +22 -0
- package/validation/rules/UniqueOperationTypesRule.mjs +21 -0
- package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
- package/validation/rules/UniqueTypeNamesRule.js +22 -0
- package/validation/rules/UniqueTypeNamesRule.mjs +21 -0
- package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
- package/validation/rules/UniqueVariableNamesRule.js +29 -0
- package/validation/rules/UniqueVariableNamesRule.mjs +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
- package/validation/rules/ValuesOfCorrectTypeRule.js +31 -0
- package/validation/rules/ValuesOfCorrectTypeRule.mjs +30 -0
- package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
- package/validation/rules/VariablesAreInputTypesRule.js +33 -0
- package/validation/rules/VariablesAreInputTypesRule.mjs +32 -0
- package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
- package/validation/rules/VariablesInAllowedPositionRule.js +35 -1
- package/validation/rules/VariablesInAllowedPositionRule.mjs +34 -1
- package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.js +42 -0
- package/validation/rules/custom/NoDeprecatedCustomRule.mjs +41 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +29 -0
- package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +28 -0
- package/validation/specifiedRules.d.ts +2 -3
- package/validation/specifiedRules.js +2 -3
- package/validation/specifiedRules.mjs +2 -3
- package/validation/validate.d.ts +70 -9
- package/validation/validate.js +63 -7
- package/validation/validate.mjs +63 -7
- package/version.d.ts +3 -6
- package/version.js +7 -9
- package/version.mjs +6 -9
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Operations */
|
|
1
2
|
import type {
|
|
2
3
|
OperationDefinitionNode,
|
|
3
4
|
OperationTypeDefinitionNode,
|
|
@@ -5,8 +6,24 @@ import type {
|
|
|
5
6
|
import type { GraphQLObjectType } from '../type/definition';
|
|
6
7
|
import type { GraphQLSchema } from '../type/schema';
|
|
7
8
|
/**
|
|
8
|
-
* Extracts the root type of the operation from the schema.
|
|
9
|
+
* Extracts the root type of the operation from the schema. This deprecated
|
|
10
|
+
* helper is retained for backwards compatibility; call
|
|
11
|
+
* `GraphQLSchema.getRootType` instead because getOperationRootType will be
|
|
12
|
+
* removed in v17.
|
|
13
|
+
* @param schema - GraphQL schema to use.
|
|
14
|
+
* @param operation - The operation definition to inspect.
|
|
15
|
+
* @returns The resolved operation root type.
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* import { buildSchema, getOperationRootType } from 'graphql/utilities';
|
|
19
|
+
* import { parse } from 'graphql/language';
|
|
9
20
|
*
|
|
21
|
+
* const schema = buildSchema('type Query { name: String }');
|
|
22
|
+
* const operation = parse('{ name }').definitions[0];
|
|
23
|
+
* const rootType = getOperationRootType(schema, operation);
|
|
24
|
+
*
|
|
25
|
+
* rootType.name; // => 'Query'
|
|
26
|
+
* ```
|
|
10
27
|
* @deprecated Please use `GraphQLSchema.getRootType` instead. Will be removed in v17
|
|
11
28
|
*/
|
|
12
29
|
export declare function getOperationRootType(
|
|
@@ -7,9 +7,27 @@ exports.getOperationRootType = getOperationRootType;
|
|
|
7
7
|
|
|
8
8
|
var _GraphQLError = require('../error/GraphQLError.js');
|
|
9
9
|
|
|
10
|
+
/** @category Operations */
|
|
11
|
+
|
|
10
12
|
/**
|
|
11
|
-
* Extracts the root type of the operation from the schema.
|
|
13
|
+
* Extracts the root type of the operation from the schema. This deprecated
|
|
14
|
+
* helper is retained for backwards compatibility; call
|
|
15
|
+
* `GraphQLSchema.getRootType` instead because getOperationRootType will be
|
|
16
|
+
* removed in v17.
|
|
17
|
+
* @param schema - GraphQL schema to use.
|
|
18
|
+
* @param operation - The operation definition to inspect.
|
|
19
|
+
* @returns The resolved operation root type.
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { buildSchema, getOperationRootType } from 'graphql/utilities';
|
|
23
|
+
* import { parse } from 'graphql/language';
|
|
24
|
+
*
|
|
25
|
+
* const schema = buildSchema('type Query { name: String }');
|
|
26
|
+
* const operation = parse('{ name }').definitions[0];
|
|
27
|
+
* const rootType = getOperationRootType(schema, operation);
|
|
12
28
|
*
|
|
29
|
+
* rootType.name; // => 'Query'
|
|
30
|
+
* ```
|
|
13
31
|
* @deprecated Please use `GraphQLSchema.getRootType` instead. Will be removed in v17
|
|
14
32
|
*/
|
|
15
33
|
function getOperationRootType(schema, operation) {
|
|
@@ -1,8 +1,25 @@
|
|
|
1
|
+
/** @category Operations */
|
|
1
2
|
import { GraphQLError } from '../error/GraphQLError.mjs';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
|
-
* Extracts the root type of the operation from the schema.
|
|
5
|
+
* Extracts the root type of the operation from the schema. This deprecated
|
|
6
|
+
* helper is retained for backwards compatibility; call
|
|
7
|
+
* `GraphQLSchema.getRootType` instead because getOperationRootType will be
|
|
8
|
+
* removed in v17.
|
|
9
|
+
* @param schema - GraphQL schema to use.
|
|
10
|
+
* @param operation - The operation definition to inspect.
|
|
11
|
+
* @returns The resolved operation root type.
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { buildSchema, getOperationRootType } from 'graphql/utilities';
|
|
15
|
+
* import { parse } from 'graphql/language';
|
|
5
16
|
*
|
|
17
|
+
* const schema = buildSchema('type Query { name: String }');
|
|
18
|
+
* const operation = parse('{ name }').definitions[0];
|
|
19
|
+
* const rootType = getOperationRootType(schema, operation);
|
|
20
|
+
*
|
|
21
|
+
* rootType.name; // => 'Query'
|
|
22
|
+
* ```
|
|
6
23
|
* @deprecated Please use `GraphQLSchema.getRootType` instead. Will be removed in v17
|
|
7
24
|
*/
|
|
8
25
|
export function getOperationRootType(schema, operation) {
|
package/utilities/index.d.ts
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for building schemas, working with introspection, transforming ASTs,
|
|
3
|
+
* and comparing GraphQL types.
|
|
4
|
+
*
|
|
5
|
+
* These exports are also available from the root `graphql` package.
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
1
8
|
export { getIntrospectionQuery } from './getIntrospectionQuery';
|
|
2
9
|
export type {
|
|
3
10
|
IntrospectionOptions,
|
package/utilities/index.mjs
CHANGED
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utilities for building schemas, working with introspection, transforming ASTs,
|
|
3
|
+
* and comparing GraphQL types.
|
|
4
|
+
*
|
|
5
|
+
* These exports are also available from the root `graphql` package.
|
|
6
|
+
* @packageDocumentation
|
|
7
|
+
*/
|
|
1
8
|
// Produce the GraphQL query recommended for a full schema introspection.
|
|
2
9
|
export { getIntrospectionQuery } from './getIntrospectionQuery.mjs';
|
|
3
10
|
// Gets the target Operation from a Document.
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Introspection */
|
|
1
2
|
import type { GraphQLSchema } from '../type/schema';
|
|
2
3
|
import type {
|
|
3
4
|
IntrospectionOptions,
|
|
@@ -11,6 +12,59 @@ import type {
|
|
|
11
12
|
*
|
|
12
13
|
* This is the inverse of buildClientSchema. The primary use case is outside
|
|
13
14
|
* of the server context, for instance when doing schema comparisons.
|
|
15
|
+
* @param schema - GraphQL schema to use.
|
|
16
|
+
* @param options - Optional configuration for this operation.
|
|
17
|
+
* @returns Introspection result data for the schema.
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* // Include schema metadata using the default introspection options.
|
|
21
|
+
* import { buildSchema, introspectionFromSchema } from 'graphql/utilities';
|
|
22
|
+
*
|
|
23
|
+
* const schema = buildSchema(`
|
|
24
|
+
* scalar Url @specifiedBy(url: "https://url.spec.whatwg.org/")
|
|
25
|
+
*
|
|
26
|
+
* type Query {
|
|
27
|
+
* homepage: Url
|
|
28
|
+
* }
|
|
29
|
+
* `);
|
|
30
|
+
*
|
|
31
|
+
* const introspection = introspectionFromSchema(schema);
|
|
32
|
+
* const urlType = introspection.__schema.types.find((type) => type.name === 'Url');
|
|
33
|
+
*
|
|
34
|
+
* urlType.specifiedByURL; // => 'https://url.spec.whatwg.org/'
|
|
35
|
+
* ```
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* // This variant disables optional introspection metadata.
|
|
39
|
+
* import { buildSchema, introspectionFromSchema } from 'graphql/utilities';
|
|
40
|
+
*
|
|
41
|
+
* const schema = buildSchema(`
|
|
42
|
+
* scalar Url @specifiedBy(url: "https://url.spec.whatwg.org/")
|
|
43
|
+
*
|
|
44
|
+
* type Query {
|
|
45
|
+
* homepage: Url
|
|
46
|
+
* }
|
|
47
|
+
* `);
|
|
48
|
+
*
|
|
49
|
+
* const introspection = introspectionFromSchema(schema, {
|
|
50
|
+
* descriptions: false,
|
|
51
|
+
* specifiedByUrl: false,
|
|
52
|
+
* directiveIsRepeatable: false,
|
|
53
|
+
* schemaDescription: false,
|
|
54
|
+
* inputValueDeprecation: false,
|
|
55
|
+
* experimentalDirectiveDeprecation: false,
|
|
56
|
+
* oneOf: false,
|
|
57
|
+
* });
|
|
58
|
+
* const urlType = introspection.__schema.types.find((type) => type.name === 'Url');
|
|
59
|
+
* const deprecatedDirective = introspection.__schema.directives.find(
|
|
60
|
+
* (directive) => directive.name === 'deprecated',
|
|
61
|
+
* );
|
|
62
|
+
*
|
|
63
|
+
* urlType.specifiedByURL; // => undefined
|
|
64
|
+
* urlType.description; // => undefined
|
|
65
|
+
* introspection.__schema.description; // => undefined
|
|
66
|
+
* deprecatedDirective.isRepeatable; // => undefined
|
|
67
|
+
* ```
|
|
14
68
|
*/
|
|
15
69
|
export declare function introspectionFromSchema(
|
|
16
70
|
schema: GraphQLSchema,
|
|
@@ -13,6 +13,8 @@ var _execute = require('../execution/execute.js');
|
|
|
13
13
|
|
|
14
14
|
var _getIntrospectionQuery = require('./getIntrospectionQuery.js');
|
|
15
15
|
|
|
16
|
+
/** @category Introspection */
|
|
17
|
+
|
|
16
18
|
/**
|
|
17
19
|
* Build an IntrospectionQuery from a GraphQLSchema
|
|
18
20
|
*
|
|
@@ -21,6 +23,59 @@ var _getIntrospectionQuery = require('./getIntrospectionQuery.js');
|
|
|
21
23
|
*
|
|
22
24
|
* This is the inverse of buildClientSchema. The primary use case is outside
|
|
23
25
|
* of the server context, for instance when doing schema comparisons.
|
|
26
|
+
* @param schema - GraphQL schema to use.
|
|
27
|
+
* @param options - Optional configuration for this operation.
|
|
28
|
+
* @returns Introspection result data for the schema.
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* // Include schema metadata using the default introspection options.
|
|
32
|
+
* import { buildSchema, introspectionFromSchema } from 'graphql/utilities';
|
|
33
|
+
*
|
|
34
|
+
* const schema = buildSchema(`
|
|
35
|
+
* scalar Url @specifiedBy(url: "https://url.spec.whatwg.org/")
|
|
36
|
+
*
|
|
37
|
+
* type Query {
|
|
38
|
+
* homepage: Url
|
|
39
|
+
* }
|
|
40
|
+
* `);
|
|
41
|
+
*
|
|
42
|
+
* const introspection = introspectionFromSchema(schema);
|
|
43
|
+
* const urlType = introspection.__schema.types.find((type) => type.name === 'Url');
|
|
44
|
+
*
|
|
45
|
+
* urlType.specifiedByURL; // => 'https://url.spec.whatwg.org/'
|
|
46
|
+
* ```
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* // This variant disables optional introspection metadata.
|
|
50
|
+
* import { buildSchema, introspectionFromSchema } from 'graphql/utilities';
|
|
51
|
+
*
|
|
52
|
+
* const schema = buildSchema(`
|
|
53
|
+
* scalar Url @specifiedBy(url: "https://url.spec.whatwg.org/")
|
|
54
|
+
*
|
|
55
|
+
* type Query {
|
|
56
|
+
* homepage: Url
|
|
57
|
+
* }
|
|
58
|
+
* `);
|
|
59
|
+
*
|
|
60
|
+
* const introspection = introspectionFromSchema(schema, {
|
|
61
|
+
* descriptions: false,
|
|
62
|
+
* specifiedByUrl: false,
|
|
63
|
+
* directiveIsRepeatable: false,
|
|
64
|
+
* schemaDescription: false,
|
|
65
|
+
* inputValueDeprecation: false,
|
|
66
|
+
* experimentalDirectiveDeprecation: false,
|
|
67
|
+
* oneOf: false,
|
|
68
|
+
* });
|
|
69
|
+
* const urlType = introspection.__schema.types.find((type) => type.name === 'Url');
|
|
70
|
+
* const deprecatedDirective = introspection.__schema.directives.find(
|
|
71
|
+
* (directive) => directive.name === 'deprecated',
|
|
72
|
+
* );
|
|
73
|
+
*
|
|
74
|
+
* urlType.specifiedByURL; // => undefined
|
|
75
|
+
* urlType.description; // => undefined
|
|
76
|
+
* introspection.__schema.description; // => undefined
|
|
77
|
+
* deprecatedDirective.isRepeatable; // => undefined
|
|
78
|
+
* ```
|
|
24
79
|
*/
|
|
25
80
|
function introspectionFromSchema(schema, options) {
|
|
26
81
|
const optionsWithDefaults = {
|
|
@@ -28,6 +83,7 @@ function introspectionFromSchema(schema, options) {
|
|
|
28
83
|
directiveIsRepeatable: true,
|
|
29
84
|
schemaDescription: true,
|
|
30
85
|
inputValueDeprecation: true,
|
|
86
|
+
experimentalDirectiveDeprecation: true,
|
|
31
87
|
oneOf: true,
|
|
32
88
|
...options,
|
|
33
89
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Introspection */
|
|
1
2
|
import { invariant } from '../jsutils/invariant.mjs';
|
|
2
3
|
import { parse } from '../language/parser.mjs';
|
|
3
4
|
import { executeSync } from '../execution/execute.mjs';
|
|
@@ -10,6 +11,59 @@ import { getIntrospectionQuery } from './getIntrospectionQuery.mjs';
|
|
|
10
11
|
*
|
|
11
12
|
* This is the inverse of buildClientSchema. The primary use case is outside
|
|
12
13
|
* of the server context, for instance when doing schema comparisons.
|
|
14
|
+
* @param schema - GraphQL schema to use.
|
|
15
|
+
* @param options - Optional configuration for this operation.
|
|
16
|
+
* @returns Introspection result data for the schema.
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* // Include schema metadata using the default introspection options.
|
|
20
|
+
* import { buildSchema, introspectionFromSchema } from 'graphql/utilities';
|
|
21
|
+
*
|
|
22
|
+
* const schema = buildSchema(`
|
|
23
|
+
* scalar Url @specifiedBy(url: "https://url.spec.whatwg.org/")
|
|
24
|
+
*
|
|
25
|
+
* type Query {
|
|
26
|
+
* homepage: Url
|
|
27
|
+
* }
|
|
28
|
+
* `);
|
|
29
|
+
*
|
|
30
|
+
* const introspection = introspectionFromSchema(schema);
|
|
31
|
+
* const urlType = introspection.__schema.types.find((type) => type.name === 'Url');
|
|
32
|
+
*
|
|
33
|
+
* urlType.specifiedByURL; // => 'https://url.spec.whatwg.org/'
|
|
34
|
+
* ```
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* // This variant disables optional introspection metadata.
|
|
38
|
+
* import { buildSchema, introspectionFromSchema } from 'graphql/utilities';
|
|
39
|
+
*
|
|
40
|
+
* const schema = buildSchema(`
|
|
41
|
+
* scalar Url @specifiedBy(url: "https://url.spec.whatwg.org/")
|
|
42
|
+
*
|
|
43
|
+
* type Query {
|
|
44
|
+
* homepage: Url
|
|
45
|
+
* }
|
|
46
|
+
* `);
|
|
47
|
+
*
|
|
48
|
+
* const introspection = introspectionFromSchema(schema, {
|
|
49
|
+
* descriptions: false,
|
|
50
|
+
* specifiedByUrl: false,
|
|
51
|
+
* directiveIsRepeatable: false,
|
|
52
|
+
* schemaDescription: false,
|
|
53
|
+
* inputValueDeprecation: false,
|
|
54
|
+
* experimentalDirectiveDeprecation: false,
|
|
55
|
+
* oneOf: false,
|
|
56
|
+
* });
|
|
57
|
+
* const urlType = introspection.__schema.types.find((type) => type.name === 'Url');
|
|
58
|
+
* const deprecatedDirective = introspection.__schema.directives.find(
|
|
59
|
+
* (directive) => directive.name === 'deprecated',
|
|
60
|
+
* );
|
|
61
|
+
*
|
|
62
|
+
* urlType.specifiedByURL; // => undefined
|
|
63
|
+
* urlType.description; // => undefined
|
|
64
|
+
* introspection.__schema.description; // => undefined
|
|
65
|
+
* deprecatedDirective.isRepeatable; // => undefined
|
|
66
|
+
* ```
|
|
13
67
|
*/
|
|
14
68
|
|
|
15
69
|
export function introspectionFromSchema(schema, options) {
|
|
@@ -18,6 +72,7 @@ export function introspectionFromSchema(schema, options) {
|
|
|
18
72
|
directiveIsRepeatable: true,
|
|
19
73
|
schemaDescription: true,
|
|
20
74
|
inputValueDeprecation: true,
|
|
75
|
+
experimentalDirectiveDeprecation: true,
|
|
21
76
|
oneOf: true,
|
|
22
77
|
...options,
|
|
23
78
|
};
|
|
@@ -1,8 +1,43 @@
|
|
|
1
|
+
/** @category Schema Construction */
|
|
1
2
|
import { GraphQLSchema } from '../type/schema';
|
|
2
3
|
/**
|
|
3
4
|
* Sort GraphQLSchema.
|
|
4
5
|
*
|
|
5
6
|
* This function returns a sorted copy of the given GraphQLSchema.
|
|
7
|
+
* @param schema - GraphQL schema to use.
|
|
8
|
+
* @returns A copy of the schema with types, fields, arguments, and values sorted lexicographically.
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* import { buildSchema, lexicographicSortSchema, printSchema } from 'graphql/utilities';
|
|
12
|
+
*
|
|
13
|
+
* const schema = buildSchema(`
|
|
14
|
+
* type Query {
|
|
15
|
+
* zebra: String
|
|
16
|
+
* apple: String
|
|
17
|
+
* }
|
|
18
|
+
*
|
|
19
|
+
* enum Episode {
|
|
20
|
+
* JEDI
|
|
21
|
+
* NEW_HOPE
|
|
22
|
+
* EMPIRE
|
|
23
|
+
* }
|
|
24
|
+
* `);
|
|
25
|
+
*
|
|
26
|
+
* const sortedSchema = lexicographicSortSchema(schema);
|
|
27
|
+
*
|
|
28
|
+
* printSchema(sortedSchema);
|
|
29
|
+
* // =>
|
|
30
|
+
* // enum Episode {
|
|
31
|
+
* // EMPIRE
|
|
32
|
+
* // JEDI
|
|
33
|
+
* // NEW_HOPE
|
|
34
|
+
* // }
|
|
35
|
+
* //
|
|
36
|
+
* // type Query {
|
|
37
|
+
* // apple: String
|
|
38
|
+
* // zebra: String
|
|
39
|
+
* // }
|
|
40
|
+
* ```
|
|
6
41
|
*/
|
|
7
42
|
export declare function lexicographicSortSchema(
|
|
8
43
|
schema: GraphQLSchema,
|
|
@@ -21,10 +21,46 @@ var _introspection = require('../type/introspection.js');
|
|
|
21
21
|
|
|
22
22
|
var _schema = require('../type/schema.js');
|
|
23
23
|
|
|
24
|
+
/** @category Schema Construction */
|
|
25
|
+
|
|
24
26
|
/**
|
|
25
27
|
* Sort GraphQLSchema.
|
|
26
28
|
*
|
|
27
29
|
* This function returns a sorted copy of the given GraphQLSchema.
|
|
30
|
+
* @param schema - GraphQL schema to use.
|
|
31
|
+
* @returns A copy of the schema with types, fields, arguments, and values sorted lexicographically.
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* import { buildSchema, lexicographicSortSchema, printSchema } from 'graphql/utilities';
|
|
35
|
+
*
|
|
36
|
+
* const schema = buildSchema(`
|
|
37
|
+
* type Query {
|
|
38
|
+
* zebra: String
|
|
39
|
+
* apple: String
|
|
40
|
+
* }
|
|
41
|
+
*
|
|
42
|
+
* enum Episode {
|
|
43
|
+
* JEDI
|
|
44
|
+
* NEW_HOPE
|
|
45
|
+
* EMPIRE
|
|
46
|
+
* }
|
|
47
|
+
* `);
|
|
48
|
+
*
|
|
49
|
+
* const sortedSchema = lexicographicSortSchema(schema);
|
|
50
|
+
*
|
|
51
|
+
* printSchema(sortedSchema);
|
|
52
|
+
* // =>
|
|
53
|
+
* // enum Episode {
|
|
54
|
+
* // EMPIRE
|
|
55
|
+
* // JEDI
|
|
56
|
+
* // NEW_HOPE
|
|
57
|
+
* // }
|
|
58
|
+
* //
|
|
59
|
+
* // type Query {
|
|
60
|
+
* // apple: String
|
|
61
|
+
* // zebra: String
|
|
62
|
+
* // }
|
|
63
|
+
* ```
|
|
28
64
|
*/
|
|
29
65
|
function lexicographicSortSchema(schema) {
|
|
30
66
|
const schemaConfig = schema.toConfig();
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Schema Construction */
|
|
1
2
|
import { inspect } from '../jsutils/inspect.mjs';
|
|
2
3
|
import { invariant } from '../jsutils/invariant.mjs';
|
|
3
4
|
import { keyValMap } from '../jsutils/keyValMap.mjs';
|
|
@@ -26,6 +27,40 @@ import { GraphQLSchema } from '../type/schema.mjs';
|
|
|
26
27
|
* Sort GraphQLSchema.
|
|
27
28
|
*
|
|
28
29
|
* This function returns a sorted copy of the given GraphQLSchema.
|
|
30
|
+
* @param schema - GraphQL schema to use.
|
|
31
|
+
* @returns A copy of the schema with types, fields, arguments, and values sorted lexicographically.
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* import { buildSchema, lexicographicSortSchema, printSchema } from 'graphql/utilities';
|
|
35
|
+
*
|
|
36
|
+
* const schema = buildSchema(`
|
|
37
|
+
* type Query {
|
|
38
|
+
* zebra: String
|
|
39
|
+
* apple: String
|
|
40
|
+
* }
|
|
41
|
+
*
|
|
42
|
+
* enum Episode {
|
|
43
|
+
* JEDI
|
|
44
|
+
* NEW_HOPE
|
|
45
|
+
* EMPIRE
|
|
46
|
+
* }
|
|
47
|
+
* `);
|
|
48
|
+
*
|
|
49
|
+
* const sortedSchema = lexicographicSortSchema(schema);
|
|
50
|
+
*
|
|
51
|
+
* printSchema(sortedSchema);
|
|
52
|
+
* // =>
|
|
53
|
+
* // enum Episode {
|
|
54
|
+
* // EMPIRE
|
|
55
|
+
* // JEDI
|
|
56
|
+
* // NEW_HOPE
|
|
57
|
+
* // }
|
|
58
|
+
* //
|
|
59
|
+
* // type Query {
|
|
60
|
+
* // apple: String
|
|
61
|
+
* // zebra: String
|
|
62
|
+
* // }
|
|
63
|
+
* ```
|
|
29
64
|
*/
|
|
30
65
|
|
|
31
66
|
export function lexicographicSortSchema(schema) {
|
|
@@ -1,5 +1,68 @@
|
|
|
1
|
+
/** @category Schema Printing */
|
|
1
2
|
import type { GraphQLNamedType } from '../type/definition';
|
|
2
3
|
import type { GraphQLSchema } from '../type/schema';
|
|
4
|
+
/**
|
|
5
|
+
* Prints the schema.
|
|
6
|
+
* @param schema - GraphQL schema to use.
|
|
7
|
+
* @returns The printed string representation.
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { buildSchema, printSchema } from 'graphql/utilities';
|
|
11
|
+
*
|
|
12
|
+
* const schema = buildSchema(`
|
|
13
|
+
* directive @upper on FIELD_DEFINITION
|
|
14
|
+
*
|
|
15
|
+
* type Query {
|
|
16
|
+
* greeting: String @upper
|
|
17
|
+
* }
|
|
18
|
+
* `);
|
|
19
|
+
*
|
|
20
|
+
* printSchema(schema); // => ['directive @upper on FIELD_DEFINITION', '', 'type Query {', ' greeting: String', '}'].join('\n')
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
3
23
|
export declare function printSchema(schema: GraphQLSchema): string;
|
|
24
|
+
/**
|
|
25
|
+
* Prints the introspection schema.
|
|
26
|
+
* @param schema - GraphQL schema to use.
|
|
27
|
+
* @returns The printed string representation.
|
|
28
|
+
* @example
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { buildSchema, printIntrospectionSchema } from 'graphql/utilities';
|
|
31
|
+
*
|
|
32
|
+
* const schema = buildSchema(`
|
|
33
|
+
* type Query {
|
|
34
|
+
* greeting: String
|
|
35
|
+
* }
|
|
36
|
+
* `);
|
|
37
|
+
*
|
|
38
|
+
* const printed = printIntrospectionSchema(schema);
|
|
39
|
+
*
|
|
40
|
+
* printed; // matches /type __Schema/
|
|
41
|
+
* printed; // matches /enum __TypeKind/
|
|
42
|
+
* printed; // does not match /type Query/
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
4
45
|
export declare function printIntrospectionSchema(schema: GraphQLSchema): string;
|
|
46
|
+
/**
|
|
47
|
+
* Prints the type.
|
|
48
|
+
* @param type - The GraphQL type to inspect.
|
|
49
|
+
* @returns The printed string representation.
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* import { buildSchema, printType } from 'graphql/utilities';
|
|
53
|
+
*
|
|
54
|
+
* const schema = buildSchema(`
|
|
55
|
+
* type User {
|
|
56
|
+
* id: ID!
|
|
57
|
+
* name: String
|
|
58
|
+
* }
|
|
59
|
+
*
|
|
60
|
+
* type Query {
|
|
61
|
+
* viewer: User
|
|
62
|
+
* }
|
|
63
|
+
* `);
|
|
64
|
+
*
|
|
65
|
+
* printType(schema.getType('User')); // => ['type User {', ' id: ID!', ' name: String', '}'].join('\n')
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
5
68
|
export declare function printType(type: GraphQLNamedType): string;
|
package/utilities/printSchema.js
CHANGED
|
@@ -27,6 +27,27 @@ var _scalars = require('../type/scalars.js');
|
|
|
27
27
|
|
|
28
28
|
var _astFromValue = require('./astFromValue.js');
|
|
29
29
|
|
|
30
|
+
/** @category Schema Printing */
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Prints the schema.
|
|
34
|
+
* @param schema - GraphQL schema to use.
|
|
35
|
+
* @returns The printed string representation.
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* import { buildSchema, printSchema } from 'graphql/utilities';
|
|
39
|
+
*
|
|
40
|
+
* const schema = buildSchema(`
|
|
41
|
+
* directive @upper on FIELD_DEFINITION
|
|
42
|
+
*
|
|
43
|
+
* type Query {
|
|
44
|
+
* greeting: String @upper
|
|
45
|
+
* }
|
|
46
|
+
* `);
|
|
47
|
+
*
|
|
48
|
+
* printSchema(schema); // => ['directive @upper on FIELD_DEFINITION', '', 'type Query {', ' greeting: String', '}'].join('\n')
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
30
51
|
function printSchema(schema) {
|
|
31
52
|
return printFilteredSchema(
|
|
32
53
|
schema,
|
|
@@ -34,6 +55,27 @@ function printSchema(schema) {
|
|
|
34
55
|
isDefinedType,
|
|
35
56
|
);
|
|
36
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Prints the introspection schema.
|
|
60
|
+
* @param schema - GraphQL schema to use.
|
|
61
|
+
* @returns The printed string representation.
|
|
62
|
+
* @example
|
|
63
|
+
* ```ts
|
|
64
|
+
* import { buildSchema, printIntrospectionSchema } from 'graphql/utilities';
|
|
65
|
+
*
|
|
66
|
+
* const schema = buildSchema(`
|
|
67
|
+
* type Query {
|
|
68
|
+
* greeting: String
|
|
69
|
+
* }
|
|
70
|
+
* `);
|
|
71
|
+
*
|
|
72
|
+
* const printed = printIntrospectionSchema(schema);
|
|
73
|
+
*
|
|
74
|
+
* printed; // matches /type __Schema/
|
|
75
|
+
* printed; // matches /enum __TypeKind/
|
|
76
|
+
* printed; // does not match /type Query/
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
37
79
|
|
|
38
80
|
function printIntrospectionSchema(schema) {
|
|
39
81
|
return printFilteredSchema(
|
|
@@ -102,6 +144,8 @@ function printSchemaDefinition(schema) {
|
|
|
102
144
|
* ```
|
|
103
145
|
*
|
|
104
146
|
* When using this naming convention, the schema description can be omitted.
|
|
147
|
+
*
|
|
148
|
+
* @internal
|
|
105
149
|
*/
|
|
106
150
|
|
|
107
151
|
function isSchemaOfCommonNames(schema) {
|
|
@@ -125,6 +169,28 @@ function isSchemaOfCommonNames(schema) {
|
|
|
125
169
|
|
|
126
170
|
return true;
|
|
127
171
|
}
|
|
172
|
+
/**
|
|
173
|
+
* Prints the type.
|
|
174
|
+
* @param type - The GraphQL type to inspect.
|
|
175
|
+
* @returns The printed string representation.
|
|
176
|
+
* @example
|
|
177
|
+
* ```ts
|
|
178
|
+
* import { buildSchema, printType } from 'graphql/utilities';
|
|
179
|
+
*
|
|
180
|
+
* const schema = buildSchema(`
|
|
181
|
+
* type User {
|
|
182
|
+
* id: ID!
|
|
183
|
+
* name: String
|
|
184
|
+
* }
|
|
185
|
+
*
|
|
186
|
+
* type Query {
|
|
187
|
+
* viewer: User
|
|
188
|
+
* }
|
|
189
|
+
* `);
|
|
190
|
+
*
|
|
191
|
+
* printType(schema.getType('User')); // => ['type User {', ' id: ID!', ' name: String', '}'].join('\n')
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
128
194
|
|
|
129
195
|
function printType(type) {
|
|
130
196
|
if ((0, _definition.isScalarType)(type)) {
|
|
@@ -286,6 +352,7 @@ function printDirective(directive) {
|
|
|
286
352
|
'directive @' +
|
|
287
353
|
directive.name +
|
|
288
354
|
printArgs(directive.args) +
|
|
355
|
+
printDeprecated(directive.deprecationReason) +
|
|
289
356
|
(directive.isRepeatable ? ' repeatable' : '') +
|
|
290
357
|
' on ' +
|
|
291
358
|
directive.locations.join(' | ')
|