- #nullable enable
- using System;
- using System.Runtime.Remoting.Messaging;
- using Hive.Versioning;
- using Newtonsoft.Json;
-
- namespace IPA.JsonConverters
- {
- internal class SemverRangeConverter : JsonConverter<VersionRange?>
- {
- public override VersionRange? ReadJson(JsonReader reader, Type objectType, VersionRange? existingValue, bool hasExistingValue, JsonSerializer serializer)
- => reader.Value is not string s ? existingValue : new VersionRange(s);
-
- public override void WriteJson(JsonWriter writer, VersionRange? value, JsonSerializer serializer)
- {
- if (value is null) writer.WriteNull();
- else writer.WriteValue(value.ToString());
- }
- }
- }
|