using System; using System.Reactive; using System.Reactive.Threading.Tasks; namespace Octokit.Reactive { public class ObservableReactionsClient : IObservableReactionsClient { readonly IReactionsClient _client; public ObservableReactionsClient(IGitHubClient client) { Ensure.ArgumentNotNull(client, "client"); _client = client.Reaction; CommitComment = new ObservableCommitCommentReactionsClient(client); Issue = new ObservableIssueReactionsClient(client); IssueComment = new ObservableIssueCommentReactionsClient(client); PullRequestReviewComment = new ObservablePullRequestReviewCommentReactionsClient(client); } /// /// Access GitHub's Reactions API for Commit Comments. /// /// /// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/ /// public IObservableCommitCommentReactionsClient CommitComment { get; private set; } /// /// Access GitHub's Reactions API for Issues. /// /// /// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/ /// public IObservableIssueReactionsClient Issue { get; private set; } /// /// Access GitHub's Reactions API for Issue Comments. /// /// /// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/ /// public IObservableIssueCommentReactionsClient IssueComment { get; private set; } /// /// Access GitHub's Reactions API for Pull Request Review Comments. /// /// /// Refer to the API documentation for more information: https://developer.github.com/v3/reactions/ /// public IObservablePullRequestReviewCommentReactionsClient PullRequestReviewComment { get; private set; } /// /// Delete a reaction. /// /// https://developer.github.com/v3/reactions/#delete-a-reaction /// The reaction id /// public IObservable Delete(int number) { return _client.Delete(number).ToObservable(); } } }