public PackageQuery(string searchTerm, int pageSize, QueryContinuation <IEnumerable <IPackageSearchMetadata> > query) { var comparer = new RelevanceSearchMetadataComparer(searchTerm); queryIndex = new PackageQueryIndex(comparer) { PageSize = pageSize }; continuation = query; }
public async Task <IEnumerable <IPackageSearchMetadata> > GetPackageFeed(int pageIndex, CancellationToken token = default) { if (continuation != null && pageIndex >= continuationCounter) { var queryResult = await continuation.GetResultAsync(token); queryIndex.AddRange(queryResult.Result); continuation = queryResult.Continuation; continuationCounter++; } return(queryIndex.GetPage(pageIndex)); }