add SettingsValueOption

This commit is contained in:
Pilzinsel64
2025-04-25 09:47:36 +02:00
parent e6340b4894
commit ec22181750
3 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
using Newtonsoft.Json;
using System;
namespace Pilz.Configuration;
public class SettingsValueOptionJsonConverter : JsonConverter
{
public override bool CanConvert(Type objectType)
{
return true;
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
if (existingValue is ISettingsValueOptionValueAccessor option)
option.ValueRaw = reader.Value;
return existingValue;
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
if (value is ISettingsValueOptionValueAccessor option)
writer.WriteValue(option.ValueRaw);
else
writer.WriteNull();
}
}