diff --git a/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs b/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs index 5768049ea..762765bf4 100644 --- a/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs +++ b/src/modules/Elsa.Workflows.Core/Contracts/IPayloadSerializer.cs @@ -48,4 +48,9 @@ public interface IPayloadSerializer /// The serialized state. /// The deserialized state. T Deserialize(JsonElement serializedData); + + /// + /// Gets the JSON serializer options. + /// + JsonSerializerOptions GetOptions(); } \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs b/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs index cba5c7c01..820893889 100644 --- a/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs +++ b/src/modules/Elsa.Workflows.Core/Serialization/Serializers/JsonPayloadSerializer.cs @@ -25,14 +25,14 @@ public class JsonPayloadSerializer : IPayloadSerializer /// public string Serialize(object payload) { - var options = GetPayloadSerializerOptions(); + var options = GetOptions(); return JsonSerializer.Serialize(payload, options); } /// public JsonElement SerializeToElement(object payload) { - var options = GetPayloadSerializerOptions(); + var options = GetOptions(); return JsonSerializer.SerializeToElement(payload, options); } @@ -51,18 +51,19 @@ public class JsonPayloadSerializer : IPayloadSerializer /// public T Deserialize(string payload) { - var options = GetPayloadSerializerOptions(); + var options = GetOptions(); return JsonSerializer.Deserialize(payload, options)!; } /// public T Deserialize(JsonElement payload) { - var options = GetPayloadSerializerOptions(); + var options = GetOptions(); return payload.Deserialize(options)!; } - private JsonSerializerOptions GetPayloadSerializerOptions() + /// + public JsonSerializerOptions GetOptions() { var options = new JsonSerializerOptions {