chr
2026-04-08 53e656200368a983e563550e2cc1acbc6d86b729
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using System.Collections.Generic;
 
namespace OpenTap.Package
{
    internal static class ImageJsonSerializer
    {
        internal static JsonSerializerSettings JsonSettings { get; set; }
 
        static ImageJsonSerializer()
        {
            JsonSettings = new JsonSerializerSettings();
            JsonSettings.Converters.Add(new StringEnumConverter());
            JsonSettings.Converters.Add(new SemanticVersionConverter());
        }
 
        internal static string JsonSerializePackages(List<IPackageIdentifier> packageList)
        {
            return JsonConvert.SerializeObject(packageList, JsonSettings);
        }
 
        internal static ImageSpecifier DeserializeImageSpecifier(string value)
        {
            return JsonConvert.DeserializeObject(value, typeof(ImageSpecifier), new JsonPackageSpecifierConverter()) as ImageSpecifier;
        }
    }
}