Skip to content

Commit 16431a8

Browse files
committed
[dotnet] Generate JSON serializer per protocol
1 parent 0bf5e9e commit 16431a8

File tree

6 files changed

+32
-1
lines changed

6 files changed

+32
-1
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace OpenQA.Selenium.DevTools.V130;
4+
5+
[JsonSerializable(typeof(string))] // Placeholder
6+
internal sealed partial class V130JsonSerializationContext : JsonSerializerContext;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace OpenQA.Selenium.DevTools.V131;
4+
5+
[JsonSerializable(typeof(string))] // Placeholder
6+
internal sealed partial class V131JsonSerializationContext : JsonSerializerContext;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace OpenQA.Selenium.DevTools.V132;
4+
5+
[JsonSerializable(typeof(string))] // Placeholder
6+
internal sealed partial class V132JsonSerializationContext : JsonSerializerContext;
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
using System.Text.Json.Serialization;
2+
3+
namespace OpenQA.Selenium.DevTools.V85;
4+
5+
[JsonSerializable(typeof(string))] // Placeholder
6+
internal sealed partial class V85JsonSerializationContext : JsonSerializerContext;

third_party/dotnet/devtools/src/generator/CodeGen/ProtocolGenerator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,8 @@ public override IDictionary<string, string> GenerateCode(ProtocolDefinition.Prot
8080
domains = domains,
8181
commands = commands,
8282
events = events,
83-
types = types.Values.ToList()
83+
types = types.Values.ToList(),
84+
protocolVersion = Settings.RootNamespace.Split('.').Last()
8485
};
8586

8687
var result = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);

third_party/dotnet/devtools/src/generator/Templates/DevToolsSessionDomains.hbs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,10 @@ namespace {{rootNamespace}}
4343
{{/each}}
4444
}
4545
}
46+
47+
{{#each commands}}
48+
[global::System.Text.Json.Serialization.JsonSerializable(typeof({{FullTypeName}}))]
49+
[global::System.Text.Json.Serialization.JsonSerializable(typeof({{FullResponseTypeName}}))]
50+
{{/each}}
51+
internal sealed partial class {{protocolVersion}}JsonSerializationContext;
4652
}

0 commit comments

Comments
 (0)