using System; using System.Reactive.Threading.Tasks; namespace Octokit.Reactive { /// /// GitHub Search Api Client /// public class ObservableSearchClient : IObservableSearchClient { readonly ISearchClient _client; public ObservableSearchClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Search; } /// /// search repos /// http://developer.github.com/v3/search/#search-repositories /// /// /// List of repositories public IObservable SearchRepo(SearchRepositoriesRequest search) { Ensure.ArgumentNotNull(search, "search"); return _client.SearchRepo(search).ToObservable(); } /// /// search users /// http://developer.github.com/v3/search/#search-users /// /// /// List of users public IObservable SearchUsers(SearchUsersRequest search) { Ensure.ArgumentNotNull(search, "search"); return _client.SearchUsers(search).ToObservable(); } /// /// search issues /// http://developer.github.com/v3/search/#search-issues /// /// /// List of issues public IObservable SearchIssues(SearchIssuesRequest search) { Ensure.ArgumentNotNull(search, "search"); return _client.SearchIssues(search).ToObservable(); } /// /// search code /// http://developer.github.com/v3/search/#search-code /// /// /// List of files public IObservable SearchCode(SearchCodeRequest search) { Ensure.ArgumentNotNull(search, "search"); return _client.SearchCode(search).ToObservable(); } } }