Skip to content

Commit 2cc12d2

Browse files
feat: Remove custom JSON converters for enums (#32)
Co-authored-by: SergeyMenshykh <sergemenshikh@gmail.com>
1 parent fb8fc36 commit 2cc12d2

File tree

4 files changed

+16
-50
lines changed

4 files changed

+16
-50
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using System.ComponentModel;
2+
using System.Text.Json;
3+
using System.Text.Json.Serialization;
4+
5+
namespace A2A;
6+
7+
/// <summary>
8+
/// A JSON string enum converter that converts enum values to kebab-case lower strings.
9+
/// </summary>
10+
/// <typeparam name="TEnum">The type of the enum to convert.</typeparam>
11+
[EditorBrowsable(EditorBrowsableState.Never)]
12+
public sealed class KebabCaseLowerJsonStringEnumConverter<TEnum>() :
13+
JsonStringEnumConverter<TEnum>(JsonNamingPolicy.KebabCaseLower)
14+
where TEnum : struct, Enum;

src/A2A/Models/Message.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ namespace A2A;
66
/// <summary>
77
/// Message sender's role.
88
/// </summary>
9-
[JsonConverter(typeof(MessageRoleConverter))]
9+
[JsonConverter(typeof(KebabCaseLowerJsonStringEnumConverter<MessageRole>))]
1010
public enum MessageRole
1111
{
1212
/// <summary>

src/A2A/Models/TaskState.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace A2A;
55
/// <summary>
66
/// Represents the possible states of a Task.
77
/// </summary>
8-
[JsonConverter(typeof(TaskStateJsonConverter))]
8+
[JsonConverter(typeof(KebabCaseLowerJsonStringEnumConverter<TaskState>))]
99
public enum TaskState
1010
{
1111
/// <summary>

src/A2A/Models/TaskStateJsonConverter.cs

Lines changed: 0 additions & 48 deletions
This file was deleted.

0 commit comments

Comments
 (0)