
All checks were successful
Build / Compute Version (push) Successful in 4s
Build / Build Nuget package (CringeBootstrap.Abstractions) (push) Successful in 2m47s
Build / Build Nuget package (CringePlugins) (push) Successful in 5m31s
Build / Build Nuget package (NuGet) (push) Successful in 6m2s
Build / Build Nuget package (SharedCringe) (push) Successful in 7m25s
Build / Build Launcher (push) Successful in 9m11s
30 lines
1.1 KiB
C#
30 lines
1.1 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
using NuGet.Deps;
|
|
|
|
namespace NuGet.Converters;
|
|
|
|
public class ManifestPackageKeyJsonConverter : JsonConverter<ManifestPackageKey>
|
|
{
|
|
public override ManifestPackageKey Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
|
|
{
|
|
if (reader.TokenType != JsonTokenType.String)
|
|
throw new JsonException("Invalid package key string");
|
|
|
|
return ManifestPackageKey.Parse(reader.GetString()!);
|
|
}
|
|
|
|
public override void Write(Utf8JsonWriter writer, ManifestPackageKey value, JsonSerializerOptions options)
|
|
{
|
|
writer.WriteStringValue(value.ToString());
|
|
}
|
|
|
|
public override ManifestPackageKey ReadAsPropertyName(ref Utf8JsonReader reader, Type typeToConvert,
|
|
JsonSerializerOptions options) => Read(ref reader, typeToConvert, options);
|
|
|
|
public override void WriteAsPropertyName(Utf8JsonWriter writer, ManifestPackageKey value,
|
|
JsonSerializerOptions options)
|
|
{
|
|
writer.WritePropertyName(value.ToString());
|
|
}
|
|
} |