private static bool MatchesTerm(IServerPackage package, List <string> terms)
        {
            foreach (var term in terms)
            {
                if (IsNotNullAndContains(package.Id, term))
                {
                    continue;
                }

                if (IsNotNullAndContains(package.Description, term))
                {
                    continue;
                }

                if (IsNotNullAndContains(package.Tags, $" {term} "))
                {
                    continue;
                }

                return(false);
            }

            return(true);
        }
Ejemplo n.º 2
0
 public static ODataPackage AsODataPackage(this IServerPackage package, ClientCompatibility compatibility)
 {
     return(new ODataPackage
     {
         Id = package.Id,
         Version = package.Version.ToOriginalString(),
         NormalizedVersion = package.Version.ToNormalizedString(),
         IsPrerelease = !package.IsReleaseVersion(),
         Title = package.Title,
         Authors = string.Join(",", package.Authors),
         Owners = string.Join(",", package.Owners),
         IconUrl = package.IconUrl == null ? null : package.IconUrl.GetComponents(UriComponents.HttpRequestUrl, UriFormat.Unescaped),
         LicenseUrl = package.LicenseUrl == null ? null : package.LicenseUrl.GetComponents(UriComponents.HttpRequestUrl, UriFormat.Unescaped),
         ProjectUrl = package.ProjectUrl == null ? null : package.ProjectUrl.GetComponents(UriComponents.HttpRequestUrl, UriFormat.Unescaped),
         DownloadCount = package.DownloadCount,
         RequireLicenseAcceptance = package.RequireLicenseAcceptance,
         DevelopmentDependency = package.DevelopmentDependency,
         Description = package.Description,
         Summary = package.Summary,
         ReleaseNotes = package.ReleaseNotes,
         Published = package.Listed ? package.Created.UtcDateTime : PublishedForUnlisted,
         LastUpdated = package.LastUpdated.UtcDateTime,
         Dependencies = string.Join("|", package.DependencySets.SelectMany(ConvertDependencySetToStrings)),
         PackageHash = package.PackageHash,
         PackageHashAlgorithm = package.PackageHashAlgorithm,
         PackageSize = package.PackageSize,
         Copyright = package.Copyright,
         Tags = package.Tags,
         IsAbsoluteLatestVersion = compatibility.AllowSemVer2 ? package.SemVer2IsAbsoluteLatest : package.SemVer1IsAbsoluteLatest,
         IsLatestVersion = compatibility.AllowSemVer2 ? package.SemVer2IsLatest : package.SemVer1IsLatest,
         Listed = package.Listed,
         VersionDownloadCount = package.DownloadCount,
         MinClientVersion = package.MinClientVersion == null ? null : package.MinClientVersion.ToString(),
         Language = package.Language
     });
 }
 public static bool IsReleaseVersion(this IServerPackage package)
 {
     return(string.IsNullOrEmpty(package.Version.SpecialVersion));
 }
 private static bool SupportsTargetFrameworks(IEnumerable <FrameworkName> targetFramework, IServerPackage package)
 {
     return(targetFramework.IsEmpty() ||
            targetFramework.Any(t => VersionUtility.IsCompatible(t, package.GetSupportedFrameworks())));
 }