

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

use GraphQL\Language\AST\Node;
use Axtiva\FlexibleGraphql\Resolver\TypedCustomScalarResolverInterface;
use Axtiva\FlexibleGraphql\Generator\Exception\NotImplementedResolver;

/**
 * This code is @generated by axtiva/flexible-graphql-php
 * This is resolver for scalar <?=$type_name?><?=PHP_EOL?>
<?php if(isset($description)): ?>
 * <?=$description?>
<?php endif ?>
 */
final class <?=$short_class_name?> implements TypedCustomScalarResolverInterface
{
    public static function getTypeName(): ?string
    {
        return null;
        // Return type name of scalar for support autocompleate and type checking,
        // use class name or any scalar name like array, string, int, ...
        // Example: return \DateTimeImmutable::class;
    }

    public function serialize($value)
    {
        throw new NotImplementedResolver('Not implemented field resolver ' . __CLASS__);
        // Not implemented. Return here string representation of your scalar value or null if it is empty
        // Example: return $value->format(DateTimeImmutable::ISO8601);
    }

    public function parseValue($value)
    {
        throw new NotImplementedResolver('Not implemented field resolver ' . __CLASS__);
        // Not implemented. Return here Code representation of your scalar value or null if it is empty
        // Example: return $value ? new DateTimeImmutable($value) : null;
    }

    public function parseLiteral(Node $value, ?array $variables = null)
    {
        throw new NotImplementedResolver('Not implemented field resolver ' . __CLASS__);
        // Not implemented. Return here Code representation of your scalar value or null if it is empty
        // Example: return $value->value ? new DateTimeImmutable((string) $value->value) : null;
    }
}