NAME

GraphQL::Houtou::Type::Interface - GraphQL interface type

SYNOPSIS

my $Node = GraphQL::Houtou::Type::Interface->new(
  name   => 'Node',
  fields => { id => { type => $ID->non_null } },
  resolve_type => sub { my ($value) = @_; $value->{kind} },
);

DESCRIPTION

An abstract output type. resolve_type receives the resolved value and returns the concrete object type name; alternatively implementing types may define is_type_of. Objects declare membership through their interfaces list, and concrete types reachable only through an interface must be listed in the schema's types.

SEE ALSO

GraphQL::Houtou::Type::Union, GraphQL::Houtou::Schema