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
package/type/directives.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Directives */
|
|
1
2
|
import { devAssert } from '../jsutils/devAssert.mjs';
|
|
2
3
|
import { inspect } from '../jsutils/inspect.mjs';
|
|
3
4
|
import { instanceOf } from '../jsutils/instanceOf.mjs';
|
|
@@ -13,11 +14,45 @@ import {
|
|
|
13
14
|
import { GraphQLBoolean, GraphQLString } from './scalars.mjs';
|
|
14
15
|
/**
|
|
15
16
|
* Test if the given value is a GraphQL directive.
|
|
17
|
+
* @param directive - Value to inspect.
|
|
18
|
+
* @returns True when the value is a GraphQLDirective.
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { DirectiveLocation } from 'graphql/language';
|
|
22
|
+
* import { GraphQLDirective, GraphQLString, isDirective } from 'graphql/type';
|
|
23
|
+
*
|
|
24
|
+
* const upper = new GraphQLDirective({
|
|
25
|
+
* name: 'upper',
|
|
26
|
+
* locations: [DirectiveLocation.FIELD_DEFINITION],
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* isDirective(upper); // => true
|
|
30
|
+
* isDirective(GraphQLString); // => false
|
|
31
|
+
* ```
|
|
16
32
|
*/
|
|
17
33
|
|
|
18
34
|
export function isDirective(directive) {
|
|
19
35
|
return instanceOf(directive, GraphQLDirective);
|
|
20
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Returns the value as a GraphQLDirective, or throws if it is not a directive.
|
|
39
|
+
* @param directive - Value to inspect.
|
|
40
|
+
* @returns The value typed as a GraphQLDirective.
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* import { DirectiveLocation } from 'graphql/language';
|
|
44
|
+
* import { assertDirective, GraphQLDirective, GraphQLString } from 'graphql/type';
|
|
45
|
+
*
|
|
46
|
+
* const upper = new GraphQLDirective({
|
|
47
|
+
* name: 'upper',
|
|
48
|
+
* locations: [DirectiveLocation.FIELD_DEFINITION],
|
|
49
|
+
* });
|
|
50
|
+
*
|
|
51
|
+
* assertDirective(upper); // => upper
|
|
52
|
+
* assertDirective(GraphQLString); // throws an error
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
|
|
21
56
|
export function assertDirective(directive) {
|
|
22
57
|
if (!isDirective(directive)) {
|
|
23
58
|
throw new Error(
|
|
@@ -29,7 +64,6 @@ export function assertDirective(directive) {
|
|
|
29
64
|
}
|
|
30
65
|
/**
|
|
31
66
|
* Custom extensions
|
|
32
|
-
*
|
|
33
67
|
* @remarks
|
|
34
68
|
* Use a unique identifier name for your extension, for example the name of
|
|
35
69
|
* your library or project. Do not use a shortened identifier as this increases
|
|
@@ -42,8 +76,77 @@ export function assertDirective(directive) {
|
|
|
42
76
|
* behavior. Type system creators will usually not create these directly.
|
|
43
77
|
*/
|
|
44
78
|
export class GraphQLDirective {
|
|
79
|
+
/** The GraphQL name for this schema element. */
|
|
80
|
+
|
|
81
|
+
/** Human-readable description for this schema element, if provided. */
|
|
82
|
+
|
|
83
|
+
/** Locations where this directive may be applied. */
|
|
84
|
+
|
|
85
|
+
/** Arguments accepted by this field or directive. */
|
|
86
|
+
|
|
87
|
+
/** Whether this directive may appear more than once at the same location. */
|
|
88
|
+
|
|
89
|
+
/** Reason this element is deprecated, if one was provided. */
|
|
90
|
+
|
|
91
|
+
/** Extension fields to include in the formatted result. */
|
|
92
|
+
|
|
93
|
+
/** AST node from which this schema element was built, if available. */
|
|
94
|
+
|
|
95
|
+
/** AST extension nodes applied to this schema element. */
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Creates a GraphQLDirective instance.
|
|
99
|
+
* @param config - Configuration describing this object.
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* import { DirectiveLocation, parse } from 'graphql/language';
|
|
103
|
+
* import {
|
|
104
|
+
* GraphQLBoolean,
|
|
105
|
+
* GraphQLDirective,
|
|
106
|
+
* GraphQLInt,
|
|
107
|
+
* GraphQLNonNull,
|
|
108
|
+
* } from 'graphql/type';
|
|
109
|
+
*
|
|
110
|
+
* const document = parse(`
|
|
111
|
+
* directive @cacheControl(maxAge: Int) repeatable on FIELD_DEFINITION
|
|
112
|
+
* extend directive @cacheControl(maxAge: Int) on FIELD_DEFINITION
|
|
113
|
+
* `);
|
|
114
|
+
* const definition = document.definitions[0];
|
|
115
|
+
*
|
|
116
|
+
* const cacheControl = new GraphQLDirective({
|
|
117
|
+
* name: 'cacheControl',
|
|
118
|
+
* description: 'Controls HTTP cache hints for a field.',
|
|
119
|
+
* locations: [DirectiveLocation.FIELD_DEFINITION],
|
|
120
|
+
* args: {
|
|
121
|
+
* inheritMaxAge: {
|
|
122
|
+
* description: 'Inherit the parent cache hint.',
|
|
123
|
+
* type: new GraphQLNonNull(GraphQLBoolean),
|
|
124
|
+
* defaultValue: false,
|
|
125
|
+
* deprecationReason: 'Use maxAge instead.',
|
|
126
|
+
* extensions: { scope: 'cache' },
|
|
127
|
+
* },
|
|
128
|
+
* maxAge: {
|
|
129
|
+
* type: GraphQLInt,
|
|
130
|
+
* astNode: definition.arguments[0],
|
|
131
|
+
* },
|
|
132
|
+
* },
|
|
133
|
+
* isRepeatable: true,
|
|
134
|
+
* deprecationReason: 'Use @cache instead.',
|
|
135
|
+
* extensions: { scope: 'cache' },
|
|
136
|
+
* astNode: definition,
|
|
137
|
+
* extensionASTNodes: [ document.definitions[1] ],
|
|
138
|
+
* });
|
|
139
|
+
*
|
|
140
|
+
* cacheControl.name; // => 'cacheControl'
|
|
141
|
+
* cacheControl.description; // => 'Controls HTTP cache hints for a field.'
|
|
142
|
+
* cacheControl.args[0].name; // => 'inheritMaxAge'
|
|
143
|
+
* cacheControl.args[0].defaultValue; // => false
|
|
144
|
+
* cacheControl.isRepeatable; // => true
|
|
145
|
+
* cacheControl.extensions; // => { scope: 'cache' }
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
45
148
|
constructor(config) {
|
|
46
|
-
var _config$isRepeatable, _config$args;
|
|
149
|
+
var _config$isRepeatable, _config$extensionASTN, _config$args;
|
|
47
150
|
|
|
48
151
|
this.name = assertName(config.name);
|
|
49
152
|
this.description = config.description;
|
|
@@ -53,8 +156,14 @@ export class GraphQLDirective {
|
|
|
53
156
|
_config$isRepeatable !== void 0
|
|
54
157
|
? _config$isRepeatable
|
|
55
158
|
: false;
|
|
159
|
+
this.deprecationReason = config.deprecationReason;
|
|
56
160
|
this.extensions = toObjMap(config.extensions);
|
|
57
161
|
this.astNode = config.astNode;
|
|
162
|
+
this.extensionASTNodes =
|
|
163
|
+
(_config$extensionASTN = config.extensionASTNodes) !== null &&
|
|
164
|
+
_config$extensionASTN !== void 0
|
|
165
|
+
? _config$extensionASTN
|
|
166
|
+
: [];
|
|
58
167
|
Array.isArray(config.locations) ||
|
|
59
168
|
devAssert(false, `@${config.name} locations must be an Array.`);
|
|
60
169
|
const args =
|
|
@@ -68,10 +177,37 @@ export class GraphQLDirective {
|
|
|
68
177
|
);
|
|
69
178
|
this.args = defineArguments(args);
|
|
70
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Returns the value used by `Object.prototype.toString`.
|
|
182
|
+
* @returns The built-in string tag for this object.
|
|
183
|
+
*/
|
|
71
184
|
|
|
72
185
|
get [Symbol.toStringTag]() {
|
|
73
186
|
return 'GraphQLDirective';
|
|
74
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Returns a normalized configuration object for this object.
|
|
190
|
+
* @returns A configuration object that can be used to recreate this object.
|
|
191
|
+
* @example
|
|
192
|
+
* ```ts
|
|
193
|
+
* import { DirectiveLocation } from 'graphql/language';
|
|
194
|
+
* import { GraphQLDirective, GraphQLString } from 'graphql/type';
|
|
195
|
+
*
|
|
196
|
+
* const tag = new GraphQLDirective({
|
|
197
|
+
* name: 'tag',
|
|
198
|
+
* locations: [DirectiveLocation.FIELD_DEFINITION],
|
|
199
|
+
* args: {
|
|
200
|
+
* name: { type: GraphQLString },
|
|
201
|
+
* },
|
|
202
|
+
* });
|
|
203
|
+
*
|
|
204
|
+
* const config = tag.toConfig();
|
|
205
|
+
* const tagCopy = new GraphQLDirective(config);
|
|
206
|
+
*
|
|
207
|
+
* config.args.name.type; // => GraphQLString
|
|
208
|
+
* tagCopy.args[0].name; // => 'name'
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
75
211
|
|
|
76
212
|
toConfig() {
|
|
77
213
|
return {
|
|
@@ -80,23 +216,57 @@ export class GraphQLDirective {
|
|
|
80
216
|
locations: this.locations,
|
|
81
217
|
args: argsToArgsConfig(this.args),
|
|
82
218
|
isRepeatable: this.isRepeatable,
|
|
219
|
+
deprecationReason: this.deprecationReason,
|
|
83
220
|
extensions: this.extensions,
|
|
84
221
|
astNode: this.astNode,
|
|
222
|
+
extensionASTNodes: this.extensionASTNodes,
|
|
85
223
|
};
|
|
86
224
|
}
|
|
225
|
+
/**
|
|
226
|
+
* Returns the schema coordinate identifying this directive.
|
|
227
|
+
* @returns The directive schema coordinate.
|
|
228
|
+
* @example
|
|
229
|
+
* ```ts
|
|
230
|
+
* import { DirectiveLocation } from 'graphql/language';
|
|
231
|
+
* import { GraphQLDirective } from 'graphql/type';
|
|
232
|
+
*
|
|
233
|
+
* const tag = new GraphQLDirective({
|
|
234
|
+
* name: 'tag',
|
|
235
|
+
* locations: [DirectiveLocation.FIELD_DEFINITION],
|
|
236
|
+
* });
|
|
237
|
+
*
|
|
238
|
+
* tag.toString(); // => '@tag'
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
87
241
|
|
|
88
242
|
toString() {
|
|
89
243
|
return '@' + this.name;
|
|
90
244
|
}
|
|
245
|
+
/**
|
|
246
|
+
* Returns the JSON representation used when this object is serialized.
|
|
247
|
+
* @returns The JSON-serializable representation.
|
|
248
|
+
* @example
|
|
249
|
+
* ```ts
|
|
250
|
+
* import { DirectiveLocation } from 'graphql/language';
|
|
251
|
+
* import { GraphQLDirective } from 'graphql/type';
|
|
252
|
+
*
|
|
253
|
+
* const tag = new GraphQLDirective({
|
|
254
|
+
* name: 'tag',
|
|
255
|
+
* locations: [DirectiveLocation.FIELD_DEFINITION],
|
|
256
|
+
* });
|
|
257
|
+
*
|
|
258
|
+
* tag.toJSON(); // => '@tag'
|
|
259
|
+
* JSON.stringify({ directive: tag }); // => '{"directive":"@tag"}'
|
|
260
|
+
* ```
|
|
261
|
+
*/
|
|
91
262
|
|
|
92
263
|
toJSON() {
|
|
93
264
|
return this.toString();
|
|
94
265
|
}
|
|
95
266
|
}
|
|
267
|
+
/** Configuration used to construct a GraphQLDirective. */
|
|
96
268
|
|
|
97
|
-
/**
|
|
98
|
-
* Used to conditionally include fields or fragments.
|
|
99
|
-
*/
|
|
269
|
+
/** Used to conditionally include fields or fragments. */
|
|
100
270
|
export const GraphQLIncludeDirective = new GraphQLDirective({
|
|
101
271
|
name: 'include',
|
|
102
272
|
description:
|
|
@@ -113,9 +283,7 @@ export const GraphQLIncludeDirective = new GraphQLDirective({
|
|
|
113
283
|
},
|
|
114
284
|
},
|
|
115
285
|
});
|
|
116
|
-
/**
|
|
117
|
-
* Used to conditionally skip (exclude) fields or fragments.
|
|
118
|
-
*/
|
|
286
|
+
/** Used to conditionally skip (exclude) fields or fragments. */
|
|
119
287
|
|
|
120
288
|
export const GraphQLSkipDirective = new GraphQLDirective({
|
|
121
289
|
name: 'skip',
|
|
@@ -133,13 +301,13 @@ export const GraphQLSkipDirective = new GraphQLDirective({
|
|
|
133
301
|
},
|
|
134
302
|
},
|
|
135
303
|
});
|
|
136
|
-
/**
|
|
137
|
-
* Constant string used for default reason for a deprecation.
|
|
138
|
-
*/
|
|
304
|
+
/** Constant string used for default reason for a deprecation. */
|
|
139
305
|
|
|
140
306
|
export const DEFAULT_DEPRECATION_REASON = 'No longer supported';
|
|
141
307
|
/**
|
|
142
308
|
* Used to declare element of a GraphQL schema as deprecated.
|
|
309
|
+
*
|
|
310
|
+
* The optional `reason` argument defaults to `DEFAULT_DEPRECATION_REASON`.
|
|
143
311
|
*/
|
|
144
312
|
|
|
145
313
|
export const GraphQLDeprecatedDirective = new GraphQLDirective({
|
|
@@ -150,6 +318,7 @@ export const GraphQLDeprecatedDirective = new GraphQLDirective({
|
|
|
150
318
|
DirectiveLocation.ARGUMENT_DEFINITION,
|
|
151
319
|
DirectiveLocation.INPUT_FIELD_DEFINITION,
|
|
152
320
|
DirectiveLocation.ENUM_VALUE,
|
|
321
|
+
DirectiveLocation.DIRECTIVE_DEFINITION,
|
|
153
322
|
],
|
|
154
323
|
args: {
|
|
155
324
|
reason: {
|
|
@@ -160,9 +329,7 @@ export const GraphQLDeprecatedDirective = new GraphQLDirective({
|
|
|
160
329
|
},
|
|
161
330
|
},
|
|
162
331
|
});
|
|
163
|
-
/**
|
|
164
|
-
* Used to provide a URL for specifying the behavior of custom scalar definitions.
|
|
165
|
-
*/
|
|
332
|
+
/** Used to provide a URL for specifying the behavior of custom scalar definitions. */
|
|
166
333
|
|
|
167
334
|
export const GraphQLSpecifiedByDirective = new GraphQLDirective({
|
|
168
335
|
name: 'specifiedBy',
|
|
@@ -175,9 +342,7 @@ export const GraphQLSpecifiedByDirective = new GraphQLDirective({
|
|
|
175
342
|
},
|
|
176
343
|
},
|
|
177
344
|
});
|
|
178
|
-
/**
|
|
179
|
-
* Used to indicate an Input Object is a OneOf Input Object.
|
|
180
|
-
*/
|
|
345
|
+
/** Used to indicate an Input Object is a OneOf Input Object. */
|
|
181
346
|
|
|
182
347
|
export const GraphQLOneOfDirective = new GraphQLDirective({
|
|
183
348
|
name: 'oneOf',
|
|
@@ -186,9 +351,7 @@ export const GraphQLOneOfDirective = new GraphQLDirective({
|
|
|
186
351
|
locations: [DirectiveLocation.INPUT_OBJECT],
|
|
187
352
|
args: {},
|
|
188
353
|
});
|
|
189
|
-
/**
|
|
190
|
-
* The full list of specified directives.
|
|
191
|
-
*/
|
|
354
|
+
/** Full list of stable directives specified by GraphQL.js. */
|
|
192
355
|
|
|
193
356
|
export const specifiedDirectives = Object.freeze([
|
|
194
357
|
GraphQLIncludeDirective,
|
|
@@ -197,6 +360,29 @@ export const specifiedDirectives = Object.freeze([
|
|
|
197
360
|
GraphQLSpecifiedByDirective,
|
|
198
361
|
GraphQLOneOfDirective,
|
|
199
362
|
]);
|
|
363
|
+
/**
|
|
364
|
+
* Returns true when the directive is one of the directives specified by GraphQL.
|
|
365
|
+
* @param directive - Directive to inspect.
|
|
366
|
+
* @returns True when the directive is specified by GraphQL.
|
|
367
|
+
* @example
|
|
368
|
+
* ```ts
|
|
369
|
+
* import {
|
|
370
|
+
* GraphQLDirective,
|
|
371
|
+
* GraphQLIncludeDirective,
|
|
372
|
+
* isSpecifiedDirective,
|
|
373
|
+
* } from 'graphql/type';
|
|
374
|
+
* import { DirectiveLocation } from 'graphql/language';
|
|
375
|
+
*
|
|
376
|
+
* const customDirective = new GraphQLDirective({
|
|
377
|
+
* name: 'auth',
|
|
378
|
+
* locations: [DirectiveLocation.FIELD_DEFINITION],
|
|
379
|
+
* });
|
|
380
|
+
*
|
|
381
|
+
* isSpecifiedDirective(GraphQLIncludeDirective); // => true
|
|
382
|
+
* isSpecifiedDirective(customDirective); // => false
|
|
383
|
+
* ```
|
|
384
|
+
*/
|
|
385
|
+
|
|
200
386
|
export function isSpecifiedDirective(directive) {
|
|
201
387
|
return specifiedDirectives.some(({ name }) => name === directive.name);
|
|
202
388
|
}
|
package/type/index.d.ts
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create and inspect GraphQL type definitions and schemas.
|
|
3
|
+
*
|
|
4
|
+
* These exports are also available from the root `graphql` package.
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
1
7
|
export type { Path as ResponsePath } from '../jsutils/Path';
|
|
2
8
|
export { isSchema, assertSchema, GraphQLSchema } from './schema';
|
|
3
9
|
export type { GraphQLSchemaConfig, GraphQLSchemaExtensions } from './schema';
|
package/type/index.mjs
CHANGED
package/type/introspection.d.ts
CHANGED
|
@@ -1,30 +1,66 @@
|
|
|
1
|
+
/** @category Introspection */
|
|
1
2
|
import type { GraphQLField, GraphQLNamedType } from './definition';
|
|
2
3
|
import { GraphQLEnumType, GraphQLObjectType } from './definition';
|
|
4
|
+
/** The introspection type describing a GraphQL schema. */
|
|
3
5
|
export declare const __Schema: GraphQLObjectType;
|
|
6
|
+
/** The introspection type describing a GraphQL directive. */
|
|
4
7
|
export declare const __Directive: GraphQLObjectType;
|
|
8
|
+
/** The introspection enum describing directive locations. */
|
|
5
9
|
export declare const __DirectiveLocation: GraphQLEnumType;
|
|
10
|
+
/** The introspection type describing GraphQL types. */
|
|
6
11
|
export declare const __Type: GraphQLObjectType;
|
|
12
|
+
/** The introspection type describing object and interface fields. */
|
|
7
13
|
export declare const __Field: GraphQLObjectType;
|
|
14
|
+
/** The introspection type describing arguments and input fields. */
|
|
8
15
|
export declare const __InputValue: GraphQLObjectType;
|
|
16
|
+
/** The introspection type describing enum values. */
|
|
9
17
|
export declare const __EnumValue: GraphQLObjectType;
|
|
18
|
+
/**
|
|
19
|
+
* The introspection enum describing the different kinds of GraphQL types.
|
|
20
|
+
* @category Introspection
|
|
21
|
+
*/
|
|
10
22
|
declare enum TypeKind {
|
|
23
|
+
/** A scalar type. */
|
|
11
24
|
SCALAR = 'SCALAR',
|
|
25
|
+
/** An object type. */
|
|
12
26
|
OBJECT = 'OBJECT',
|
|
27
|
+
/** An interface type. */
|
|
13
28
|
INTERFACE = 'INTERFACE',
|
|
29
|
+
/** A union type. */
|
|
14
30
|
UNION = 'UNION',
|
|
31
|
+
/** An enum type. */
|
|
15
32
|
ENUM = 'ENUM',
|
|
33
|
+
/** An input object type. */
|
|
16
34
|
INPUT_OBJECT = 'INPUT_OBJECT',
|
|
35
|
+
/** A list wrapper type. */
|
|
17
36
|
LIST = 'LIST',
|
|
37
|
+
/** A non-null wrapper type. */
|
|
18
38
|
NON_NULL = 'NON_NULL',
|
|
19
39
|
}
|
|
20
40
|
export { TypeKind };
|
|
41
|
+
/** The introspection enum describing GraphQL type kinds. */
|
|
21
42
|
export declare const __TypeKind: GraphQLEnumType;
|
|
22
43
|
/**
|
|
23
44
|
* Note that these are GraphQLField and not GraphQLFieldConfig,
|
|
24
45
|
* so the format for args is different.
|
|
25
46
|
*/
|
|
26
47
|
export declare const SchemaMetaFieldDef: GraphQLField<unknown, unknown>;
|
|
48
|
+
/** The `__type` meta field definition used by introspection. */
|
|
27
49
|
export declare const TypeMetaFieldDef: GraphQLField<unknown, unknown>;
|
|
50
|
+
/** The `__typename` meta field definition used by execution and introspection. */
|
|
28
51
|
export declare const TypeNameMetaFieldDef: GraphQLField<unknown, unknown>;
|
|
52
|
+
/** All introspection types defined by the GraphQL specification. */
|
|
29
53
|
export declare const introspectionTypes: ReadonlyArray<GraphQLNamedType>;
|
|
54
|
+
/**
|
|
55
|
+
* Returns true when the type is one of the built-in introspection types.
|
|
56
|
+
* @param type - The GraphQL type to inspect.
|
|
57
|
+
* @returns True when the type is one of the built-in introspection types.
|
|
58
|
+
* @example
|
|
59
|
+
* ```ts
|
|
60
|
+
* import { GraphQLString, isIntrospectionType, __Type } from 'graphql/type';
|
|
61
|
+
*
|
|
62
|
+
* isIntrospectionType(__Type); // => true
|
|
63
|
+
* isIntrospectionType(GraphQLString); // => false
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
30
66
|
export declare function isIntrospectionType(type: GraphQLNamedType): boolean;
|
package/type/introspection.js
CHANGED
|
@@ -33,6 +33,9 @@ var _definition = require('./definition.js');
|
|
|
33
33
|
|
|
34
34
|
var _scalars = require('./scalars.js');
|
|
35
35
|
|
|
36
|
+
/** @category Introspection */
|
|
37
|
+
|
|
38
|
+
/** The introspection type describing a GraphQL schema. */
|
|
36
39
|
const __Schema = new _definition.GraphQLObjectType({
|
|
37
40
|
name: '__Schema',
|
|
38
41
|
description:
|
|
@@ -76,10 +79,22 @@ const __Schema = new _definition.GraphQLObjectType({
|
|
|
76
79
|
new _definition.GraphQLNonNull(__Directive),
|
|
77
80
|
),
|
|
78
81
|
),
|
|
79
|
-
|
|
82
|
+
args: {
|
|
83
|
+
includeDeprecated: {
|
|
84
|
+
type: new _definition.GraphQLNonNull(_scalars.GraphQLBoolean),
|
|
85
|
+
defaultValue: false,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
resolve: (schema, { includeDeprecated }) =>
|
|
89
|
+
includeDeprecated
|
|
90
|
+
? schema.getDirectives()
|
|
91
|
+
: schema
|
|
92
|
+
.getDirectives()
|
|
93
|
+
.filter((directive) => directive.deprecationReason == null),
|
|
80
94
|
},
|
|
81
95
|
}),
|
|
82
96
|
});
|
|
97
|
+
/** The introspection type describing a GraphQL directive. */
|
|
83
98
|
|
|
84
99
|
exports.__Schema = __Schema;
|
|
85
100
|
|
|
@@ -127,8 +142,17 @@ const __Directive = new _definition.GraphQLObjectType({
|
|
|
127
142
|
: field.args.filter((arg) => arg.deprecationReason == null);
|
|
128
143
|
},
|
|
129
144
|
},
|
|
145
|
+
isDeprecated: {
|
|
146
|
+
type: new _definition.GraphQLNonNull(_scalars.GraphQLBoolean),
|
|
147
|
+
resolve: (directive) => directive.deprecationReason != null,
|
|
148
|
+
},
|
|
149
|
+
deprecationReason: {
|
|
150
|
+
type: _scalars.GraphQLString,
|
|
151
|
+
resolve: (directive) => directive.deprecationReason,
|
|
152
|
+
},
|
|
130
153
|
}),
|
|
131
154
|
});
|
|
155
|
+
/** The introspection enum describing directive locations. */
|
|
132
156
|
|
|
133
157
|
exports.__Directive = __Directive;
|
|
134
158
|
|
|
@@ -213,8 +237,13 @@ const __DirectiveLocation = new _definition.GraphQLEnumType({
|
|
|
213
237
|
value: _directiveLocation.DirectiveLocation.INPUT_FIELD_DEFINITION,
|
|
214
238
|
description: 'Location adjacent to an input object field definition.',
|
|
215
239
|
},
|
|
240
|
+
DIRECTIVE_DEFINITION: {
|
|
241
|
+
value: _directiveLocation.DirectiveLocation.DIRECTIVE_DEFINITION,
|
|
242
|
+
description: 'Location adjacent to a directive definition.',
|
|
243
|
+
},
|
|
216
244
|
},
|
|
217
245
|
});
|
|
246
|
+
/** The introspection type describing GraphQL types. */
|
|
218
247
|
|
|
219
248
|
exports.__DirectiveLocation = __DirectiveLocation;
|
|
220
249
|
|
|
@@ -383,6 +412,7 @@ const __Type = new _definition.GraphQLObjectType({
|
|
|
383
412
|
},
|
|
384
413
|
}),
|
|
385
414
|
});
|
|
415
|
+
/** The introspection type describing object and interface fields. */
|
|
386
416
|
|
|
387
417
|
exports.__Type = __Type;
|
|
388
418
|
|
|
@@ -432,6 +462,7 @@ const __Field = new _definition.GraphQLObjectType({
|
|
|
432
462
|
},
|
|
433
463
|
}),
|
|
434
464
|
});
|
|
465
|
+
/** The introspection type describing arguments and input fields. */
|
|
435
466
|
|
|
436
467
|
exports.__Field = __Field;
|
|
437
468
|
|
|
@@ -473,6 +504,7 @@ const __InputValue = new _definition.GraphQLObjectType({
|
|
|
473
504
|
},
|
|
474
505
|
}),
|
|
475
506
|
});
|
|
507
|
+
/** The introspection type describing enum values. */
|
|
476
508
|
|
|
477
509
|
exports.__InputValue = __InputValue;
|
|
478
510
|
|
|
@@ -499,6 +531,10 @@ const __EnumValue = new _definition.GraphQLObjectType({
|
|
|
499
531
|
},
|
|
500
532
|
}),
|
|
501
533
|
});
|
|
534
|
+
/**
|
|
535
|
+
* The introspection enum describing the different kinds of GraphQL types.
|
|
536
|
+
* @category Introspection
|
|
537
|
+
*/
|
|
502
538
|
|
|
503
539
|
exports.__EnumValue = __EnumValue;
|
|
504
540
|
var TypeKind;
|
|
@@ -515,6 +551,7 @@ exports.TypeKind = TypeKind;
|
|
|
515
551
|
TypeKind['NON_NULL'] = 'NON_NULL';
|
|
516
552
|
})(TypeKind || (exports.TypeKind = TypeKind = {}));
|
|
517
553
|
|
|
554
|
+
/** The introspection enum describing GraphQL type kinds. */
|
|
518
555
|
const __TypeKind = new _definition.GraphQLEnumType({
|
|
519
556
|
name: '__TypeKind',
|
|
520
557
|
description: 'An enum describing what kind of type a given `__Type` is.',
|
|
@@ -575,6 +612,8 @@ const SchemaMetaFieldDef = {
|
|
|
575
612
|
extensions: Object.create(null),
|
|
576
613
|
astNode: undefined,
|
|
577
614
|
};
|
|
615
|
+
/** The `__type` meta field definition used by introspection. */
|
|
616
|
+
|
|
578
617
|
exports.SchemaMetaFieldDef = SchemaMetaFieldDef;
|
|
579
618
|
const TypeMetaFieldDef = {
|
|
580
619
|
name: '__type',
|
|
@@ -596,6 +635,8 @@ const TypeMetaFieldDef = {
|
|
|
596
635
|
extensions: Object.create(null),
|
|
597
636
|
astNode: undefined,
|
|
598
637
|
};
|
|
638
|
+
/** The `__typename` meta field definition used by execution and introspection. */
|
|
639
|
+
|
|
599
640
|
exports.TypeMetaFieldDef = TypeMetaFieldDef;
|
|
600
641
|
const TypeNameMetaFieldDef = {
|
|
601
642
|
name: '__typename',
|
|
@@ -607,6 +648,8 @@ const TypeNameMetaFieldDef = {
|
|
|
607
648
|
extensions: Object.create(null),
|
|
608
649
|
astNode: undefined,
|
|
609
650
|
};
|
|
651
|
+
/** All introspection types defined by the GraphQL specification. */
|
|
652
|
+
|
|
610
653
|
exports.TypeNameMetaFieldDef = TypeNameMetaFieldDef;
|
|
611
654
|
const introspectionTypes = Object.freeze([
|
|
612
655
|
__Schema,
|
|
@@ -618,6 +661,19 @@ const introspectionTypes = Object.freeze([
|
|
|
618
661
|
__EnumValue,
|
|
619
662
|
__TypeKind,
|
|
620
663
|
]);
|
|
664
|
+
/**
|
|
665
|
+
* Returns true when the type is one of the built-in introspection types.
|
|
666
|
+
* @param type - The GraphQL type to inspect.
|
|
667
|
+
* @returns True when the type is one of the built-in introspection types.
|
|
668
|
+
* @example
|
|
669
|
+
* ```ts
|
|
670
|
+
* import { GraphQLString, isIntrospectionType, __Type } from 'graphql/type';
|
|
671
|
+
*
|
|
672
|
+
* isIntrospectionType(__Type); // => true
|
|
673
|
+
* isIntrospectionType(GraphQLString); // => false
|
|
674
|
+
* ```
|
|
675
|
+
*/
|
|
676
|
+
|
|
621
677
|
exports.introspectionTypes = introspectionTypes;
|
|
622
678
|
|
|
623
679
|
function isIntrospectionType(type) {
|