uff, lot of work

This commit is contained in:
Schedel Pascal
2024-08-02 11:47:38 +02:00
parent db5191b0b8
commit b08c7619a4
81 changed files with 388 additions and 290 deletions

39
OwnChar/JsonHelpers.cs Normal file
View File

@@ -0,0 +1,39 @@
using Newtonsoft.Json;
using OwnChar.Api.Packets;
namespace OwnChar;
public static class JsonHelpers
{
private static JsonSerializerSettings? defaultSerializerSettings;
public static JsonSerializerSettings DefaultSerializerSettings => defaultSerializerSettings ??= CreateDefaultSerializerSettings();
private static JsonSerializerSettings CreateDefaultSerializerSettings()
{
return new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto,
};
}
public static string? SerializeRequest<T>(T request) where T : OwnCharRequest
{
return JsonConvert.SerializeObject(request, DefaultSerializerSettings);
}
public static string? SerializeResponse<T>(T request) where T : OwnCharResponse
{
return JsonConvert.SerializeObject(request, DefaultSerializerSettings);
}
public static T? DeserializeRequest<T>(string request) where T : OwnCharRequest
{
return JsonConvert.DeserializeObject<T>(request, DefaultSerializerSettings);
}
public static T? DeserializeResponse<T>(string request) where T : OwnCharResponse
{
return JsonConvert.DeserializeObject<T>(request, DefaultSerializerSettings);
}
}