diff --git a/src/ElectronNET.API/API/IpcMain.cs b/src/ElectronNET.API/API/IpcMain.cs
index 239098b8..0260a889 100644
--- a/src/ElectronNET.API/API/IpcMain.cs
+++ b/src/ElectronNET.API/API/IpcMain.cs
@@ -1,12 +1,13 @@
-using ElectronNET.API.Serialization;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text.Json;
-using System.Threading.Tasks;
-
namespace ElectronNET.API
{
+ using System;
+ using System.Diagnostics;
+ using System.Linq;
+ using System.Text.Json;
+ using System.Text.Json.Serialization;
+ using System.Threading.Tasks;
+ using ElectronNET.Serialization;
+
///
/// Communicate asynchronously from the main process to renderer processes.
///
@@ -14,6 +15,18 @@ public sealed class IpcMain
{
private static IpcMain _ipcMain;
private static object _syncRoot = new object();
+ private static readonly JsonSerializerOptions BoxedObjectSerializationOptions = new JsonSerializerOptions
+ {
+ PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
+ DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull,
+ WriteIndented = false,
+ Converters =
+ {
+ new JsonStringEnumConverter(JsonNamingPolicy.CamelCase),
+ new JsonToBoxedPrimitivesConverter(),
+ }
+ };
+
internal IpcMain()
{
@@ -50,24 +63,23 @@ public async Task On(string channel, Action