2020-05-05 04:26:37 +01:00
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
2020-05-01 19:05:28 +01:00
|
|
|
namespace SpotifyAPI.Web
|
|
|
|
{
|
2020-05-02 12:04:26 +01:00
|
|
|
public interface ISpotifyClient
|
2020-05-01 19:05:28 +01:00
|
|
|
{
|
2020-05-05 04:26:37 +01:00
|
|
|
IPaginator DefaultPaginator { get; }
|
|
|
|
|
2020-05-01 19:05:28 +01:00
|
|
|
IUserProfileClient UserProfile { get; }
|
|
|
|
|
|
|
|
IBrowseClient Browse { get; }
|
2020-05-02 21:48:21 +01:00
|
|
|
|
|
|
|
IShowsClient Shows { get; }
|
|
|
|
|
|
|
|
IPlaylistsClient Playlists { get; }
|
2020-05-03 21:34:03 +01:00
|
|
|
|
|
|
|
ISearchClient Search { get; }
|
2020-05-04 22:02:53 +01:00
|
|
|
|
|
|
|
IFollowClient Follow { get; }
|
2020-05-04 22:04:59 +01:00
|
|
|
|
|
|
|
ITracksClient Tracks { get; }
|
2020-05-05 04:26:37 +01:00
|
|
|
|
2020-05-07 17:03:20 +01:00
|
|
|
IPlayerClient Player { get; }
|
|
|
|
|
2020-05-07 21:33:29 +01:00
|
|
|
IAlbumsClient Albums { get; }
|
|
|
|
|
2020-05-08 10:10:53 +01:00
|
|
|
IArtistsClient Artists { get; }
|
|
|
|
|
2020-05-08 11:09:59 +01:00
|
|
|
IPersonalizationClient Personalization { get; }
|
|
|
|
|
2020-05-11 17:43:52 +01:00
|
|
|
IEpisodesClient Episodes { get; }
|
|
|
|
|
2020-05-20 07:48:08 +01:00
|
|
|
ILibraryClient Library { get; }
|
|
|
|
|
2020-05-20 19:59:11 +01:00
|
|
|
Task<List<T>> PaginateAll<T>(Paging<T> firstPage);
|
|
|
|
Task<List<T>> PaginateAll<T>(Paging<T> firstPage, IPaginator paginator);
|
|
|
|
Task<List<T>> PaginateAll<T>(Func<Task<Paging<T>>> getFirstPage);
|
|
|
|
Task<List<T>> PaginateAll<T>(Func<Task<Paging<T>>> getFirstPage, IPaginator paginator);
|
|
|
|
|
|
|
|
Task<List<T>> PaginateAll<T, TNext>(Paging<T, TNext> firstPage, Func<TNext, Paging<T, TNext>> mapper);
|
|
|
|
Task<List<T>> PaginateAll<T, TNext>(Paging<T, TNext> firstPage, Func<TNext, Paging<T, TNext>> mapper, IPaginator paginator);
|
|
|
|
Task<List<T>> PaginateAll<T, TNext>(Func<Task<Paging<T, TNext>>> getFirstPage, Func<TNext, Paging<T, TNext>> mapper);
|
|
|
|
Task<List<T>> PaginateAll<T, TNext>(Func<Task<Paging<T, TNext>>> getFirstPage, Func<TNext, Paging<T, TNext>> mapper, IPaginator paginator);
|
|
|
|
|
|
|
|
#if NETSTANDARD2_1
|
|
|
|
IAsyncEnumerable<T> Paginate<T>(Paging<T> firstPage);
|
|
|
|
IAsyncEnumerable<T> Paginate<T>(Paging<T> firstPage, IPaginator paginator);
|
|
|
|
IAsyncEnumerable<T> Paginate<T>(Func<Task<Paging<T>>> getFirstPage);
|
|
|
|
IAsyncEnumerable<T> Paginate<T>(Func<Task<Paging<T>>> getFirstPage, IPaginator paginator);
|
|
|
|
|
|
|
|
IAsyncEnumerable<T> Paginate<T, TNext>(Paging<T, TNext> firstPage, Func<TNext, Paging<T, TNext>> mapper);
|
|
|
|
IAsyncEnumerable<T> Paginate<T, TNext>(Paging<T, TNext> firstPage, Func<TNext, Paging<T, TNext>> mapper, IPaginator paginator);
|
|
|
|
IAsyncEnumerable<T> Paginate<T, TNext>(Func<Task<Paging<T, TNext>>> getFirstPage, Func<TNext, Paging<T, TNext>> mapper);
|
|
|
|
IAsyncEnumerable<T> Paginate<T, TNext>(Func<Task<Paging<T, TNext>>> getFirstPage, Func<TNext, Paging<T, TNext>> mapper, IPaginator paginator);
|
|
|
|
#endif
|
2020-05-01 19:05:28 +01:00
|
|
|
}
|
|
|
|
}
|