chr
2026-04-05 fe750b791d5b517cc4e9bc8e99a9a75139a0cfba
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;
        }
    }
}