graphql/language/ast-predicates
Functions
isDefinitionNode()
Returns true when the AST node is a definition node.
Signature:
isDefinitionNode(node: ASTNode): node is DefinitionNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is DefinitionNode | True when the AST node is a definition node. |
Example
import { parse, isDefinitionNode } from 'graphql/language';
const document = parse('{ hello }');
const isDefinition = isDefinitionNode(document.definitions[0]);
// isDefinition: trueisExecutableDefinitionNode()
Returns true when the AST node is an executable definition node.
Signature:
isExecutableDefinitionNode(node: ASTNode): node is ExecutableDefinitionNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is ExecutableDefinitionNode | True when the AST node is an executable definition node. |
Example
import { parse, isExecutableDefinitionNode } from 'graphql/language';
const document = parse('{ hello }');
const isExecutable = isExecutableDefinitionNode(document.definitions[0]);
// isExecutable: trueisSelectionNode()
Returns true when the AST node is a selection node.
Signature:
isSelectionNode(node: ASTNode): node is SelectionNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is SelectionNode | True when the AST node is a selection node. |
Example
import { Kind, isSelectionNode } from 'graphql/language';
const node = { kind: Kind.FIELD, name: { kind: Kind.NAME, value: 'hello' } };
const isSelection = isSelectionNode(node);
// isSelection: trueisValueNode()
Returns true when the AST node is a value node.
Signature:
isValueNode(node: ASTNode): node is ValueNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is ValueNode | True when the AST node is a value node. |
Example
import { parseValue, isValueNode } from 'graphql/language';
const value = parseValue('[42]');
const isValue = isValueNode(value);
// isValue: trueisConstValueNode()
Returns true when the AST node is a constant value node.
Signature:
isConstValueNode(node: ASTNode): node is ConstValueNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is ConstValueNode | True when the AST node is a constant value node. |
Example
import { parseConstValue, isConstValueNode } from 'graphql/language';
const value = parseConstValue('[42]');
const isConstValue = isConstValueNode(value);
// isConstValue: trueisTypeNode()
Returns true when the AST node is a type node.
Signature:
isTypeNode(node: ASTNode): node is TypeNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is TypeNode | True when the AST node is a type node. |
Example
import { parseType, isTypeNode } from 'graphql/language';
const type = parseType('[String!]');
const isType = isTypeNode(type);
// isType: trueisTypeSystemDefinitionNode()
Returns true when the AST node is a type system definition node.
Signature:
isTypeSystemDefinitionNode(node: ASTNode): node is TypeSystemDefinitionNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is TypeSystemDefinitionNode | True when the AST node is a type system definition node. |
Example
import { parse, isTypeSystemDefinitionNode } from 'graphql/language';
const document = parse('type Query { hello: String }');
const isTypeSystemDefinition = isTypeSystemDefinitionNode(document.definitions[0]);
// isTypeSystemDefinition: trueisTypeDefinitionNode()
Returns true when the AST node is a type definition node.
Signature:
isTypeDefinitionNode(node: ASTNode): node is TypeDefinitionNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is TypeDefinitionNode | True when the AST node is a type definition node. |
Example
import { parse, isTypeDefinitionNode } from 'graphql/language';
const document = parse('type Query { hello: String }');
const isTypeDefinition = isTypeDefinitionNode(document.definitions[0]);
// isTypeDefinition: trueisTypeSystemExtensionNode()
Returns true when the AST node is a type system extension node.
Signature:
isTypeSystemExtensionNode(node: ASTNode): node is TypeSystemExtensionNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is TypeSystemExtensionNode | True when the AST node is a type system extension node. |
Example
import { parse, isTypeSystemExtensionNode } from 'graphql/language';
const document = parse('extend type Query { hello: String }');
const isTypeSystemExtension = isTypeSystemExtensionNode(document.definitions[0]);
// isTypeSystemExtension: trueisTypeExtensionNode()
Returns true when the AST node is a type extension node.
Signature:
isTypeExtensionNode(node: ASTNode): node is TypeExtensionNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is TypeExtensionNode | True when the AST node is a type extension node. |
Example
import { parse, isTypeExtensionNode } from 'graphql/language';
const document = parse('extend type Query { hello: String }');
const isTypeExtension = isTypeExtensionNode(document.definitions[0]);
// isTypeExtension: trueisSchemaCoordinateNode()
Returns true when the AST node is a schema coordinate node.
Signature:
isSchemaCoordinateNode(node: ASTNode): node is SchemaCoordinateNode
Arguments
| Name | Type | Description |
|---|---|---|
| node | ASTNode | The AST node to test. |
Returns
| Type | Description |
|---|---|
node is SchemaCoordinateNode | True when the AST node is a schema coordinate node. |
Example
import { parseSchemaCoordinate, isSchemaCoordinateNode } from 'graphql/language';
const coordinate = parseSchemaCoordinate('Query.hero');
const isCoordinate = isSchemaCoordinateNode(coordinate);
// isCoordinate: true