13 public override void WriteJson(JsonWriter writer,
object value, JsonSerializer serializer)
19 else if (value is Version version)
21 writer.WriteValue(version.Semver().ToString());
25 throw new ArgumentException(
"Expected Version object!", nameof(value));
30 public override object ReadJson(JsonReader reader, Type objectType,
object existingValue, JsonSerializer serializer)
32 if (reader.TokenType == JsonToken.Null)
35 if (reader.TokenType == JsonToken.String)
39 Version v =
new Version((
string)reader.Value);
44 throw new JsonSerializationException($
"Error parsing version string: {reader.Value}", ex);
48 throw new JsonSerializationException(
49 $
"Unexpected token or value when parsing version. Token: {reader.TokenType}, Value: {reader.Value}");
53 public override bool CanConvert(Type objectType) => objectType == typeof(Version);
Use server authentication
override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
JsonConverter for serializing Versions for BYOND.
override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)