graphql 16.14.0 → 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 +11 -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 +412 -54
- package/language/ast.js +95 -38
- package/language/ast.mjs +95 -38
- package/language/blockString.d.ts +1 -3
- package/language/blockString.js +1 -3
- package/language/blockString.mjs +1 -3
- package/language/directiveLocation.d.ts +28 -8
- package/language/directiveLocation.js +9 -6
- package/language/directiveLocation.mjs +9 -6
- package/language/index.d.ts +6 -0
- package/language/index.mjs +6 -0
- package/language/kinds.d.ts +57 -18
- package/language/kinds.js +9 -6
- package/language/kinds.mjs +9 -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 +236 -13
- package/language/parser.js +224 -0
- package/language/parser.mjs +224 -3
- package/language/predicates.d.ts +169 -0
- package/language/predicates.js +170 -0
- package/language/predicates.mjs +180 -0
- 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 +19 -0
- package/language/printer.mjs +18 -0
- 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 +193 -18
- package/type/directives.js +196 -19
- package/type/directives.mjs +196 -19
- package/type/index.d.ts +6 -0
- package/type/index.mjs +6 -0
- package/type/introspection.d.ts +36 -0
- package/type/introspection.js +33 -0
- package/type/introspection.mjs +41 -0
- 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 +65 -6
- package/utilities/buildASTSchema.mjs +65 -6
- package/utilities/buildClientSchema.d.ts +15 -0
- package/utilities/buildClientSchema.js +16 -0
- package/utilities/buildClientSchema.mjs +15 -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 +63 -3
- package/utilities/extendSchema.mjs +62 -3
- package/utilities/findBreakingChanges.d.ts +95 -0
- package/utilities/findBreakingChanges.js +68 -0
- package/utilities/findBreakingChanges.mjs +70 -0
- package/utilities/getIntrospectionQuery.d.ts +132 -0
- package/utilities/getIntrospectionQuery.js +41 -0
- package/utilities/getIntrospectionQuery.mjs +41 -0
- 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 +55 -0
- package/utilities/introspectionFromSchema.mjs +54 -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 +66 -0
- package/utilities/printSchema.mjs +67 -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 +39 -0
- package/utilities/valueFromAST.mjs +38 -0
- 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 +29 -0
- package/validation/rules/KnownDirectivesRule.mjs +28 -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 +29 -0
- package/validation/rules/UniqueDirectivesPerLocationRule.mjs +28 -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 +6 -8
- package/version.mjs +5 -8
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,6 +76,75 @@ 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
149
|
var _config$isRepeatable, _config$extensionASTN, _config$args;
|
|
47
150
|
|
|
@@ -74,10 +177,37 @@ export class GraphQLDirective {
|
|
|
74
177
|
);
|
|
75
178
|
this.args = defineArguments(args);
|
|
76
179
|
}
|
|
180
|
+
/**
|
|
181
|
+
* Returns the value used by `Object.prototype.toString`.
|
|
182
|
+
* @returns The built-in string tag for this object.
|
|
183
|
+
*/
|
|
77
184
|
|
|
78
185
|
get [Symbol.toStringTag]() {
|
|
79
186
|
return 'GraphQLDirective';
|
|
80
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
|
+
*/
|
|
81
211
|
|
|
82
212
|
toConfig() {
|
|
83
213
|
return {
|
|
@@ -92,19 +222,51 @@ export class GraphQLDirective {
|
|
|
92
222
|
extensionASTNodes: this.extensionASTNodes,
|
|
93
223
|
};
|
|
94
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
|
+
*/
|
|
95
241
|
|
|
96
242
|
toString() {
|
|
97
243
|
return '@' + this.name;
|
|
98
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
|
+
*/
|
|
99
262
|
|
|
100
263
|
toJSON() {
|
|
101
264
|
return this.toString();
|
|
102
265
|
}
|
|
103
266
|
}
|
|
267
|
+
/** Configuration used to construct a GraphQLDirective. */
|
|
104
268
|
|
|
105
|
-
/**
|
|
106
|
-
* Used to conditionally include fields or fragments.
|
|
107
|
-
*/
|
|
269
|
+
/** Used to conditionally include fields or fragments. */
|
|
108
270
|
export const GraphQLIncludeDirective = new GraphQLDirective({
|
|
109
271
|
name: 'include',
|
|
110
272
|
description:
|
|
@@ -121,9 +283,7 @@ export const GraphQLIncludeDirective = new GraphQLDirective({
|
|
|
121
283
|
},
|
|
122
284
|
},
|
|
123
285
|
});
|
|
124
|
-
/**
|
|
125
|
-
* Used to conditionally skip (exclude) fields or fragments.
|
|
126
|
-
*/
|
|
286
|
+
/** Used to conditionally skip (exclude) fields or fragments. */
|
|
127
287
|
|
|
128
288
|
export const GraphQLSkipDirective = new GraphQLDirective({
|
|
129
289
|
name: 'skip',
|
|
@@ -141,13 +301,13 @@ export const GraphQLSkipDirective = new GraphQLDirective({
|
|
|
141
301
|
},
|
|
142
302
|
},
|
|
143
303
|
});
|
|
144
|
-
/**
|
|
145
|
-
* Constant string used for default reason for a deprecation.
|
|
146
|
-
*/
|
|
304
|
+
/** Constant string used for default reason for a deprecation. */
|
|
147
305
|
|
|
148
306
|
export const DEFAULT_DEPRECATION_REASON = 'No longer supported';
|
|
149
307
|
/**
|
|
150
308
|
* Used to declare element of a GraphQL schema as deprecated.
|
|
309
|
+
*
|
|
310
|
+
* The optional `reason` argument defaults to `DEFAULT_DEPRECATION_REASON`.
|
|
151
311
|
*/
|
|
152
312
|
|
|
153
313
|
export const GraphQLDeprecatedDirective = new GraphQLDirective({
|
|
@@ -169,9 +329,7 @@ export const GraphQLDeprecatedDirective = new GraphQLDirective({
|
|
|
169
329
|
},
|
|
170
330
|
},
|
|
171
331
|
});
|
|
172
|
-
/**
|
|
173
|
-
* Used to provide a URL for specifying the behavior of custom scalar definitions.
|
|
174
|
-
*/
|
|
332
|
+
/** Used to provide a URL for specifying the behavior of custom scalar definitions. */
|
|
175
333
|
|
|
176
334
|
export const GraphQLSpecifiedByDirective = new GraphQLDirective({
|
|
177
335
|
name: 'specifiedBy',
|
|
@@ -184,9 +342,7 @@ export const GraphQLSpecifiedByDirective = new GraphQLDirective({
|
|
|
184
342
|
},
|
|
185
343
|
},
|
|
186
344
|
});
|
|
187
|
-
/**
|
|
188
|
-
* Used to indicate an Input Object is a OneOf Input Object.
|
|
189
|
-
*/
|
|
345
|
+
/** Used to indicate an Input Object is a OneOf Input Object. */
|
|
190
346
|
|
|
191
347
|
export const GraphQLOneOfDirective = new GraphQLDirective({
|
|
192
348
|
name: 'oneOf',
|
|
@@ -195,9 +351,7 @@ export const GraphQLOneOfDirective = new GraphQLDirective({
|
|
|
195
351
|
locations: [DirectiveLocation.INPUT_OBJECT],
|
|
196
352
|
args: {},
|
|
197
353
|
});
|
|
198
|
-
/**
|
|
199
|
-
* The full list of specified directives.
|
|
200
|
-
*/
|
|
354
|
+
/** Full list of stable directives specified by GraphQL.js. */
|
|
201
355
|
|
|
202
356
|
export const specifiedDirectives = Object.freeze([
|
|
203
357
|
GraphQLIncludeDirective,
|
|
@@ -206,6 +360,29 @@ export const specifiedDirectives = Object.freeze([
|
|
|
206
360
|
GraphQLSpecifiedByDirective,
|
|
207
361
|
GraphQLOneOfDirective,
|
|
208
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
|
+
|
|
209
386
|
export function isSpecifiedDirective(directive) {
|
|
210
387
|
return specifiedDirectives.some(({ name }) => name === directive.name);
|
|
211
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:
|
|
@@ -91,6 +94,7 @@ const __Schema = new _definition.GraphQLObjectType({
|
|
|
91
94
|
},
|
|
92
95
|
}),
|
|
93
96
|
});
|
|
97
|
+
/** The introspection type describing a GraphQL directive. */
|
|
94
98
|
|
|
95
99
|
exports.__Schema = __Schema;
|
|
96
100
|
|
|
@@ -148,6 +152,7 @@ const __Directive = new _definition.GraphQLObjectType({
|
|
|
148
152
|
},
|
|
149
153
|
}),
|
|
150
154
|
});
|
|
155
|
+
/** The introspection enum describing directive locations. */
|
|
151
156
|
|
|
152
157
|
exports.__Directive = __Directive;
|
|
153
158
|
|
|
@@ -238,6 +243,7 @@ const __DirectiveLocation = new _definition.GraphQLEnumType({
|
|
|
238
243
|
},
|
|
239
244
|
},
|
|
240
245
|
});
|
|
246
|
+
/** The introspection type describing GraphQL types. */
|
|
241
247
|
|
|
242
248
|
exports.__DirectiveLocation = __DirectiveLocation;
|
|
243
249
|
|
|
@@ -406,6 +412,7 @@ const __Type = new _definition.GraphQLObjectType({
|
|
|
406
412
|
},
|
|
407
413
|
}),
|
|
408
414
|
});
|
|
415
|
+
/** The introspection type describing object and interface fields. */
|
|
409
416
|
|
|
410
417
|
exports.__Type = __Type;
|
|
411
418
|
|
|
@@ -455,6 +462,7 @@ const __Field = new _definition.GraphQLObjectType({
|
|
|
455
462
|
},
|
|
456
463
|
}),
|
|
457
464
|
});
|
|
465
|
+
/** The introspection type describing arguments and input fields. */
|
|
458
466
|
|
|
459
467
|
exports.__Field = __Field;
|
|
460
468
|
|
|
@@ -496,6 +504,7 @@ const __InputValue = new _definition.GraphQLObjectType({
|
|
|
496
504
|
},
|
|
497
505
|
}),
|
|
498
506
|
});
|
|
507
|
+
/** The introspection type describing enum values. */
|
|
499
508
|
|
|
500
509
|
exports.__InputValue = __InputValue;
|
|
501
510
|
|
|
@@ -522,6 +531,10 @@ const __EnumValue = new _definition.GraphQLObjectType({
|
|
|
522
531
|
},
|
|
523
532
|
}),
|
|
524
533
|
});
|
|
534
|
+
/**
|
|
535
|
+
* The introspection enum describing the different kinds of GraphQL types.
|
|
536
|
+
* @category Introspection
|
|
537
|
+
*/
|
|
525
538
|
|
|
526
539
|
exports.__EnumValue = __EnumValue;
|
|
527
540
|
var TypeKind;
|
|
@@ -538,6 +551,7 @@ exports.TypeKind = TypeKind;
|
|
|
538
551
|
TypeKind['NON_NULL'] = 'NON_NULL';
|
|
539
552
|
})(TypeKind || (exports.TypeKind = TypeKind = {}));
|
|
540
553
|
|
|
554
|
+
/** The introspection enum describing GraphQL type kinds. */
|
|
541
555
|
const __TypeKind = new _definition.GraphQLEnumType({
|
|
542
556
|
name: '__TypeKind',
|
|
543
557
|
description: 'An enum describing what kind of type a given `__Type` is.',
|
|
@@ -598,6 +612,8 @@ const SchemaMetaFieldDef = {
|
|
|
598
612
|
extensions: Object.create(null),
|
|
599
613
|
astNode: undefined,
|
|
600
614
|
};
|
|
615
|
+
/** The `__type` meta field definition used by introspection. */
|
|
616
|
+
|
|
601
617
|
exports.SchemaMetaFieldDef = SchemaMetaFieldDef;
|
|
602
618
|
const TypeMetaFieldDef = {
|
|
603
619
|
name: '__type',
|
|
@@ -619,6 +635,8 @@ const TypeMetaFieldDef = {
|
|
|
619
635
|
extensions: Object.create(null),
|
|
620
636
|
astNode: undefined,
|
|
621
637
|
};
|
|
638
|
+
/** The `__typename` meta field definition used by execution and introspection. */
|
|
639
|
+
|
|
622
640
|
exports.TypeMetaFieldDef = TypeMetaFieldDef;
|
|
623
641
|
const TypeNameMetaFieldDef = {
|
|
624
642
|
name: '__typename',
|
|
@@ -630,6 +648,8 @@ const TypeNameMetaFieldDef = {
|
|
|
630
648
|
extensions: Object.create(null),
|
|
631
649
|
astNode: undefined,
|
|
632
650
|
};
|
|
651
|
+
/** All introspection types defined by the GraphQL specification. */
|
|
652
|
+
|
|
633
653
|
exports.TypeNameMetaFieldDef = TypeNameMetaFieldDef;
|
|
634
654
|
const introspectionTypes = Object.freeze([
|
|
635
655
|
__Schema,
|
|
@@ -641,6 +661,19 @@ const introspectionTypes = Object.freeze([
|
|
|
641
661
|
__EnumValue,
|
|
642
662
|
__TypeKind,
|
|
643
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
|
+
|
|
644
677
|
exports.introspectionTypes = introspectionTypes;
|
|
645
678
|
|
|
646
679
|
function isIntrospectionType(type) {
|
package/type/introspection.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category Introspection */
|
|
1
2
|
import { inspect } from '../jsutils/inspect.mjs';
|
|
2
3
|
import { invariant } from '../jsutils/invariant.mjs';
|
|
3
4
|
import { DirectiveLocation } from '../language/directiveLocation.mjs';
|
|
@@ -19,6 +20,8 @@ import {
|
|
|
19
20
|
isUnionType,
|
|
20
21
|
} from './definition.mjs';
|
|
21
22
|
import { GraphQLBoolean, GraphQLString } from './scalars.mjs';
|
|
23
|
+
|
|
24
|
+
/** The introspection type describing a GraphQL schema. */
|
|
22
25
|
export const __Schema = new GraphQLObjectType({
|
|
23
26
|
name: '__Schema',
|
|
24
27
|
description:
|
|
@@ -73,6 +76,8 @@ export const __Schema = new GraphQLObjectType({
|
|
|
73
76
|
},
|
|
74
77
|
}),
|
|
75
78
|
});
|
|
79
|
+
/** The introspection type describing a GraphQL directive. */
|
|
80
|
+
|
|
76
81
|
export const __Directive = new GraphQLObjectType({
|
|
77
82
|
name: '__Directive',
|
|
78
83
|
description:
|
|
@@ -123,6 +128,8 @@ export const __Directive = new GraphQLObjectType({
|
|
|
123
128
|
},
|
|
124
129
|
}),
|
|
125
130
|
});
|
|
131
|
+
/** The introspection enum describing directive locations. */
|
|
132
|
+
|
|
126
133
|
export const __DirectiveLocation = new GraphQLEnumType({
|
|
127
134
|
name: '__DirectiveLocation',
|
|
128
135
|
description:
|
|
@@ -210,6 +217,8 @@ export const __DirectiveLocation = new GraphQLEnumType({
|
|
|
210
217
|
},
|
|
211
218
|
},
|
|
212
219
|
});
|
|
220
|
+
/** The introspection type describing GraphQL types. */
|
|
221
|
+
|
|
213
222
|
export const __Type = new GraphQLObjectType({
|
|
214
223
|
name: '__Type',
|
|
215
224
|
description:
|
|
@@ -359,6 +368,8 @@ export const __Type = new GraphQLObjectType({
|
|
|
359
368
|
},
|
|
360
369
|
}),
|
|
361
370
|
});
|
|
371
|
+
/** The introspection type describing object and interface fields. */
|
|
372
|
+
|
|
362
373
|
export const __Field = new GraphQLObjectType({
|
|
363
374
|
name: '__Field',
|
|
364
375
|
description:
|
|
@@ -403,6 +414,8 @@ export const __Field = new GraphQLObjectType({
|
|
|
403
414
|
},
|
|
404
415
|
}),
|
|
405
416
|
});
|
|
417
|
+
/** The introspection type describing arguments and input fields. */
|
|
418
|
+
|
|
406
419
|
export const __InputValue = new GraphQLObjectType({
|
|
407
420
|
name: '__InputValue',
|
|
408
421
|
description:
|
|
@@ -441,6 +454,8 @@ export const __InputValue = new GraphQLObjectType({
|
|
|
441
454
|
},
|
|
442
455
|
}),
|
|
443
456
|
});
|
|
457
|
+
/** The introspection type describing enum values. */
|
|
458
|
+
|
|
444
459
|
export const __EnumValue = new GraphQLObjectType({
|
|
445
460
|
name: '__EnumValue',
|
|
446
461
|
description:
|
|
@@ -464,6 +479,11 @@ export const __EnumValue = new GraphQLObjectType({
|
|
|
464
479
|
},
|
|
465
480
|
}),
|
|
466
481
|
});
|
|
482
|
+
/**
|
|
483
|
+
* The introspection enum describing the different kinds of GraphQL types.
|
|
484
|
+
* @category Introspection
|
|
485
|
+
*/
|
|
486
|
+
|
|
467
487
|
var TypeKind;
|
|
468
488
|
|
|
469
489
|
(function (TypeKind) {
|
|
@@ -478,6 +498,8 @@ var TypeKind;
|
|
|
478
498
|
})(TypeKind || (TypeKind = {}));
|
|
479
499
|
|
|
480
500
|
export { TypeKind };
|
|
501
|
+
/** The introspection enum describing GraphQL type kinds. */
|
|
502
|
+
|
|
481
503
|
export const __TypeKind = new GraphQLEnumType({
|
|
482
504
|
name: '__TypeKind',
|
|
483
505
|
description: 'An enum describing what kind of type a given `__Type` is.',
|
|
@@ -537,6 +559,8 @@ export const SchemaMetaFieldDef = {
|
|
|
537
559
|
extensions: Object.create(null),
|
|
538
560
|
astNode: undefined,
|
|
539
561
|
};
|
|
562
|
+
/** The `__type` meta field definition used by introspection. */
|
|
563
|
+
|
|
540
564
|
export const TypeMetaFieldDef = {
|
|
541
565
|
name: '__type',
|
|
542
566
|
type: __Type,
|
|
@@ -557,6 +581,8 @@ export const TypeMetaFieldDef = {
|
|
|
557
581
|
extensions: Object.create(null),
|
|
558
582
|
astNode: undefined,
|
|
559
583
|
};
|
|
584
|
+
/** The `__typename` meta field definition used by execution and introspection. */
|
|
585
|
+
|
|
560
586
|
export const TypeNameMetaFieldDef = {
|
|
561
587
|
name: '__typename',
|
|
562
588
|
type: new GraphQLNonNull(GraphQLString),
|
|
@@ -567,6 +593,8 @@ export const TypeNameMetaFieldDef = {
|
|
|
567
593
|
extensions: Object.create(null),
|
|
568
594
|
astNode: undefined,
|
|
569
595
|
};
|
|
596
|
+
/** All introspection types defined by the GraphQL specification. */
|
|
597
|
+
|
|
570
598
|
export const introspectionTypes = Object.freeze([
|
|
571
599
|
__Schema,
|
|
572
600
|
__Directive,
|
|
@@ -577,6 +605,19 @@ export const introspectionTypes = Object.freeze([
|
|
|
577
605
|
__EnumValue,
|
|
578
606
|
__TypeKind,
|
|
579
607
|
]);
|
|
608
|
+
/**
|
|
609
|
+
* Returns true when the type is one of the built-in introspection types.
|
|
610
|
+
* @param type - The GraphQL type to inspect.
|
|
611
|
+
* @returns True when the type is one of the built-in introspection types.
|
|
612
|
+
* @example
|
|
613
|
+
* ```ts
|
|
614
|
+
* import { GraphQLString, isIntrospectionType, __Type } from 'graphql/type';
|
|
615
|
+
*
|
|
616
|
+
* isIntrospectionType(__Type); // => true
|
|
617
|
+
* isIntrospectionType(GraphQLString); // => false
|
|
618
|
+
* ```
|
|
619
|
+
*/
|
|
620
|
+
|
|
580
621
|
export function isIntrospectionType(type) {
|
|
581
622
|
return introspectionTypes.some(({ name }) => type.name === name);
|
|
582
623
|
}
|
package/type/scalars.d.ts
CHANGED
|
@@ -1,19 +1,46 @@
|
|
|
1
|
+
/** @category Scalars */
|
|
1
2
|
import type { GraphQLNamedType } from './definition';
|
|
2
3
|
import { GraphQLScalarType } from './definition';
|
|
3
4
|
/**
|
|
4
5
|
* Maximum possible Int value as per GraphQL Spec (32-bit signed integer).
|
|
5
6
|
* n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe up-to 2^53 - 1
|
|
6
|
-
|
|
7
|
+
*/
|
|
7
8
|
export declare const GRAPHQL_MAX_INT = 2147483647;
|
|
8
9
|
/**
|
|
9
10
|
* Minimum possible Int value as per GraphQL Spec (32-bit signed integer).
|
|
10
11
|
* n.b. This differs from JavaScript's numbers that are IEEE 754 doubles safe starting at -(2^53 - 1)
|
|
11
|
-
|
|
12
|
+
*/
|
|
12
13
|
export declare const GRAPHQL_MIN_INT = -2147483648;
|
|
14
|
+
/** The built-in `Int` scalar type. */
|
|
13
15
|
export declare const GraphQLInt: GraphQLScalarType<number, number>;
|
|
16
|
+
/** The built-in `Float` scalar type. */
|
|
14
17
|
export declare const GraphQLFloat: GraphQLScalarType<number, number>;
|
|
18
|
+
/** The built-in `String` scalar type. */
|
|
15
19
|
export declare const GraphQLString: GraphQLScalarType<string, string>;
|
|
20
|
+
/** The built-in `Boolean` scalar type. */
|
|
16
21
|
export declare const GraphQLBoolean: GraphQLScalarType<boolean, boolean>;
|
|
22
|
+
/** The built-in `ID` scalar type. */
|
|
17
23
|
export declare const GraphQLID: GraphQLScalarType<string, string>;
|
|
24
|
+
/** All built-in scalar types defined by the GraphQL specification. */
|
|
18
25
|
export declare const specifiedScalarTypes: ReadonlyArray<GraphQLScalarType>;
|
|
26
|
+
/**
|
|
27
|
+
* Returns true when the scalar type is one of the scalars specified by GraphQL.
|
|
28
|
+
* @param type - The GraphQL type to inspect.
|
|
29
|
+
* @returns True when the scalar type is one of the scalars specified by GraphQL.
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import {
|
|
33
|
+
* GraphQLScalarType,
|
|
34
|
+
* GraphQLString,
|
|
35
|
+
* isSpecifiedScalarType,
|
|
36
|
+
* } from 'graphql/type';
|
|
37
|
+
*
|
|
38
|
+
* const DateTime = new GraphQLScalarType({
|
|
39
|
+
* name: 'DateTime',
|
|
40
|
+
* });
|
|
41
|
+
*
|
|
42
|
+
* isSpecifiedScalarType(GraphQLString); // => true
|
|
43
|
+
* isSpecifiedScalarType(DateTime); // => false
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
19
46
|
export declare function isSpecifiedScalarType(type: GraphQLNamedType): boolean;
|