NAME
GraphQL::Directive - GraphQL directive
SYNOPSIS
use GraphQL::Directive;
my $directive = GraphQL::Directive->new(
name => 'Object',
interfaces => [ $interfaceType ],
fields => { field_name => { type => $scalar_type, resolve => sub { '' } }},
);
ATTRIBUTES
Has name
, description
from GraphQL::Role::Named.
locations
Array-ref of locations where the directive can occur. Must be one of these strings:
QUERY
MUTATION
SUBSCRIPTION
FIELD
FRAGMENT_DEFINITION
FRAGMENT_SPREAD
INLINE_FRAGMENT
SCHEMA
SCALAR
OBJECT
FIELD_DEFINITION
ARGUMENT_DEFINITION
INTERFACE
UNION
ENUM
ENUM_VALUE
INPUT_OBJECT
INPUT_FIELD_DEFINITION
args
Hash-ref of arguments. See "FieldMapInput" in GraphQL::Type::Library.
METHODS
from_ast
See "from_ast" in GraphQL::Type.
PACKAGE VARIABLES
$GraphQL::Directive::DEPRECATED
$GraphQL::Directive::INCLUDE
$GraphQL::Directive::SKIP
@GraphQL::Directive::SPECIFIED_DIRECTIVES
Not exported. Contains the three GraphQL-specified directives: @skip
, @include
, @deprecated
, each of which are available with the variables above. Use if you want to have these plus your own directives in your schema:
my $schema = GraphQL::Schema->new(
# ...
directives => [ @GraphQL::Directive::SPECIFIED_DIRECTIVES, $my_directive ],
);