From b3dc9a23e4e2968f6a965a992e35eb08f2651e6d Mon Sep 17 00:00:00 2001 From: barelyprofessional <150058423+barelyprofessional@users.noreply.github.com> Date: Sun, 1 Sep 2024 20:22:28 +0800 Subject: [PATCH] Removed the key-value pair methods for settings and replaced them helpers for JSON serialization and deserialization. This is because the key-value pair is pretty limited, easy to break and wasn't even being used anyway, JSON is far superior for storing a dictionary. --- KfChatDotNetBot/Settings/Utils.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/KfChatDotNetBot/Settings/Utils.cs b/KfChatDotNetBot/Settings/Utils.cs index 3851166..f32cdce 100644 --- a/KfChatDotNetBot/Settings/Utils.cs +++ b/KfChatDotNetBot/Settings/Utils.cs @@ -1,3 +1,4 @@ +using System.Text.Json; using NLog; namespace KfChatDotNetBot.Settings; @@ -10,15 +11,14 @@ public static class Utils return settingValue.Value.Split(separator).ToList(); } - public static Dictionary ToKeyValuePairs(this SettingValue settingValue, char delimiter = ',', - char separator = '=') + public static T? JsonDeserialize(this SettingValue settingValue) { if (settingValue.Value == null) { - return new Dictionary(); + return default; } - return settingValue.Value.Split(delimiter).ToDictionary(kv => kv.Split(separator)[0], - kv => ValueToType(kv.Split(separator)[1])); + + return JsonSerializer.Deserialize(settingValue.Value) ?? default(T); } public static bool ToBoolean(this SettingValue settingValue)