// <auto-generated/>

#nullable disable

using System;

namespace OpenAI.FineTuning
{
    internal static partial class FineTuningJobEventLevelExtensions
    {
        public static string ToSerialString(this FineTuning.FineTuningJobEventLevel value) => value switch
        {
            FineTuning.FineTuningJobEventLevel.Info => "info",
            FineTuning.FineTuningJobEventLevel.Warn => "warn",
            FineTuning.FineTuningJobEventLevel.Error => "error",
            _ => throw new ArgumentOutOfRangeException(nameof(value), value, "Unknown FineTuningJobEventLevel value.")
        };

        public static FineTuning.FineTuningJobEventLevel ToFineTuningJobEventLevel(this string value)
        {
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "info"))
            {
                return FineTuning.FineTuningJobEventLevel.Info;
            }
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "warn"))
            {
                return FineTuning.FineTuningJobEventLevel.Warn;
            }
            if (StringComparer.OrdinalIgnoreCase.Equals(value, "error"))
            {
                return FineTuning.FineTuningJobEventLevel.Error;
            }
            throw new ArgumentOutOfRangeException(nameof(value), value, "Unknown FineTuningJobEventLevel value.");
        }
    }
}
