<?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 FieldFilterInput
 * A filter used to filter reports by criteria * @property mixed $displayValue = null A display value in case the filter to display in the UI when the filterValue is just a database id or some other internal value
 * @property null|FieldDescriptionInputInputType $fieldDescription = null The field description for this filter
 * @property null|FilterConditionTypeEnum $filterConditionType = null The filter condition type for this filter
 * @property mixed $filterValue = null The filter value
 */
final class FieldFilterInputInputType extends InputType
{
    protected function decorate($name, $value)
    {
        if ($value === null) {
            return null;
        }

        if ($name === 'fieldDescription') {
            return new FieldDescriptionInputInputType($value);
        }

        if ($name === 'filterConditionType') {
            return new FilterConditionTypeEnum($value);
        }

        return $value;
    }
}