unite-cms/unite-cms

View on GitHub
src/Bundle/CoreBundle/GraphQL/Resolver/Type/TypeResolverInterface.php

Summary

Maintainability
A
0 mins
Test Coverage
F
0%
<?php


namespace UniteCMS\CoreBundle\GraphQL\Resolver\Type;

use GraphQL\Language\AST\InterfaceTypeDefinitionNode;
use GraphQL\Language\AST\TypeDefinitionNode;
use GraphQL\Language\AST\UnionTypeDefinitionNode;
use GraphQL\Type\Definition\ResolveInfo;

/**
 * Interface TypeResolverInterface
 *
 * @package App\GraphQL\Resolver
 */
interface TypeResolverInterface
{
    /**
     * Return true, if this resolver supports the given type.
     *
     * @param string $typeName
     * @param UnionTypeDefinitionNode|InterfaceTypeDefinitionNode|TypeDefinitionNode $typeDefinitionNode
     *
     * @return bool
     */
    public function supports(string $typeName, TypeDefinitionNode $typeDefinitionNode) : bool;

    /**
     * Resolve a graphql union / interface type to a real type.
     *
     * @param mixed $value
     * @param $context
     * @param ResolveInfo $info
     *
     * @return mixed
     */
    public function resolve($value, $context, ResolveInfo $info);
}