From d67219cd609cc81b442903fed33ba2b67c1e5fed Mon Sep 17 00:00:00 2001 From: Matt Parker <61717342+MattParkerDev@users.noreply.github.com> Date: Mon, 3 Nov 2025 19:20:58 +1000 Subject: [PATCH] refactor --- .../Features/Nuget/NugetClientService.cs | 5 +++-- src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs | 6 ++---- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs b/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs index 662daae..e07073a 100644 --- a/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs +++ b/src/SharpIDE.Application/Features/Nuget/NugetClientService.cs @@ -9,7 +9,7 @@ using SharpIDE.Application.Features.SolutionDiscovery.VsPersistence; namespace SharpIDE.Application.Features.Nuget; -public record InstalledNugetPackageInfo(List ProjectPackageReferences); +public record InstalledNugetPackageInfo(bool IsTransitive, List ProjectPackageReferences); public record IdePackageResult(string PackageId, List PackageFromSources, InstalledNugetPackageInfo? InstalledNugetPackageInfo); public record struct IdePackageFromSourceResult(IPackageSearchMetadata PackageSearchMetadata, PackageSource Source); public class NugetClientService @@ -118,7 +118,8 @@ public class NugetClientService var packagesResult = new List(); foreach (var installedPackage in installedPackages) { - var installedNugetPackageInfo = new InstalledNugetPackageInfo(installedPackage.ProjectPackageReferences); + var isTransitive = installedPackage.ProjectPackageReferences.Any(p => p.IsTransitive); + var installedNugetPackageInfo = new InstalledNugetPackageInfo(isTransitive, installedPackage.ProjectPackageReferences); var idePackageResult = new IdePackageResult(installedPackage.Name, [], installedNugetPackageInfo); foreach (var source in packageSources) diff --git a/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs b/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs index f02bd86..4dcec6e 100644 --- a/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs +++ b/src/SharpIDE.Godot/Features/Nuget/PackageEntry.cs @@ -52,8 +52,7 @@ public partial class PackageEntry : MarginContainer if (PackageResult is null) return; _packageNameLabel.Text = PackageResult.PackageId; var installedPackagedInfo = PackageResult.InstalledNugetPackageInfo; - var isTransitive = installedPackagedInfo?.ProjectPackageReferences.Any(p => p.IsTransitive) ?? false; - if (isTransitive && installedPackagedInfo?.ProjectPackageReferences.Any(p => p.DependentPackages?.Count is not 0) is true) + if (installedPackagedInfo?.IsTransitive is true && installedPackagedInfo.ProjectPackageReferences.Any(p => p.DependentPackages?.Count is not 0) is true) { var transitiveOriginsGroupedByVersion = installedPackagedInfo.ProjectPackageReferences.SelectMany(s => s.DependentPackages ?? []) .GroupBy(t => t.RequestedVersion) @@ -104,8 +103,7 @@ public partial class PackageEntry : MarginContainer .Select(p => p.InstalledVersion.ToNormalizedString()) .Distinct() .ToList(); - var isTransitive = packageInfo.ProjectPackageReferences.Any(p => p.IsTransitive); - var text = isTransitive ? $"({string.Join(", ", versions)})" : string.Join(", ", versions); + var text = packageInfo.IsTransitive ? $"({string.Join(", ", versions)})" : string.Join(", ", versions); return text; } } \ No newline at end of file