| File: Extensions\VersionRangeExtensions.cs | Web Access |
| Project: src\nuget-client\src\NuGet.Core\NuGet.Protocol\NuGet.Protocol.csproj (NuGet.Protocol) |
// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using NuGet.Versioning; namespace NuGet.Protocol.Extensions { internal static class VersionRangeExtensions { public static bool DoesRangeSatisfy(this VersionRange dependencyRange, NuGetVersion catalogItemLower, NuGetVersion catalogItemUpper) { if (dependencyRange.HasLowerAndUpperBounds) // Mainly to cover the '!dependencyRange.IsMaxInclusive && !dependencyRange.IsMinInclusive' case { var catalogItemVersionRange = new VersionRange(minVersion: catalogItemLower, includeMinVersion: true, maxVersion: catalogItemUpper, includeMaxVersion: true); return catalogItemVersionRange.Satisfies(dependencyRange.MinVersion) || catalogItemVersionRange.Satisfies(dependencyRange.MaxVersion); } else { return dependencyRange.Satisfies(catalogItemLower) || dependencyRange.Satisfies(catalogItemUpper); } } } }