
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
26 lines
743 B
C#
26 lines
743 B
C#
using System.Text.Json.Serialization;
|
|
using NuGet.Converters;
|
|
using NuGet.Versioning;
|
|
|
|
namespace NuGet.Models;
|
|
|
|
[JsonConverter(typeof(ResourceTypeJsonConverter))]
|
|
public record ResourceType(string Id, NuGetVersion? Version)
|
|
{
|
|
public static ResourceType Parse(string typeString)
|
|
{
|
|
var slash = typeString.IndexOf('/');
|
|
|
|
if (slash < 0)
|
|
return new ResourceType(typeString, null);
|
|
|
|
var id = typeString[..slash];
|
|
var versionStr = typeString[(slash + 1)..];
|
|
|
|
return NuGetVersion.TryParse(versionStr, out var version)
|
|
? new ResourceType(id, version)
|
|
: new ResourceType(id, null);
|
|
}
|
|
|
|
public override string ToString() => $"{Id}/{Version}";
|
|
} |