class GraphQL::Language::Document
Overview
This is the AST root for normal queries
@example Deriving a document by parsing a string document = GraphQL.parse(query_string)
@example Creating a string from a document document.to_query_string # { ... }
Defined in:
graphql-crystal/language/nodes.crConstant Summary
-
GRAPHQL_FIELDS =
[{:__typename, "", args, ""}] of Tuple(Symbol, String, Hash(String, String) | ::Nil, String)
-
VALUES =
[{definitions, Array(OperationDefinition | FragmentDefinition | SchemaDefinition | ObjectTypeDefinition | InputObjectTypeDefinition | ScalarTypeDefinition | DirectiveDefinition | EnumTypeDefinition | InterfaceTypeDefinition | UnionTypeDefinition)}] of Tuple(Symbol, Object.class)
-
This is the AST root for normal queries
@example Deriving a document by parsing a string document = GraphQL.parse(query_string)
@example Creating a string from a document document.to_query_string # { ... }
-
VISITS =
[{:children, [:definitions]}] of Tuple(Symbol, Array(Symbol))
-
This is the AST root for normal queries
@example Deriving a document by parsing a string document = GraphQL.parse(query_string)
@example Creating a string from a document document.to_query_string # { ... }
Constructors
Class Method Summary
Instance Method Summary
- #==(other : GraphQL::Language::Document)
-
#clone
Returns a copy of
self
with all instance variables cloned. - #definitions : Array(OperationDefinition | FragmentDefinition | SchemaDefinition | ObjectTypeDefinition | InputObjectTypeDefinition | ScalarTypeDefinition | DirectiveDefinition | EnumTypeDefinition | InterfaceTypeDefinition | UnionTypeDefinition)
- #definitions=(definitions : Array(OperationDefinition | FragmentDefinition | SchemaDefinition | ObjectTypeDefinition | InputObjectTypeDefinition | ScalarTypeDefinition | DirectiveDefinition | EnumTypeDefinition | InterfaceTypeDefinition | UnionTypeDefinition))
- #map_children(&block : ASTNode -> UNDERSCORE)
-
#resolve_field(name : String, arguments, context : GraphQL::Schema::Context)
resolve a named field on this object with query arguments and context
- #to_query_string
- #values
-
#visit(name, visited_ids = [] of UInt64, block = Proc(ASTNode, ASTNode | ::Nil).new do
end)
Recursively apply the given block to each node that gets visited with the given key which nodes get traverses for a given key can be set on a class via the:
traverse :name, :child_1, :child2
macro.
Macro Summary
- accessors(name, type, default)
- field(name, &block)
- field(name, description, args, typename, &block)
- inject
- injection
- traverse(name, *values)
- values(args)
Instance methods inherited from class GraphQL::Language::AbstractNode
==(other : GraphQL::Language::AbstractNode)
==,
clone
clone,
resolve_field(name : String, arguments, context : GraphQL::Schema::Context)
resolve_field,
values
values,
visit(name, visited_ids = [] of UInt64, block = Proc(ASTNode, ASTNode | ::Nil).new do
end)
visit
Constructor methods inherited from class GraphQL::Language::AbstractNode
new(**rest)
new
Class methods inherited from class GraphQL::Language::AbstractNode
values
values
Instance methods inherited from module GraphQL::ObjectType
graphql_type
graphql_type,
resolve_field(name, arguments, context)
resolve_field
Instance methods inherited from class GraphQL::Language::ASTNode
==(other)
==,
clone
clone,
values
values
Class methods inherited from class GraphQL::Language::ASTNode
values
values
Instance methods inherited from class Object
debug
debug
Constructor Detail
Class Method Detail
Instance Method Detail
resolve a named field on this object with query arguments and context
Recursively apply the given block to each
node that gets visited with the given key
which nodes get traverses for a given key
can be set on a class via the:
traverse :name, :child_1, :child2
macro. If no children are defined for a
given traversal path name the block is invoked
only with self.