withSIX.Sync.Core.Packages.PackageManager.GetPackagesAsVersions C# (CSharp) Method

GetPackagesAsVersions() public method

public GetPackagesAsVersions ( bool remote = false ) : SpecificVersionInfo[]>.Dictionary
remote bool
return SpecificVersionInfo[]>.Dictionary
        public Dictionary<string, SpecificVersionInfo[]> GetPackagesAsVersions(bool remote = false) {
            var packages = remote
                ? Repo.Remotes.SelectMany(x => x.Index.GetPackagesListAsVersions()).Distinct().OrderBy(x => x).ToArray()
                : Repo.GetPackagesListAsVersions();

            var dic = new Dictionary<string, List<SpecificVersionInfo>>();
            foreach (var i in packages) {
                if (!dic.ContainsKey(i.Name))
                    dic[i.Name] = new List<SpecificVersionInfo>();
                dic[i.Name].Add(i.VersionInfo);
            }

            return dic.ToDictionary(x => x.Key, x => x.Value.Select(y => y).Reverse().ToArray());
        }