Skip to content

Commit d79b73e

Browse files
committed
fix: using newtonsoft.json instead of system.text.json for the converter
1 parent 21ae89b commit d79b73e

File tree

5 files changed

+21
-18
lines changed

5 files changed

+21
-18
lines changed
Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,42 @@
11
using ElectronNET.API.Entities;
2+
using Newtonsoft.Json;
23
using System;
3-
using System.Text.Json;
4-
using System.Text.Json.Serialization;
54

65
namespace ElectronNET.Converter;
76

87
public class TitleBarOverlayConverter : JsonConverter<TitleBarOverlay>
98
{
10-
public override TitleBarOverlay Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
9+
public override TitleBarOverlay ReadJson(JsonReader reader, Type objectType, TitleBarOverlay existingValue, bool hasExistingValue, JsonSerializer serializer)
1110
{
12-
return reader.TokenType switch
11+
if (reader.TokenType == JsonToken.Boolean)
1312
{
14-
JsonTokenType.True => true,
15-
JsonTokenType.False => false,
16-
JsonTokenType.StartObject => JsonSerializer.Deserialize<TitleBarOverlay>(ref reader, options),
17-
_ => throw new JsonException("Invalid value for TitleBarOverlay. Expected true or false."),
18-
};
13+
return (bool)reader.Value;
14+
}
15+
else if (reader.TokenType == JsonToken.StartObject)
16+
{
17+
return serializer.Deserialize<TitleBarOverlay>(reader);
18+
}
19+
else
20+
{
21+
throw new JsonSerializationException("Invalid value for TitleBarOverlay. Expected true, false, or an object.");
22+
}
1923
}
2024

21-
public override void Write(Utf8JsonWriter writer, TitleBarOverlay value, JsonSerializerOptions options)
25+
public override void WriteJson(JsonWriter writer, TitleBarOverlay value, JsonSerializer serializer)
2226
{
2327
if (value is null)
2428
{
25-
writer.WriteNullValue();
29+
writer.WriteNull();
2630
return;
2731
}
28-
2932
var @bool = (bool?)value;
3033
if (@bool.HasValue)
3134
{
32-
writer.WriteBooleanValue(@bool.Value);
35+
writer.WriteValue(@bool.Value);
3336
}
3437
else
3538
{
36-
JsonSerializer.Serialize(writer, value, options);
39+
serializer.Serialize(writer, value);
3740
}
3841
}
3942
}

0 commit comments

Comments
 (0)