summaryrefslogtreecommitdiff
path: root/src/marlin.core/functional/WorkflowJson.cs
blob: 011edae1938e01ec5085781e086e46ec97e7cfeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
namespace marlin.core.functional;

using System.Text.Json;
using System.Text.Json.Serialization;
using models.meta;

public static class WorkflowJson
{
    private static readonly JsonSerializerOptions Options = new()
    {
        Converters = { new JsonStringEnumConverter() }
    };

    public static string Serialize(Workflow workflow) => JsonSerializer.Serialize(workflow, Options);

    public static Workflow Deserialize(string json) => JsonSerializer.Deserialize<Workflow>(json, Options)!;
}