feat(releases): add VersionComparer

This commit is contained in:
mika kuns
2026-04-23 14:21:25 +02:00
parent 5346737e2b
commit 7c0f8d8408
2 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
namespace ClaudeDo.Releases;
public readonly record struct VersionCompareResult(bool IsNewer, bool Unparseable);
public static class VersionComparer
{
public static VersionCompareResult Compare(string latest, string current)
{
var latestTrimmed = (latest ?? "").TrimStart('v', 'V');
var currentTrimmed = (current ?? "").TrimStart('v', 'V');
var unparseable = !Version.TryParse(latestTrimmed, out var lv)
| !Version.TryParse(currentTrimmed, out var cv);
if (unparseable) return new VersionCompareResult(false, true);
return new VersionCompareResult(lv > cv, false);
}
}