using IPA.Updating.ModsaberML;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using static IPA.Updating.ModsaberML.ApiEndpoint.Mod;
|
|
|
|
namespace IPA.Updating.Converters
|
|
{
|
|
internal class ModsaberDependencyConverter : JsonConverter<Dependency>
|
|
{
|
|
public override Dependency ReadJson(JsonReader reader, Type objectType, Dependency existingValue, bool hasExistingValue, JsonSerializer serializer)
|
|
{
|
|
var parts = (reader.Value as string).Split('@');
|
|
return new Dependency()
|
|
{
|
|
Name = parts[0],
|
|
VersionRange = new SemVer.Range(parts[1])
|
|
};
|
|
}
|
|
|
|
public override void WriteJson(JsonWriter writer, Dependency value, JsonSerializer serializer)
|
|
{
|
|
writer.WriteValue($"{value.Name}@{value.VersionRange.ToString()}");
|
|
}
|
|
}
|
|
}
|