diff --git a/Alpaca.Markets.Extensions.Tests/AlpacaTradingClientTest.cs b/Alpaca.Markets.Extensions.Tests/AlpacaTradingClientTest.cs index 206327f1..b4867457 100644 --- a/Alpaca.Markets.Extensions.Tests/AlpacaTradingClientTest.cs +++ b/Alpaca.Markets.Extensions.Tests/AlpacaTradingClientTest.cs @@ -1,6 +1,9 @@ +using System.Diagnostics.CodeAnalysis; + namespace Alpaca.Markets.Extensions.Tests; [Collection("MockEnvironment")] +[SuppressMessage("Usage", "xUnit1047:Avoid using TheoryDataRow arguments that might not be serializable")] public sealed class AlpacaTradingClientTest( MockClientsFactoryFixture mockClientsFactory) { diff --git a/Alpaca.Markets.Extensions/Alpaca.Markets.Extensions.csproj b/Alpaca.Markets.Extensions/Alpaca.Markets.Extensions.csproj index d69a4fc8..d2b6dc31 100644 --- a/Alpaca.Markets.Extensions/Alpaca.Markets.Extensions.csproj +++ b/Alpaca.Markets.Extensions/Alpaca.Markets.Extensions.csproj @@ -12,14 +12,14 @@ - 7.1.0.1 - 7.1.0.1 - 7.1.0-beta2 + 7.1.0.2 + 7.1.0.2 + 7.1.0-beta3 -- The `ListOptionContractsAsAsyncEnumerable` extensions method uses page token now. +- Added new methods `GetOptionChainAsyncAsAsyncEnumerable` and `ListSnapshotsAsAsyncEnumerable` into the Extensions package. C# SDK for Alpaca Trade API https://docs.alpaca.markets/ https://github.com/alpacahq/alpaca-trade-api-csharp diff --git a/Alpaca.Markets.Extensions/Pagination/AlpacaOptionsDataClientExtensions.cs b/Alpaca.Markets.Extensions/Pagination/AlpacaOptionsDataClientExtensions.cs index cf366a33..2d7b3335 100644 --- a/Alpaca.Markets.Extensions/Pagination/AlpacaOptionsDataClientExtensions.cs +++ b/Alpaca.Markets.Extensions/Pagination/AlpacaOptionsDataClientExtensions.cs @@ -140,7 +140,7 @@ private static OptionSnapshotRequest getRequestWithoutPageToken( OptionSnapshotRequest request) => new(request.Symbols) { - //Pagination = { Size = Pagination.MaxPageSize }, + Pagination = { Size = request.Pagination.Size }, OptionsFeed = request.OptionsFeed }; @@ -172,7 +172,7 @@ private static OptionChainRequest getRequestWithoutPageToken( StrikePriceGreaterThanOrEqualTo = request.StrikePriceGreaterThanOrEqualTo, StrikePriceLessThanOrEqualTo = request.StrikePriceLessThanOrEqualTo, ExpirationDateEqualTo = request.ExpirationDateEqualTo, - Pagination = { Size = Pagination.MaxPageSize }, + Pagination = { Size = request.Pagination.Size }, OptionType = request.OptionType, RootSymbol = request.RootSymbol }; diff --git a/Alpaca.Markets.Extensions/Pagination/AlpacaTradingClientExtensions.cs b/Alpaca.Markets.Extensions/Pagination/AlpacaTradingClientExtensions.cs index 31c43a5a..d98a7022 100644 --- a/Alpaca.Markets.Extensions/Pagination/AlpacaTradingClientExtensions.cs +++ b/Alpaca.Markets.Extensions/Pagination/AlpacaTradingClientExtensions.cs @@ -179,7 +179,7 @@ private static OptionContractsRequest getRequestForFirstPage( StrikePriceGreaterThanOrEqualTo = request.StrikePriceGreaterThanOrEqualTo, StrikePriceLessThanOrEqualTo = request.StrikePriceLessThanOrEqualTo, ExpirationDateEqualTo = request.ExpirationDateEqualTo, - Pagination = { Size = Pagination.MaxPageSize }, + Pagination = { Size = request.Pagination.Size }, AssetStatus = request.AssetStatus, OptionStyle = request.OptionStyle, OptionType = request.OptionType, diff --git a/Alpaca.Markets/Helpers/HttpClientExtensions.Get.cs b/Alpaca.Markets/Helpers/HttpClientExtensions.Get.cs index 05c66c3e..87340f54 100644 --- a/Alpaca.Markets/Helpers/HttpClientExtensions.Get.cs +++ b/Alpaca.Markets/Helpers/HttpClientExtensions.Get.cs @@ -51,7 +51,7 @@ public static async Task> GetAsync uriBuilder, rateLimitHandler, cancellationToken) .ConfigureAwait(false)), elementSelector, StringComparer.Ordinal); - private static IReadOnlyDictionary getReadOnlyDictionary( + private static Dictionary getReadOnlyDictionary( Dictionary response, Func, TValueApi> elementSelector, IEqualityComparer comparer) diff --git a/Alpaca.Markets/Messages/JsonOptionSnapshotsData.cs b/Alpaca.Markets/Messages/JsonOptionSnapshotsData.cs index c09b4ad7..9966b747 100644 --- a/Alpaca.Markets/Messages/JsonOptionSnapshotsData.cs +++ b/Alpaca.Markets/Messages/JsonOptionSnapshotsData.cs @@ -8,7 +8,7 @@ internal sealed class JsonOptionsSnapshotData : IDictionaryPage { [DebuggerBrowsable(DebuggerBrowsableState.Never)] [JsonProperty(PropertyName = "snapshots", Required = Required.Default)] - public Dictionary ItemsList { get; [ExcludeFromCodeCoverage] set; } = new(); + public Dictionary ItemsList { get; [ExcludeFromCodeCoverage] set; } = []; [JsonProperty(PropertyName = "next_page_token", Required = Required.Default)] public String? NextPageToken { get; set; }