<?php

declare (strict_types=1);
namespace Axtiva\FlexibleGraphql\Example\GraphQL\Directive;

use Axtiva\FlexibleGraphql\Resolver\DirectiveResolverInterface;
use GraphQL\Type\Definition\ResolveInfo;

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * Resolver for executable directive @uppercase
 * CAPITALIZE ALL LETTERS IN STRING
 */
final class UppercaseDirective implements DirectiveResolverInterface
{
    /**
     * @param callable $next
     * @param $directiveArgs
     * @param $rootValue
     * @param $args
     * @param $context
     * @param ResolveInfo $info
     * @return mixed
     */
    public function __invoke(callable $next, $directiveArgs, $rootValue, $args, $context, ResolveInfo $info)
    {
        return mb_strtoupper($next($rootValue, $args, $context, $info));
    }
}