<?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 CsvExportConfigInput
 * The CSV export configuration * @property null|TextFileEncodingEnum $encoding = null The csv encoding. Default is UTF8.
 * @property null|string $lineEnding = null The line ending. Default is DOS line ending.
 * @property null|string $nullValue = null The null value string. Default is '<null>'.
 * @property null|string $separator = null The separator
 * @property null|bool $unixLineEnding = null The line ending. Default is DOS line ending.
 * @property null|bool $useHumanReadableDateAndDurationFormat = null When true, date and timestamp values are rendered in a human-readable format. Default is true.
 * @property null|bool $useHumanReadableFormat = null When true, size and speed values are rendered in a human-readable format. Date and duration are configured separately with a different property. Default is true.
 * @property null|bool $useMultipleLines = null When true, rows that contain values in multiple lines, are exported are separate rows. Default is false.
 * @property null|bool $withHeader = null When true, header is exported too.
 */
final class CsvExportConfigInputInputType extends InputType
{
    protected function decorate($name, $value)
    {
        if ($value === null) {
            return null;
        }

        if ($name === 'encoding') {
            return new TextFileEncodingEnum($value);
        }

        return $value;
    }
}