This commit is contained in:
Tyrrrz
2025-11-30 19:24:37 +02:00
parent 768e124370
commit f0a74fbc6e
2 changed files with 6 additions and 8 deletions

View File

@@ -45,8 +45,11 @@ public partial record Embed
var title = json.GetPropertyOrNull("title")?.GetStringOrNull();
var kind =
json.GetPropertyOrNull("type")?.GetStringOrNull()?.ParseEnumOrNull<EmbedKind>()
?? EmbedKind.Rich;
json.GetPropertyOrNull("type")
?.GetStringOrNull()
?.Pipe(s =>
Enum.TryParse<EmbedKind>(s, true, out var result) ? result : (EmbedKind?)null
) ?? EmbedKind.Rich;
var url = json.GetPropertyOrNull("url")?.GetNonWhiteSpaceStringOrNull();
var timestamp = json.GetPropertyOrNull("timestamp")?.GetDateTimeOffsetOrNull();

View File

@@ -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<T>(bool ignoreCase = true)
where T : struct, Enum =>
Enum.TryParse<T>(str, ignoreCase, out var result) ? result : null;
}
extension(StringBuilder builder)