View on
MetaCPAN
Ed J > GraphQL-0.13 > GraphQL::Type

Download:
GraphQL-0.13.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source   Latest Release: GraphQL-0.16

NAME ^

GraphQL::Type - GraphQL type object

SYNOPSIS ^

    extends qw(GraphQL::Type);

DESCRIPTION ^

Superclass for other GraphQL type classes to inherit from.

ENCODING ^

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: JSON-true> etc.

SUBCLASSES ^

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::Enum
GraphQL::Type::InputObject
GraphQL::Type::Interface
GraphQL::Type::List
GraphQL::Type::NonNull
GraphQL::Type::Object
GraphQL::Type::Scalar - also implements example types such as String
GraphQL::Type::Union

ROLES ^

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 fields attribute for an input type
GraphQL::Role::FieldsOutput - provides fields attribute 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 name and description, provided by this role
GraphQL::Role::Nullable - can be null-valued
GraphQL::Role::Output - type can be an output

TYPE LIBRARY ^

GraphQL::Type::Library - implements various Type::Tiny type constraints, for use in Moo attributes, and Function::Parameters/Return::Type methods and functions.

METHODS ^

clone

Shallow copy of the object, suitable for reblessing without affecting the original object.

uplift

Turn given Perl entity into valid Perl value for this type if possible.

graphql_to_perl

Turn given GraphQL entity into Perl entity.

perl_to_graphql

Turn given Perl entity into GraphQL entity.

syntax highlighting: