From f6c156f371e53905e5fd7f6635a1dc04ed9b8914 Mon Sep 17 00:00:00 2001 From: Haacked Date: Fri, 4 Oct 2013 10:10:30 -0700 Subject: [PATCH] Return IReadOnlyList over IReadOnlyCollection ReadOnlyCollection implements IReadOnlyList. Whodathunkit? --- .../Clients/ObservableAuthorizationsClient.cs | 2 +- .../Clients/ObservableOrganizationsClient.cs | 4 ++-- .../Clients/ObservableRepositoriesClient.cs | 6 +++--- Octokit.Reactive/Clients/ObservableSshKeysClient.cs | 4 ++-- Octokit.Reactive/IObservableAuthorizationsClient.cs | 2 +- Octokit.Reactive/IObservableOrganizationsClient.cs | 4 ++-- Octokit.Reactive/IObservableRepositoriesClient.cs | 6 +++--- Octokit.Reactive/IObservableSshKeysClient.cs | 4 ++-- Octokit/ApiExtensions.cs | 5 ++++- Octokit/Clients/ApiPagination.cs | 2 +- Octokit/Clients/AuthorizationsClient.cs | 2 +- Octokit/Clients/OrganizationsClient.cs | 4 ++-- Octokit/Clients/ReleasesClient.cs | 2 +- Octokit/Clients/RepositoriesClient.cs | 6 +++--- Octokit/Clients/SshKeysClient.cs | 4 ++-- Octokit/Helpers/Net45CompatibilityShim.cs | 2 +- Octokit/Http/ApiConnection.cs | 2 +- Octokit/Http/ApiInfo.cs | 10 ++++++---- Octokit/Http/IApiConnection.cs | 2 +- Octokit/IApiPagination.cs | 2 +- Octokit/IAuthorizationsClient.cs | 2 +- Octokit/IOrganizationsClient.cs | 4 ++-- Octokit/IReadOnlyPagedCollection.cs | 4 ++-- Octokit/IReleasesClient.cs | 2 +- Octokit/IRepositoriesClient.cs | 6 +++--- Octokit/ISshKeysClient.cs | 4 ++-- Octokit/Octokit.csproj | 4 ++-- Octokit/OctokitRT.csproj | 2 +- 28 files changed, 54 insertions(+), 49 deletions(-) diff --git a/Octokit.Reactive/Clients/ObservableAuthorizationsClient.cs b/Octokit.Reactive/Clients/ObservableAuthorizationsClient.cs index ec8047a9..88c26312 100644 --- a/Octokit.Reactive/Clients/ObservableAuthorizationsClient.cs +++ b/Octokit.Reactive/Clients/ObservableAuthorizationsClient.cs @@ -16,7 +16,7 @@ namespace Octokit.Reactive.Clients _client = client; } - public IObservable> GetAll() + public IObservable> GetAll() { return _client.GetAll().ToObservable(); } diff --git a/Octokit.Reactive/Clients/ObservableOrganizationsClient.cs b/Octokit.Reactive/Clients/ObservableOrganizationsClient.cs index 603ce86e..0f20b6cc 100644 --- a/Octokit.Reactive/Clients/ObservableOrganizationsClient.cs +++ b/Octokit.Reactive/Clients/ObservableOrganizationsClient.cs @@ -22,12 +22,12 @@ namespace Octokit.Reactive.Clients return _client.Get(org).ToObservable(); } - public IObservable> GetAllForCurrent() + public IObservable> GetAllForCurrent() { return _client.GetAllForCurrent().ToObservable(); } - public IObservable> GetAll(string user) + public IObservable> GetAll(string user) { Ensure.ArgumentNotNullOrEmptyString(user, "user"); diff --git a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs index 6cb4f752..6084e1c7 100644 --- a/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs +++ b/Octokit.Reactive/Clients/ObservableRepositoriesClient.cs @@ -23,19 +23,19 @@ namespace Octokit.Reactive.Clients return _client.Get(owner, name).ToObservable(); } - public IObservable> GetAllForCurrent() + public IObservable> GetAllForCurrent() { return _client.GetAllForCurrent().ToObservable(); } - public IObservable> GetAllForUser(string login) + public IObservable> GetAllForUser(string login) { Ensure.ArgumentNotNullOrEmptyString(login, "login"); return _client.GetAllForUser(login).ToObservable(); } - public IObservable> GetAllForOrg(string organization) + public IObservable> GetAllForOrg(string organization) { Ensure.ArgumentNotNullOrEmptyString(organization, "organization"); diff --git a/Octokit.Reactive/Clients/ObservableSshKeysClient.cs b/Octokit.Reactive/Clients/ObservableSshKeysClient.cs index f49dcfc9..a5fcbe64 100644 --- a/Octokit.Reactive/Clients/ObservableSshKeysClient.cs +++ b/Octokit.Reactive/Clients/ObservableSshKeysClient.cs @@ -21,14 +21,14 @@ namespace Octokit.Reactive.Clients return _client.Get(id).ToObservable(); } - public IObservable> GetAll(string user) + public IObservable> GetAll(string user) { Ensure.ArgumentNotNullOrEmptyString(user, "user"); return _client.GetAll(user).ToObservable(); } - public IObservable> GetAllForCurrent() + public IObservable> GetAllForCurrent() { return _client.GetAllForCurrent().ToObservable(); } diff --git a/Octokit.Reactive/IObservableAuthorizationsClient.cs b/Octokit.Reactive/IObservableAuthorizationsClient.cs index 157ce2c7..1d46eb9f 100644 --- a/Octokit.Reactive/IObservableAuthorizationsClient.cs +++ b/Octokit.Reactive/IObservableAuthorizationsClient.cs @@ -9,7 +9,7 @@ namespace Octokit.Reactive { [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "It's an API call, so it's not a property.")] - IObservable> GetAll(); + IObservable> GetAll(); [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "It's fiiiine. It's fine. Trust us.")] IObservable Get(int id); diff --git a/Octokit.Reactive/IObservableOrganizationsClient.cs b/Octokit.Reactive/IObservableOrganizationsClient.cs index 748fac90..459fbce8 100644 --- a/Octokit.Reactive/IObservableOrganizationsClient.cs +++ b/Octokit.Reactive/IObservableOrganizationsClient.cs @@ -21,13 +21,13 @@ namespace Octokit.Reactive /// [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Method makes a network request")] - IObservable> GetAllForCurrent(); + IObservable> GetAllForCurrent(); /// /// Returns all the organizations for the specified user /// /// /// - IObservable> GetAll(string user); + IObservable> GetAll(string user); } } diff --git a/Octokit.Reactive/IObservableRepositoriesClient.cs b/Octokit.Reactive/IObservableRepositoriesClient.cs index 7be823b1..bc8a1a32 100644 --- a/Octokit.Reactive/IObservableRepositoriesClient.cs +++ b/Octokit.Reactive/IObservableRepositoriesClient.cs @@ -25,7 +25,7 @@ namespace Octokit.Reactive /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - IObservable> GetAllForCurrent(); + IObservable> GetAllForCurrent(); /// /// Retrieves every that belongs to the specified user. @@ -36,7 +36,7 @@ namespace Octokit.Reactive /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - IObservable> GetAllForUser(string login); + IObservable> GetAllForUser(string login); /// /// Retrieves every that belongs to the specified organization. @@ -47,7 +47,7 @@ namespace Octokit.Reactive /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - IObservable> GetAllForOrg(string organization); + IObservable> GetAllForOrg(string organization); /// /// Returns the HTML rendered README. diff --git a/Octokit.Reactive/IObservableSshKeysClient.cs b/Octokit.Reactive/IObservableSshKeysClient.cs index 7052686e..140be8c2 100644 --- a/Octokit.Reactive/IObservableSshKeysClient.cs +++ b/Octokit.Reactive/IObservableSshKeysClient.cs @@ -20,7 +20,7 @@ namespace Octokit.Reactive /// /// The login of the user. /// A of . - IObservable> GetAll(string user); + IObservable> GetAll(string user); /// /// Retrieves the for the specified id. @@ -29,7 +29,7 @@ namespace Octokit.Reactive /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - IObservable> GetAllForCurrent(); + IObservable> GetAllForCurrent(); /// /// Update the specified . diff --git a/Octokit/ApiExtensions.cs b/Octokit/ApiExtensions.cs index 41e1845f..1d84bef8 100644 --- a/Octokit/ApiExtensions.cs +++ b/Octokit/ApiExtensions.cs @@ -1,4 +1,7 @@ using System; +#if NET_45 +using System.Collections.Generic; +#endif using System.Threading.Tasks; using Octokit.Http; @@ -14,7 +17,7 @@ namespace Octokit return connection.Get(endpoint, null); } - public static Task> GetAll(this IApiConnection connection, Uri endpoint) + public static Task> GetAll(this IApiConnection connection, Uri endpoint) { Ensure.ArgumentNotNull(connection, "connection"); Ensure.ArgumentNotNull(endpoint, "endpoint"); diff --git a/Octokit/Clients/ApiPagination.cs b/Octokit/Clients/ApiPagination.cs index 997d9a13..bd78158d 100644 --- a/Octokit/Clients/ApiPagination.cs +++ b/Octokit/Clients/ApiPagination.cs @@ -14,7 +14,7 @@ namespace Octokit.Clients /// public class ApiPagination : IApiPagination { - public async Task> GetAllPages(Func>> getFirstPage) + public async Task> GetAllPages(Func>> getFirstPage) { Ensure.ArgumentNotNull(getFirstPage, "getFirstPage"); diff --git a/Octokit/Clients/AuthorizationsClient.cs b/Octokit/Clients/AuthorizationsClient.cs index 1dbfded9..742c5179 100644 --- a/Octokit/Clients/AuthorizationsClient.cs +++ b/Octokit/Clients/AuthorizationsClient.cs @@ -17,7 +17,7 @@ namespace Octokit.Clients /// Get all s for the authenticated user. This method requires basic auth. /// /// An - public async Task> GetAll() + public async Task> GetAll() { return await Client.GetAll(authorizationsEndpoint); } diff --git a/Octokit/Clients/OrganizationsClient.cs b/Octokit/Clients/OrganizationsClient.cs index dc5f8f71..ef07c5f4 100644 --- a/Octokit/Clients/OrganizationsClient.cs +++ b/Octokit/Clients/OrganizationsClient.cs @@ -19,14 +19,14 @@ namespace Octokit.Clients return await Client.Get(endpoint); } - public async Task> GetAllForCurrent() + public async Task> GetAllForCurrent() { var endpoint = new Uri("/user/orgs", UriKind.Relative); return await Client.GetAll(endpoint); } - public async Task> GetAll(string user) + public async Task> GetAll(string user) { Ensure.ArgumentNotNullOrEmptyString(user, "user"); diff --git a/Octokit/Clients/ReleasesClient.cs b/Octokit/Clients/ReleasesClient.cs index 7f8c5f01..884865a8 100644 --- a/Octokit/Clients/ReleasesClient.cs +++ b/Octokit/Clients/ReleasesClient.cs @@ -10,7 +10,7 @@ namespace Octokit.Clients { } - public async Task> GetAll(string owner, string name) + public async Task> GetAll(string owner, string name) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "repository"); diff --git a/Octokit/Clients/RepositoriesClient.cs b/Octokit/Clients/RepositoriesClient.cs index e09e0dbb..7cf0025c 100644 --- a/Octokit/Clients/RepositoriesClient.cs +++ b/Octokit/Clients/RepositoriesClient.cs @@ -20,13 +20,13 @@ namespace Octokit.Clients return await Client.Get(endpoint); } - public async Task> GetAllForCurrent() + public async Task> GetAllForCurrent() { var endpoint = new Uri("user/repos", UriKind.Relative); return await Client.GetAll(endpoint); } - public async Task> GetAllForUser(string login) + public async Task> GetAllForUser(string login) { Ensure.ArgumentNotNullOrEmptyString(login, "login"); @@ -35,7 +35,7 @@ namespace Octokit.Clients return await Client.GetAll(endpoint); } - public async Task> GetAllForOrg(string organization) + public async Task> GetAllForOrg(string organization) { Ensure.ArgumentNotNullOrEmptyString(organization, "organization"); diff --git a/Octokit/Clients/SshKeysClient.cs b/Octokit/Clients/SshKeysClient.cs index 195f07df..8a706f32 100644 --- a/Octokit/Clients/SshKeysClient.cs +++ b/Octokit/Clients/SshKeysClient.cs @@ -18,7 +18,7 @@ namespace Octokit.Clients return await Client.Get(endpoint); } - public async Task> GetAll(string user) + public async Task> GetAll(string user) { Ensure.ArgumentNotNullOrEmptyString(user, "user"); @@ -27,7 +27,7 @@ namespace Octokit.Clients return await Client.GetAll(endpoint); } - public async Task> GetAllForCurrent() + public async Task> GetAllForCurrent() { var endpoint = new Uri("/user/keys", UriKind.Relative); diff --git a/Octokit/Helpers/Net45CompatibilityShim.cs b/Octokit/Helpers/Net45CompatibilityShim.cs index 476cdb4d..7037a88c 100644 --- a/Octokit/Helpers/Net45CompatibilityShim.cs +++ b/Octokit/Helpers/Net45CompatibilityShim.cs @@ -34,7 +34,7 @@ namespace Octokit { readonly List _source; - public ReadOnlyCollection(IEnumerable source) + public ReadOnlyCollection(IList source) { _source = new List(source); } diff --git a/Octokit/Http/ApiConnection.cs b/Octokit/Http/ApiConnection.cs index 26d7aab6..390110d7 100644 --- a/Octokit/Http/ApiConnection.cs +++ b/Octokit/Http/ApiConnection.cs @@ -48,7 +48,7 @@ namespace Octokit.Http return response.Body; } - public async Task> GetAll(Uri endpoint, IDictionary parameters) + public async Task> GetAll(Uri endpoint, IDictionary parameters) { Ensure.ArgumentNotNull(endpoint, "endpoint"); diff --git a/Octokit/Http/ApiInfo.cs b/Octokit/Http/ApiInfo.cs index 1fcdbd36..406cba19 100644 --- a/Octokit/Http/ApiInfo.cs +++ b/Octokit/Http/ApiInfo.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; +#if NET_45 using System.Collections.ObjectModel; +#endif namespace Octokit.Http { @@ -10,8 +12,8 @@ namespace Octokit.Http public class ApiInfo { public ApiInfo(IDictionary links, - IEnumerable oauthScopes, - IEnumerable acceptedOauthScopes, + IList oauthScopes, + IList acceptedOauthScopes, string etag, int rateLimit, int rateLimitRemaining) @@ -30,12 +32,12 @@ namespace Octokit.Http /// /// Oauth scopes that were included in the token used to make the request. /// - public IReadOnlyCollection OauthScopes { get; private set; } + public IReadOnlyList OauthScopes { get; private set; } /// /// Oauth scopes accepted for this particular call. /// - public IReadOnlyCollection AcceptedOauthScopes { get; private set; } + public IReadOnlyList AcceptedOauthScopes { get; private set; } /// /// Etag diff --git a/Octokit/Http/IApiConnection.cs b/Octokit/Http/IApiConnection.cs index 6dc81290..d1b03593 100644 --- a/Octokit/Http/IApiConnection.cs +++ b/Octokit/Http/IApiConnection.cs @@ -17,7 +17,7 @@ namespace Octokit.Http Task Get(Uri endpoint, IDictionary parameters); Task GetItem(Uri endpoint, IDictionary parameters); Task GetHtml(Uri endpoint, IDictionary parameters); - Task> GetAll(Uri endpoint, IDictionary parameters); + Task> GetAll(Uri endpoint, IDictionary parameters); Task Create(Uri endpoint, object data); Task Update(Uri endpoint, object data); Task Delete(Uri endpoint); diff --git a/Octokit/IApiPagination.cs b/Octokit/IApiPagination.cs index a6aae0e7..6f3ddb21 100644 --- a/Octokit/IApiPagination.cs +++ b/Octokit/IApiPagination.cs @@ -6,6 +6,6 @@ namespace Octokit { public interface IApiPagination { - Task> GetAllPages(Func>> getFirstPage); + Task> GetAllPages(Func>> getFirstPage); } } \ No newline at end of file diff --git a/Octokit/IAuthorizationsClient.cs b/Octokit/IAuthorizationsClient.cs index f4371da2..68c4929e 100644 --- a/Octokit/IAuthorizationsClient.cs +++ b/Octokit/IAuthorizationsClient.cs @@ -8,7 +8,7 @@ namespace Octokit { [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "It's an API call, so it's not a property.")] - Task> GetAll(); + Task> GetAll(); [SuppressMessage("Microsoft.Naming", "CA1716:IdentifiersShouldNotMatchKeywords", MessageId = "Get", Justification = "It's fiiiine. It's fine. Trust us.")] Task Get(int id); diff --git a/Octokit/IOrganizationsClient.cs b/Octokit/IOrganizationsClient.cs index dd20d41f..e78d74d4 100644 --- a/Octokit/IOrganizationsClient.cs +++ b/Octokit/IOrganizationsClient.cs @@ -21,13 +21,13 @@ namespace Octokit /// [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Method makes a network request")] - Task> GetAllForCurrent(); + Task> GetAllForCurrent(); /// /// Returns all the organizations for the specified user /// /// /// - Task> GetAll(string user); + Task> GetAll(string user); } } diff --git a/Octokit/IReadOnlyPagedCollection.cs b/Octokit/IReadOnlyPagedCollection.cs index f1a217d7..a0c47873 100644 --- a/Octokit/IReadOnlyPagedCollection.cs +++ b/Octokit/IReadOnlyPagedCollection.cs @@ -5,10 +5,10 @@ using System.Threading.Tasks; namespace Octokit { /// - /// Reflects a collection of datat returned from an API that can be paged. + /// Reflects a collection of data returned from an API that can be paged. /// /// - public interface IReadOnlyPagedCollection : IReadOnlyCollection + public interface IReadOnlyPagedCollection : IReadOnlyList { /// /// Returns the next page of items. diff --git a/Octokit/IReleasesClient.cs b/Octokit/IReleasesClient.cs index 6be68490..5314a583 100644 --- a/Octokit/IReleasesClient.cs +++ b/Octokit/IReleasesClient.cs @@ -11,7 +11,7 @@ namespace Octokit /// The owner of the repository. /// The name of the repository. /// A of . - Task> GetAll(string owner, string name); + Task> GetAll(string owner, string name); /// /// Create a for the specified repository. diff --git a/Octokit/IRepositoriesClient.cs b/Octokit/IRepositoriesClient.cs index 41200131..47c7a44d 100644 --- a/Octokit/IRepositoriesClient.cs +++ b/Octokit/IRepositoriesClient.cs @@ -26,7 +26,7 @@ namespace Octokit /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - Task> GetAllForCurrent(); + Task> GetAllForCurrent(); /// /// Retrieves every that belongs to the specified user. @@ -37,7 +37,7 @@ namespace Octokit /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - Task> GetAllForUser(string login); + Task> GetAllForUser(string login); /// /// Retrieves every that belongs to the specified organization. @@ -48,7 +48,7 @@ namespace Octokit /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - Task> GetAllForOrg(string organization); + Task> GetAllForOrg(string organization); /// /// Returns the HTML rendered README. diff --git a/Octokit/ISshKeysClient.cs b/Octokit/ISshKeysClient.cs index ec4eb68e..23026124 100644 --- a/Octokit/ISshKeysClient.cs +++ b/Octokit/ISshKeysClient.cs @@ -19,7 +19,7 @@ namespace Octokit /// /// The login of the user. /// A of . - Task> GetAll(string user); + Task> GetAll(string user); /// /// Retrieves the for the specified id. @@ -28,7 +28,7 @@ namespace Octokit /// A of . [SuppressMessage("Microsoft.Design", "CA1024:UsePropertiesWhereAppropriate", Justification = "Makes a network request")] - Task> GetAllForCurrent(); + Task> GetAllForCurrent(); /// /// Update the specified . diff --git a/Octokit/Octokit.csproj b/Octokit/Octokit.csproj index 1672bee8..b020b53e 100644 --- a/Octokit/Octokit.csproj +++ b/Octokit/Octokit.csproj @@ -18,7 +18,7 @@ full false bin\Debug\ - TRACE;DEBUG;CODE_ANALYSIS;SIMPLE_JSON_OBJARRAYINTERNAL;SIMPLE_JSON_INTERNAL + TRACE;DEBUG;CODE_ANALYSIS;CODE_ANALYSIS;SIMPLE_JSON_OBJARRAYINTERNAL;SIMPLE_JSON_INTERNAL prompt 4 true @@ -31,7 +31,7 @@ pdbonly true bin\Release\ - TRACE + TRACE;CODE_ANALYSIS;CODE_ANALYSIS;SIMPLE_JSON_OBJARRAYINTERNAL;SIMPLE_JSON_INTERNAL prompt 4 false diff --git a/Octokit/OctokitRT.csproj b/Octokit/OctokitRT.csproj index 1b1519f0..c5a4e8c3 100644 --- a/Octokit/OctokitRT.csproj +++ b/Octokit/OctokitRT.csproj @@ -28,7 +28,7 @@ pdbonly true bin\WinRT\Release\ - TRACE;NETFX_CORE;CODE_ANALYSIS;SIMPLE_JSON_OBJARRAYINTERNAL + TRACE;NETFX_CORE;CODE_ANALYSIS;SIMPLE_JSON_OBJARRAYINTERNAL;SIMPLE_JSON_INTERNAL;NET_45 prompt 4