mirror of
https://github.com/sp-tarkov/loot-dump-processor.git
synced 2025-02-13 09:50:44 -05:00
Refactored YAML serialization to use static Serializer/Deserializer instances
This commit is contained in:
parent
465ad95cb5
commit
4003ca254b
@ -39,7 +39,7 @@ public static class LootDumpProcessorContext
|
||||
lock (_forcedStaticLock)
|
||||
{
|
||||
if (_forcedStatic == null)
|
||||
_forcedStatic = YamlSerializerFactory.GetInstance()
|
||||
_forcedStatic = Yaml.Deserializer
|
||||
.Deserialize<ForcedStatic>(File.ReadAllText("./Config/forced_static.yaml"));
|
||||
}
|
||||
|
||||
@ -71,7 +71,7 @@ public static class LootDumpProcessorContext
|
||||
lock (_forcedLooseLock)
|
||||
{
|
||||
if (_forcedLoose == null)
|
||||
_forcedLoose = YamlSerializerFactory.GetInstance().Deserialize<Dictionary<string, HashSet<string>>>(
|
||||
_forcedLoose = Yaml.Deserializer.Deserialize<Dictionary<string, HashSet<string>>>(
|
||||
File.ReadAllText("./Config/forced_loose.yaml"));
|
||||
}
|
||||
|
||||
|
@ -1,16 +0,0 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace LootDumpProcessor.Model.Config;
|
||||
|
||||
public class LoggerConfig
|
||||
{
|
||||
[JsonProperty("logLevel")]
|
||||
[JsonPropertyName("logLevel")]
|
||||
public LogLevel LogLevel { get; set; }
|
||||
|
||||
[JsonProperty("queueLoggerPoolingTimeoutMs")]
|
||||
[JsonPropertyName("queueLoggerPoolingTimeoutMs")]
|
||||
public int QueueLoggerPoolingTimeoutMs { get; set; } = 1000;
|
||||
}
|
@ -1,7 +0,0 @@
|
||||
namespace LootDumpProcessor.Serializers;
|
||||
|
||||
public interface ISerializer
|
||||
{
|
||||
string Serialize<T>(T obj);
|
||||
T? Deserialize<T>(string obj);
|
||||
}
|
@ -1,5 +0,0 @@
|
||||
namespace LootDumpProcessor.Serializers.Yaml;
|
||||
|
||||
public interface IYamlSerializer : ISerializer
|
||||
{
|
||||
}
|
10
source/LootDumpProcessor/Serializers/Yaml/Yaml.cs
Normal file
10
source/LootDumpProcessor/Serializers/Yaml/Yaml.cs
Normal file
@ -0,0 +1,10 @@
|
||||
using YamlDotNet.Serialization;
|
||||
|
||||
namespace LootDumpProcessor.Serializers.Yaml;
|
||||
|
||||
public static class Yaml
|
||||
{
|
||||
public static readonly ISerializer Serializer = new SerializerBuilder().Build();
|
||||
|
||||
public static readonly IDeserializer Deserializer = new DeserializerBuilder().Build();
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
using YamlDotNet.Serialization;
|
||||
|
||||
namespace LootDumpProcessor.Serializers.Yaml;
|
||||
|
||||
public class YamlDotNetYamlSerializer : IYamlSerializer
|
||||
{
|
||||
private static readonly IDeserializer yamlDeserializer = new DeserializerBuilder().Build();
|
||||
private static readonly YamlDotNet.Serialization.ISerializer yamlSerializer = new SerializerBuilder().Build();
|
||||
|
||||
public string Serialize<T>(T obj) => yamlSerializer.Serialize(obj);
|
||||
|
||||
public T Deserialize<T>(string obj) => yamlDeserializer.Deserialize<T>(obj);
|
||||
}
|
@ -1,13 +0,0 @@
|
||||
namespace LootDumpProcessor.Serializers.Yaml;
|
||||
|
||||
public static class YamlSerializerFactory
|
||||
{
|
||||
private static IYamlSerializer? _instance;
|
||||
|
||||
public static IYamlSerializer GetInstance()
|
||||
{
|
||||
if (_instance == null) _instance = new YamlDotNetYamlSerializer();
|
||||
|
||||
return _instance;
|
||||
}
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
using LootDumpProcessor.Serializers;
|
||||
|
||||
namespace LootDumpProcessor.Storage.Implementations.File.Serializers;
|
||||
|
||||
public interface IDataStorageFileSerializer
|
||||
{
|
||||
string GetExtension();
|
||||
ISerializer GetSerializer();
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
using LootDumpProcessor.Serializers;
|
||||
using LootDumpProcessor.Serializers.Yaml;
|
||||
|
||||
namespace LootDumpProcessor.Storage.Implementations.File.Serializers;
|
||||
|
||||
public class YamlDataStorageFileSerializer : IDataStorageFileSerializer
|
||||
{
|
||||
public string GetExtension() => ".yaml";
|
||||
|
||||
public ISerializer GetSerializer() => YamlSerializerFactory.GetInstance();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user