<?php

declare (strict_types=1);
namespace idoit\Module\JDisc\Graphql\Schema\Model;

use Axtiva\FlexibleGraphql\Type\InputType;

/**
 * This code is @generated by axtiva/flexible-graphql-php do not edit it
 * PHP representation of graphql type DirectoryStatusInput
 * DirectoryStatus * @property mixed $cycleId = null cycleId
 * @property null|int $members = null members
 * @property null|DirectoryDiscoveryModeEnum $mode = null mode
 * @property null|string $name = null name
 * @property null|DiscoveryQueueSourceEnum $source = null source
 * @property null|DirectoryTypeEnum $type = null type
 * @property null|string $distinguishedNameString = null distinguishedNameString
 * @property null|string $guidString = null guidString
 */
final class DirectoryStatusInputInputType extends InputType
{
    protected function decorate($name, $value)
    {
        if ($value === null) {
            return null;
        }

        if ($name === 'mode') {
            return new DirectoryDiscoveryModeEnum($value);
        }

        if ($name === 'source') {
            return new DiscoveryQueueSourceEnum($value);
        }

        if ($name === 'type') {
            return new DirectoryTypeEnum($value);
        }

        return $value;
    }
}