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/language/predicates.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @category AST Predicates */
|
|
1
2
|
import type {
|
|
2
3
|
ASTNode,
|
|
3
4
|
ConstValueNode,
|
|
@@ -12,26 +13,194 @@ import type {
|
|
|
12
13
|
TypeSystemExtensionNode,
|
|
13
14
|
ValueNode,
|
|
14
15
|
} from './ast';
|
|
16
|
+
/**
|
|
17
|
+
* Returns true when the AST node is a definition node.
|
|
18
|
+
* @param node - The AST node to test.
|
|
19
|
+
* @returns True when the AST node is a definition node.
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { parse, isDefinitionNode } from 'graphql/language';
|
|
23
|
+
*
|
|
24
|
+
* const document = parse('{ hello }');
|
|
25
|
+
*
|
|
26
|
+
* isDefinitionNode(document.definitions[0]); // => true
|
|
27
|
+
* isDefinitionNode(document); // => false
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
15
30
|
export declare function isDefinitionNode(node: ASTNode): node is DefinitionNode;
|
|
31
|
+
/**
|
|
32
|
+
* Returns true when the AST node is an executable definition node.
|
|
33
|
+
* @param node - The AST node to test.
|
|
34
|
+
* @returns True when the AST node is an executable definition node.
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* import { parse, isExecutableDefinitionNode } from 'graphql/language';
|
|
38
|
+
*
|
|
39
|
+
* const query = parse('{ hello }');
|
|
40
|
+
* const schema = parse('type Query { hello: String }');
|
|
41
|
+
*
|
|
42
|
+
* isExecutableDefinitionNode(query.definitions[0]); // => true
|
|
43
|
+
* isExecutableDefinitionNode(schema.definitions[0]); // => false
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
16
46
|
export declare function isExecutableDefinitionNode(
|
|
17
47
|
node: ASTNode,
|
|
18
48
|
): node is ExecutableDefinitionNode;
|
|
49
|
+
/**
|
|
50
|
+
* Returns true when the AST node is a selection node.
|
|
51
|
+
* @param node - The AST node to test.
|
|
52
|
+
* @returns True when the AST node is a selection node.
|
|
53
|
+
* @example
|
|
54
|
+
* ```ts
|
|
55
|
+
* import { Kind, isSelectionNode } from 'graphql/language';
|
|
56
|
+
*
|
|
57
|
+
* const field = { kind: Kind.FIELD, name: { kind: Kind.NAME, value: 'hello' } };
|
|
58
|
+
* const document = { kind: Kind.DOCUMENT, definitions: [] };
|
|
59
|
+
*
|
|
60
|
+
* isSelectionNode(field); // => true
|
|
61
|
+
* isSelectionNode(document); // => false
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
19
64
|
export declare function isSelectionNode(node: ASTNode): node is SelectionNode;
|
|
65
|
+
/**
|
|
66
|
+
* Returns true when the AST node is a value node.
|
|
67
|
+
* @param node - The AST node to test.
|
|
68
|
+
* @returns True when the AST node is a value node.
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* import { parseType, parseValue, isValueNode } from 'graphql/language';
|
|
72
|
+
*
|
|
73
|
+
* const value = parseValue('[42]');
|
|
74
|
+
* const type = parseType('[String!]');
|
|
75
|
+
*
|
|
76
|
+
* isValueNode(value); // => true
|
|
77
|
+
* isValueNode(type); // => false
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
20
80
|
export declare function isValueNode(node: ASTNode): node is ValueNode;
|
|
81
|
+
/**
|
|
82
|
+
* Returns true when the AST node is a constant value node.
|
|
83
|
+
* @param node - The AST node to test.
|
|
84
|
+
* @returns True when the AST node is a constant value node.
|
|
85
|
+
* @example
|
|
86
|
+
* ```ts
|
|
87
|
+
* import { parseConstValue, parseValue, isConstValueNode } from 'graphql/language';
|
|
88
|
+
*
|
|
89
|
+
* const value = parseConstValue('[42]');
|
|
90
|
+
* const variable = parseValue('$id');
|
|
91
|
+
*
|
|
92
|
+
* isConstValueNode(value); // => true
|
|
93
|
+
* isConstValueNode(variable); // => false
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
21
96
|
export declare function isConstValueNode(node: ASTNode): node is ConstValueNode;
|
|
97
|
+
/**
|
|
98
|
+
* Returns true when the AST node is a type node.
|
|
99
|
+
* @param node - The AST node to test.
|
|
100
|
+
* @returns True when the AST node is a type node.
|
|
101
|
+
* @example
|
|
102
|
+
* ```ts
|
|
103
|
+
* import { parseType, parseValue, isTypeNode } from 'graphql/language';
|
|
104
|
+
*
|
|
105
|
+
* const type = parseType('[String!]');
|
|
106
|
+
* const value = parseValue('[42]');
|
|
107
|
+
*
|
|
108
|
+
* isTypeNode(type); // => true
|
|
109
|
+
* isTypeNode(value); // => false
|
|
110
|
+
* ```
|
|
111
|
+
*/
|
|
22
112
|
export declare function isTypeNode(node: ASTNode): node is TypeNode;
|
|
113
|
+
/**
|
|
114
|
+
* Returns true when the AST node is a type system definition node.
|
|
115
|
+
* @param node - The AST node to test.
|
|
116
|
+
* @returns True when the AST node is a type system definition node.
|
|
117
|
+
* @example
|
|
118
|
+
* ```ts
|
|
119
|
+
* import { parse, isTypeSystemDefinitionNode } from 'graphql/language';
|
|
120
|
+
*
|
|
121
|
+
* const schema = parse('type Query { hello: String }');
|
|
122
|
+
* const query = parse('{ hello }');
|
|
123
|
+
*
|
|
124
|
+
* isTypeSystemDefinitionNode(schema.definitions[0]); // => true
|
|
125
|
+
* isTypeSystemDefinitionNode(query.definitions[0]); // => false
|
|
126
|
+
* ```
|
|
127
|
+
*/
|
|
23
128
|
export declare function isTypeSystemDefinitionNode(
|
|
24
129
|
node: ASTNode,
|
|
25
130
|
): node is TypeSystemDefinitionNode;
|
|
131
|
+
/**
|
|
132
|
+
* Returns true when the AST node is a type definition node.
|
|
133
|
+
* @param node - The AST node to test.
|
|
134
|
+
* @returns True when the AST node is a type definition node.
|
|
135
|
+
* @example
|
|
136
|
+
* ```ts
|
|
137
|
+
* import { parse, isTypeDefinitionNode } from 'graphql/language';
|
|
138
|
+
*
|
|
139
|
+
* const typeDefinition = parse('type Query { hello: String }');
|
|
140
|
+
* const directiveDefinition = parse('directive @cache on FIELD');
|
|
141
|
+
*
|
|
142
|
+
* isTypeDefinitionNode(typeDefinition.definitions[0]); // => true
|
|
143
|
+
* isTypeDefinitionNode(directiveDefinition.definitions[0]); // => false
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
26
146
|
export declare function isTypeDefinitionNode(
|
|
27
147
|
node: ASTNode,
|
|
28
148
|
): node is TypeDefinitionNode;
|
|
149
|
+
/**
|
|
150
|
+
* Returns true when the AST node is a type system extension node.
|
|
151
|
+
* @param node - The AST node to test.
|
|
152
|
+
* @returns True when the AST node is a type system extension node.
|
|
153
|
+
* @example
|
|
154
|
+
* ```ts
|
|
155
|
+
* import { parse, isTypeSystemExtensionNode } from 'graphql/language';
|
|
156
|
+
*
|
|
157
|
+
* const extension = parse('extend type Query { hello: String }');
|
|
158
|
+
* const definition = parse('type Query { hello: String }');
|
|
159
|
+
*
|
|
160
|
+
* isTypeSystemExtensionNode(extension.definitions[0]); // => true
|
|
161
|
+
* isTypeSystemExtensionNode(definition.definitions[0]); // => false
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
29
164
|
export declare function isTypeSystemExtensionNode(
|
|
30
165
|
node: ASTNode,
|
|
31
166
|
): node is TypeSystemExtensionNode;
|
|
167
|
+
/**
|
|
168
|
+
* Returns true when the AST node is a type extension node.
|
|
169
|
+
* @param node - The AST node to test.
|
|
170
|
+
* @returns True when the AST node is a type extension node.
|
|
171
|
+
* @example
|
|
172
|
+
* ```ts
|
|
173
|
+
* import { parse, isTypeExtensionNode } from 'graphql/language';
|
|
174
|
+
*
|
|
175
|
+
* const extension = parse('extend type Query { hello: String }');
|
|
176
|
+
* const schemaExtension = parse('extend schema { query: Query }');
|
|
177
|
+
*
|
|
178
|
+
* isTypeExtensionNode(extension.definitions[0]); // => true
|
|
179
|
+
* isTypeExtensionNode(schemaExtension.definitions[0]); // => false
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
32
182
|
export declare function isTypeExtensionNode(
|
|
33
183
|
node: ASTNode,
|
|
34
184
|
): node is TypeExtensionNode;
|
|
185
|
+
/**
|
|
186
|
+
* Returns true when the AST node is a schema coordinate node.
|
|
187
|
+
* @param node - The AST node to test.
|
|
188
|
+
* @returns True when the AST node is a schema coordinate node.
|
|
189
|
+
* @example
|
|
190
|
+
* ```ts
|
|
191
|
+
* import {
|
|
192
|
+
* parse,
|
|
193
|
+
* parseSchemaCoordinate,
|
|
194
|
+
* isSchemaCoordinateNode,
|
|
195
|
+
* } from 'graphql/language';
|
|
196
|
+
*
|
|
197
|
+
* const coordinate = parseSchemaCoordinate('Query.hero');
|
|
198
|
+
* const document = parse('{ hero }');
|
|
199
|
+
*
|
|
200
|
+
* isSchemaCoordinateNode(coordinate); // => true
|
|
201
|
+
* isSchemaCoordinateNode(document); // => false
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
35
204
|
export declare function isSchemaCoordinateNode(
|
|
36
205
|
node: ASTNode,
|
|
37
206
|
): node is SchemaCoordinateNode;
|
package/language/predicates.js
CHANGED
|
@@ -17,6 +17,22 @@ exports.isValueNode = isValueNode;
|
|
|
17
17
|
|
|
18
18
|
var _kinds = require('./kinds.js');
|
|
19
19
|
|
|
20
|
+
/** @category AST Predicates */
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Returns true when the AST node is a definition node.
|
|
24
|
+
* @param node - The AST node to test.
|
|
25
|
+
* @returns True when the AST node is a definition node.
|
|
26
|
+
* @example
|
|
27
|
+
* ```ts
|
|
28
|
+
* import { parse, isDefinitionNode } from 'graphql/language';
|
|
29
|
+
*
|
|
30
|
+
* const document = parse('{ hello }');
|
|
31
|
+
*
|
|
32
|
+
* isDefinitionNode(document.definitions[0]); // => true
|
|
33
|
+
* isDefinitionNode(document); // => false
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
20
36
|
function isDefinitionNode(node) {
|
|
21
37
|
return (
|
|
22
38
|
isExecutableDefinitionNode(node) ||
|
|
@@ -24,6 +40,21 @@ function isDefinitionNode(node) {
|
|
|
24
40
|
isTypeSystemExtensionNode(node)
|
|
25
41
|
);
|
|
26
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Returns true when the AST node is an executable definition node.
|
|
45
|
+
* @param node - The AST node to test.
|
|
46
|
+
* @returns True when the AST node is an executable definition node.
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* import { parse, isExecutableDefinitionNode } from 'graphql/language';
|
|
50
|
+
*
|
|
51
|
+
* const query = parse('{ hello }');
|
|
52
|
+
* const schema = parse('type Query { hello: String }');
|
|
53
|
+
*
|
|
54
|
+
* isExecutableDefinitionNode(query.definitions[0]); // => true
|
|
55
|
+
* isExecutableDefinitionNode(schema.definitions[0]); // => false
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
27
58
|
|
|
28
59
|
function isExecutableDefinitionNode(node) {
|
|
29
60
|
return (
|
|
@@ -31,6 +62,21 @@ function isExecutableDefinitionNode(node) {
|
|
|
31
62
|
node.kind === _kinds.Kind.FRAGMENT_DEFINITION
|
|
32
63
|
);
|
|
33
64
|
}
|
|
65
|
+
/**
|
|
66
|
+
* Returns true when the AST node is a selection node.
|
|
67
|
+
* @param node - The AST node to test.
|
|
68
|
+
* @returns True when the AST node is a selection node.
|
|
69
|
+
* @example
|
|
70
|
+
* ```ts
|
|
71
|
+
* import { Kind, isSelectionNode } from 'graphql/language';
|
|
72
|
+
*
|
|
73
|
+
* const field = { kind: Kind.FIELD, name: { kind: Kind.NAME, value: 'hello' } };
|
|
74
|
+
* const document = { kind: Kind.DOCUMENT, definitions: [] };
|
|
75
|
+
*
|
|
76
|
+
* isSelectionNode(field); // => true
|
|
77
|
+
* isSelectionNode(document); // => false
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
34
80
|
|
|
35
81
|
function isSelectionNode(node) {
|
|
36
82
|
return (
|
|
@@ -39,6 +85,21 @@ function isSelectionNode(node) {
|
|
|
39
85
|
node.kind === _kinds.Kind.INLINE_FRAGMENT
|
|
40
86
|
);
|
|
41
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Returns true when the AST node is a value node.
|
|
90
|
+
* @param node - The AST node to test.
|
|
91
|
+
* @returns True when the AST node is a value node.
|
|
92
|
+
* @example
|
|
93
|
+
* ```ts
|
|
94
|
+
* import { parseType, parseValue, isValueNode } from 'graphql/language';
|
|
95
|
+
*
|
|
96
|
+
* const value = parseValue('[42]');
|
|
97
|
+
* const type = parseType('[String!]');
|
|
98
|
+
*
|
|
99
|
+
* isValueNode(value); // => true
|
|
100
|
+
* isValueNode(type); // => false
|
|
101
|
+
* ```
|
|
102
|
+
*/
|
|
42
103
|
|
|
43
104
|
function isValueNode(node) {
|
|
44
105
|
return (
|
|
@@ -53,6 +114,21 @@ function isValueNode(node) {
|
|
|
53
114
|
node.kind === _kinds.Kind.OBJECT
|
|
54
115
|
);
|
|
55
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* Returns true when the AST node is a constant value node.
|
|
119
|
+
* @param node - The AST node to test.
|
|
120
|
+
* @returns True when the AST node is a constant value node.
|
|
121
|
+
* @example
|
|
122
|
+
* ```ts
|
|
123
|
+
* import { parseConstValue, parseValue, isConstValueNode } from 'graphql/language';
|
|
124
|
+
*
|
|
125
|
+
* const value = parseConstValue('[42]');
|
|
126
|
+
* const variable = parseValue('$id');
|
|
127
|
+
*
|
|
128
|
+
* isConstValueNode(value); // => true
|
|
129
|
+
* isConstValueNode(variable); // => false
|
|
130
|
+
* ```
|
|
131
|
+
*/
|
|
56
132
|
|
|
57
133
|
function isConstValueNode(node) {
|
|
58
134
|
return (
|
|
@@ -64,6 +140,21 @@ function isConstValueNode(node) {
|
|
|
64
140
|
: node.kind !== _kinds.Kind.VARIABLE)
|
|
65
141
|
);
|
|
66
142
|
}
|
|
143
|
+
/**
|
|
144
|
+
* Returns true when the AST node is a type node.
|
|
145
|
+
* @param node - The AST node to test.
|
|
146
|
+
* @returns True when the AST node is a type node.
|
|
147
|
+
* @example
|
|
148
|
+
* ```ts
|
|
149
|
+
* import { parseType, parseValue, isTypeNode } from 'graphql/language';
|
|
150
|
+
*
|
|
151
|
+
* const type = parseType('[String!]');
|
|
152
|
+
* const value = parseValue('[42]');
|
|
153
|
+
*
|
|
154
|
+
* isTypeNode(type); // => true
|
|
155
|
+
* isTypeNode(value); // => false
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
67
158
|
|
|
68
159
|
function isTypeNode(node) {
|
|
69
160
|
return (
|
|
@@ -72,6 +163,21 @@ function isTypeNode(node) {
|
|
|
72
163
|
node.kind === _kinds.Kind.NON_NULL_TYPE
|
|
73
164
|
);
|
|
74
165
|
}
|
|
166
|
+
/**
|
|
167
|
+
* Returns true when the AST node is a type system definition node.
|
|
168
|
+
* @param node - The AST node to test.
|
|
169
|
+
* @returns True when the AST node is a type system definition node.
|
|
170
|
+
* @example
|
|
171
|
+
* ```ts
|
|
172
|
+
* import { parse, isTypeSystemDefinitionNode } from 'graphql/language';
|
|
173
|
+
*
|
|
174
|
+
* const schema = parse('type Query { hello: String }');
|
|
175
|
+
* const query = parse('{ hello }');
|
|
176
|
+
*
|
|
177
|
+
* isTypeSystemDefinitionNode(schema.definitions[0]); // => true
|
|
178
|
+
* isTypeSystemDefinitionNode(query.definitions[0]); // => false
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
75
181
|
|
|
76
182
|
function isTypeSystemDefinitionNode(node) {
|
|
77
183
|
return (
|
|
@@ -80,6 +186,21 @@ function isTypeSystemDefinitionNode(node) {
|
|
|
80
186
|
node.kind === _kinds.Kind.DIRECTIVE_DEFINITION
|
|
81
187
|
);
|
|
82
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Returns true when the AST node is a type definition node.
|
|
191
|
+
* @param node - The AST node to test.
|
|
192
|
+
* @returns True when the AST node is a type definition node.
|
|
193
|
+
* @example
|
|
194
|
+
* ```ts
|
|
195
|
+
* import { parse, isTypeDefinitionNode } from 'graphql/language';
|
|
196
|
+
*
|
|
197
|
+
* const typeDefinition = parse('type Query { hello: String }');
|
|
198
|
+
* const directiveDefinition = parse('directive @cache on FIELD');
|
|
199
|
+
*
|
|
200
|
+
* isTypeDefinitionNode(typeDefinition.definitions[0]); // => true
|
|
201
|
+
* isTypeDefinitionNode(directiveDefinition.definitions[0]); // => false
|
|
202
|
+
* ```
|
|
203
|
+
*/
|
|
83
204
|
|
|
84
205
|
function isTypeDefinitionNode(node) {
|
|
85
206
|
return (
|
|
@@ -91,6 +212,21 @@ function isTypeDefinitionNode(node) {
|
|
|
91
212
|
node.kind === _kinds.Kind.INPUT_OBJECT_TYPE_DEFINITION
|
|
92
213
|
);
|
|
93
214
|
}
|
|
215
|
+
/**
|
|
216
|
+
* Returns true when the AST node is a type system extension node.
|
|
217
|
+
* @param node - The AST node to test.
|
|
218
|
+
* @returns True when the AST node is a type system extension node.
|
|
219
|
+
* @example
|
|
220
|
+
* ```ts
|
|
221
|
+
* import { parse, isTypeSystemExtensionNode } from 'graphql/language';
|
|
222
|
+
*
|
|
223
|
+
* const extension = parse('extend type Query { hello: String }');
|
|
224
|
+
* const definition = parse('type Query { hello: String }');
|
|
225
|
+
*
|
|
226
|
+
* isTypeSystemExtensionNode(extension.definitions[0]); // => true
|
|
227
|
+
* isTypeSystemExtensionNode(definition.definitions[0]); // => false
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
94
230
|
|
|
95
231
|
function isTypeSystemExtensionNode(node) {
|
|
96
232
|
return (
|
|
@@ -99,6 +235,21 @@ function isTypeSystemExtensionNode(node) {
|
|
|
99
235
|
isTypeExtensionNode(node)
|
|
100
236
|
);
|
|
101
237
|
}
|
|
238
|
+
/**
|
|
239
|
+
* Returns true when the AST node is a type extension node.
|
|
240
|
+
* @param node - The AST node to test.
|
|
241
|
+
* @returns True when the AST node is a type extension node.
|
|
242
|
+
* @example
|
|
243
|
+
* ```ts
|
|
244
|
+
* import { parse, isTypeExtensionNode } from 'graphql/language';
|
|
245
|
+
*
|
|
246
|
+
* const extension = parse('extend type Query { hello: String }');
|
|
247
|
+
* const schemaExtension = parse('extend schema { query: Query }');
|
|
248
|
+
*
|
|
249
|
+
* isTypeExtensionNode(extension.definitions[0]); // => true
|
|
250
|
+
* isTypeExtensionNode(schemaExtension.definitions[0]); // => false
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
102
253
|
|
|
103
254
|
function isTypeExtensionNode(node) {
|
|
104
255
|
return (
|
|
@@ -110,6 +261,25 @@ function isTypeExtensionNode(node) {
|
|
|
110
261
|
node.kind === _kinds.Kind.INPUT_OBJECT_TYPE_EXTENSION
|
|
111
262
|
);
|
|
112
263
|
}
|
|
264
|
+
/**
|
|
265
|
+
* Returns true when the AST node is a schema coordinate node.
|
|
266
|
+
* @param node - The AST node to test.
|
|
267
|
+
* @returns True when the AST node is a schema coordinate node.
|
|
268
|
+
* @example
|
|
269
|
+
* ```ts
|
|
270
|
+
* import {
|
|
271
|
+
* parse,
|
|
272
|
+
* parseSchemaCoordinate,
|
|
273
|
+
* isSchemaCoordinateNode,
|
|
274
|
+
* } from 'graphql/language';
|
|
275
|
+
*
|
|
276
|
+
* const coordinate = parseSchemaCoordinate('Query.hero');
|
|
277
|
+
* const document = parse('{ hero }');
|
|
278
|
+
*
|
|
279
|
+
* isSchemaCoordinateNode(coordinate); // => true
|
|
280
|
+
* isSchemaCoordinateNode(document); // => false
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
113
283
|
|
|
114
284
|
function isSchemaCoordinateNode(node) {
|
|
115
285
|
return (
|
package/language/predicates.mjs
CHANGED
|
@@ -1,4 +1,20 @@
|
|
|
1
|
+
/** @category AST Predicates */
|
|
1
2
|
import { Kind } from './kinds.mjs';
|
|
3
|
+
/**
|
|
4
|
+
* Returns true when the AST node is a definition node.
|
|
5
|
+
* @param node - The AST node to test.
|
|
6
|
+
* @returns True when the AST node is a definition node.
|
|
7
|
+
* @example
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { parse, isDefinitionNode } from 'graphql/language';
|
|
10
|
+
*
|
|
11
|
+
* const document = parse('{ hello }');
|
|
12
|
+
*
|
|
13
|
+
* isDefinitionNode(document.definitions[0]); // => true
|
|
14
|
+
* isDefinitionNode(document); // => false
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
|
|
2
18
|
export function isDefinitionNode(node) {
|
|
3
19
|
return (
|
|
4
20
|
isExecutableDefinitionNode(node) ||
|
|
@@ -6,12 +22,44 @@ export function isDefinitionNode(node) {
|
|
|
6
22
|
isTypeSystemExtensionNode(node)
|
|
7
23
|
);
|
|
8
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Returns true when the AST node is an executable definition node.
|
|
27
|
+
* @param node - The AST node to test.
|
|
28
|
+
* @returns True when the AST node is an executable definition node.
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { parse, isExecutableDefinitionNode } from 'graphql/language';
|
|
32
|
+
*
|
|
33
|
+
* const query = parse('{ hello }');
|
|
34
|
+
* const schema = parse('type Query { hello: String }');
|
|
35
|
+
*
|
|
36
|
+
* isExecutableDefinitionNode(query.definitions[0]); // => true
|
|
37
|
+
* isExecutableDefinitionNode(schema.definitions[0]); // => false
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
|
|
9
41
|
export function isExecutableDefinitionNode(node) {
|
|
10
42
|
return (
|
|
11
43
|
node.kind === Kind.OPERATION_DEFINITION ||
|
|
12
44
|
node.kind === Kind.FRAGMENT_DEFINITION
|
|
13
45
|
);
|
|
14
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Returns true when the AST node is a selection node.
|
|
49
|
+
* @param node - The AST node to test.
|
|
50
|
+
* @returns True when the AST node is a selection node.
|
|
51
|
+
* @example
|
|
52
|
+
* ```ts
|
|
53
|
+
* import { Kind, isSelectionNode } from 'graphql/language';
|
|
54
|
+
*
|
|
55
|
+
* const field = { kind: Kind.FIELD, name: { kind: Kind.NAME, value: 'hello' } };
|
|
56
|
+
* const document = { kind: Kind.DOCUMENT, definitions: [] };
|
|
57
|
+
*
|
|
58
|
+
* isSelectionNode(field); // => true
|
|
59
|
+
* isSelectionNode(document); // => false
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
|
|
15
63
|
export function isSelectionNode(node) {
|
|
16
64
|
return (
|
|
17
65
|
node.kind === Kind.FIELD ||
|
|
@@ -19,6 +67,22 @@ export function isSelectionNode(node) {
|
|
|
19
67
|
node.kind === Kind.INLINE_FRAGMENT
|
|
20
68
|
);
|
|
21
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* Returns true when the AST node is a value node.
|
|
72
|
+
* @param node - The AST node to test.
|
|
73
|
+
* @returns True when the AST node is a value node.
|
|
74
|
+
* @example
|
|
75
|
+
* ```ts
|
|
76
|
+
* import { parseType, parseValue, isValueNode } from 'graphql/language';
|
|
77
|
+
*
|
|
78
|
+
* const value = parseValue('[42]');
|
|
79
|
+
* const type = parseType('[String!]');
|
|
80
|
+
*
|
|
81
|
+
* isValueNode(value); // => true
|
|
82
|
+
* isValueNode(type); // => false
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
|
|
22
86
|
export function isValueNode(node) {
|
|
23
87
|
return (
|
|
24
88
|
node.kind === Kind.VARIABLE ||
|
|
@@ -32,6 +96,22 @@ export function isValueNode(node) {
|
|
|
32
96
|
node.kind === Kind.OBJECT
|
|
33
97
|
);
|
|
34
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Returns true when the AST node is a constant value node.
|
|
101
|
+
* @param node - The AST node to test.
|
|
102
|
+
* @returns True when the AST node is a constant value node.
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* import { parseConstValue, parseValue, isConstValueNode } from 'graphql/language';
|
|
106
|
+
*
|
|
107
|
+
* const value = parseConstValue('[42]');
|
|
108
|
+
* const variable = parseValue('$id');
|
|
109
|
+
*
|
|
110
|
+
* isConstValueNode(value); // => true
|
|
111
|
+
* isConstValueNode(variable); // => false
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
|
|
35
115
|
export function isConstValueNode(node) {
|
|
36
116
|
return (
|
|
37
117
|
isValueNode(node) &&
|
|
@@ -42,6 +122,22 @@ export function isConstValueNode(node) {
|
|
|
42
122
|
: node.kind !== Kind.VARIABLE)
|
|
43
123
|
);
|
|
44
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Returns true when the AST node is a type node.
|
|
127
|
+
* @param node - The AST node to test.
|
|
128
|
+
* @returns True when the AST node is a type node.
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* import { parseType, parseValue, isTypeNode } from 'graphql/language';
|
|
132
|
+
*
|
|
133
|
+
* const type = parseType('[String!]');
|
|
134
|
+
* const value = parseValue('[42]');
|
|
135
|
+
*
|
|
136
|
+
* isTypeNode(type); // => true
|
|
137
|
+
* isTypeNode(value); // => false
|
|
138
|
+
* ```
|
|
139
|
+
*/
|
|
140
|
+
|
|
45
141
|
export function isTypeNode(node) {
|
|
46
142
|
return (
|
|
47
143
|
node.kind === Kind.NAMED_TYPE ||
|
|
@@ -49,6 +145,22 @@ export function isTypeNode(node) {
|
|
|
49
145
|
node.kind === Kind.NON_NULL_TYPE
|
|
50
146
|
);
|
|
51
147
|
}
|
|
148
|
+
/**
|
|
149
|
+
* Returns true when the AST node is a type system definition node.
|
|
150
|
+
* @param node - The AST node to test.
|
|
151
|
+
* @returns True when the AST node is a type system definition node.
|
|
152
|
+
* @example
|
|
153
|
+
* ```ts
|
|
154
|
+
* import { parse, isTypeSystemDefinitionNode } from 'graphql/language';
|
|
155
|
+
*
|
|
156
|
+
* const schema = parse('type Query { hello: String }');
|
|
157
|
+
* const query = parse('{ hello }');
|
|
158
|
+
*
|
|
159
|
+
* isTypeSystemDefinitionNode(schema.definitions[0]); // => true
|
|
160
|
+
* isTypeSystemDefinitionNode(query.definitions[0]); // => false
|
|
161
|
+
* ```
|
|
162
|
+
*/
|
|
163
|
+
|
|
52
164
|
export function isTypeSystemDefinitionNode(node) {
|
|
53
165
|
return (
|
|
54
166
|
node.kind === Kind.SCHEMA_DEFINITION ||
|
|
@@ -56,6 +168,22 @@ export function isTypeSystemDefinitionNode(node) {
|
|
|
56
168
|
node.kind === Kind.DIRECTIVE_DEFINITION
|
|
57
169
|
);
|
|
58
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* Returns true when the AST node is a type definition node.
|
|
173
|
+
* @param node - The AST node to test.
|
|
174
|
+
* @returns True when the AST node is a type definition node.
|
|
175
|
+
* @example
|
|
176
|
+
* ```ts
|
|
177
|
+
* import { parse, isTypeDefinitionNode } from 'graphql/language';
|
|
178
|
+
*
|
|
179
|
+
* const typeDefinition = parse('type Query { hello: String }');
|
|
180
|
+
* const directiveDefinition = parse('directive @cache on FIELD');
|
|
181
|
+
*
|
|
182
|
+
* isTypeDefinitionNode(typeDefinition.definitions[0]); // => true
|
|
183
|
+
* isTypeDefinitionNode(directiveDefinition.definitions[0]); // => false
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
|
|
59
187
|
export function isTypeDefinitionNode(node) {
|
|
60
188
|
return (
|
|
61
189
|
node.kind === Kind.SCALAR_TYPE_DEFINITION ||
|
|
@@ -66,6 +194,22 @@ export function isTypeDefinitionNode(node) {
|
|
|
66
194
|
node.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION
|
|
67
195
|
);
|
|
68
196
|
}
|
|
197
|
+
/**
|
|
198
|
+
* Returns true when the AST node is a type system extension node.
|
|
199
|
+
* @param node - The AST node to test.
|
|
200
|
+
* @returns True when the AST node is a type system extension node.
|
|
201
|
+
* @example
|
|
202
|
+
* ```ts
|
|
203
|
+
* import { parse, isTypeSystemExtensionNode } from 'graphql/language';
|
|
204
|
+
*
|
|
205
|
+
* const extension = parse('extend type Query { hello: String }');
|
|
206
|
+
* const definition = parse('type Query { hello: String }');
|
|
207
|
+
*
|
|
208
|
+
* isTypeSystemExtensionNode(extension.definitions[0]); // => true
|
|
209
|
+
* isTypeSystemExtensionNode(definition.definitions[0]); // => false
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
|
|
69
213
|
export function isTypeSystemExtensionNode(node) {
|
|
70
214
|
return (
|
|
71
215
|
node.kind === Kind.SCHEMA_EXTENSION ||
|
|
@@ -73,6 +217,22 @@ export function isTypeSystemExtensionNode(node) {
|
|
|
73
217
|
isTypeExtensionNode(node)
|
|
74
218
|
);
|
|
75
219
|
}
|
|
220
|
+
/**
|
|
221
|
+
* Returns true when the AST node is a type extension node.
|
|
222
|
+
* @param node - The AST node to test.
|
|
223
|
+
* @returns True when the AST node is a type extension node.
|
|
224
|
+
* @example
|
|
225
|
+
* ```ts
|
|
226
|
+
* import { parse, isTypeExtensionNode } from 'graphql/language';
|
|
227
|
+
*
|
|
228
|
+
* const extension = parse('extend type Query { hello: String }');
|
|
229
|
+
* const schemaExtension = parse('extend schema { query: Query }');
|
|
230
|
+
*
|
|
231
|
+
* isTypeExtensionNode(extension.definitions[0]); // => true
|
|
232
|
+
* isTypeExtensionNode(schemaExtension.definitions[0]); // => false
|
|
233
|
+
* ```
|
|
234
|
+
*/
|
|
235
|
+
|
|
76
236
|
export function isTypeExtensionNode(node) {
|
|
77
237
|
return (
|
|
78
238
|
node.kind === Kind.SCALAR_TYPE_EXTENSION ||
|
|
@@ -83,6 +243,26 @@ export function isTypeExtensionNode(node) {
|
|
|
83
243
|
node.kind === Kind.INPUT_OBJECT_TYPE_EXTENSION
|
|
84
244
|
);
|
|
85
245
|
}
|
|
246
|
+
/**
|
|
247
|
+
* Returns true when the AST node is a schema coordinate node.
|
|
248
|
+
* @param node - The AST node to test.
|
|
249
|
+
* @returns True when the AST node is a schema coordinate node.
|
|
250
|
+
* @example
|
|
251
|
+
* ```ts
|
|
252
|
+
* import {
|
|
253
|
+
* parse,
|
|
254
|
+
* parseSchemaCoordinate,
|
|
255
|
+
* isSchemaCoordinateNode,
|
|
256
|
+
* } from 'graphql/language';
|
|
257
|
+
*
|
|
258
|
+
* const coordinate = parseSchemaCoordinate('Query.hero');
|
|
259
|
+
* const document = parse('{ hero }');
|
|
260
|
+
*
|
|
261
|
+
* isSchemaCoordinateNode(coordinate); // => true
|
|
262
|
+
* isSchemaCoordinateNode(document); // => false
|
|
263
|
+
* ```
|
|
264
|
+
*/
|
|
265
|
+
|
|
86
266
|
export function isSchemaCoordinateNode(node) {
|
|
87
267
|
return (
|
|
88
268
|
node.kind === Kind.TYPE_COORDINATE ||
|