class GraphQL::Language::FieldDefinition
- GraphQL::Language::FieldDefinition
- GraphQL::Language::AbstractNode
- GraphQL::Language::ASTNode
- Reference
- Object
Included Modules
Defined in:
graphql-crystal/language/nodes.crgraphql-crystal/schema/schema_introspection.cr
Constant Summary
-
GRAPHQL_FIELDS =
[{:__typename, "", args, ""}, {:isDeprecated, "", args, ""}, {:deprecationReason, "", args, ""}, {:name, "", args, ""}, {:description, "", args, ""}, {:args, "", args, ""}, {:type, "", args, ""}] of Tuple(Symbol, String, Hash(String, String) | ::Nil, String)
-
VALUES =
[{name, String}, {arguments, Array(InputValueDefinition)}, {type, Type}, {directives, Array(Directive)}, {description, ::Union(String, ::Nil)}] of Tuple(Symbol, Object.class)
-
VISITS =
[{:children, [:type, :arguments, :directives]}] of Tuple(Symbol, Array(Symbol))
Constructors
Class Method Summary
Instance Method Summary
- #==(other : GraphQL::Language::FieldDefinition)
- #_graphql_deprecated
- #_graphql_deprecation_reason(schema)
- #arguments : Array(InputValueDefinition)
- #arguments=(arguments : Array(InputValueDefinition))
-
#clone
Returns a copy of
self
with all instance variables cloned. - #description : ::Union(String, Nil)
- #description=(description : ::Union(String, Nil))
- #directives : Array(Directive)
- #directives=(directives : Array(Directive))
- #map_children(&block : ASTNode -> UNDERSCORE)
- #name : String
- #name=(name : String)
-
#resolve_field(name : String, arguments, context : GraphQL::Schema::Context)
resolve a named field on this object with query arguments and context
- #type : Type
- #type=(type : Type)
- #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
def resolve_field(name : String, arguments, context : GraphQL::Schema::Context)
#
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.