

declare (strict_types=1);
<?php if (isset($namespace)): ?>
namespace <?=$namespace?>;
<?php endif ?>

use Axtiva\FlexibleGraphql\Generator\Exception\NotImplementedResolver;
use GraphQL\Type\Definition\ResolveInfo;
use Axtiva\FlexibleGraphql\Resolver\DirectiveResolverInterface;
<?php foreach ($import_classes ?? [] as $import_class): ?>
use <?=$import_class?>;
<?php endforeach ?>

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * Resolver for executable directive @<?=$directive_name?><?=PHP_EOL?>
<?php if (isset($directive_description)): ?>
 * <?=$directive_description?><?=PHP_EOL?>
<?php endif ?>
 */
final class <?=$short_class_name?> implements DirectiveResolverInterface
{
    /**
     * @param callable $next
     * @param <?php if (!empty($directive_args_class)): ?><?=$directive_args_class?> <?php endif ?>$directiveArgs
     * @param $rootValue
     * @param $args
     * @param $context
     * @param ResolveInfo $info
     * @return mixed
     */
    public function __invoke(callable $next, $directiveArgs, $rootValue, $args, $context, ResolveInfo $info)
    {
        throw new NotImplementedResolver('Not implemented directive resolver ' . __CLASS__);
        // FIXME example return mb_strtoupper($next($rootValue, $args, $context, $info));
    }
}