using Range = SemanticVersioning.Range; using Version = SemanticVersioning.Version; namespace SptCommon.Semver.Implementations; public class SemanticVersioningSemVer : ISemVer { public string MaxSatisfying(List versions) { return MaxSatisfying(versions.AsEnumerable()); } public string MaxSatisfying(IEnumerable versions) { return MaxSatisfying("*", versions); } public string MaxSatisfying(string version, List versions) { return MaxSatisfying(version, versions.AsEnumerable()); } public string MaxSatisfying(string version, IEnumerable versions) { return Range.MaxSatisfying(version, versions, true); } public bool Satisfies(string version, string testVersion) { return Range.IsSatisfied(testVersion, version, true); } public bool AnySatisfies(string version, List testVersions) { return testVersions.Any(v => Satisfies(version, v)); } public bool IsValid(string version) { return Version.TryParse(version, out _); } public bool IsValidRange(string version) { return Range.TryParse(version, out _); } }