- TYPE LIBRARY
GraphQL::Type - GraphQL type object
Superclass for other GraphQL type classes to inherit from.
Those Perl classes each implement a GraphQL type. Each item of GraphQL data has a GraphQL type. Such an item of data can also be represented within Perl. Objects of that Perl class take responsibility for translating between the Perl representation and the "GraphQL representation". A "GraphQL representation" means something JSON-encodeable: an "object" (in Perl terms, a hash), an array (Perl: array-reference), string, number, boolean, or null.
See "METHODS" for generic methods to translate back and forth between these worlds.
Code that you provide to do this translation must return things that can be JSON-encoded, not things that have been so encoded: this means, among other things, do not surround strings in
", and for boolean values, use the mechanism in JSON::MaybeXS:
These subclasses implement part of the GraphQL language specification. Objects of these classes implement user-defined types used to implement a GraphQL API.
- GraphQL::Type::Scalar - also implements example types such as
These roles implement part of the GraphQL language specification. They are applied to objects of GraphQL::Type classes, either to facilitate type constrants, or as noted below.
- GraphQL::Role::FieldsInput - provides
fieldsattribute for an input type
- GraphQL::Role::FieldsOutput - provides
fieldsattribute for an output type
- GraphQL::Role::Abstract - abstract type
- GraphQL::Role::Composite - type has fields
- GraphQL::Role::Input - type can be an input
- GraphQL::Role::Leaf - simple type - enum or scalar
- GraphQL::Role::Listable - can be list-wrapped; provides convenience method
- GraphQL::Role::Named - has a
description, provided by this role
- GraphQL::Role::Nullable - can be null-valued
- GraphQL::Role::Output - type can be an output
Turn given Perl entity into valid Perl value for this type if possible.
Turn given GraphQL entity into Perl entity.
Turn given Perl entity into GraphQL entity.
Returns Schema Definition Language (SDL) document that describes this object.