public IMultiLevelCursorIterator <long, IUser> CreateUserMultiLevelIterator( ITwitterClient client, ITwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> > iterator, int maxPageSize) { return(Create(iterator, dtoIds => dtoIds.Ids, client.Users.GetUsers, maxPageSize)); }
public IMultiLevelCursorIterator <TInput, TOutput> Create <TDTO, TInput, TOutput>( ITwitterPageIterator <ITwitterResult <TDTO> > pageIterator, Func <TDTO, TInput[]> transform, Func <TInput[], Task <TOutput[]> > getChildItems, int maxPageSize) { var iterator = new MultiLevelCursorIterator <TInput, TOutput>( async() => { var userIdsPage = await pageIterator.NextPage().ConfigureAwait(false); return(new CursorPageResult <TInput, string> { Items = transform(userIdsPage.Content.DataTransferObject), NextCursor = userIdsPage.NextCursor, IsLastPage = userIdsPage.IsLastPage }); }, async inputs => { var userIdsToAnalyze = inputs.Take(maxPageSize).ToArray(); var friends = await getChildItems(userIdsToAnalyze).ConfigureAwait(false); return(new MultiLevelPageProcessingResult <TInput, TOutput> { Items = friends, AssociatedParentItems = userIdsToAnalyze, }); }); return(iterator); }
public TwitterIteratorTestRunner( ITwitterPageIterator <ITwitterResult <TDTO>, TCursor> iterator, ITwitterResult <TDTO>[] results) { _iterator = iterator; _results = results; }
public TwitterUsersIteratorTestRunner(ITwitterPageIterator <ITwitterResult <IUserCursorQueryResultDTO>, string> iterator) : base(iterator) { }
public TwitterIdsIteratorTestRunner(ITwitterPageIterator <ITwitterResult <IIdsCursorQueryResultDTO> > iterator) : base(iterator) { }
public TwitterIteratorProxy(ITwitterPageIterator <TInput, string> source, Func <TInput, TOutput[]> transform) : base(source, transform) { }
public TwitterIteratorTestRunner(ITwitterPageIterator <ITwitterResult <TDTO>, TCursor> iterator) { _iterator = iterator; }
public IteratorPageProxy(ITwitterPageIterator <TInput, TCursor> source, Func <TInput, TOutput> transform) { _source = source; _transform = transform; }