diff --git a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs index 8779be70..66d8553e 100644 --- a/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs +++ b/DiscordChatExporter.Core/Discord/Data/Embeds/Embed.cs @@ -45,8 +45,11 @@ public partial record Embed var title = json.GetPropertyOrNull("title")?.GetStringOrNull(); var kind = - json.GetPropertyOrNull("type")?.GetStringOrNull()?.ParseEnumOrNull() - ?? EmbedKind.Rich; + json.GetPropertyOrNull("type") + ?.GetStringOrNull() + ?.Pipe(s => + Enum.TryParse(s, true, out var result) ? result : (EmbedKind?)null + ) ?? EmbedKind.Rich; var url = json.GetPropertyOrNull("url")?.GetNonWhiteSpaceStringOrNull(); var timestamp = json.GetPropertyOrNull("timestamp")?.GetDateTimeOffsetOrNull(); diff --git a/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs b/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs index 46dfc0bf..cc84267a 100644 --- a/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs +++ b/DiscordChatExporter.Core/Utils/Extensions/StringExtensions.cs @@ -1,5 +1,4 @@ -using System; -using System.Text; +using System.Text; namespace DiscordChatExporter.Core.Utils.Extensions; @@ -25,10 +24,6 @@ public static class StringExtensions return builder.ToString(); } - - public T? ParseEnumOrNull(bool ignoreCase = true) - where T : struct, Enum => - Enum.TryParse(str, ignoreCase, out var result) ? result : null; } extension(StringBuilder builder)