Exemplo n.º 1
0
        //property names are explained here: https://docs.microsoft.com/en-us/nuget/api/search-query-service-resource
        internal static NuGetPackageSourceInfo FromJObject(JObject entry)
        {
            string id      = entry.ToString("id") ?? throw new ArgumentException($"{nameof(entry)} doesn't have \"id\" property.", nameof(entry));
            string version = entry.ToString("version") ?? throw new ArgumentException($"{nameof(entry)} doesn't have \"version\"  property.", nameof(entry));
            NuGetPackageSourceInfo sourceInfo = new NuGetPackageSourceInfo(id, version);

            sourceInfo.TotalDownloads = entry.ToInt32("totalDownloads");
            sourceInfo.Owners         = entry.Get <JToken>("owners").JTokenStringOrArrayToCollection(Array.Empty <string>());
            sourceInfo.Verified       = entry.ToBool("verified");
            sourceInfo.Description    = entry.ToString("description");
            sourceInfo.IconUrl        = entry.ToString("iconUrl");

            return(sourceInfo);
        }
Exemplo n.º 2
0
        //property names are explained here: https://docs.microsoft.com/en-us/nuget/api/search-query-service-resource
        internal static NuGetPackageSearchResult FromJObject(JObject entry)
        {
            NuGetPackageSearchResult searchResult = new NuGetPackageSearchResult();

            searchResult.TotalHits = entry.ToInt32("totalHits");
            var dataArray = entry.Get <JArray>("data");

            if (dataArray != null)
            {
                foreach (JToken data in dataArray)
                {
                    JObject?dataObj = data as JObject;
                    if (dataObj != null)
                    {
                        searchResult.Data.Add(NuGetPackageSourceInfo.FromJObject(dataObj));
                    }
                }
            }
            return(searchResult);
        }